/* Shared editorial rhythm. Artwork keeps its own coordinate system. */
:root {
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;
 --space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;
 --space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
 --type-label:12px;--type-small:14px;--type-body:16px;--type-lead:18px;
 --type-card:24px;--type-subheading:28px;--type-section:40px;
 --line-label:20px;--line-small:20px;--line-body:24px;--line-lead:28px;
 --line-card:28px;--line-subheading:32px;--line-section:44px;
}
/* One type treatment for navigation, buttons, labels and their hit areas. */
body[class] .site-header.navigation-ready .nav-link,
body[class] .site-header .header-cta,
body[class] :is(.hero-actions,.closing-copy) :is(.button,.text-link),
body[class] :is(.about-services-link,.commercial-text-link,.validation-preview .text-link) {
 font-size:var(--type-label);line-height:var(--line-label);
}
body[class] :is(.hero-actions,.closing-copy) :is(.button,.text-link),
body[class] :is(.about-services-link,.validation-preview .text-link) {
 min-height:48px;padding:12px 16px;gap:24px;
}
body[class] .system-menu.navigation-menu .menu-journey-group>a {padding-block:12px;line-height:20px;}
body[class] :is(.eyebrow,.about-label,.commercial-label,.service-kicker,.process-track-label,.cj-label) {
 font-size:var(--type-label);line-height:var(--line-label);
}
body[class] :is(.buyer-hero-copy>.eyebrow,.services-hero>.eyebrow,.commercial-hero .commercial-label) {margin-bottom:24px;}
body[class] :is(.section-intro,.validation-preview) .eyebrow {margin-bottom:16px;}
body[class] :is(.buyer-lead,.services-intro,.commercial-lead) {font-size:var(--type-lead);line-height:var(--line-lead);margin-top:24px;}
body[class] .buyer-call-note {font-size:var(--type-small);line-height:var(--line-small);margin-top:16px;}

/* Equivalent headings use the same scale across the four main pages. */
body[class] :is(.section-intro h2,.validation-preview h2,.benefit-section-heading h2,.cj-heading h2,
 .service-section-heading h2,.pricing-section-heading h2,.pricing-return h2,
 .about-editorial-row h2,.about-relationship h2,.about-faq-heading h2,.benchmark-intro h2) {
 font-size:var(--type-section);line-height:var(--line-section);
}
body[class] :is(.service-group-label h3,.service-card h4,.services-control h2,.price-driver h3,
 .about-validation h3,.support-plan h3) {
 font-size:var(--type-card);line-height:var(--line-card);
}
body[class] .process-content>h3 {font-size:var(--type-subheading);line-height:var(--line-subheading);margin-bottom:24px;}
body[class] :is(.section-intro>p,.validation-copy>p:not(.eyebrow),.cj-heading>p,
 .service-section-heading>p,.service-card>p,.process-tracks p,.services-control p,
 .pricing-section-heading>p,.price-driver p,.pricing-return p,.pricing-baseline dd,
 .about-opening-lead,.about-proof p,.about-prose>p,.about-validation p,
 .about-answer p,.about-faq-heading>p,.benchmark-intro>div>p:not(.about-label),.support-plan>p:not(.about-label),
 .about-relationship-heading>div>p:not(.about-label),.service-path-intro) {
 font-size:var(--type-body);line-height:var(--line-body);
}
body[class] .about-prose>p.about-standfirst {font-size:20px;line-height:28px;}
body[class] :is(.about-prose,.about-answer)>p+p {margin-top:24px;}
body[class] :is(.about-proof a,.benchmark-caveat,.audience-footnote) {font-size:12px;line-height:20px;}
body[class] :is(.service-deliverables li,.support-plan li) {font-size:14px;line-height:20px;gap:12px;}
body[class] :is(.service-section-heading,.pricing-section-heading,.benefit-section-heading,.section-intro) {margin-bottom:32px;}
body[class] :is(.service-section,.services-process,.pricing-scope,.pricing-return,.about-editorial-row,.about-relationship,.about-faq,.about-benchmark) {padding-block:80px;}
.home-refresh {--section-space:80px;}
body[class] .about-editorial-row,body[class] .about-faq {gap:80px;}
body[class] .service-card {padding:24px;}
body[class] .service-card-icon {width:24px;height:24px;margin-bottom:24px;}
body[class] .service-deliverables {margin-top:24px;padding-top:20px;gap:12px;}
body[class] .price-driver {padding-block:32px;column-gap:24px;}
body[class] .pricing-baseline>div {padding-block:24px;}
body[class] .pricing-baseline dt {margin-bottom:8px;line-height:24px;}
body[class] .support-plan h3 {margin-block:16px;}
body[class] .about-faq-group summary {font-size:12px;line-height:20px;padding-block:24px;min-height:72px;}
body[class] .about-answer {padding:0 40px 24px 0;}
body[class] .about-faq-group+.about-faq-group {margin-top:40px;}
body[class] .about-faq-group>.about-label {margin-bottom:16px;}
body[class] :is(.audience-panel th,.audience-panel td,.approach-table th,.approach-table td) {padding:20px 24px;font-size:14px;line-height:24px;}
body[class] :is(.audience-panel,.approach-table) thead th {font-size:12px;line-height:20px;padding-block:16px;}
body[class] :is(.audience-panel,.approach-table) th:first-child {padding-left:0;}
body[class] .audience-takeaway {font-size:14px;line-height:24px;margin-top:24px;}
body[class] .audience-tabs button {font-size:12px;line-height:20px;padding:12px 16px;gap:8px;}
body[class] .validation-preview .validation-note {font-size:12px;line-height:20px;margin-top:0;}
body[class] .validation-preview .text-link {margin-top:24px;}
body[class] .validation-legend {gap:8px 24px;}
body[class] .validation-legend>span {font-size:12px;line-height:20px;}

