/* Proof band: sits between the industry hero and the outcomes panel. */
/* The hero's own bottom rule is the band's top edge, so the band adds none. */
.ip-proof.be-buyer-section {
  display: grid;
  grid-template-columns: minmax(180px, 0.32fr) 1fr;
  gap: clamp(20px, 4vw, 64px);
  align-items: start;
  margin-top: 0;
  padding-block: clamp(28px, 3.4vw, 44px) 0;
}
.ip-proof h2 {
  margin: 0;
  color: var(--ic-ink, #193b68);
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.25;
  text-wrap: balance;
}
.ip-proof-list {
  display: grid;
  grid-template-columns: repeat(var(--ip-columns, 3), minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.ip-proof[data-items="2"] { --ip-columns: 2; }
/* The customer story is the longest and most specific item, so it gets more room. */
.ip-proof[data-items="3"] .ip-proof-list { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); }
.ip-proof[data-items="3"] .ip-proof-list li:first-child p { max-width: 52ch; }
.ip-proof-list li {
  padding-inline: clamp(16px, 2vw, 28px);
  border-left: 1px solid var(--ic-rule, rgba(25, 59, 104, .17));
}
.ip-proof-list li:first-child { padding-left: 0; border-left: 0; }
.ip-proof-list h3 {
  margin: 0 0 10px;
  color: var(--vi-teal-ink, #28676a);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
.ip-proof-list p {
  margin: 0;
  max-width: 38ch;
  color: var(--ic-muted, #536574);
  font-size: 16px;
  line-height: 1.65;
}
.ip-phrase { display: inline-block; }
:lang(ja) .ip-proof-list p { line-height: 1.8; line-break: strict; }

@media (max-width: 1100px) {
  .ip-proof.be-buyer-section { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .ip-proof[data-items] .ip-proof-list { grid-template-columns: 1fr; }
  .ip-proof-list li {
    padding: 18px 0 0;
    margin-top: 18px;
    border-left: 0;
    border-top: 1px solid var(--ic-rule, rgba(25, 59, 104, .17));
  }
  .ip-proof-list li:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
  .ip-proof-list p { max-width: none; }
}

/* Focused outreach pages: one header action, no site-wide navigation. */
.focus-page .focus-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.focus-page .focus-nav-actions {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 28px);
}
.focus-page .focus-nav .lang-switch {
  color: rgba(255, 255, 255, .82);
  font-size: 14px;
  text-decoration: none;
}
.focus-page .focus-nav .lang-switch:hover { color: #fff; }
.focus-page .focus-nav .nav-cta {
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  min-height: 44px;
  border-radius: 6px;
  background: var(--vi-gold, #bd966b);
  color: #0f2949;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.focus-page .focus-nav .nav-cta:hover { background: #cba67d; }
.focus-page .focus-nav :focus-visible { outline: 2px solid var(--vi-teal, #5fa8a8); outline-offset: 3px; }
body.focus-page header.focus-nav .brand { flex: 0 1 auto; min-width: 0; }
body.focus-page header.focus-nav .focus-nav-actions { flex: 0 0 auto; }
@media (max-width: 420px) {
  body.focus-page header.focus-nav .brand img { width: 108px; max-width: 100%; height: auto; }
  body.focus-page header.focus-nav .nav-cta { padding: 0 14px; font-size: 14px; }
}

/* Outcome cards are plain content on focused pages, so they must not look clickable. */
body.focus-page [data-buyer-entry] div.be-goal-link:hover h3 { color: #0f2949; text-decoration: none; }
body.focus-page [data-buyer-entry] div.be-goal-link { cursor: default; }

/* Declutter: all industry overviews and the focused pages.
   Structure comes from spacing and surfaces (paper, mint panel, white card);
   lines stay only where they show state (active chapter, controls, focus).
   Labels that repeat what the page already says are hidden. Elements the
   canvas script writes to stay in the DOM. */
main[data-product-site] :is(.ic-toolbar, .ic-question-label, .ic-eyebrow, .buyer-demo-heading .eyebrow, .industry-demo-heading .eyebrow) { display: none; }
/* Duplicate lists: the caption repeats the first evidence item, and the
   evidence list repeats the explanation above it. */
main[data-product-site] :is(.ic-media figcaption, .ic-proof) { display: none; }
/* Decorative lines. */
/* Matches brand-experience's body.studio-site .ps-main > .industry-detail-hero, plus the page scope. */
body.studio-site main[data-product-site] > :is(.industry-detail-hero, .vertical-hero) { border-bottom: 0; }
main[data-product-site] .ic-question { border-bottom: 0; padding-bottom: 0; }
main[data-product-site] details.ic-preserved { border-top: 0; border-bottom: 0; }
main[data-product-site] .ps-case-links a { border-top: 0; border-bottom: 0; }
main[data-product-site] .ip-proof-list li { border-left: 0; }
main[data-product-site] .ip-proof-list li:not(:first-child) { padding-left: clamp(20px, 2.6vw, 40px); }
@media (max-width: 760px) {
  main[data-product-site] .ip-proof-list li {
    border-top: 0;
    padding-left: 0;
  }
}
.ip-line { display: block; }

/* Homepage declutter: hide the labels above the hero and "How it works"
   headings (scripts read them, so they stay in the DOM), let the investor
   label read as a sentence, and drop decorative section rules. The selected
   scene outline and the Record/Plan/Verify progress bars stay: they show state. */
body.home-page main#main-content :is(.home-interface-copy > p.eyebrow, .op-flow-heading p.eyebrow) { display: none; }
body.home-page main#main-content .home-trust-strip { border-top: 0; border-bottom: 0; }
body.home-page main#main-content .home-trust-strip p { text-transform: none; letter-spacing: 0; font-size: 14px; }
body.home-page main#main-content .op-flow { border-top: 0; }
body.home-page main#main-content .op-flow-scenes { border-bottom: 0; }

/* Demo video step list (Ask / Verify / Compare): the steps are a real
   sequence, so they stay, but as plain text rather than a tracked caps label. */
main[data-product-site] .industry-demo-player figcaption strong { text-transform: none; letter-spacing: 0; font-size: 14px; }
