/* Shared finishing layer: readable type, honest navigation, and native disclosure. */
:root { --muted:#586461; --soft-muted:#64706d; }
#top h1 .hero-title-line-secondary .hero-title-ink,
#engine .engine-heading h2 > span,
.problem-copy h2 > span,
#capabilities .outcome-subtitle,
#capabilities .outcome-action .outcome-subtitle,
#blind-spot .blindspot-secondary { color:#57615d; }
#top .hero-intro, #engine .engine-heading p { color:#58645f; }
#top .primary-nav a { color:#485650; font-size:max(14px,calc(16 * var(--eu))); }
#top .header-actions .button { min-height:44px; font-size:max(14px,calc(16 * var(--eu))); }
.mobile-disclosure { display:contents; }
.disclosure-surface { display:contents; }
.mobile-disclosure > summary { display:none; }
.engine-mobile,.outbound-mobile { display:none; }
.mobile-nav-contact { display:none; }
.mobile-disclosure::details-content { display:contents; }
.site-end .footer-links { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:16px 24px; font-size:14px; }
.site-end .footer-links a { padding-block:8px; text-underline-offset:4px; }
.site-end .footer-links a:hover { text-decoration:underline; }
#next-market .closing-demo { background:#ecf3ce; color:#132b20; min-height:60px; padding:17px 28px; font-weight:600; box-shadow:0 6px 22px #061a182b; }
#next-market .closing-demo:hover { background:#fff; }
#next-market .closing-content > p { color:#d6e3d9; }
#capabilities .brief-buttons > a { display:flex; flex:none; align-items:center; justify-content:space-between; gap:calc(7 * var(--cu)); height:calc(37 * var(--cu)); padding:0 calc(12 * var(--cu)); font-size:calc(9 * var(--cu)); line-height:1; white-space:nowrap; background:#101e19; color:white; border-radius:6px; }
#capabilities .brief-buttons > a .cap-icon { width:14px; height:14px; }
#capabilities .brief-buttons > a:focus-visible { outline:2px solid #356b54; outline-offset:3px; }
.deck-skip { display:block; width:max-content; margin:0 40px 24px auto; padding:8px; color:#d4e5ca; font-size:14px; text-decoration:underline; text-underline-offset:5px; }
.public-page { background:#fbfaf7; }
.public-header { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1320px; margin:auto; padding:28px 32px; border-bottom:1px solid #dce0d8; }
.public-header .brand { display:flex; gap:10px; align-items:center; font-size:25px; }
.public-header nav,.public-footer nav { display:flex; align-items:center; flex-wrap:wrap; gap:24px; font-size:15px; }
.public-header a:not(.button),.public-footer a { padding-block:8px; }
.public-page main { max-width:1200px; margin:auto; padding:72px 32px 96px; }
.public-intro { max-width:930px; margin-bottom:56px; }
.page-label { color:#356b54; font-size:13px; font-weight:600; letter-spacing:.17em; margin:0 0 24px; }
.public-intro h1 { margin:0; font-size:clamp(38px,5vw,68px); line-height:1.08; letter-spacing:-.04em; font-weight:500; }
.public-intro > p:last-child { max-width:740px; margin:28px 0 0; font-size:20px; line-height:1.6; color:#526158; }
.public-content { max-width:760px; font-size:18px; line-height:1.7; }
.public-content h2,.contact-layout h2 { margin:36px 0 14px; color:#17271e; font-size:27px; font-weight:500; letter-spacing:-.025em; }
.public-content h2:first-child,.contact-layout h2:first-child { margin-top:0; }
.public-content p { color:#4d5c52; }
.public-content a:not(.button),.form-privacy a { color:#245b41; text-decoration:underline; text-underline-offset:4px; }
.public-content .button { margin-top:20px; }
.scope-list { margin:28px 0 48px; }
.scope-list > div { padding:22px 0; border-bottom:1px solid #dce1d7; }
.scope-list dt { font-weight:600; }
.scope-list dd { margin:8px 0 0; color:#526158; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; align-items:start; }
.contact-layout aside { padding:28px 0; }
.contact-layout aside > p { max-width:380px; margin-top:30px; color:#536257; font-size:17px; line-height:1.65; }
.contact-address { display:block; margin:22px 0; color:#285f44; font-size:22px; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px; }
.contact-form { display:grid; gap:20px; padding:32px; border:1px solid #d6dfd1; border-radius:16px; background:#fffefa; }
.contact-form h2 { margin:0; }
.contact-form label { display:grid; gap:8px; font-size:15px; font-weight:500; }
.contact-form input,.contact-form textarea { width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #aab7a6; border-radius:5px; background:#fff; color:#15271c; font:400 16px/1.5 var(--body); }
.contact-form textarea { resize:vertical; }
.contact-form :is(input,textarea,button):focus-visible { outline:2px solid #356b54; outline-offset:3px; }
.contact-form :is(input,textarea)::placeholder { color:#616d63; }
.contact-form p { margin:0; font-size:14px; line-height:1.6; color:#536257; }
.contact-form .form-status { color:#224c35; }
.contact-form button { min-height:52px; justify-content:space-between; }
.contact-form button:disabled { opacity:.6; cursor:not-allowed; }
.public-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1320px; margin:auto; padding:32px; border-top:1px solid #dce0d8; font-size:17px; }
@media(max-width:1100px) {
 .mobile-disclosure { display:block; width:100%; min-width:0; }
 .mobile-disclosure::details-content { display:block; }
 .mobile-disclosure > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; margin-top:20px; padding:12px 0; border-top:1px solid #cdd5c8; color:#285b42; font-size:14px; font-weight:500; cursor:pointer; list-style:none; }
 .mobile-disclosure > summary::-webkit-details-marker { display:none; }
 .mobile-disclosure > summary::after { content:'+'; font-size:22px; line-height:1; }
 .mobile-disclosure[open] > summary::after { content:'−'; }
 .mobile-disclosure > summary:focus-visible { outline:2px solid #537448; outline-offset:4px; }
 .disclosure-surface { display:block; min-width:0; overflow:auto; scrollbar-width:thin; }
 #capabilities .company-stack { display:none; }
 #capabilities :is(.company-ui,.interpretation-ui,.brief-ui) { zoom:1; margin:16px 0 0; }
 #capabilities .search-visual { margin:16px 0 0; }
 #capabilities .company-ui { min-width:540px; }
 #capabilities .brief-ui { min-width:540px; height:430px; grid-template-columns:150px 1fr; }
 #capabilities .interpretation-ui { min-width:580px; height:330px; }
 #capabilities .source-stack > span,#capabilities .source-stack i { font-size:13px; }
 #capabilities :is(.company-sidebar span,.company-ui small,.company-footer,.company-signals span,.brief-ui small,.brief-list span,.brief-row,.brief-quote,.brief-buttons,.signals-list span,.interpretation-block,.opportunity-block) { font-size:12px; }
 #capabilities .outcome-metrics span { font-size:12px; }
 #capabilities .disclosure-surface :is(span,small,b,p,a,em,i) { font-size:12px!important; }
 #capabilities .company-evidence-row strong,#capabilities .company-meta strong { font-size:12px!important; }
 #capabilities .brief-buttons > a { min-height:44px; }
 #capabilities .outcome-copy { font-size:16px; }
 #intelligence-deck .deck-stage { position:relative!important; top:auto!important; }
 #intelligence-deck .deck-runway { height:auto!important; }
 #intelligence-deck .deck-card-window { height:auto!important; overflow:visible!important; }
 #intelligence-deck .reference-card { position:relative!important; inset:auto!important; height:auto!important; transform:none!important; opacity:1!important; pointer-events:auto!important; }
 #intelligence-deck .deck-topic-icon,#intelligence-deck .deck-explore { display:none; }
 #intelligence-deck .deck-story,#intelligence-deck #search .deck-story,#intelligence-deck #collection .deck-story { padding:24px; }
 #intelligence-deck .deck-story h2,#intelligence-deck #coverage .deck-story h2,#intelligence-deck #lead-databases .deck-story h2,#intelligence-deck #search .deck-story h2 { font-size:32px; }
 #intelligence-deck .deck-story-copy,#intelligence-deck #search .deck-story-copy { margin-top:16px; font-size:16px; line-height:1.55; }
 #intelligence-deck .deck-story-accent { font-size:16px; }
 #intelligence-deck .mobile-disclosure > summary { margin:0; padding:16px 24px; border-color:#4c5649; color:#d2e5c6; }
 #intelligence-deck .deck-controls { display:none!important; }
 #intelligence-deck .deck-illustration-note,#intelligence-deck .deck-art-hint { font-size:12px; }
 .deck-skip { margin:0 20px 16px auto; }
 .contact-layout { gap:32px; }
}

@media(max-width:760px) {
 html { scroll-padding-top:76px; }
 #top { height:auto; min-height:640px; max-height:none; }
 #top .hero-copy { top:180px; }
 #top .hero-radar { top:79%; }
 #top .hero-copy .eyebrow { font-size:12px; }
 #top .hero-actions { flex-wrap:wrap; }
 #top .primary-nav.is-open { flex-direction:column; align-items:stretch; gap:0; max-height:70svh; overflow:auto; }
 #top .primary-nav a { min-height:44px; display:flex; align-items:center; font-size:16px; }
 #top .primary-nav .mobile-nav-contact { margin-top:10px; padding:12px; background:#254b37; color:#fffefa; border-radius:6px; }
 #engine { height:auto; min-height:0; padding:44px 24px; overflow:hidden; }
 #engine::before,#engine::after,#engine .engine-map,#engine .engine-footer { display:none; }
 #engine .section-kicker { font-size:12px; letter-spacing:.17em; }
 #engine .engine-heading { margin-top:22px; }
 #engine .engine-heading h2 { font-size:34px; line-height:1.12; letter-spacing:-.04em; }
 #engine .engine-heading p { width:auto; margin-top:18px; font-size:16px; line-height:1.55; }
 .engine-mobile { display:grid; gap:0; padding:0; margin:28px 0 0; list-style:none; counter-reset:engine; }
 .engine-mobile li { position:relative; padding:0 0 24px 42px; counter-increment:engine; border-left:1px solid #c1cebb; margin-left:14px; }
 .engine-mobile li:last-child { padding-bottom:0; border-color:transparent; }
 .engine-mobile li::before { content:counter(engine,decimal-leading-zero); position:absolute; top:0; left:-15px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#315d49; color:#fffefa; font-size:12px; }
 .engine-mobile h3 { margin:0 0 7px; font-size:18px; font-weight:600; letter-spacing:-.02em; }
 .engine-mobile p { margin:0; color:#52604f; font-size:16px; line-height:1.5; }
 #capabilities .outcome-card { padding:22px; }
 #capabilities .outcome-subtitle,#capabilities .outcome-action .outcome-subtitle { font-size:23px; }
 #capabilities .outcome-copy,#capabilities .outcome-action .outcome-copy { margin-top:18px; font-size:16px; }
 #capabilities .outcome-card h2 { font-size:29px; }
 #paid-acquisition .paid-flow { margin-top:0; }
 #paid-acquisition .problem-frame { padding-bottom:26px; }
 #paid-acquisition .source-note { font-size:12px!important; }
 :is(#paid-acquisition,#referrals,#blind-spot) .eyebrow { font-size:12px!important; }
 #paid-acquisition .stat-context { font-size:14px; }
 #paid-acquisition .problem-copy h2 { font-size:39px; }
 #paid-acquisition .big-stat { font-size:54px; }
 #referrals .problem-frame { padding-bottom:24px; }
 #referrals .network-field { margin-top:10px; }
 #blind-spot .blindspot-diagram { margin-top:12px; }
 #blind-spot .diagram-link { font-size:15px; margin-top:20px; }
 #definition { padding:36px 24px; }
 #definition .definition-left { padding:0 0 28px; }
 #definition .definition-left h2 { font-size:37px; line-height:1.1; }
 #definition .definition-divider { margin:0 0 28px; }
 #definition .definition-right { margin:0; }
 #definition .definition-right h3 { font-size:43px; line-height:1; }
 #definition .definition-right > p:not(.eyebrow) { font-size:20px; }
 #definition .definition-right > small { font-size:12px; margin-top:22px; }
 #principle { min-height:0; padding:54px 24px; }
 #principle .eyebrow { font-size:12px; }
 #principle h2 { font-size:45px; line-height:.95; }
 #opportunity-example .eyebrow { font-size:12px; }
 #opportunity-example .opportunity-heading aside { font-size:16px; }
 #opportunity-example :is(.account-main span,.account-facts span,.account-low .account-main span,.priority,.alignment,.account-detail-grid p,.account-low .account-detail-grid p,.account-low .account-detail-grid b,.account-quote small,.assessment small) { font-size:12px; }
 #opportunity-example .account-detail-grid b { font-size:13px; }
 #opportunity-example .assessment-signal,#opportunity-example .assessment-signal :is(span,b) { font-size:12px; }
 #next-market .closing-content { padding:48px 24px 100px; }
 #next-market .closing-scope { opacity:.25; bottom:-165px; }
 #next-market .closing-demo { width:100%; }
 #next-market + .site-end { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
 .site-end .footer-links { justify-content:flex-start; font-size:14px; }
 .public-header { padding:18px 20px; gap:14px; flex-wrap:wrap; }
 .public-header .brand { font-size:23px; }
 .public-header nav { gap:12px; width:100%; justify-content:space-between; font-size:14px; }
 .public-header .button { min-height:44px; padding:10px 15px; font-size:14px; }
 .public-page main { padding:40px 22px 56px; }
 .public-intro { margin-bottom:32px; }
 .public-intro h1 { font-size:38px; }
 .public-intro > p:last-child { font-size:17px; margin-top:22px; }
 .contact-layout { grid-template-columns:1fr; gap:24px; }
 .contact-layout aside { padding:0; }
 .contact-form { padding:22px; }
 .public-content { font-size:16px; }
 .public-footer { flex-direction:column; align-items:flex-start; padding:24px 22px; }
 .public-footer nav { gap:16px; font-size:14px; }
}

/* Keep the full discovery diagram visible on narrow phones without sideways scrolling. */
@media (max-width:520px) {
 #capabilities [data-disclosure="cap-discover"] > .disclosure-surface { overflow:visible; }
}
@media (max-width:360px) {
 #capabilities .search-visual { zoom:.56; }
}
@media (min-width:361px) and (max-width:400px) {
 #capabilities .search-visual { zoom:.65; }
}
@media (min-width:401px) and (max-width:440px) {
 #capabilities .search-visual { zoom:.74; }
}
@media (min-width:441px) and (max-width:480px) {
 #capabilities .search-visual { zoom:.82; }
}
@media (min-width:481px) and (max-width:520px) {
 #capabilities .search-visual { zoom:.92; }
}
