/* Shared page geometry and interaction tokens. Illustrations retain their own scale. */
:root { --ui-corner:6px; --hero-start:184px; --anchor-gap:24px; --section-clearance:101px; }
body[class] :is(.buyer-hero,.services-hero,.commercial-hero,.about-opening) {
 padding-top:var(--hero-start); padding-bottom:64px; align-items:start;
 grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); column-gap:56px;
}
body[class] :is(.buyer-hero-copy,.services-hero>div:first-child,.commercial-hero>div:first-child,.about-opening-copy) {min-width:0;align-self:start;}
body[class] :is(.buyer-hero-copy>.eyebrow,.services-hero>div>.eyebrow,.commercial-hero .commercial-label,.about-opening-copy>.about-label) {
 display:block;min-height:20px;margin:0 0 24px;font:400 12px/20px var(--mono);text-transform:uppercase;
}
body[class] :is(.buyer-hero,.services-hero,.commercial-hero,.about-opening) h1 {
 font:400 clamp(42px,4.7vw,64px)/1.08 var(--serif);letter-spacing:-.045em;margin:0;max-width:none;
}
body[class] :is(.buyer-lead,.services-intro,.commercial-lead) {font:400 18px/28px var(--sans);margin:24px 0 0;max-width:570px;}
body[class] .hero-lead-outcome {display:block;margin-top:12px;}
body[class] .buyer-lead strong {font-weight:600;color:var(--accent);}
body[class] .buyer-lead em {font-style:italic;}
body[class] :is(.buyer-hero,.services-hero,.commercial-hero) .hero-actions {margin-top:32px;gap:0;flex-wrap:nowrap;align-items:stretch;}
body[class] .about-opening-lead {margin-top:24px;}
@media(min-width:880px) {
 body[class] :is(.buyer-hero,.services-hero,.commercial-hero) h1 {min-height:3lh;}
 body[class] :is(.buyer-lead,.services-intro,.commercial-lead) {min-height:calc(5lh + 12px);}
}
/* One corner radius for site controls, cards and navigation surfaces. */
body[class] :is(.site-header.navigation-ready,.system-menu.navigation-menu,
 .button,.button-outline,.hero-actions>.text-link,.validation-preview .text-link,
 .about-services-link,.about-text-link,.commercial-text-link,
 .agreement-card,.outcome-card,.support-plan,.sd-shell,.sd-artifact,.cj-shell,
 .hero-slack,.ba-stage,.founder-credential,.footer-compliance,.comparison-scroll,
 .service-card,.return-outline,.commercial-model) {border-radius:var(--ui-corner);}
body[class] :is(.site-header.navigation-ready .nav-link,.system-menu .menu-destinations>a,
 .audience-tabs button,.ba-tabs button,.sd-tab,.cj-tab,.sd-navigation button,.cj-nav-button,
 .engine-toggle,.engine-reveal,.cj-button,.site-footer .footer-bottom nav a[href="#main"]) {border-radius:var(--ui-corner);}
