/* Hallmark · macrostructure: Acquisition Map (home), Long Document (articles)
 * pre-emit critique: P5 H5 E5 S5 R5 V4 · genre: editorial · design-system: design.md
 * tone: restrained consultancy · anchor hue: 172 · nav: N9 · footer: Ft2
 * fingerprint: outcome-led hero, six-stage acquisition rail, campaign-creative triptych, causal evidence path
 * contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46)
 * chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30)
 * mobile: pass (34, 49, 50–57)
 */
@import url('/tokens.css');
* { box-sizing: border-box; }
html { overflow-x: clip; scroll-padding-top: var(--space-4xl); }
body { margin: 0; overflow-x: clip; background: var(--color-paper); color: var(--color-ink); font-family: var(--font-body); font-size: var(--text-body); line-height: 1.65; -webkit-font-smoothing: antialiased; }
h1, h2, h3, p, ul, ol, dl, figure, blockquote { margin: 0; }
h1, h2, h3 { font-family: var(--font-display); font-style: normal; font-weight: 400; letter-spacing: -.025em; line-height: 1.08; min-width: 0; overflow-wrap: anywhere; }
h1 { font-size: var(--text-display); }
h2 { font-size: var(--text-heading); }
h3 { font-size: var(--text-lead); font-family: var(--font-body); font-weight: 500; letter-spacing: -.02em; line-height: 1.35; }
p { max-width: 65ch; }
a { color: inherit; text-underline-offset: .25em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
a:active, summary:active { opacity: .8; }
[aria-disabled='true'], :disabled { opacity: .55; cursor: not-allowed; }
img { max-width: 100%; height: auto; display: block; }
button, summary { font: inherit; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 5px; }
.container { width: min(100%, calc(var(--page-width) + var(--page-gutter) * 2)); margin-inline: auto; padding-inline: var(--page-gutter); }
.skip { position: absolute; left: var(--space-md); top: var(--space-md); padding: var(--space-md); background: var(--color-paper); z-index: var(--z-skip); transform: translateY(-200%); }
.skip:focus { transform: none; }
.site-header { padding-block: var(--space-xl); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); position: relative; }
.brand { display: inline-block; flex-shrink: 0; }
.brand img { width: 132px; height: 53px; object-fit: contain; }
.header-actions { display: flex; align-items: center; gap: var(--space-2xl); }
.nav-links { display: none; }
.nav-links a, .footer-links a { white-space: nowrap; text-decoration: none; }
.nav-links a:hover, .footer-links a:hover { text-decoration: underline; }
.button { display: inline-flex; justify-content: center; align-items: center; gap: var(--space-lg); min-height: 48px; padding: var(--space-control) var(--space-lg); border: var(--rule-width) solid var(--color-ink); border-radius: var(--radius-control); background: var(--color-ink); color: var(--color-paper); text-decoration: none; white-space: nowrap; font-size: var(--text-small); line-height: 1; font-weight: 500; transition: transform var(--dur-micro) var(--ease-out); }
.button:hover { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-ink); }
.button:active { transform: translateY(1px); }
.button-light { background: var(--color-paper); color: var(--color-ink); border-color: var(--color-paper); }
.button-light:hover { background: var(--color-paper-2); color: var(--color-ink); border-color: var(--color-paper-2); }
.arrow { font-size: var(--text-lead); line-height: 1; }
.text-link { display: inline-flex; align-items: center; gap: var(--space-md); min-height: 44px; white-space: nowrap; font-size: var(--text-small); font-weight: 500; }
.menu { position: relative; }
.menu summary { list-style: none; cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: var(--space-sm); font-size: var(--text-small); }
.menu summary::-webkit-details-marker { display: none; }
.menu summary::after { content: '+'; font-size: var(--text-lead); }
.menu[open] summary::after { content: '−'; }
.menu nav { position: absolute; top: 100%; right: 0; min-width: 240px; padding: var(--space-lg); display: grid; gap: var(--space-sm); background: var(--color-paper); border: var(--rule-width) solid var(--color-rule); z-index: var(--z-nav); }
.menu nav a { padding-block: var(--space-sm); min-height: 44px; white-space: nowrap; }
.header-cta { display: none; }
.hero { padding-block: var(--space-2xl) var(--space-3xl); }
.hero h1 { max-width: 14ch; }
.hero-bottom { display: grid; gap: var(--space-xl); margin-top: var(--space-xl); }
.hero .lead { max-width: 49ch; }
.lead { font-size: var(--text-lead); color: var(--color-muted); line-height: 1.6; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-lg) var(--space-xl); margin-top: var(--space-xl); }
.hero-note { font-size: var(--text-small); color: var(--color-muted); margin-top: var(--space-lg); }
.scope-note { display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-sm); padding-top: var(--space-xl); border-top: var(--rule-width) solid var(--color-rule); font-size: var(--text-small); color: var(--color-muted); }
.scope-note strong { color: var(--color-ink); font-weight: 500; }
.evidence { background: var(--color-paper-2); padding-block: var(--space-2xl); }
.evidence-intro { display: grid; gap: var(--space-lg); }
.evidence h2 { max-width: 23ch; }
.context { font-size: var(--text-small); color: var(--color-muted); }
.result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); margin-top: var(--space-2xl); padding-top: var(--space-xl); border-top: var(--rule-width) solid var(--color-rule); font-variant-numeric: tabular-nums; }
.result-grid div { display: flex; flex-direction: column; gap: var(--space-sm); }
.result-grid dt { font-size: var(--text-small); color: var(--color-muted); order: 2; }
.result-grid dd { margin: 0; font-family: var(--font-display); font-size: var(--text-heading); letter-spacing: -.04em; line-height: 1; }
.evidence-foot { display: grid; gap: var(--space-lg); margin-top: var(--space-xl); }
.disclaimer { color: var(--color-muted); font-size: var(--text-small); max-width: 75ch; }
.section { padding-block: var(--space-4xl); }
.section-intro { display: grid; gap: var(--space-xl); margin-bottom: var(--space-2xl); }
.section-intro h2 { max-width: 20ch; }
.section-intro p { color: var(--color-muted); }
.journey { list-style: none; padding: 0; display: grid; gap: 0; margin-top: var(--space-2xl); }
.journey li { padding-block: var(--space-lg); border-top: var(--rule-width) solid var(--color-rule); }
.journey strong { display: block; font-weight: 500; margin-bottom: var(--space-sm); }
.journey span { color: var(--color-muted); font-size: var(--text-small); }
.system { padding-top: var(--space-md); padding-bottom: var(--space-4xl); }
.service-row { display: grid; gap: var(--space-md); padding-block: var(--space-xl); border-top: var(--rule-width) solid var(--color-rule); }
.service-row p { color: var(--color-muted); }
.service-row .number { font-size: var(--text-small); color: var(--color-accent); font-variant-numeric: tabular-nums; }
.service-title { display: flex; gap: var(--space-md); align-items: baseline; }
.creative { padding-block: var(--space-3xl); background: var(--color-ink); color: var(--color-paper); }
.creative-layout { display: grid; gap: var(--space-2xl); }
.creative h2 { max-width: 17ch; }
.creative-copy { color: var(--color-paper-2); margin-top: var(--space-lg); }
.creative-example { padding-top: var(--space-xl); border-top: var(--rule-width) solid var(--color-muted); }
.creative-example p { font-family: var(--font-display); font-size: var(--text-quote); line-height: 1.4; }
.creative-example figcaption { font-size: var(--text-small); margin-top: var(--space-lg); color: var(--color-paper-2); }
.responsibilities { display: grid; gap: var(--space-2xl); }
.responsibilities h3 { margin-bottom: var(--space-lg); }
.plain-list { padding: 0; list-style: none; }
.plain-list li { padding-block: var(--space-md); border-top: var(--rule-width) solid var(--color-rule); color: var(--color-muted); }
.working { background: var(--color-paper-2); padding-block: var(--space-3xl); }
.working-grid { display: grid; gap: var(--space-xl); }
.working-grid h3 { margin-bottom: var(--space-sm); }
.working-grid p { color: var(--color-muted); }
.guarantee { border-top: var(--rule-width) solid var(--color-rule); margin-top: var(--space-2xl); padding-top: var(--space-2xl); display: grid; gap: var(--space-lg); }
.guarantee blockquote { font-family: var(--font-display); font-size: var(--text-article-heading); line-height: 1.25; max-width: 45ch; }
.faq { max-width: 56rem; }
.faq h2 { margin-bottom: var(--space-xl); }
.faq details { border-bottom: var(--rule-width) solid var(--color-rule); }
.faq summary { padding-block: var(--space-lg); padding-right: var(--space-xl); cursor: pointer; position: relative; list-style: none; font-weight: 500; line-height: 1.5; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 0; top: var(--space-lg); }
.faq details[open] summary::after { content: '−'; }
.faq details p { padding-bottom: var(--space-lg); color: var(--color-muted); }
.closing { padding-bottom: var(--space-4xl); }
.closing-inner { border-top: var(--rule-width) solid var(--color-ink); padding-top: var(--space-2xl); display: grid; gap: var(--space-xl); }
.closing h2 { max-width: 21ch; }
.closing p { color: var(--color-muted); margin-top: var(--space-lg); }
.site-footer { padding-block: var(--space-xl); border-top: var(--rule-width) solid var(--color-rule); }
.footer-inner { display: flex; flex-wrap: wrap; gap: var(--space-md) var(--space-xl); align-items: center; justify-content: space-between; font-size: var(--text-small); color: var(--color-muted); }
.footer-links { display: flex; gap: var(--space-xl); flex-wrap: wrap; }
.article-head { padding-block: var(--space-2xl) var(--space-3xl); }
.article-head h1 { max-width: 17ch; margin-block: var(--space-xl); }
.article-head .lead { max-width: 56ch; }
.article-label { color: var(--color-muted); font-size: var(--text-small); font-weight: 500; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }
.article-outcome { max-width: 24ch; margin-bottom: var(--space-lg); font-family: var(--font-display); font-size: var(--text-article-heading); letter-spacing: -.025em; line-height: 1.2; text-wrap: balance; }
.article-content { max-width: 47rem; padding-bottom: var(--space-4xl); }
.article-content h2 { font-size: var(--text-article-heading); margin-block: var(--space-2xl) var(--space-lg); }
.article-content p + p { margin-top: var(--space-lg); }
.article-content p { color: var(--color-muted); }
.article-content .case-page-note { margin-top: var(--space-md); color: var(--color-ink); font-weight: 500; }
.article-content ul { padding-left: var(--space-lg); color: var(--color-muted); }
.article-content li + li { margin-top: var(--space-sm); }
.article-results { margin-block: var(--space-xl); }
@media (min-width: 40rem) {
  .header-cta { display: inline-flex; }
  .brand img { width: 150px; height: 60px; }
  .hero { padding-block: var(--space-2xl) var(--space-3xl); }
  .result-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .journey { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-lg); }
  .responsibilities { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-3xl); }
  .service-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--space-2xl); }
  .working-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-2xl); }
}
@media (min-width: 64rem) {
  .nav-links { display: flex; gap: var(--space-xl); font-size: var(--text-small); }
  .menu { display: none; }
  .hero-bottom { grid-template-columns: minmax(0, 1.8fr) minmax(0, .7fr); gap: var(--space-4xl); }
  .scope-note { border: 0; padding: 0 0 var(--space-sm); }
  .evidence-intro { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: var(--space-3xl); align-items: end; }
  .evidence-foot { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3xl); align-items: end; }
  .section-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-4xl); align-items: start; }
  .creative { padding-block: var(--space-4xl); }
  .creative-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--space-4xl); align-items: center; }
  .creative-example { border-top: 0; border-left: var(--rule-width) solid var(--color-muted); padding: 0 0 0 var(--space-2xl); }
  .guarantee { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--space-3xl); align-items: center; }
  .closing-inner { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-3xl); }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } .button:active { transform: none; } }

