/* Homepage only. Inherit the existing paper / ink / stamp-blue system. */
body.brand-home .nav { border-bottom: 1px solid rgba(27,31,38,.07); }
body.brand-home .nav .wrap { max-width: 1200px; height: 76px; }
body.brand-home .nav-links { gap: 24px; }
body.brand-home .nav-links a { font-size: 14px; white-space: nowrap; }
body.brand-home .nav-cta .btn { font-size: 14px; }
.bw-mobile-menu { display: none; position: relative; }
.bw-mobile-menu summary { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
.bw-mobile-menu summary::-webkit-details-marker { display: none; }
.bw-mobile-menu summary::after { content: '+'; margin-left: 12px; }
.bw-mobile-menu[open] summary::after { content: '−'; }
.bw-mobile-menu > div { position: absolute; right: 0; top: calc(100% + 10px); width: 240px; padding: 12px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.bw-mobile-menu a { display: block; padding: 10px 12px; min-height: 44px; color: var(--ink); font-size: 15px; border-radius: 6px; }
.bw-mobile-menu a:hover { background: var(--paper); text-decoration: none; }
.bw-mobile-menu a:last-child { background: var(--stamp); color: white; margin-top: 6px; }
.bw-home .wrap { max-width: 1200px; padding-inline: 28px; }
.bw-home h1, .bw-home h2, .bw-home h3, .bw-home p { margin-top: 0; }
.bw-home a, .bw-home button, .bw-home summary { -webkit-tap-highlight-color: rgba(46,63,203,.12); }
.bw-home section[id], .bw-home figure[id] { scroll-margin-top: 96px; }
.bw-home .bw-kicker { display: flex; align-items: center; gap: 9px; color: var(--stamp); font: 600 12px/1.4 var(--sans); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 22px; }
.bw-kicker > span { width: 6px; height: 6px; border-radius: 50%; background: var(--stamp); }
.bw-home .bw-small-label { color: var(--muted); font-size: 12px; line-height: 1.45; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 20px; }
.bw-example-label { color: var(--muted); font-size: 12px; }
.bw-hero { padding-top: 64px; background: var(--paper); }
.bw-intro { text-align: center; }
.bw-intro .bw-kicker { justify-content: center; }
.bw-home .bw-intro h1 { font: 700 clamp(42px,5.1vw,74px)/1.04 var(--display); letter-spacing: -.042em; max-width: 1100px; margin: 0 auto; }
.bw-intro h1 span { color: var(--stamp); }
.bw-home .bw-lede { color: var(--ink-2); font-size: 19px; line-height: 1.5; max-width: 720px; margin: 24px auto 28px; text-wrap: pretty; }
.bw-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.bw-actions .btn { min-height: 50px; gap: 18px; }
.bw-home .bw-setup-note { font-size: 12px; color: var(--muted); margin: 15px 0 0; }
.bw-home .bw-flow { padding: 0; width: calc(100% - 56px); margin: 44px auto 0; max-width: 1144px; border: 1px solid #dcded8; border-radius: 20px; background: #fbfaf7; box-shadow: 0 1px 3px rgba(20,24,40,.03),0 24px 54px -42px rgba(20,24,40,.22); }
.bw-flow-heading { padding: 18px 26px; display: flex; justify-content: space-between; align-items: center; gap: 16px; border-bottom: 1px solid var(--line); }
.bw-home .bw-flow-heading h2 { font: 500 14px/1.4 var(--sans); letter-spacing: 0; max-width: none; }
.bw-flow-scene { display: grid; grid-template-columns: .88fr 1.12fr 1.14fr; column-gap: 48px; padding: 30px 28px 24px; position: relative; }
.bw-assistants, .bw-center, .bw-output-family { position: relative; min-width: 0; }
.bw-assistants::after, .bw-center::after { content: ''; position: absolute; width: 48px; height: 1px; right: -48px; top: 177px; background: #b4bccb; }
.bw-assistants::before, .bw-center::before { content: ''; position: absolute; width: 7px; height: 7px; right: -48px; top: 174px; border-top: 1px solid #929cb0; border-right: 1px solid #929cb0; transform: rotate(45deg); }
.bw-assistant { display: flex; align-items: center; gap: 13px; padding: 15px; min-height: 74px; margin-bottom: 10px; background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 3px 8px -6px rgba(20,24,40,.18); }
.bw-assistant svg { width: 25px; height: 25px; flex: none; stroke: var(--ink); fill: none; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.bw-assistant strong { display: block; font-size: 15px; line-height: 1.4; font-weight: 600; }
.bw-assistant span { display: block; font-size: 12px; color: var(--muted); line-height: 1.5; }
.bw-api { background: transparent; box-shadow: none; }
.bw-home .bw-request { margin-top: 20px; padding-left: 13px; border-left: 2px solid var(--line); }
.bw-request .bw-small-label { font-size: 12px; }
.bw-home .bw-request p { font-size: 14px; line-height: 1.45; color: var(--ink-2); margin: 7px 0 0; max-width: 200px; }
.bw-brand-card { background: var(--white); border: 1px solid #d4d8ee; border-radius: 16px; box-shadow: 0 2px 3px rgba(20,24,40,.04),0 20px 34px -22px rgba(46,63,203,.25); overflow: hidden; }
.bw-brand-logo { display: flex; align-items: center; gap: 8px; padding: 19px 20px; border-bottom: 1px solid var(--line); }
.bw-brand-logo svg { width: 25px; height: 27px; }
.bw-brand-logo span { font: 700 23px/1 var(--display); letter-spacing: -.025em; }
.bw-brand-name { display: flex; align-items: center; gap: 11px; padding: 20px 20px 14px; }
.bw-monogram { display: flex; align-items: center; justify-content: center; flex: none; width: 37px; height: 41px; color: var(--cv-teal,#0e7c7b); background: #f1f2ea; font: 500 28px/1 var(--display); border-radius: 3px 3px 18px 3px; }
.bw-brand-name strong { display: block; font: 500 21px/1.3 var(--display); }
.bw-brand-name span:not(.bw-monogram) { display: block; color: var(--muted); font-size: 12px; }
.bw-rule-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 20px; font-size: 12px; }
.bw-rule-row > span { color: var(--muted); }
.bw-rule-row > strong { font-size: 12px; font-weight: 500; text-align: right; }
.bw-palette { display: flex; align-items: center; gap: 5px; }
.bw-palette i, .bw-source-comparison i { display: inline-block; width: 16px; height: 16px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.bw-palette b { margin-left: 5px; font: 500 19px/1 var(--display); }
.bw-teal { background: var(--cv-teal,#0e7c7b); }
.bw-navy { background: var(--cv-navy,#14213d); }
.bw-sand { background: var(--cv-sand,#e9c46a); }
.bw-brand-lock { display: flex; align-items: center; gap: 6px; background: var(--stamp-soft); color: var(--stamp-deep); font-size: 12px; font-weight: 600; margin-top: 12px; padding: 12px 17px; }
.bw-brand-lock svg { width: 12px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.bw-brand-lock > span { margin-left: auto; font-weight: 400; font-size: 12px; }
.bw-sources { position: relative; display: flex; gap: 10px; align-items: center; justify-content: center; padding-top: 25px; }
.bw-source-spine { position: absolute; height: 16px; width: 1px; top: 0; left: 50%; background: #c5c9d4; }
.bw-sources > svg { width: 22px; height: 27px; stroke: var(--ink-2); stroke-width: 1.2; fill: none; }
.bw-home .bw-sources p { margin: 0; }
.bw-sources strong { display: block; font-size: 12px; font-weight: 500; }
.bw-sources p span { display: block; font-size: 12px; color: var(--muted); margin-top: 3px; }
.bw-family-art { height: 275px; position: relative; margin-top: 6px; }
.bw-family-art img { display: block; position: absolute; border: 1px solid rgba(27,31,38,.12); box-shadow: 0 12px 25px -12px rgba(20,24,40,.3); border-radius: 2px; height: auto; }
.bw-family-document { width: 49%; left: 2%; top: 1px; transform: rotate(-6deg); }
.bw-family-onepager { width: 49%; right: 3%; top: 7px; transform: rotate(6deg); }
.bw-family-presentation { width: 80%; left: 10%; bottom: 2px; transform: rotate(-2deg); }
.bw-family-caption { text-align: center; font-size: 13px; margin: 11px 0 0; }
.bw-family-caption strong { display: block; font-weight: 500; }
.bw-family-caption span { display: block; font-size: 12px; color: var(--muted); margin-top: 4px; }
.bw-flow-foot { border-top: 1px solid var(--line); padding: 12px 26px; min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.bw-home .bw-flow-foot p { font-size: 12px; color: var(--muted); margin: 0; }
.bw-replay { min-height: 28px; background: none; padding: 0; border: 0; color: var(--stamp); cursor: pointer; font-size: 12px; }
.bw-replay span { font-size: 17px; vertical-align: -1px; margin-right: 4px; }
.bw-running .bw-assistant { animation: bw-emphasis 600ms ease-out 1; }
.bw-running .bw-brand-card { animation: bw-emphasis 600ms ease-out 500ms 1; }
.bw-running .bw-family-art { animation: bw-emphasis 600ms ease-out 1000ms 1; }
@keyframes bw-emphasis { 0%,100% { filter: none; } 45% { filter: drop-shadow(0 0 10px rgba(46,63,203,.22)); } }
.bw-bridge { display: flex; justify-content: space-between; align-items: center; padding-top: 34px; padding-bottom: 58px; gap: 20px; }
.bw-home .bw-bridge p { font-size: 15px; line-height: 1.5; color: var(--ink-2); margin: 0; }
.bw-bridge strong { font-weight: 500; }
.bw-bridge a { font-size: 14px; font-weight: 500; }
.bw-bridge a span { margin-left: 12px; }
.bw-section { padding-block: 92px; }
.bw-home h2 { font: 700 clamp(34px,4.1vw,56px)/1.06 var(--display); letter-spacing: -.035em; max-width: 20ch; }
.bw-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 36px; }
.bw-home .bw-section-heading > p { max-width: 330px; color: var(--ink-2); font-size: 17px; line-height: 1.55; margin-bottom: 5px; text-wrap: pretty; }
.bw-home .bw-section-lede { color: var(--ink-2); font-size: 18px; line-height: 1.55; margin: 24px 0 28px; max-width: 440px; text-wrap: pretty; }
.bw-outputs { background: white; }
.bw-output-controls { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.bw-output-controls button { border: 1px solid transparent; background: none; color: var(--ink-2); padding: 11px 17px; font-size: 14px; font-weight: 500; min-height: 44px; border-radius: 8px; cursor: pointer; }
.bw-output-controls button:hover { background: var(--paper); }
.bw-output-controls button[aria-pressed="true"] { background: var(--ink); color: white; }
.bw-output-controls button[aria-pressed="true"]::before { content: '✓'; margin-right: 7px; }
.bw-output-panel { display: grid; grid-template-columns: 1.12fr 1fr; min-height: 500px; background: var(--paper); border-radius: 18px; overflow: hidden; }
.bw-output-panel + .bw-output-panel { margin-top: 28px; }
.bw-output-controls:not([hidden]) + .bw-output-panels .bw-output-panel { margin-top: 0; }
.bw-art-stage { display: flex; justify-content: center; align-items: center; min-height: 500px; padding: 30px 48px; background: #edece5; overflow: hidden; position: relative; }
.bw-art-stage::before { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg,rgba(255,255,255,.24),transparent 55%); }
.bw-art-stage img { position: relative; display: block; height: 430px; width: auto; max-width: 100%; object-fit: contain; box-shadow: 0 2px 4px rgba(20,24,40,.04),0 24px 36px -21px rgba(20,24,40,.28); transform: rotate(-3deg); }
.bw-collateral-stage img { transform: rotate(3deg); }
.bw-presentation-stage { padding: 30px; }
.bw-presentation-stage img { height: auto; width: 100%; transform: rotate(-3deg); }
.bw-output-story { align-self: center; padding: 46px; }
.bw-file-type { display: block; color: var(--muted); font: 600 12px/1.4 var(--sans); letter-spacing: .07em; margin-bottom: 19px; }
.bw-home .bw-output-story h3 { font: 500 clamp(30px,2.8vw,38px)/1.1 var(--display); letter-spacing: -.035em; margin-bottom: 20px; }
.bw-output-story p { color: var(--ink-2); font-size: 17px; line-height: 1.55; max-width: 340px; }
.bw-output-story ul { list-style: none; margin: 24px 0 30px; padding: 0; font-size: 14px; color: var(--ink-2); }
.bw-output-story li { padding: 6px 0 6px 22px; position: relative; }
.bw-output-story li::before { content: '↳'; color: var(--stamp); position: absolute; left: 0; }
.bw-output-story .arrow-link { font-size: 15px; }
.bw-home .bw-art-note { font-size: 12px; color: var(--muted); margin: 17px 0 0; }
.bw-control { background: var(--paper); }
.bw-control-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.bw-control-copy .arrow-link { font-size: 15px; }
.bw-review-example { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: var(--shadow); }
.bw-review-top { display: flex; justify-content: space-between; gap: 12px; }
.bw-review-top .bw-small-label { margin-bottom: 23px; }
.bw-review-title { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.bw-home .bw-review-title h3 { font: 500 23px/1.2 var(--display); margin-bottom: 3px; }
.bw-home .bw-review-title p { font-size: 12px; color: var(--muted); margin: 0; }
.bw-review-state { margin-left: auto; padding: 4px 9px; border-radius: 6px; background: var(--paper); color: var(--muted); font-size: 12px; }
.bw-review-rule { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; padding-block: 20px; align-items: center; }
.bw-review-rule > div { display: flex; align-items: center; gap: 8px; }
.bw-review-rule strong { font-weight: 500; font-size: 14px; }
.bw-review-rule > span { font-size: 12px; color: var(--ink-2); }
.bw-color-dot { display: inline-block; width: 16px; height: 16px; border-radius: 50%; }
.bw-review-rule small { grid-column: 1/-1; color: var(--muted); font-size: 12px; padding-left: 24px; }
.bw-review-question { background: var(--paper); border-radius: 10px; padding: 18px; }
.bw-review-question > div:first-child { display: flex; align-items: center; gap: 8px; }
.bw-question-dot { width: 19px; height: 19px; font: 600 12px/19px var(--sans); text-align: center; color: var(--warn); background: var(--warn-soft); border-radius: 50%; }
.bw-review-question strong { font-size: 13px; font-weight: 600; }
.bw-home .bw-review-question > p { color: var(--ink-2); font-size: 13px; line-height: 1.5; margin: 12px 0 15px; }
.bw-source-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bw-source-comparison > span { display: block; border: 1px solid var(--line); border-radius: 6px; padding: 10px; background: white; }
.bw-source-comparison b { display: block; font-size: 12px; font-weight: 500; margin-bottom: 7px; color: var(--ink-2); }
.bw-source-comparison i { margin-right: 3px; width: 14px; height: 14px; }
.bw-home .bw-review-question .bw-decision-note { font-size: 12px; margin: 14px 0 0; }
.bw-review-bottom { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); margin-top: 18px; }
.bw-status-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--stamp); flex: none; }
.bw-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 46px; list-style: none; padding: 0; margin: 58px 0 0; }
.bw-steps li { border-top: 1px solid #d4d7d1; padding-top: 18px; }
.bw-steps li > span { font: 500 13px/1 var(--sans); color: var(--stamp); display: block; margin-bottom: 20px; }
.bw-home .bw-steps h3 { font: 500 23px/1.2 var(--display); letter-spacing: -.02em; margin-bottom: 12px; }
.bw-home .bw-steps p { font-size: 15px; line-height: 1.55; color: var(--ink-2); max-width: 290px; margin-bottom: 0; }
.bw-evidence { background: var(--night); color: white; }
.bw-evidence .bw-kicker { color: #b6c0ff; }
.bw-home .bw-evidence .bw-section-lede { color: #bdc1cf; }
.bw-evidence .arrow-link { color: #ccd2ff; font-size: 15px; }
.bw-evidence :focus-visible { outline-color: white; }
.bw-evidence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 92px; align-items: center; }
.bw-evidence-list article { display: flex; gap: 19px; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.17); }
.bw-evidence-list article:first-child { padding-top: 0; }
.bw-evidence-list article:last-child { border: 0; padding-bottom: 0; }
.bw-evidence-list article > span { color: #8e98cd; font: 500 12px/1.8 var(--sans); }
.bw-home .bw-evidence-list h3 { font: 500 21px/1.2 var(--display); margin-bottom: 10px; }
.bw-home .bw-evidence-list p { font-size: 15px; line-height: 1.55; color: #bdc1cf; margin-bottom: 0; }
.bw-research { background: var(--vellum); }
.bw-research .bw-section-heading > p { max-width: 290px; }
.bw-stat-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 70px; }
.bw-stat { border-top: 1px solid #cfc8b8; padding-top: 32px; }
.bw-home .bw-stat-number { font: 500 96px/.95 var(--display); letter-spacing: -.06em; margin-bottom: 26px; }
.bw-stat-number span { font-size: 50px; letter-spacing: -.03em; }
.bw-home .bw-stat h3 { font: 500 23px/1.2 var(--display); max-width: 340px; margin-bottom: 16px; letter-spacing: -.02em; }
.bw-home .bw-stat > p:not(.bw-stat-number) { color: var(--ink-2); font-size: 16px; line-height: 1.6; }
.bw-home .bw-stat > p.bw-stat-source { font-size: 12px; margin: 22px 0 12px; }
.bw-stat summary { font-size: 12px; cursor: pointer; min-height: 36px; padding-block: 8px; color: var(--ink-2); }
.bw-stat details p { font-size: 13px; line-height: 1.6; color: var(--ink-2); margin-top: 8px; }
.bw-stat details a { font-size: 13px; }
.bw-home .bw-stat > p.bw-stat-pop { font-size: 14px; line-height: 1.55; margin: 0 0 4px; }
.bw-home .bw-stat > p.bw-stat-link { font-size: 14px; line-height: 1.5; margin: 10px 0 0; }
.bw-home .bw-research-note { color: var(--ink-2); font-size: 12px; margin: 32px 0 0; }
.bw-faq { background: white; }
.bw-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.bw-faq h2 { max-width: 12ch; }
.bw-faq-items details { border-bottom: 1px solid var(--line); }
.bw-faq-items details:first-child { border-top: 1px solid var(--line); }
.bw-faq-items summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; list-style: none; font-size: 17px; line-height: 1.4; font-weight: 500; padding: 22px 0; cursor: pointer; }
.bw-faq-items summary::-webkit-details-marker { display: none; }
.bw-faq-items summary::after { content: '+'; color: var(--muted); font-size: 20px; flex: none; font-weight: 400; }
.bw-faq-items details[open] summary::after { content: '−'; }
.bw-home .bw-faq-items p { color: var(--ink-2); font-size: 15px; line-height: 1.6; margin-bottom: 22px; max-width: 520px; }
.bw-close { text-align: center; padding: 80px 0 88px; background: var(--stamp); color: white; }
.bw-close .bw-kicker { justify-content: center; color: #d4d9ff; }
.bw-home .bw-close h2 { font: 700 clamp(48px,6.5vw,88px)/.98 var(--display); margin: 0 auto; letter-spacing: -.04em; }
.bw-home .bw-close p:not(.bw-kicker) { color: #e1e4ff; font-size: 18px; line-height: 1.6; margin: 26px 0; }
.bw-close-link { color: white; display: inline-flex; align-items: center; min-height: 50px; padding: 0 20px; font-weight: 500; font-size: 15px; gap: 14px; }
.bw-close :focus-visible { outline-color: white; }
.bw-home .bw-close p.bw-close-fine:not(.bw-kicker) { max-width: 560px; margin: 26px auto 0; color: #e1e4ff; font-size: 13px; line-height: 1.55; }
@media (max-width: 1000px) {
  body.brand-home .nav-links { gap: 16px; }
  body.brand-home .nav-links a { font-size: 13px; }
  .bw-flow-scene { gap: 28px; padding-inline: 22px; grid-template-columns: .88fr 1.15fr 1fr; }
  .bw-assistants::after, .bw-center::after { width: 28px; right: -28px; }
  .bw-assistants::before, .bw-center::before { right: -28px; }
  .bw-brand-logo { padding-inline: 15px; }
  .bw-brand-logo span { font-size: 20px; }
  .bw-brand-name, .bw-rule-row { padding-inline: 15px; }
  .bw-brand-lock { padding-inline: 12px; }
  .bw-brand-lock > span { font-size: 12px; }
  .bw-family-art { height: 260px; }
  .bw-assistant { padding: 13px 10px; gap: 8px; }
  .bw-assistant span { font-size: 12px; }
  .bw-assistant svg { width: 21px; height: 21px; }
  .bw-output-story { padding: 32px; }
  .bw-control-grid, .bw-evidence-grid { gap: 40px; }
}
@media (max-width: 860px) {
  body.brand-home .nav-links { display: none; }
  .bw-mobile-menu { display: block; }
  body.brand-home .nav-cta { margin-left: auto; }
  body.brand-home .nav-cta .ghost { display: none; }
  .bw-hero { padding-top: 44px; }
  .bw-home .bw-intro h1 { font-size: 54px; }
  .bw-home .bw-lede { font-size: 18px; }
  .bw-home .bw-flow { width: calc(100% - 40px); }
  .bw-flow-scene { grid-template-columns: 1fr 1.2fr; column-gap: 48px; padding: 26px 30px; }
  .bw-center::before, .bw-center::after { display: none; }
  .bw-assistants::after { width: 48px; right: -48px; }
  .bw-assistants::before { right: -48px; }
  .bw-output-family { grid-column: 1/-1; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 0 34px; padding-top: 30px; margin-top: 24px; border-top: 1px solid var(--line); }
  .bw-output-family > .bw-small-label { align-self: end; margin-bottom: 15px; }
  .bw-family-art { grid-column: 2; grid-row: 1/3; width: 300px; max-width: 100%; height: 270px; justify-self: center; }
  .bw-family-caption { text-align: left; align-self: start; }
  .bw-family-caption strong { font: 500 24px/1.1 var(--display); }
  .bw-family-caption span { margin-top: 12px; font-size: 13px; }
  .bw-section { padding-block: 70px; }
  .bw-section-heading { gap: 30px; }
  .bw-home .bw-section-heading > p { max-width: 260px; font-size: 15px; }
  .bw-output-panel { grid-template-columns: 1fr 1fr; min-height: 440px; }
  .bw-art-stage { min-height: 440px; padding: 30px; }
  .bw-art-stage img { height: auto; max-height: 370px; }
  .bw-output-story { padding: 28px; }
  .bw-output-story p { font-size: 15px; }
  .bw-output-story ul { font-size: 13px; }
  .bw-home .bw-output-story h3 { font-size: 30px; }
  .bw-control-grid { gap: 30px; grid-template-columns: .95fr 1.05fr; }
  .bw-review-example { padding: 18px; }
  .bw-review-question { padding: 12px; }
  .bw-source-comparison { gap: 7px; }
  .bw-source-comparison > span { padding: 8px; }
  .bw-home .bw-section-lede { font-size: 16px; }
  .bw-steps { gap: 25px; }
  .bw-home .bw-steps p { font-size: 14px; }
  .bw-evidence-grid, .bw-stat-grid, .bw-faq-grid { gap: 36px; }
}
@media (max-width: 640px) {
  body.brand-home .nav .wrap { height: 64px; padding-inline: 20px; }
  body.brand-home .nav-cta { display: none; }
  .bw-home .wrap { padding-inline: 20px; }
  .bw-hero { padding-top: 38px; }
  .bw-home .bw-intro h1 { font-size: clamp(38px,10.8vw,58px); line-height: 1.05; letter-spacing: -.04em; max-width: 480px; }
  .bw-intro .bw-kicker { font-size: 12px; letter-spacing: .08em; margin-bottom: 20px; }
  .bw-home .bw-lede { font-size: 17px; line-height: 1.5; margin-top: 21px; margin-bottom: 25px; max-width: 380px; }
  .bw-desktop-break { display: none; }
  .bw-actions { gap: 10px; }
  .bw-intro .bw-actions { display: grid; grid-template-columns: 1fr; max-width: 360px; margin-inline: auto; }
  .bw-intro .bw-actions .btn { font-size: 15px; min-height: 48px; padding: 12px 18px; }
  .bw-home .bw-setup-note { max-width: 300px; margin: 14px auto 0; font-size: 12px; }
  .bw-home .bw-flow { margin-top: 32px; width: calc(100% - 32px); padding: 0; border-radius: 16px; }
  .bw-flow-heading { display: block; padding: 15px 18px; }
  .bw-home .bw-flow-heading h2 { font-size: 13px; }
  .bw-flow-heading .bw-example-label { display: block; font-size: 12px; margin-top: 4px; }
  .bw-flow-scene { display: flex; flex-direction: column; gap: 0; padding: 22px 20px; }
  .bw-assistants { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
  .bw-assistants > .bw-small-label { grid-column: 1/-1; margin-bottom: 6px; }
  .bw-assistant { flex-direction: column; align-items: flex-start; padding: 12px; gap: 7px; min-height: 100px; margin: 0; }
  .bw-assistant strong { font-size: 14px; }
  .bw-assistant span { font-size: 12px; }
  .bw-assistant svg { width: 20px; height: 20px; }
  .bw-assistant.bw-api { grid-column: 1/-1; flex-direction: row; align-items: center; gap: 9px; padding: 8px 0; min-height: 40px; border: 0; }
  .bw-api strong { display: inline; font-size: 12px; }
  .bw-api span { display: inline; font-size: 12px; margin-left: 5px; }
  .bw-home .bw-request { display: none; }
  .bw-assistants::before, .bw-assistants::after { display: none; }
  .bw-center { margin-top: 19px; padding-top: 22px; border-top: 1px solid var(--line); }
  .bw-center > .bw-small-label { margin-bottom: 15px; }
  .bw-brand-logo { padding: 17px 20px; }
  .bw-brand-logo span { font-size: 24px; }
  .bw-brand-name, .bw-rule-row { padding-inline: 20px; }
  .bw-rule-row, .bw-rule-row > strong { font-size: 12px; }
  .bw-brand-lock { font-size: 12px; padding: 12px 20px; }
  .bw-brand-lock > span { font-size: 12px; }
  .bw-sources { padding-top: 24px; }
  .bw-sources strong { font-size: 12px; }
  .bw-sources p span { font-size: 12px; }
  .bw-output-family { display: block; padding-top: 23px; margin-top: 24px; }
  .bw-output-family > .bw-small-label { margin-bottom: 22px; }
  .bw-family-art { width: 280px; height: 275px; margin: 0 auto; }
  .bw-family-caption { text-align: center; margin-top: 18px; }
  .bw-family-caption strong { font: 500 19px/1.2 var(--display); }
  .bw-family-caption span { font-size: 12px; margin-top: 6px; }
  .bw-flow-foot { display: block; text-align: center; padding: 14px 20px; }
  .bw-home .bw-flow-foot p { font-size: 12px; }
  .bw-replay { min-height: 44px; margin-top: 3px; }
  .bw-bridge { display: block; padding-top: 25px; padding-bottom: 42px; }
  .bw-home .bw-bridge p { font-size: 14px; }
  .bw-bridge a { display: inline-block; margin-top: 17px; min-height: 32px; }
  .bw-section { padding-block: 54px; }
  .bw-home h2 { font-size: clamp(32px,8.8vw,43px); line-height: 1.06; }
  .bw-home .bw-kicker { font-size: 12px; margin-bottom: 18px; }
  .bw-section-heading { display: block; margin-bottom: 25px; }
  .bw-home .bw-section-heading > p { font-size: 16px; max-width: 360px; margin: 21px 0 0; }
  .bw-output-controls { gap: 3px; margin-bottom: 21px; padding-bottom: 16px; }
  .bw-output-controls button { padding: 10px 12px; font-size: 12px; border-color: var(--line); }
  .bw-output-panel { display: flex; flex-direction: column; border-radius: 14px; }
  .bw-art-stage { min-height: 390px; padding: 28px; }
  .bw-art-stage img { height: 342px; width: auto; max-width: 100%; }
  .bw-presentation-stage { min-height: 255px; }
  .bw-presentation-stage img { height: auto; width: 100%; }
  .bw-output-story { width: 100%; padding: 30px 27px; }
  .bw-file-type { font-size: 12px; margin-bottom: 15px; }
  .bw-home .bw-output-story h3 { font-size: 34px; }
  .bw-output-story p { font-size: 16px; max-width: 360px; }
  .bw-output-story ul { font-size: 14px; margin-block: 20px 25px; }
  .bw-home .bw-art-note { font-size: 12px; line-height: 1.5; }
  .bw-control-grid { display: flex; flex-direction: column; align-items: stretch; gap: 32px; }
  .bw-home .bw-section-lede { font-size: 16px; margin-block: 21px 25px; }
  .bw-review-example { padding: 20px; }
  .bw-review-question { padding: 15px; }
  .bw-source-comparison { gap: 10px; }
  .bw-steps { display: block; margin-top: 34px; }
  .bw-steps li { position: relative; padding: 20px 0 22px 39px; }
  .bw-steps li > span { position: absolute; left: 0; top: 23px; }
  .bw-home .bw-steps h3 { font-size: 23px; }
  .bw-home .bw-steps p { font-size: 15px; max-width: 340px; }
  .bw-steps li:last-child { padding-bottom: 0; }
  .bw-evidence-grid { display: block; }
  .bw-evidence-list { margin-top: 36px; }
  .bw-evidence-list article { gap: 16px; padding-block: 23px; }
  .bw-home .bw-evidence-list h3 { font-size: 22px; }
  .bw-stat-grid { display: block; }
  .bw-stat { padding-top: 26px; }
  .bw-stat + .bw-stat { margin-top: 27px; }
  .bw-home .bw-stat-number { font-size: 80px; margin-bottom: 21px; }
  .bw-home .bw-stat h3 { font-size: 25px; }
  .bw-home .bw-stat > p:not(.bw-stat-number) { font-size: 15px; }
  .bw-home .bw-stat > p.bw-stat-source { font-size: 12px; }
  .bw-stat summary { min-height: 44px; padding-block: 12px; }
  .bw-home .bw-research-note { font-size: 12px; margin-top: 23px; }
  .bw-faq-grid { display: block; }
  .bw-faq-items { margin-top: 28px; }
  .bw-faq-items summary { font-size: 16px; padding-block: 21px; }
  .bw-home .bw-faq-items p { font-size: 15px; }
  .bw-close { padding: 58px 0; }
  .bw-home .bw-close h2 { font-size: 62px; }
  .bw-home .bw-close p:not(.bw-kicker) { font-size: 15px; }
  .bw-close .bw-actions { flex-direction: column; gap: 4px; }
  body.brand-home footer .wrap { padding-inline: 20px; }
}
@media (max-width: 360px) {
  .bw-home .wrap { padding-inline: 16px; }
  .bw-home .bw-flow { padding: 0; }
  .bw-flow-scene { padding-inline: 16px; }
  .bw-brand-lock { padding-inline: 14px; }
  .bw-rule-row { padding-inline: 14px; }
  .bw-family-art { height: 248px; }
  .bw-family-presentation { width: 84%; left: 8%; }
  .bw-output-controls { gap: 5px; }
  .bw-output-controls button { padding-inline: 9px; }
  .bw-review-example { padding: 16px; }
  .bw-review-question { padding: 12px; }
  .bw-review-bottom { align-items: flex-start; }
  .bw-review-bottom .bw-status-dot { margin-top: 5px; }
  .bw-home .bw-close h2 { font-size: 54px; }
  .bw-output-story { padding-inline: 22px; }
  .bw-home .bw-output-story h3 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body.brand-home *, body.brand-home *::before, body.brand-home *::after { animation: none !important; transition: none !important; }
}