/* One closing component, including About (which previously inherited larger defaults). */
body[class] .closing {padding-top:64px;}
body[class] .closing-inner {align-items:start;gap:64px;padding-bottom:64px;}
body[class] .closing h2 {font:400 var(--type-section)/var(--line-section) var(--serif);margin-top:0;letter-spacing:-.04em;}
body[class] .closing-copy {padding-top:0;}
body[class] .closing-copy>p {font:400 16px/24px var(--sans);margin-bottom:24px;}
body[class] .closing-copy>.closing-call-label {font:400 12px/20px var(--mono);text-transform:uppercase;margin-bottom:16px;}
body[class] .site-footer :is(.footer-label,.footer-links a,.footer-contact>a,.footer-bottom nav a) {font-size:12px;line-height:20px;}
body[class] .site-footer .footer-origin {font-size:12px!important;line-height:20px!important;margin-top:16px!important;}
body[class] .site-footer .footer-identity .founder-credential {gap:12px;margin-top:24px;}
body[class] .founder-credential .credential-copy {gap:4px;}
body[class] .founder-credential .credential-description {font-size:14px;line-height:20px;}
body[class] .site-footer .footer-bottom nav a[href="#main"] {min-height:48px;padding:12px 16px;}

@media(max-width:879px) {
 :root {--type-section:32px;--line-section:36px;}
 .home-refresh {--section-space:56px;}
 body[class] :is(.service-section,.services-process,.pricing-scope,.pricing-return,.about-editorial-row,.about-relationship,.about-faq,.about-benchmark) {padding-block:56px;}
 body[class] :is(.buyer-lead,.services-intro,.commercial-lead) {font-size:16px;line-height:24px;}
 body[class] .closing-inner {gap:32px;padding-bottom:48px;}
 body[class] .closing h2 {font-size:var(--type-section);line-height:var(--line-section);}
 body[class] .about-editorial-row,body[class] .about-faq {gap:32px;}
}
@media(max-width:640px) {
 body[class] :is(.section-intro,.service-section-heading,.pricing-section-heading,.benefit-section-heading) {margin-bottom:24px;}
 body[class] :is(.audience-panel th,.audience-panel td,.approach-table th,.approach-table td) {padding:16px 12px;font-size:14px;line-height:20px;}
 body[class] :is(.audience-panel,.approach-table) thead th {font-size:12px;line-height:20px;}
 body[class] .audience-tabs button {padding:12px 8px;}
 body[class] .closing {padding-top:48px;}
}