/* Hallmark · resource workbench extension · established design.md system
 * pre-emit critique: P5 H5 E5 S5 R5 V5 · tone: restrained editorial utility
 */
.brand-lockup { width: 128px; min-height: 48px; display: inline-flex; align-items: center; }
.brand-lockup img { width: 128px; height: auto; object-fit: contain; }
.resources-nav { position: relative; }
.resources-nav summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; list-style: none; white-space: nowrap; }
.resources-nav summary::-webkit-details-marker { display: none; }
.resources-nav summary::after { content: '+'; margin-left: var(--space-sm); color: var(--color-accent); font-size: var(--text-lead); line-height: 1; }
.resources-nav[open] summary::after { content: '−'; }
.resources-nav > div { position: absolute; top: calc(100% + var(--space-control)); right: 0; width: min(32rem, calc(100vw - var(--space-xl) * 2)); padding: var(--space-sm); background: var(--color-paper); color: var(--color-ink); border: var(--rule-width) solid var(--color-rule); }
.resources-nav > div a { display: grid; gap: var(--space-xs); min-height: 72px; padding: var(--space-md); text-decoration: none; white-space: normal; }
.resources-nav > div a + a { border-top: var(--rule-width) solid var(--color-rule); }
.resources-nav > div a:hover { background: var(--color-paper-2); text-decoration: none; }
.resources-nav > div strong { font-weight: 600; }
.resources-nav > div span { color: var(--color-muted); font-size: var(--text-small); line-height: 1.45; }

.resource-suite { padding-block: var(--space-4xl); background: var(--color-forest); color: var(--color-on-forest); }
.resource-suite-grid { display: grid; gap: var(--space-3xl); }
.resource-suite-intro h2 { max-width: 15ch; }
.resource-suite-intro p { margin-top: var(--space-lg); color: var(--color-forest-muted); font-size: var(--text-lead); }
.resource-tools { display: grid; border: var(--rule-width) solid var(--color-forest-rule); }
.resource-tool { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); min-width: 0; padding: var(--space-xl); color: var(--color-on-forest); text-decoration: none; }
.resource-tool + .resource-tool { border-top: var(--rule-width) solid var(--color-forest-rule); }
.resource-tool:hover { background: var(--color-on-forest); color: var(--color-ink); text-decoration: none; }
.resource-tool:hover p { color: var(--color-muted); }
.resource-tool > div:first-child { display: grid; gap: var(--space-sm); }
.resource-tool span { color: var(--color-accent); font-size: var(--text-small); font-weight: 600; }
.resource-tool strong { max-width: 18ch; font-family: var(--font-display); font-size: var(--text-article-heading); line-height: 1.1; letter-spacing: -.025em; }
.resource-tool p { color: var(--color-forest-muted); }
.resource-tool small { display: flex; align-items: center; justify-content: space-between; gap: var(--space-md); min-height: 44px; padding-top: var(--space-md); border-top: var(--rule-width) solid currentColor; font-size: var(--text-small); font-weight: 600; }
.resource-tool small b { font-size: var(--text-lead); font-weight: 400; }
.resource-tool svg { width: 100%; height: auto; max-height: 7rem; fill: none; stroke: currentColor; stroke-width: 1.5; }
.score-preview { --score: 0%; display: grid; gap: var(--space-control); align-content: center; }
.score-preview i { display: block; width: 100%; height: var(--space-control); border: var(--rule-width) solid currentColor; }
.score-preview i::before { content: ''; display: block; width: var(--score); height: 100%; background: var(--color-accent); }