body[class] .hero-actions>:is(.button,.text-link) {min-height:48px;padding:12px 16px;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;}
body[class] .hero-actions>:is(.button,.text-link):first-child:not(:last-child) {border-radius:var(--ui-corner) 0 0 var(--ui-corner);}
body[class] .hero-actions>:is(.button,.text-link):last-child:not(:first-child) {border-radius:0 var(--ui-corner) var(--ui-corner) 0;border-left:0;}
body[class] .hero-actions>:is(.button,.text-link):only-child {border-radius:var(--ui-corner);}
body[class] :is(.hero-actions>.text-link,.validation-preview .text-link,.about-services-link) {
 display:inline-flex;align-items:center;justify-content:space-between;gap:24px;
 min-height:48px;padding:12px 16px;width:fit-content;border:1px solid rgb(var(--brand-burgundy-rgb) / 0.2706);color:var(--accent);text-decoration:none;
 transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
body[class] :is(.hero-actions>.text-link,.validation-preview .text-link,.about-services-link,.about-text-link,.commercial-text-link):hover {
 background:rgb(var(--brand-burgundy-rgb) / .08);border-color:var(--accent);color:var(--accent);box-shadow:0 3px 12px rgb(var(--brand-burgundy-rgb) / 0.0314);
}
body[class] :is(.hero-actions>.button-dark,.site-header .header-cta):hover {background:#48232d;border-color:#48232d;}
body[class] :is(.sd-navigation button,.cj-nav-button):not(:disabled):hover {background:rgb(var(--brand-burgundy-rgb) / 0.0392);}
body[class] :is(.hero-actions>.text-link,.validation-preview .text-link,.button,.about-services-link):focus-visible {outline:2px solid var(--accent);outline-offset:4px;}
body[class] .comparison-summary strong,body[class] #comparison-summary td>strong {font:400 24px/28px var(--serif);letter-spacing:-.025em;}
body[class] #comparison-summary td>span {font:400 14px/24px var(--sans);margin-top:16px;max-width:32ch;}
body[class] #comparison-summary td {padding-block:24px;vertical-align:top;}
body[class] #comparison-summary th {vertical-align:top;}
body[class] .comparison-scroll:focus:not(:focus-visible) {outline:none;}
/* Shared anchor logic offsets the actual content heading, rather than its padded section. */
html {scroll-padding-top:0;}
body[class] :is(#for-you,#transformation,#comparison,#validation,#how-it-works,#your-system,#security,#deliverables,#scope,#process,#faq,#benchmark-method) {scroll-margin-top:0;}
body[class] .about-answer a {color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
body[class] .about-answer a:hover {text-decoration-thickness:2px;}
@media(min-width:880px) and (max-width:1100px) {
 body[class] :is(.buyer-lead,.services-intro,.commercial-lead) {min-height:calc(7lh + 12px);}
 body[class] :is(.buyer-hero-copy>.eyebrow,.services-hero>div>.eyebrow,.commercial-hero .commercial-label,.about-opening-copy>.about-label) {min-height:40px;}
 body[class] :is(.buyer-hero,.services-hero,.commercial-hero,.about-opening) {column-gap:32px;}
}
@media(max-width:879px) {
 :root {--hero-start:192px; --section-clearance:139px;}
 body[class] :is(.buyer-hero,.services-hero,.commercial-hero,.about-opening) {grid-template-columns:minmax(0,1fr);row-gap:32px;padding-bottom:48px;}
 body[class] :is(.buyer-hero-copy>.eyebrow,.services-hero>div>.eyebrow,.commercial-hero .commercial-label,.about-opening-copy>.about-label) {min-height:40px;}
 body[class] :is(.buyer-hero,.services-hero,.commercial-hero,.about-opening) h1 {font-size:clamp(40px,7vw,56px);line-height:1.08;}
 body[class] :is(.buyer-lead,.services-intro,.commercial-lead) {font-size:16px;line-height:24px;min-height:calc(7lh + 12px);}
 body[class] :is(.buyer-hero,.services-hero,.commercial-hero) h1 {min-height:3lh;}
}
@media(max-width:480px) {
 body[class] .hero-actions>:is(.button,.text-link) {flex:1 1 0;min-width:0;padding:12px 8px;gap:8px;}
 body[class] .hero-actions>:is(.button,.text-link):only-child {flex:0 0 auto;min-width:148px;padding-inline:16px;}
}

/* About keeps a full-width copy column beside the engine, never a nested three-column hero. */
body.about-page .about-opening-copy {display:block;}
body.about-page .about-opening-copy h1 {grid-row:auto;grid-column:auto;}
body.about-page :is(.about-opening-lead,.about-prose p,.about-answer p,.support-plan p) strong {font-weight:600;color:var(--ink);}
body.about-page :is(.about-opening-lead,.about-prose p,.about-answer p,.support-plan p) em {font-style:italic;}
body.about-page .editorial-emphasis {text-decoration-color:rgb(var(--brand-burgundy-rgb) / 0.3490);text-decoration-thickness:1px;text-underline-offset:4px;}
body[class] :is(.security-card,.ba-tabs,.audience-tabs,.sd-tabs,.cj-tabs,.engine-detail,.pricing-value-art) {border-radius:var(--ui-corner);}

/* Section titles stand alone; only page heroes retain an eyebrow. */
body[class] :is(.section-intro,.cj-heading)>p {padding-top:0;}
body[class] :is(#for-you.client-audience,#comparison.client-comparison) .section-intro>p {padding-top:0;}
body[class] :is(.benchmark-intro,.about-relationship-heading) h2 {margin-top:0;}
body[class] .support-plan {grid-template-rows:auto 1fr auto;}
body[class] .support-plan h3 {margin-top:0;}
body[class] .comparison-toggle-arrow {flex:1;min-width:16px;height:12px;fill:none;stroke:currentColor;stroke-width:1;overflow:visible;}
body[class] .comparison-toggle-arrow path {vector-effect:non-scaling-stroke;}

/* Focused emphasis and compact, consistent comparison controls. */
body[class] .site-footer .footer-tagline {max-width:34ch;font:400 12px/20px var(--mono);letter-spacing:.015em;}
body[class] .comparison-toggle-arrow {flex:0 1 calc((100% - 88px) / 2);margin-right:auto;}
body[class] #security .benefit-card-copy p strong {font-weight:600;color:var(--ink);}
body[class] #comparison .comparison-heading-label .verified-badge {padding:0;border-radius:0;background:none;color:#fff;}
body[class] #comparison .verified-badge-shape {fill:currentColor;stroke:none;}
body[class] #comparison .verified-badge-tick {fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* Two-bar overview opens into the same six measured setups. */
body[class] .validation-disclosure {padding-top:0;}
body[class] .validation-disclosure .validation-chart-label {margin-bottom:16px;text-align:right;}
body[class] .validation-disclosure .validation-row {min-height:44px;}
body[class] .validation-disclosure .validation-stack {height:32px;}
body[class] .validation-fill {display:flex;width:100%;height:100%;transform-origin:left;transform:scaleX(0);transition:transform .65s cubic-bezier(.22,.7,.2,1);}
body[class] .validation-fill>i {display:block;flex-basis:0;min-width:0;height:100%;}
body[class] .validation-disclosure.is-visible .validation-lead-bars .validation-fill,
body[class] .validation-disclosure.is-visible:not(.is-expanded) .validation-average .validation-fill,
body[class] .validation-disclosure.is-visible.is-expanded .validation-details .validation-fill {transform:scaleX(1);}
body[class] .validation-disclosure:not(.is-expanded) .validation-lead-bars .result-review {background:#e5e1dc;}
body[class] .validation-disclosure .validation-lead-bars .result-review {transition:background .4s ease;}
body[class] .result-average-remainder {background:#e5e1dc;}
body[class] .validation-average,body[class] .validation-details {display:grid;transition:grid-template-rows .55s cubic-bezier(.22,.7,.2,1),opacity .3s ease;}
body[class] .validation-average {grid-template-rows:1fr;opacity:1;}
body[class] .validation-details {grid-template-rows:0fr;opacity:0;}
body[class] .validation-reveal-inner {min-height:0;overflow:hidden;}
body[class] .validation-average-row {padding-top:8px;}
body[class] .validation-average-row .validation-setup {font-weight:400;color:var(--body);}
body[class] .validation-average-row .validation-setup small {display:block;font:400 12px/16px var(--sans);color:var(--muted);margin-top:4px;}
body[class] .validation-average-row>strong {color:var(--body);}
body[class] .validation-details .validation-bars {padding-top:8px;gap:8px;}
body[class] .validation-details .validation-row:first-child .validation-setup {font-weight:400;color:var(--body);}
body[class] .validation-details .validation-row:first-child>strong {color:var(--body);}
body[class] .validation-disclosure.is-expanded .validation-average {grid-template-rows:0fr;opacity:0;}
body[class] .validation-disclosure.is-expanded .validation-details {grid-template-rows:1fr;opacity:1;}
body[class] .validation-disclosure.is-expanded .validation-details .validation-row:nth-child(2) .validation-fill {transition-delay:.04s;}
body[class] .validation-disclosure.is-expanded .validation-details .validation-row:nth-child(3) .validation-fill {transition-delay:.08s;}
body[class] .validation-disclosure.is-expanded .validation-details .validation-row:nth-child(4) .validation-fill {transition-delay:.12s;}
body[class] .validation-disclosure.is-expanded .validation-details .validation-row:nth-child(5) .validation-fill {transition-delay:.16s;}
body[class] .validation-expand {display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:20px;padding:12px 0;border:0;border-top:1px solid var(--line);background:none;color:var(--accent);font:400 12px/20px var(--mono);text-align:left;cursor:pointer;}
body[class] .validation-expand svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none;transition:transform .35s ease;}
body[class] .validation-expand[aria-expanded="true"] svg {transform:rotate(180deg);}
body[class] .validation-expand:hover {color:#754451;}
body[class] .validation-expand:focus-visible {outline:2px solid var(--accent);outline-offset:4px;}
@media(prefers-reduced-motion:reduce) {
 body[class] .validation-disclosure :is(.validation-fill,.validation-average,.validation-details,.validation-expand svg) {transition:none;}
}
body[class] .validation-preview {overflow-anchor:none;}