/* Engagements and evidence use the same readable text sizes. */
body.services-page #scope .service-engagements {column-gap:16px;margin-bottom:32px;}
body.services-page #scope .service-engagement {padding:24px;}
body.services-page #scope .service-engagement-label {font-size:12px;line-height:20px;margin-bottom:16px;}
body.services-page #scope .service-engagement h3 {font-size:28px;line-height:32px;margin-bottom:16px;}
body.services-page #scope .service-engagement p {font-size:16px;line-height:24px;}
body.services-page #scope .service-group {padding-block:24px;}
body[class] .support-plan {padding:28px;}
body[class] .support-plan .about-label {font-size:12px;line-height:20px;}
body[class] .support-plans {gap:16px;margin-top:32px;}
body[class] .support-plan h3 {font-size:28px;line-height:32px;}
body[class] .benchmark-table {font-size:14px;line-height:24px;}
body[class] .benchmark-table caption {font-size:14px;line-height:24px;padding-bottom:24px;}
body[class] .benchmark-table :is(th,td) {padding:24px;}
body[class] .benchmark-table thead th,
body[class] .benchmark-table thead th>span,
body[class] .benchmark-table td :is(.accuracy-main,.accuracy-detail,.benchmark-count) {font-size:12px;line-height:20px;}
body[class] .benchmark-table td>strong {font-size:20px;line-height:24px;}
body[class] .benchmark-table td :is(.accuracy-main,.accuracy-detail,.benchmark-count) {margin-top:4px;}
body[class] .benchmark-method summary {font-size:12px;line-height:20px;padding-block:16px;}
body[class] .benchmark-method-section h3 {font-size:12px;line-height:20px;margin-bottom:16px;}
body[class] .benchmark-setups dt {font-size:14px;line-height:20px;margin-bottom:4px;}
body[class] .benchmark-setups dd,
body[class] .benchmark-method p {font-size:14px;line-height:24px;}
body[class] .validation-chart-label {font-size:12px;line-height:20px;margin-bottom:24px;}
body[class] .validation-setup {font-size:14px;line-height:20px;}
body[class] .validation-row>strong {font-size:12px;line-height:20px;}
body[class] .validation-legend {margin-top:16px;}
body[class] .validation-legend i {width:8px;height:8px;}
body[class] .validation-legend>span {gap:8px;}
body[class] .card-carousel-controls {padding-top:8px;}
body[class] .carousel-count {font-size:12px;line-height:20px;}
body[class] .carousel-arrows {gap:8px;}
body[class] .carousel-arrows button {width:40px;height:40px;font-size:20px;}
body[class] .privacy-introduction p,
body[class] .privacy-section :is(p,li) {font-size:16px;line-height:24px;}
body[class] .privacy-section {padding-bottom:48px;margin-bottom:40px;}
body[class] .privacy-contents a {padding-block:8px;line-height:20px;}
body[class] .privacy-contents ol {gap:4px 32px;padding-bottom:24px;}
@media(max-width:640px) {
 body[class] .benchmark-table :is(th,td) {padding:16px;}
 body[class] .support-plan {padding:24px;}
 body[class] .support-plan h3 {min-height:0;}
 body.services-page #scope .service-engagements {gap:16px;margin-bottom:24px;}
 body[class] .validation-stack {height:28px;}
}

/* Both conversation states share exactly the same channel-header geometry. */
.home-refresh .hero-slack-channel {
 box-sizing:border-box;height:64px;min-height:64px;flex:none;
 padding:16px 24px;gap:12px;font:400 14px/20px var(--sans);
}
.home-refresh .hero-slack-channel>img {width:24px;height:24px;flex:none;}
.home-refresh .hero-slack-channel>strong {font:600 14px/20px var(--sans);}
@media(max-width:640px) {
 .home-refresh .hero-slack-channel {height:56px;min-height:56px;padding:12px 16px;gap:12px;}
}

@media(max-width:480px) {
 .home-refresh .buyer-hero .hero-actions :is(.button,.text-link) {
  flex:1 1 0;min-width:0;padding:12px 8px;gap:8px;
 }
}
@media(max-width:359px) {
 body[class] .site-header.navigation-ready .nav-link {padding-inline:2px;}
}

/* Pricing rows share equal tracks, including rows with shorter descriptions. */
body[class] .price-drivers{display:grid;grid-auto-rows:1fr}
body[class] .price-driver{align-content:start;min-height:0;padding-block:32px}
body[class] .price-driver :is(h3,p){margin:0}
body[class] .comparison-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:0;border:0;background:none;color:var(--accent);font:inherit;text-align:left;cursor:pointer}
body[class] .comparison-toggle-icon{font-size:20px;line-height:20px}
body[class] .comparison-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:8px}
@media(max-width:760px){body[class] .price-drivers{grid-auto-rows:auto}body[class] .price-driver{padding-block:24px;row-gap:12px}}