.tool-page .site-header .brand img { width: 128px; height: auto; }
.tool-page h1,
.tool-page h2 { font-weight: 700; letter-spacing: -.035em; }
.tool-hero { padding-block: var(--space-3xl) var(--space-4xl); }
.tool-hero-grid { display: grid; gap: var(--space-3xl); align-items: end; }
.tool-hero h1 { max-width: 12ch; }
.roi-hero-grid h1 { max-width: none; text-wrap: balance; }
.roi-hero-copy { align-self: start; }
.tool-hero .lead { margin-top: var(--space-xl); max-width: 55ch; }
.roi-hero-copy .lead { margin-top: 0; }
.tool-start { margin-top: var(--space-xl); }
.tool-privacy { display: flex; align-items: center; gap: var(--space-control); margin-top: var(--space-lg); color: var(--color-muted); font-size: var(--text-small); }
.tool-privacy svg { flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.roi-path { min-width: 0; padding-top: var(--space-lg); border-top: var(--rule-width) solid var(--color-rule); }
.roi-path ol { margin: 0; padding: 0; list-style: none; }
.roi-path li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-md); align-items: baseline; padding-block: var(--space-control); border-bottom: var(--rule-width) solid var(--color-rule); }
.roi-path li span { color: var(--color-focus); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.roi-path li strong { font-weight: 500; }
.roi-path figcaption { margin-top: var(--space-lg); color: var(--color-muted); font-size: var(--text-small); }

.calculator-workbench { display: grid; gap: 0; padding-bottom: var(--space-4xl); }
.tool-page .calculator-form { padding: var(--space-xl); background: var(--color-paper-2); border: var(--rule-width) solid var(--color-rule); }
.tool-section-heading { display: grid; gap: var(--space-md); margin-bottom: var(--space-xl); }
.tool-section-heading p { color: var(--color-muted); }
.calculator-fields { display: grid; gap: var(--space-lg); }
.tool-page .calculator-form label { align-content: start; }
.tool-page .calculator-form label > span:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-md); color: var(--color-ink); }
.tool-page .calculator-form label b { color: var(--color-muted); font-size: var(--text-small); font-weight: 400; }
.tool-page .calculator-form input,
.tool-page .calculator-form select { width: 100%; min-height: 52px; padding: var(--space-control) var(--space-md); border: var(--rule-width) solid var(--color-rule); border-radius: 0; background: var(--color-paper); color: var(--color-ink); font: inherit; }
.tool-page .calculator-form select { background-color: var(--color-paper); }
.tool-page .calculator-form input::placeholder { color: var(--color-muted); opacity: .65; }
.tool-page .calculator-form input:focus,
.tool-page .calculator-form select:focus { border-color: var(--color-focus); }
.tool-page .calculator-form .field { grid-template-columns: 3.25rem minmax(0, 1fr); min-height: 52px; }
.tool-page .calculator-form .field > span { display: grid; place-items: center; align-self: stretch; padding: 0; border-right: var(--rule-width) solid var(--color-rule); }
.calculator-actions { display: flex; flex-wrap: wrap; gap: var(--space-md) var(--space-xl); align-items: center; margin-top: var(--space-xl); }
.text-button { min-height: 44px; padding: var(--space-sm) 0; border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; font-size: var(--text-small); font-weight: 500; text-decoration: underline; text-underline-offset: .3em; }
.text-button:hover { text-decoration-thickness: 2px; }
.text-button:disabled { text-decoration: none; }
.calculator-error { max-width: none; padding: var(--space-control) var(--space-md); border: var(--rule-width) solid var(--color-focus); color: var(--color-ink); }
.tool-page .calculator-results { display: grid; align-content: start; min-width: 0; padding: var(--space-xl); border: var(--rule-width) solid var(--color-forest); background: var(--color-forest); color: var(--color-on-forest); }
.tool-page .calculator-results.is-empty { align-content: stretch; }
.calculator-empty { display: grid; align-content: center; min-height: 30rem; padding-block: var(--space-xl); }
.calculator-empty-label { color: var(--color-accent); font-size: var(--text-small); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.calculator-empty h2 { max-width: 10ch; margin-top: var(--space-lg); font-size: var(--text-article-heading); }
.calculator-empty > p:last-of-type { max-width: 42ch; margin-top: var(--space-lg); color: var(--color-forest-muted); }
.calculator-empty ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: var(--space-3xl) 0 0; padding: var(--space-lg) 0 0; border-top: var(--rule-width) solid var(--color-forest-rule); list-style: none; }
.calculator-empty li { position: relative; min-width: 0; padding-top: var(--space-control); color: var(--color-forest-muted); font-size: var(--text-small); overflow-wrap: anywhere; }
.calculator-empty li::before { position: absolute; top: calc(var(--space-lg) * -1 - 4px); left: 0; width: var(--space-sm); height: var(--space-sm); background: var(--color-accent); content: ''; }
.calculator-output { display: grid; gap: var(--space-xl); min-width: 0; }
.results-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-lg); align-items: start; padding-bottom: var(--space-xl); border-bottom: var(--rule-width) solid var(--color-forest-rule); }
.results-heading h2 { font-size: var(--text-article-heading); }
.results-heading p { margin-top: var(--space-sm); color: var(--color-forest-muted); font-size: var(--text-small); }
.results-roas-wrap { min-width: max-content; text-align: right; }
.results-roas-wrap span { display: block; margin-bottom: var(--space-sm); color: var(--color-forest-muted); font-size: var(--text-small); }
.results-roas { display: block; font-family: var(--font-display); font-size: var(--text-map); line-height: 1; white-space: nowrap; }
.results-journey { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: var(--rule-width) solid var(--color-forest-rule); border-left: var(--rule-width) solid var(--color-forest-rule); }
.results-journey > div { min-width: 0; padding: var(--space-md); border-right: var(--rule-width) solid var(--color-forest-rule); border-bottom: var(--rule-width) solid var(--color-forest-rule); }
.results-journey span { display: block; color: var(--color-forest-muted); font-size: var(--text-small); }
.results-journey strong { display: block; margin-top: var(--space-sm); font-family: var(--font-display); font-size: var(--text-map); font-variant-numeric: tabular-nums; white-space: nowrap; }
.results-ledger { display: grid; }
.results-ledger > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-lg); align-items: baseline; padding-block: var(--space-control); border-bottom: var(--rule-width) solid var(--color-forest-rule); }
.results-ledger dt { color: var(--color-forest-muted); }
.results-ledger dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.results-message { color: var(--color-forest-muted); font-size: var(--text-small); }
.calculator-reading { padding-block: var(--space-4xl); border-block: var(--rule-width) solid var(--color-rule); }
.calculator-reading-grid { display: grid; gap: var(--space-2xl); }
.calculator-reading-grid h2 { max-width: 11ch; }
.calculator-reading-grid p { color: var(--color-muted); }
.calculator-reading-grid p + p { margin-top: var(--space-lg); }
.tool-crosslink { padding-block: var(--space-4xl); background: var(--color-forest); color: var(--color-on-forest); }
.tool-crosslink-grid { display: grid; gap: var(--space-2xl); align-items: end; }
.tool-crosslink h2 { max-width: 18ch; font-size: var(--text-article-heading); }
.tool-crosslink p { margin-top: var(--space-md); color: var(--color-forest-muted); }
.tool-crosslink .button { justify-self: start; }
.tool-page .closing { padding-block: var(--space-4xl); }
.tool-page .closing-v2 { display: grid; gap: var(--space-3xl); align-items: end; padding-top: var(--space-3xl); border-top: var(--rule-width) solid var(--color-ink); }
.tool-page .closing-v2 h2 { max-width: 17ch; font-size: var(--text-article-heading); }
.tool-page .closing-v2 p { max-width: 58ch; margin-top: var(--space-lg); }
.tool-page .closing-v2 .button { justify-self: start; }
.tool-noscript { margin-bottom: var(--space-3xl); padding: var(--space-xl); border: var(--rule-width) solid var(--color-rule); background: var(--color-paper-2); }
.tool-noscript h2 { font-size: var(--text-article-heading); }
.tool-noscript p { margin-top: var(--space-md); color: var(--color-muted); }

.scorecard-start { margin-top: var(--space-xl); }
.scorecard-hero h1 { font-size: var(--text-article-display); }
.scorecard-map { --preview-score: 0%; display: grid; gap: var(--space-lg); min-width: 0; padding: var(--space-xl); border: var(--rule-width) solid var(--color-rule); background: var(--color-paper-2); }
.scorecard-map > div { display: grid; grid-template-columns: minmax(7rem, .45fr) minmax(0, 1fr); gap: var(--space-lg); align-items: center; }
.scorecard-map span { font-size: var(--text-small); }
.scorecard-map i { height: var(--space-control); border: var(--rule-width) solid var(--color-rule); }
.scorecard-map i::before { content: ''; display: block; width: var(--preview-score); height: 100%; background: var(--color-forest); }
.scorecard-map figcaption { padding-top: var(--space-md); border-top: var(--rule-width) solid var(--color-rule); color: var(--color-muted); font-size: var(--text-small); }
.scorecard-shell { padding-bottom: var(--space-4xl); }
.scorecard-layout { display: grid; gap: 0; }
.scorecard-layout.is-results { display: block; }
.scorecard-progress { padding: var(--space-xl); background: var(--color-forest); color: var(--color-on-forest); }
.scorecard-progress h2 { font-size: var(--text-article-heading); }
.scorecard-progress > p { margin-top: var(--space-md); color: var(--color-forest-muted); font-size: var(--text-small); }
.progress-count { display: flex; justify-content: space-between; gap: var(--space-md); margin-top: var(--space-2xl); padding-block: var(--space-lg); border-block: var(--rule-width) solid var(--color-forest-rule); font-size: var(--text-small); }
.progress-count span { color: var(--color-forest-muted); }
.scorecard-progress ol { margin: var(--space-xl) 0 0; padding: 0; list-style: none; }
.scorecard-progress li { padding-block: var(--space-control); color: var(--color-forest-muted); border-bottom: var(--rule-width) solid var(--color-forest-rule); }
.scorecard-progress li::before { content: ''; display: inline-block; width: var(--space-sm); height: var(--space-sm); margin-right: var(--space-control); background: transparent; border: var(--rule-width) solid currentColor; }
.scorecard-progress li.is-current { color: var(--color-on-forest); }
.scorecard-progress li.is-current::before { background: var(--color-accent); border-color: var(--color-accent); }
.scorecard-progress li.is-complete::before { background: var(--color-on-forest); }
.scorecard-stage,
.scorecard-results { min-width: 0; padding: var(--space-xl); border: var(--rule-width) solid var(--color-rule); background: var(--color-paper); }
.scorecard-layout.is-results .scorecard-results { width: 100%; }
.question-meta { display: flex; justify-content: space-between; gap: var(--space-md); color: var(--color-muted); font-size: var(--text-small); }
.scorecard-stage > h2 { margin-top: var(--space-2xl); max-width: 24ch; font-size: var(--text-article-heading); }
.answer-list { display: grid; gap: var(--space-md); margin-top: var(--space-2xl); }
.scorecard-answer { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-md); align-items: start; width: 100%; min-height: 64px; padding: var(--space-md); border: var(--rule-width) solid var(--color-rule); border-radius: 0; background: var(--color-paper); color: var(--color-ink); cursor: pointer; text-align: left; }
.scorecard-answer:hover { border-color: var(--color-forest); background: var(--color-paper-2); }
.scorecard-answer:active { transform: translateY(1px); }
.scorecard-answer[aria-pressed='true'] { border-color: var(--color-forest); background: var(--color-accent); }
.scorecard-answer > span { display: grid; place-items: center; width: 2rem; height: 2rem; border: var(--rule-width) solid currentColor; font-size: var(--text-small); }
.scorecard-answer strong { font-weight: 500; line-height: 1.45; }
.question-actions { display: flex; justify-content: space-between; gap: var(--space-xl); margin-top: var(--space-xl); padding-top: var(--space-lg); border-top: var(--rule-width) solid var(--color-rule); }
.scorecard-result-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-xl); padding-bottom: var(--space-xl); border-bottom: var(--rule-width) solid var(--color-rule); }
.scorecard-result-head h2 { font-size: var(--text-article-heading); }
.scorecard-result-head p { margin-top: var(--space-md); color: var(--color-muted); }
.scorecard-result-head > strong { font-family: var(--font-display); font-size: var(--text-case-result); line-height: .9; font-variant-numeric: tabular-nums; }
.scorecard-result-head > strong::after { content: '/100'; display: block; margin-top: var(--space-sm); color: var(--color-muted); font-family: var(--font-body); font-size: var(--text-small); font-weight: 400; }
.category-results { --category-score: 0%; display: grid; gap: var(--space-lg); margin-top: var(--space-xl); }
.category-results > div { display: grid; grid-template-columns: minmax(7rem, .45fr) minmax(0, 1fr) 2.5rem; gap: var(--space-md); align-items: center; }
.category-results span { font-size: var(--text-small); }
.category-results i { height: var(--space-control); border: var(--rule-width) solid var(--color-rule); }
.category-results i::before { content: ''; display: block; width: var(--category-score); height: 100%; background: var(--color-forest); }
.category-results strong { text-align: right; font-variant-numeric: tabular-nums; }
.priority-result { margin-top: var(--space-2xl); padding-top: var(--space-xl); border-top: var(--rule-width) solid var(--color-rule); }
.priority-result h3 { font-family: var(--font-display); font-size: var(--text-article-heading); }
.priority-result ol { margin: var(--space-lg) 0 0; padding: 0; list-style: none; counter-reset: priority; }
.priority-result li { counter-increment: priority; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-md); padding-block: var(--space-lg); border-top: var(--rule-width) solid var(--color-rule); }
.priority-result li::before { content: '0' counter(priority); color: var(--color-focus); font-variant-numeric: tabular-nums; }
.priority-result li > div { min-width: 0; }
.priority-result li strong,
.priority-result li span { display: block; }
.priority-result li span { margin-top: var(--space-xs); color: var(--color-muted); }
.scorecard-result-actions { display: flex; flex-wrap: wrap; gap: var(--space-lg) var(--space-xl); align-items: center; margin-top: var(--space-xl); }
.scorecard-explainer { padding-block: var(--space-4xl); background: var(--color-paper-2); }
.scorecard-explainer-grid { display: grid; gap: var(--space-3xl); }
.scorecard-explainer-grid > h2 { max-width: 10ch; }
.scorecard-explainer-grid > div { display: grid; }
.scorecard-explainer section { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-sm) var(--space-lg); padding-block: var(--space-lg); border-top: var(--rule-width) solid var(--color-rule); }
.scorecard-explainer svg { grid-row: 1 / span 2; width: 2rem; height: 2rem; fill: none; stroke: currentColor; stroke-width: 1.5; }
.scorecard-explainer h3 { font-size: var(--text-body); font-weight: 600; }
.scorecard-explainer p { color: var(--color-muted); }
[hidden] { display: none !important; }

@media (min-width: 40rem) {
  .resource-tool { grid-template-columns: minmax(0, 1fr) minmax(8rem, .55fr); }
  .resource-tool small { grid-column: 1 / -1; }
  .calculator-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scorecard-stage,
  .scorecard-results,
  .scorecard-progress,
  .tool-page .calculator-form,
  .tool-page .calculator-results { padding: var(--space-2xl); }
  .scorecard-explainer-grid > div { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-2xl); }
  .scorecard-layout.is-results .scorecard-result-head { grid-template-columns: minmax(0, 1fr) minmax(9rem, .28fr); }
  .scorecard-layout.is-results .category-results { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl) var(--space-2xl); }
  .scorecard-layout.is-results .category-results > div { grid-template-columns: minmax(7rem, .55fr) minmax(0, 1fr) 2.5rem; }
  .scorecard-layout.is-results .priority-result ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-2xl); }
  .scorecard-layout.is-results .priority-result li:only-child { grid-column: 1 / -1; }
}

@media (min-width: 64rem) {
  .resource-suite-grid { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: var(--space-4xl); align-items: start; }
  .resource-tool-calculator { grid-template-columns: minmax(0, 1.1fr) minmax(12rem, .7fr); }
  .resource-tool-scorecard { grid-template-columns: minmax(0, 1fr) minmax(10rem, .55fr); }
  .tool-hero-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: var(--space-4xl); }
  .roi-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  .roi-hero-grid h1 { grid-column: 1 / -1; font-size: var(--text-article-display); }
  .calculator-workbench { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .calculator-reading-grid { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: var(--space-4xl); }
  .tool-crosslink-grid { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4xl); }
  .tool-page .closing-v2 { grid-template-columns: minmax(0, 1fr) auto; }
  .scorecard-layout { grid-template-columns: minmax(17rem, .34fr) minmax(0, 1fr); }
  .scorecard-layout.is-results { grid-template-columns: minmax(0, 1fr); }
  .scorecard-stage,
  .scorecard-results { min-height: 39rem; }
  .scorecard-layout.is-results .scorecard-results { min-height: 0; padding: var(--space-3xl); }
  .scorecard-explainer-grid { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: var(--space-4xl); }
}

@media (max-width: 39.99rem) {
  .tool-hero { padding-block: var(--space-2xl) var(--space-3xl); }
  .tool-hero h1 { font-size: var(--text-display); }
  .resource-tool,
  .tool-page .calculator-form,
  .tool-page .calculator-results,
  .scorecard-map,
  .scorecard-progress,
  .scorecard-stage,
  .scorecard-results { padding: var(--space-lg); }
  .results-heading,
  .scorecard-result-head { grid-template-columns: minmax(0, 1fr); }
  .calculator-empty { min-height: 24rem; }
  .calculator-empty ol { grid-template-columns: minmax(0, 1fr); margin-top: var(--space-2xl); padding-top: 0; border-top: 0; border-left: var(--rule-width) solid var(--color-forest-rule); }
  .calculator-empty li { padding: var(--space-control) 0 var(--space-control) var(--space-lg); }
  .calculator-empty li::before { top: calc(50% - 4px); left: -4px; }
  .results-roas-wrap { min-width: 0; text-align: left; }
  .category-results > div { grid-template-columns: minmax(6rem, .65fr) minmax(4rem, 1fr) 2rem; gap: var(--space-sm); }
  .scorecard-layout.is-results .scorecard-results { padding: var(--space-xl); }
  .question-actions { align-items: flex-start; flex-direction: column; gap: var(--space-sm); }
  .footer-links { gap: var(--space-md); }
}

/* Audit refinements retain the established system and native disclosures. */
.button { padding-block: var(--space-control); }
.text-link, .nav-links, .footer-links, .menu summary { align-items: center; line-height: 1; }
.footer-links a, .nav-links a { display: inline-flex; align-items: center; min-height: 44px; }
.footer-links a { min-width: 44px; }
.menu summary { min-width: 44px; }
.menu summary:hover, .faq summary:hover { color: var(--color-accent); }
.service-title { display: block; }
.section-intro.section-intro-stacked { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
.evidence-intro { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
.section-intro-stacked p { max-width: 65ch; }
.scope-note { display: none; }
.article-head h1 { font-size: var(--text-article-display); }
.result-grid dd, .creative-example p, .guarantee blockquote { min-width: 0; overflow-wrap: anywhere; }
.article-content { max-width: 65ch; }
.journey { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40rem) {
  .journey { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
  .scope-note { display: flex; }
  .journey { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Approved Acquisition Map direction. Original routes and native disclosures remain. */
::selection { background: var(--color-accent); color: var(--color-ink); }
html { scrollbar-color: var(--color-muted) var(--color-paper); }
h1, h2 { text-wrap: balance; }
.site-header { position: sticky; top: 0; z-index: var(--z-nav); background: var(--color-forest); color: var(--color-on-forest); padding-block: var(--space-control); }
/* Preserve opaque letter counters in the source logo when rendering it on forest. */
.site-header .brand img { filter: grayscale(1) invert(1) brightness(3) contrast(2); mix-blend-mode: screen; width: 128px; height: 51px; }
.site-header .button { background: var(--color-accent); color: var(--color-accent-ink); border-color: var(--color-accent); }
.site-header .button:hover { background: var(--color-paper); border-color: var(--color-paper); }
.site-header :focus-visible, .evidence :focus-visible { outline-color: var(--color-accent); }
.menu nav { color: var(--color-ink); }
.menu nav :focus-visible { outline-color: var(--color-focus); }
.site-header .menu summary:hover { color: var(--color-accent); }
.acquisition-site .hero { padding-block: var(--space-2xl) var(--space-3xl); }
.acquisition-site .hero h1 { max-width: 14em; }
.acquisition-site .hero-bottom { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); margin-top: var(--space-xl); }
.acquisition-site .hero .lead { max-width: 58ch; }
.hero-invitation .hero-note { margin-top: var(--space-control); }
.acquisition-site .button { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-accent-ink); }
.acquisition-site .button:hover { background: var(--color-forest); border-color: var(--color-forest); color: var(--color-on-forest); }
.acquisition-site .site-header .button:hover { background: var(--color-paper); border-color: var(--color-paper); color: var(--color-ink); }
.acquisition-map { margin-top: var(--space-3xl); }
.map-inputs { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-lg); font-size: var(--text-small); color: var(--color-muted); padding-bottom: var(--space-lg); }
.map-stages { list-style: none; padding: 0 0 0 var(--space-lg); margin: 0; }
.map-stages li { position: relative; border-left: var(--rule-width) solid var(--color-muted); padding: 0 0 var(--space-xl) var(--space-xl); }
.map-stages li::before { content: ''; position: absolute; width: var(--space-control); height: var(--space-control); left: calc(var(--space-control) / -2); top: var(--space-control); background: var(--color-accent); border: var(--rule-width) solid var(--color-muted); }
.map-stages h2 { font-size: var(--text-map); margin-bottom: var(--space-sm); }
.map-stages p { color: var(--color-muted); font-size: var(--text-small); max-width: 29ch; }
.map-outcome { margin-left: var(--space-lg); border-left: var(--rule-width) solid var(--color-muted); padding-left: var(--space-xl); color: var(--color-muted); font-size: var(--text-small); }
.map-caption { color: var(--color-muted); font-size: var(--text-small); margin-top: var(--space-xl); max-width: 80ch; }
.evidence { background: var(--color-forest); color: var(--color-on-forest); padding-block: var(--space-3xl); }
.case-layout { display: grid; gap: var(--space-2xl); }
.case-story h2 { max-width: 20ch; }
.case-story .context { margin-top: var(--space-lg); color: var(--color-forest-muted); }
.case-flow.result-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-control); margin: 0; }
.case-flow.result-grid > div { border: 0; padding: 0; position: relative; }
.case-flow.result-grid dt { color: var(--color-on-forest); font-size: var(--text-small); }
.case-flow.result-grid dd { font-size: var(--text-case-result); }
.case-relationship { color: var(--color-forest-muted); font-size: var(--text-small); margin-top: var(--space-lg); }
.campaign-economics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xl); border-top: var(--rule-width) solid var(--color-forest-rule); margin-top: var(--space-2xl); padding-top: var(--space-xl); }
.campaign-economics > div { display: flex; flex-direction: column; gap: var(--space-sm); min-width: 0; }
.campaign-economics dt { color: var(--color-forest-muted); font-size: var(--text-small); line-height: 1.4; }
.campaign-economics dd { order: -1; font-family: var(--font-display); font-size: var(--text-metric); line-height: 1.1; font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
.evidence .disclaimer { color: var(--color-forest-muted); }
.evidence .text-link { color: var(--color-on-forest); }
.build-intro { max-width: 54rem; margin-bottom: var(--space-2xl); }
.build-intro .lead { margin-top: var(--space-lg); }
.delivery-layout { display: grid; gap: var(--space-2xl); }
.delivery-aside { color: var(--color-muted); }
.delivery-aside p + p { margin-top: var(--space-lg); }
.delivery-aside .text-link { margin-top: var(--space-lg); color: var(--color-ink); }
.delivery-groups { display: grid; gap: var(--space-2xl); }
.delivery-groups h3 { font-family: var(--font-display); font-size: var(--text-article-heading); font-weight: 400; margin-bottom: var(--space-lg); }
.delivery-list > div { padding-block: var(--space-lg); border-top: var(--rule-width) solid var(--color-rule); }
.delivery-list dt { font-weight: 500; margin-bottom: var(--space-sm); }
.delivery-list dd { margin: 0; color: var(--color-muted); max-width: 65ch; }
.support-section { background: var(--color-paper-2); padding-block: var(--space-3xl); }
.support-layout { display: grid; gap: var(--space-3xl); }
.support-layout .lead { margin-top: var(--space-md); }
.support-list { margin-top: var(--space-xl); }
.support-list > div { padding-block: var(--space-lg); border-top: var(--rule-width) solid var(--color-rule); }
.support-list dt { font-weight: 500; }
.support-list dd { margin: var(--space-sm) 0 0; color: var(--color-muted); }
.process-detail h3 { max-width: 24ch; font-family: var(--font-display); font-size: var(--text-article-heading); font-weight: 400; }
.process-stages { list-style: none; padding: 0; margin-top: var(--space-xl); }
.process-stages li { margin-left: var(--space-sm); border-left: var(--rule-width) solid var(--color-muted); padding: 0 0 var(--space-xl) var(--space-xl); position: relative; }
.process-stages li::before { content: ''; width: var(--space-control); height: var(--space-control); background: var(--color-accent); border: var(--rule-width) solid var(--color-muted); position: absolute; left: calc(var(--space-control) / -2); top: var(--space-xs); }
.process-stages li:last-child { padding-bottom: 0; }
.process-stages strong { display: block; font-weight: 500; }
.process-stages span { display: block; color: var(--color-muted); font-size: var(--text-small); }
.communication-intro { max-width: 50rem; margin-bottom: var(--space-2xl); }
.communication-intro .lead { margin-top: var(--space-lg); }
.communication-list > div { display: grid; gap: var(--space-md); border-top: var(--rule-width) solid var(--color-rule); padding-block: var(--space-xl); }
.communication-list dt { font-family: var(--font-display); font-size: var(--text-article-heading); line-height: 1.2; }
.communication-list dd { margin: 0; color: var(--color-muted); max-width: 65ch; }
.acquisition-site .guarantee { margin-top: var(--space-3xl); padding-top: var(--space-2xl); }
.acquisition-site .closing h2 { font-size: var(--text-display); max-width: 16ch; }
.acquisition-site .closing-inner { display: block; }
.article-content.case-article { max-width: 62rem; }
.case-article .campaign-economics { border-color: var(--color-rule); margin-bottom: var(--space-lg); }
.case-article .campaign-economics dt { color: var(--color-muted); }
.case-article .article-results { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case-article .article-results dd { font-variant-numeric: lining-nums tabular-nums; }
.faq summary:hover { color: var(--color-ink); text-decoration: underline; text-underline-offset: .25em; }
.campaign-economics dd { margin: 0; white-space: nowrap; }
.arrow { width: 20px; height: 20px; flex: none; display: inline-block; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 40rem) {
  .campaign-economics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .communication-list > div { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--space-2xl); }
  .case-flow.result-grid { gap: var(--space-xl); }
}
@media (min-width: 64rem) {
  .acquisition-site .hero { padding-top: var(--space-2xl); }
  .acquisition-site .hero-bottom { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; gap: var(--space-3xl); }
  .hero-invitation { padding-top: var(--space-xs); }
  .acquisition-map { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 3.6fr) minmax(0, .55fr); align-items: start; gap: var(--space-lg); margin-top: var(--space-4xl); }
  .map-inputs { display: grid; gap: var(--space-xl); padding-bottom: 0; border-right: var(--rule-width) solid var(--color-muted); }
  .map-inputs span { position: relative; padding-right: var(--space-md); }
  .map-inputs span:first-child::after, .map-inputs span:last-child::after { content: ''; height: var(--rule-width); background: var(--color-muted); width: var(--space-lg); position: absolute; right: 0; top: 50%; }
  .map-inputs { position: relative; }
  .map-inputs::after { content: ''; position: absolute; top: 0; right: calc(-1 * var(--space-lg)); width: var(--space-lg); border-top: var(--rule-width) solid var(--color-muted); }
  .map-inputs span:nth-child(2)::after { content: ''; height: var(--rule-width); background: var(--color-muted); width: var(--space-lg); position: absolute; right: 0; top: 50%; }
  .map-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; }
  .map-stages li { padding: var(--space-xl) var(--space-lg) 0; border-left: 0; border-top: var(--rule-width) solid var(--color-muted); }
  .map-stages li::before { left: var(--space-lg); top: calc(var(--space-control) / -2); }
  .map-stages h2 { font-size: var(--text-map); }
  .map-stages p { max-width: 25ch; }
  .map-outcome { margin: 0; border-left: 0; padding: var(--space-xl) 0 0; }
  .map-outcome { position: relative; border-top: var(--rule-width) solid var(--color-muted); }
  .map-outcome::before { content: ''; position: absolute; left: calc(-1 * var(--space-lg)); top: -1px; width: var(--space-lg); border-top: var(--rule-width) solid var(--color-muted); }
  .map-outcome::after { content: ''; position: absolute; right: 0; top: calc(var(--space-control) / -2); width: var(--space-control); height: var(--space-control); background: var(--color-accent); border: var(--rule-width) solid var(--color-muted); }
  .map-caption { margin-top: var(--space-2xl); }
  .case-layout { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--space-3xl); align-items: center; }
  .case-flow.result-grid > div:not(:last-child)::after { content: ''; position: absolute; right: 0; top: var(--space-xl); width: var(--space-lg); border-top: var(--rule-width) solid var(--color-forest-muted); }
  .delivery-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-3xl); }
  .delivery-aside { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg) var(--space-3xl); }
  .delivery-aside p + p, .delivery-aside .text-link { margin-top: 0; }
  .delivery-groups > section { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 2fr); gap: var(--space-2xl); }
  .delivery-groups h3 { padding-top: var(--space-lg); }
  .delivery-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-2xl); }
  .support-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4xl); }
  .process-detail { border-left: var(--rule-width) solid var(--color-rule); padding-left: var(--space-2xl); }
}

/* One-page editorial sequence: case evidence, connected workflow, and differentiation. */
.anchor-target { scroll-margin-top: var(--space-4xl); }
.anchor-target:focus { outline: none; }
.anchor-target:focus-visible { box-shadow: inset 0 3px 0 var(--color-focus); }
.evidence.anchor-target:focus-visible { box-shadow: inset 0 3px 0 var(--color-accent); }
.nav-links { gap: var(--space-lg); }
.nav-links a[href="#faq"] { color: var(--color-forest-muted); }
.section, .difference-section { padding-block: var(--space-3xl); }
.case-heading { display: flex; justify-content: space-between; gap: var(--space-lg); padding-bottom: var(--space-lg); margin-bottom: var(--space-2xl); border-bottom: var(--rule-width) solid var(--color-forest-rule); }
.case-label, .case-market { color: var(--color-forest-muted); font-size: var(--text-small); font-weight: 500; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }
.case-market { text-align: right; }
.case-story h2 { max-width: 22ch; }
.case-outcome { max-width: 16ch; margin-top: var(--space-2xl); font-family: var(--font-display); font-size: var(--text-heading); letter-spacing: -.025em; line-height: 1.08; text-wrap: balance; }
.case-path { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.case-path::before { content: ''; position: absolute; inset-block: var(--space-control); inset-inline-start: calc(var(--space-control) / 2); border-inline-start: var(--rule-width) solid var(--color-forest-rule); }
.case-path li { position: relative; display: grid; grid-template-columns: var(--space-xl) minmax(0, 1fr); align-items: baseline; gap: var(--space-lg); min-width: 0; padding-block: var(--space-md) var(--space-xl); }
.case-path li::before { content: ''; position: absolute; inset-inline-start: 0; inset-block-start: calc(var(--space-xl) - var(--space-control) / 2); width: var(--space-control); height: var(--space-control); background: var(--color-accent); border: var(--rule-width) solid var(--color-forest-muted); }
.case-value { grid-column: 2; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-sm); min-width: 0; }
.case-icon { width: 28px; height: 28px; color: var(--color-accent); }
.case-value span { font-family: var(--font-display); font-size: var(--text-case-result); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.04em; line-height: 1; }
.case-path strong { grid-column: 2; font-size: var(--text-small); font-weight: 500; line-height: 1.4; }
.results-note { max-width: 75ch; margin-top: var(--space-md); color: var(--color-on-forest); font-size: var(--text-small); font-weight: 500; }
.case-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm) var(--space-xl); }
.difference-section { padding-block: var(--space-4xl); background: var(--color-paper); }
.difference-intro { display: grid; gap: var(--space-xl); margin-bottom: var(--space-3xl); }
.difference-intro h2 { max-width: 12ch; }
.difference-intro .lead { max-width: 57ch; }
.difference-ledger { display: grid; gap: var(--space-3xl); }
.difference-ledger section { min-width: 0; }
.difference-ledger section:first-child { max-width: 47rem; }
.difference-ledger section:last-child { width: min(100%, 58rem); margin-inline-start: auto; padding: var(--space-xl); background: var(--color-paper-2); border-block: var(--rule-width) solid var(--color-rule); }
.difference-ledger h3 { margin-bottom: var(--space-lg); font-family: var(--font-display); font-size: var(--text-article-heading); font-weight: 400; }
.difference-ledger ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.difference-ledger li { padding-block: var(--space-md); border-top: var(--rule-width) solid var(--color-rule); color: var(--color-muted); }
.difference-ledger section:last-child li { color: var(--color-ink); }
.visibility-layout { display: grid; gap: var(--space-3xl); }
.workflow-visual { position: relative; align-self: start; display: grid; gap: var(--space-md); min-width: 0; padding: var(--space-xl) 0 var(--space-md); }
.workflow-line { position: absolute; inset-block: 0 var(--space-2xl); inset-inline-start: 0; border-inline-start: var(--rule-width) solid var(--color-rule); }
.workflow-card { position: relative; width: calc(100% - var(--space-xl)); min-width: 0; margin-inline-start: var(--space-xl); padding: var(--space-lg); background: var(--color-paper); border: var(--rule-width) solid var(--color-rule); }
.workflow-card::before { content: ''; position: absolute; inset-inline-start: calc(var(--space-xl) * -1 - var(--rule-width)); inset-block-start: var(--space-xl); width: var(--space-xl); border-top: var(--rule-width) solid var(--color-rule); }
.workflow-card:nth-of-type(2) { width: calc(100% - var(--space-3xl)); }
.workflow-card:nth-of-type(3) { width: calc(100% - var(--space-2xl)); }
.workflow-card-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--space-md); margin-bottom: var(--space-lg); padding-bottom: var(--space-control); border-bottom: var(--rule-width) solid var(--color-rule); }
.workflow-card-head > div { display: flex; align-items: center; gap: var(--space-md); min-width: 0; }
.workflow-stage { display: inline-flex; align-items: center; gap: var(--space-sm); flex: none; color: var(--color-muted); font-size: var(--text-small); font-variant-numeric: tabular-nums; letter-spacing: .04em; line-height: 1.35; }
.workflow-stage::after { content: ''; width: var(--space-sm); height: var(--space-sm); background: var(--color-accent); border: var(--rule-width) solid var(--color-focus); transform-origin: center; }
.workflow-label { color: var(--color-focus); font-size: var(--text-small); font-weight: 600; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.workflow-card-head small { flex: none; color: var(--color-muted); font-size: var(--text-small); }
.workflow-card > strong { display: block; font-family: var(--font-display); font-size: var(--text-lead); font-weight: 400; line-height: 1.25; }
.workflow-card > p { margin-top: var(--space-xs); color: var(--color-muted); font-size: var(--text-small); }
.workflow-card-outcome { background: var(--color-paper-2); border-color: var(--color-focus); }
.workflow-visual figcaption { max-width: 58ch; margin-top: var(--space-lg); color: var(--color-muted); font-size: var(--text-small); }
@media (max-width: 30rem) {
  .workflow-card-head { grid-template-columns: minmax(0, 1fr); gap: var(--space-sm); }
  .workflow-card-head small { padding-inline-start: calc(2ch + var(--space-md) + var(--space-sm)); }
}
@media (min-width: 40rem) {
  .case-path { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .case-path::before { inset-block: var(--space-xl) auto; inset-inline: var(--space-control); border: 0; border-top: var(--rule-width) solid var(--color-forest-rule); }
  .case-path li { grid-template-columns: minmax(0, 1fr); gap: var(--space-sm); padding: var(--space-2xl) var(--space-md) 0 0; }
  .case-path li::before { inset-inline-start: 0; inset-block-start: calc(var(--space-xl) - var(--space-control) / 2); }
  .case-value, .case-path strong { grid-column: auto; }
  .case-icon { width: 32px; height: 32px; }
  .difference-ledger ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-2xl); }
}
@media (min-width: 64rem) {
  .section, .difference-section { padding-block: var(--space-4xl); }
  .difference-intro { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--space-4xl); align-items: end; }
  .difference-ledger section:first-child { margin-inline-start: var(--space-2xl); }
  .difference-ledger section:last-child { padding: var(--space-2xl); }
  .visibility-layout { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: var(--space-4xl); align-items: start; }
  .visibility-layout .communication-list > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-sm); }
}

/* Outcome narrative: concrete acquisition sequence, campaign craft, and causal motion. */
.hero-outcome { padding-block: var(--space-2xl) var(--space-4xl); }
.hero-statement { max-width: 72rem; }
.hero-eyebrow { margin-bottom: var(--space-lg); color: var(--color-focus); font-size: var(--text-small); font-weight: 600; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }
.hero-outcome h1 { max-width: none; font-size: var(--text-display); }
.hero-outcome h1 span { display: block; }
.hero-outcome h1 span:last-child { color: var(--color-focus); }
.hero-support { display: grid; gap: var(--space-xl); margin-top: var(--space-2xl); }
.hero-support .lead { max-width: 62ch; }
.hero-invitation { align-self: end; }
.hero-system { position: relative; margin-top: var(--space-3xl); padding-block: var(--space-xl); border-block: var(--rule-width) solid var(--color-rule); }
.hero-system-line { position: absolute; inset-block: var(--space-xl) auto; inset-inline: calc(var(--space-control) / 2) auto; height: calc(100% - var(--space-4xl)); border-inline-start: var(--rule-width) solid var(--color-muted); transform-origin: top; }
.hero-system-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.hero-system-steps li { position: relative; min-width: 0; padding: 0 0 var(--space-xl) var(--space-xl); }
.hero-system-steps li::before { content: ''; position: absolute; inset-block-start: var(--space-xs); inset-inline-start: 0; width: var(--space-control); height: var(--space-control); background: var(--color-accent); border: var(--rule-width) solid var(--color-muted); }
.hero-system-steps li:last-child { padding-bottom: 0; }
.system-index { display: block; margin-bottom: var(--space-xs); color: var(--color-muted); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.hero-system-steps strong, .hero-system-steps small { display: block; }
.hero-system-steps strong { max-width: 22ch; font-weight: 500; line-height: 1.35; }
.hero-system-steps small { max-width: 26ch; margin-top: var(--space-xs); color: var(--color-muted); font-size: var(--text-small); line-height: 1.45; }
.hero-system figcaption { max-width: 75ch; margin-top: var(--space-xl); color: var(--color-muted); font-size: var(--text-small); }
.hero-proof { display: grid; gap: var(--space-sm); margin-top: var(--space-xl); padding-inline-start: var(--space-xl); border-inline-start: var(--rule-width) solid var(--color-focus); }
.hero-proof p { max-width: 75ch; }
.hero-proof a { font-weight: 600; }
.hero-proof small { max-width: 75ch; color: var(--color-muted); font-size: var(--text-small); }

.creative-showcase { display: grid; gap: var(--space-xl); margin-bottom: var(--space-3xl); padding: var(--space-xl); background: var(--color-paper-2); border-block: var(--rule-width) solid var(--color-rule); }
.creative-lead p, .creative-showcase > div > span { color: var(--color-focus); font-size: var(--text-small); font-weight: 600; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }
.creative-lead h3 { max-width: 15ch; margin-top: var(--space-md); font-family: var(--font-display); font-size: var(--text-article-heading); font-weight: 400; line-height: 1.08; }
.creative-lead > small { display: block; max-width: 45ch; margin-top: var(--space-xl); color: var(--color-muted); font-size: var(--text-small); line-height: 1.5; }
.creative-video { width: min(100%, 17rem); min-height: 25rem; justify-self: center; display: flex; flex-direction: column; justify-content: space-between; padding: var(--space-lg); background: var(--color-forest); color: var(--color-on-forest); border: var(--rule-width) solid var(--color-forest-rule); }
.creative-video > span { color: var(--color-forest-muted) !important; }
.creative-video strong { display: block; max-width: 10ch; font-family: var(--font-display); font-size: var(--text-article-heading); font-weight: 400; line-height: 1.08; }
.creative-video p { margin-top: var(--space-lg); color: var(--color-forest-muted); font-size: var(--text-small); }
.creative-video small { color: var(--color-forest-muted); font-size: var(--text-small); }
.creative-message, .creative-continuation { align-self: end; padding-top: var(--space-lg); border-top: var(--rule-width) solid var(--color-rule); }
.creative-message strong { display: block; max-width: 26ch; margin-top: var(--space-lg); font-family: var(--font-display); font-size: var(--text-lead); font-weight: 400; line-height: 1.3; }
.creative-message p { margin-top: var(--space-lg); color: var(--color-muted); font-size: var(--text-small); }
.creative-continuation ol { display: grid; gap: 0; margin: var(--space-lg) 0 0; padding: 0; list-style: none; }
.creative-continuation li { padding-block: var(--space-md); border-top: var(--rule-width) solid var(--color-rule); }
.creative-showcase figcaption { max-width: 68ch; color: var(--color-muted); font-size: var(--text-small); }

.workflow-card:nth-of-type(1) { --motion-order: 1; }
.workflow-card:nth-of-type(2) { --motion-order: 2; }
.workflow-card:nth-of-type(3) { --motion-order: 3; }
.workflow-card:nth-of-type(4) { --motion-order: 4; }
.workflow-visual[data-sequence] .workflow-line { transform-origin: top; }

.motion-ready [data-sequence][data-motion-state='pending'] [data-motion-item] { opacity: 0; transform: translateY(var(--space-md)); }
.motion-ready [data-sequence][data-motion-state='visible'] [data-motion-item] { opacity: 1; transform: none; transition: opacity var(--dur-state) var(--ease-out), transform var(--dur-sequence) var(--ease-out); transition-delay: calc(var(--stagger-step) * var(--motion-order, 0)); }
[data-motion-item] { --motion-order: 1; }
[data-motion-item]:nth-child(2) { --motion-order: 2; }
[data-motion-item]:nth-child(3) { --motion-order: 3; }
[data-motion-item]:nth-child(4) { --motion-order: 4; }
[data-motion-item]:nth-child(5) { --motion-order: 5; }
[data-motion-item]:nth-child(6) { --motion-order: 6; }
.motion-ready [data-sequence='creative'][data-motion-state='pending'] [data-motion-item] { transform: none; }
.motion-ready [data-sequence='workflow'][data-motion-state='pending'] [data-motion-item] { transform: translateX(var(--space-md)); }
.motion-ready [data-sequence='workflow'][data-motion-state='pending'] .workflow-stage::after { background: transparent; transform: scale(.5); }
.motion-ready [data-sequence='workflow'][data-motion-state='visible'] .workflow-stage::after { background: var(--color-accent); transform: none; transition: background-color var(--dur-state) var(--ease-out), transform var(--dur-state) var(--ease-out); transition-delay: calc(var(--stagger-step) * var(--motion-order, 1) + var(--dur-state)); }
.motion-ready [data-sequence='hero'][data-motion-state='pending'] [data-motion-line] { transform: scaleY(0); }
.motion-ready [data-sequence='hero'][data-motion-state='visible'] [data-motion-line] { transform: none; transition: transform var(--dur-sequence) var(--ease-out); }
.motion-ready [data-sequence='case'][data-motion-state='pending'] .case-path::before { transform: scaleY(0); transform-origin: top; }
.motion-ready [data-sequence='case'][data-motion-state='visible'] .case-path::before { transform: none; transition: transform var(--dur-sequence) var(--ease-out); }
.motion-ready [data-sequence='workflow'][data-motion-state='pending'] .workflow-line { transform: scaleY(0); }
.motion-ready [data-sequence='workflow'][data-motion-state='visible'] .workflow-line { transform: none; transition: transform var(--dur-sequence) var(--ease-out); }

@media (min-width: 40rem) {
  .hero-support { grid-template-columns: minmax(0, 1.6fr) minmax(0, .8fr); align-items: end; gap: var(--space-3xl); }
  .creative-showcase { grid-template-columns: minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.2fr); grid-template-areas: 'lead video message' 'lead video continuation' 'caption caption caption'; align-items: stretch; }
  .creative-lead { grid-area: lead; align-self: center; }
  .creative-video { grid-area: video; }
  .creative-message { grid-area: message; }
  .creative-continuation { grid-area: continuation; }
  .creative-showcase figcaption { grid-area: caption; }
  .motion-ready [data-sequence='case'][data-motion-state='pending'] .case-path::before { transform: scaleX(0); transform-origin: left; }
}

@media (min-width: 64rem) {
  .hero-outcome { padding-block: var(--space-2xl) var(--space-4xl); }
  .hero-system-line { inset-block: var(--space-xl) auto; inset-inline: var(--space-control) var(--space-control); width: auto; height: 0; border: 0; border-top: var(--rule-width) solid var(--color-muted); transform-origin: left; }
  .hero-system-steps { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .hero-system-steps li { padding: var(--space-xl) var(--space-lg) 0 0; }
  .hero-system-steps li::before { inset-block-start: calc(var(--space-control) / -2); inset-inline-start: 0; }
  .motion-ready [data-sequence='hero'][data-motion-state='pending'] [data-motion-line] { transform: scaleX(0); }
  .creative-showcase { padding: var(--space-2xl); }
}

@media (prefers-reduced-motion: reduce) {
  .motion-ready [data-sequence] [data-motion-item],
  .motion-ready [data-sequence] [data-motion-line],
  .motion-ready [data-sequence] .case-path::before,
  .motion-ready [data-sequence] .workflow-line { opacity: 1 !important; transform: none !important; transition: none !important; }
}

@media print {
  [data-sequence] [data-motion-item],
  [data-sequence] [data-motion-line],
  [data-sequence] .case-path::before,
  [data-sequence] .workflow-line { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Campaign proof expansion and focused conversion pages. */
.proof-pair { grid-template-columns: minmax(0, 1fr); }
.proof-pair > div { padding-block: var(--space-sm); }
.proof-pair > div + div { border-top: var(--rule-width) solid var(--color-rule); }
.proof-pair small { grid-column: 1 / -1; }
.case-strategy { display: grid; gap: var(--space-lg); margin-top: var(--space-3xl); padding-top: var(--space-2xl); border-top: var(--rule-width) solid var(--color-forest-rule); }
.case-strategy h3 { font-family: var(--font-display); font-size: var(--text-article-heading); font-weight: 400; }
.case-strategy p { color: var(--color-forest-muted); }
.case-strategy ul { display: grid; gap: var(--space-md); margin: 0; padding: 0; list-style: none; }
.case-strategy li { padding-top: var(--space-md); border-top: var(--rule-width) solid var(--color-forest-rule); }
.case-secondary { background: var(--color-paper-2); }
.case-secondary-head { display: grid; gap: var(--space-xl); padding-bottom: var(--space-2xl); border-bottom: var(--rule-width) solid var(--color-rule); }
.case-secondary-head h2 { max-width: 17ch; margin-top: var(--space-sm); }
.case-secondary .case-outcome { margin-top: 0; }
.case-secondary-grid { display: grid; gap: var(--space-2xl); }
.case-secondary .result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: var(--space-2xl); }
.case-secondary .result-grid dd { font-size: var(--text-metric); }
.case-narrative { display: grid; gap: var(--space-lg); padding-top: var(--space-2xl); }
.case-narrative h3 { margin-top: var(--space-lg); font-family: var(--font-display); font-size: var(--text-article-heading); font-weight: 400; }
.case-secondary .disclaimer { margin-top: var(--space-2xl); }
.calculator-invitation { padding-block: var(--space-3xl); background: var(--color-forest); color: var(--color-on-forest); }
.calculator-invitation-grid { display: grid; gap: var(--space-2xl); align-items: end; }
.calculator-invitation .lead { margin-top: var(--space-lg); color: var(--color-forest-muted); }
.calculator-invitation .button { justify-self: start; }
.four-results { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

.service-hero, .calculator-head { padding-block: var(--space-3xl) var(--space-4xl); }
.service-hero h1, .calculator-head h1 { max-width: 13ch; }
.service-hero-copy { display: grid; gap: var(--space-xl); margin-top: var(--space-2xl); }
.service-principle { padding-block: var(--space-3xl); background: var(--color-forest); color: var(--color-on-forest); }
.service-principle-grid { display: grid; gap: var(--space-2xl); }
.service-principle .lead { color: var(--color-on-forest); }
.service-principle p + p { margin-top: var(--space-lg); color: var(--color-forest-muted); }
.service-detail-list { display: grid; margin-top: var(--space-2xl); }
.service-detail-list article { display: grid; gap: var(--space-md); padding-block: var(--space-xl); border-top: var(--rule-width) solid var(--color-rule); }
.service-detail-list span { color: var(--color-focus); font-size: var(--text-small); font-variant-numeric: tabular-nums; }
.service-detail-list p { color: var(--color-muted); }
.service-boundary { background: var(--color-paper-2); }
.service-boundary-grid { display: grid; gap: var(--space-3xl); }
.service-boundary h3 { margin-block: var(--space-xl) var(--space-sm); font-family: var(--font-display); font-size: var(--text-article-heading); font-weight: 400; }

.calculator-head .lead { max-width: 58ch; margin-top: var(--space-xl); }
.calculator-shell { display: grid; gap: var(--space-3xl); padding-bottom: var(--space-4xl); }
.calculator-form { display: grid; gap: var(--space-lg); align-content: start; }
.calculator-form h2, .calculator-results h2 { margin-bottom: var(--space-md); font-size: var(--text-article-heading); }
.calculator-form label { display: grid; gap: var(--space-sm); color: var(--color-muted); font-size: var(--text-small); font-weight: 500; }
.calculator-form input { width: 100%; min-height: 52px; padding: var(--space-control) var(--space-md); border: var(--rule-width) solid var(--color-rule); border-radius: 0; background: var(--color-paper); color: var(--color-ink); font: inherit; font-size: var(--text-body); }
.calculator-form input:focus { border-color: var(--color-focus); }
.field { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; border: var(--rule-width) solid var(--color-rule); }
.field > span { padding-inline-start: var(--space-md); color: var(--color-muted); font-size: var(--text-body); }
.field input { border: 0; }
.calculator-form .button { border: 0; cursor: pointer; }
.text-button { justify-self: start; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--color-ink); cursor: pointer; text-decoration: underline; text-underline-offset: .25em; }
.form-note { color: var(--color-muted); font-size: var(--text-small); }
.calculator-results { padding: var(--space-xl); background: var(--color-forest); color: var(--color-on-forest); }
.calculator-results dl { display: grid; }
.calculator-results dl > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-lg); align-items: baseline; padding-block: var(--space-lg); border-top: var(--rule-width) solid var(--color-forest-rule); }
.calculator-results dt { color: var(--color-forest-muted); }
.calculator-results dd { margin: 0; font-family: var(--font-display); font-size: var(--text-lead); font-variant-numeric: tabular-nums; text-align: right; }
.calculator-results > p { margin-top: var(--space-xl); color: var(--color-forest-muted); font-size: var(--text-small); }
.calculator-context { display: grid; gap: var(--space-2xl); padding-block: var(--space-3xl); border-block: var(--rule-width) solid var(--color-rule); }
.calculator-context p { color: var(--color-muted); }
.calculator-context p + p { margin-top: var(--space-lg); }

@media (min-width: 40rem) {
  .proof-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2xl); }
  .proof-pair > div + div { border-top: 0; border-left: var(--rule-width) solid var(--color-rule); padding-left: var(--space-2xl); }
  .case-strategy { grid-template-columns: minmax(0, .7fr) minmax(0, 1.4fr); }
  .case-strategy ul { grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-xl); }
  .case-secondary-head { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); align-items: end; }
  .case-secondary .result-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .four-results { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .service-hero-copy, .service-principle-grid, .service-boundary-grid, .calculator-context { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4xl); }
  .service-detail-list article { grid-template-columns: 3rem minmax(0, .7fr) minmax(0, 1.2fr); align-items: baseline; }
  .calculator-shell { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .calculator-invitation-grid { grid-template-columns: minmax(0, 1fr) auto; }
}

@media (min-width: 64rem) {
  .case-secondary-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-4xl); align-items: start; }
  .case-narrative { padding-top: var(--space-2xl); }
  .service-hero-copy { align-items: end; }
}
