/* Shared marketing palette and typography; layout remains page-specific. */
:root,body.family-page,body.home-composed,body.home-composed .v3-top{
 --paper:#f6f6f6;--paper-warm:#e9eaec;--card:#f6f6f6;
 --surface-paper:radial-gradient(ellipse at 85% 15%,#e9eaec,transparent 65%),linear-gradient(135deg,#f6f6f6,#f6f6f6);
 --surface-inset:radial-gradient(ellipse at 15% 80%,#e9eaec,transparent 65%),linear-gradient(120deg,#e9eaec,#e9eaec);
 --surface-forest:radial-gradient(ellipse at 85% 15%,#075e7c,transparent 70%),linear-gradient(130deg,#101b21,#142e3a);
 --ink:#075e7c;--ink-soft:#53565b;--ink-faint:#65686d;
 --forest-950:#08090b;--forest-900:#101b21;--forest-850:#142e3a;--forest-800:#075e7c;
 --accent:#075e7c;--accent-strong:#075e7c;--accent-bright:#248faf;--accent-soft:#36a8cd;
 --paper-dark:#e9eaec;--composition-deep:#101b21;--composition-accent:#075e7c;
 --font-sans:"Geist",sans-serif;--font-mono:"Geist Mono",monospace;
 --display:"Geist",sans-serif;--body:"Geist",sans-serif;--mono:"Geist Mono",monospace;
 --v4-head:#075e7c;--v4-body:#53565b;--v4-muted:#53565b;
}
body.home-composed{--void:#f6f6f6;--void-2:#e9eaec;--text:#075e7c;--dim:#53565b;--faint:#65686d;--accent-soft:rgba(7,94,124,.08);--accent-mid:rgba(7,94,124,.16);--accent-glow:rgba(7,94,124,.22)}
body.family-page .operation-controls button[aria-pressed=true]{background:var(--accent)}
body.family-page :is(.page-jump a:hover,.journal-read,.composition-heading .mono){color:var(--accent)}
body.family-page :is(h1,h2,h3,h4,blockquote){text-wrap:balance}
body.family-page :is(p,li,figcaption){text-wrap:pretty}
body.family-page :is(.site-header,.site-footer)>.container{width:min(1440px,calc(100% - 96px));max-width:none;padding-inline:0}
body.family-page .family-hero .breadcrumbs{display:flex;flex-wrap:nowrap;gap:8px;min-width:0}
body.family-page .family-hero .breadcrumbs>a{flex-shrink:0}
body.family-page .family-hero .breadcrumbs>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){body.family-page :is(.site-header,.site-footer)>.container{width:calc(100% - 48px)}}
/* Both homepage and interior footers draw from the same dark brand surface. */
body.home-composed .footer{--footer-ink:#d5d8dc;--em-1:#36a8cd;--footer-bg:#08090b}
html body.home-composed .contact:after{display:none!important}
body.home-composed .footer .foot-base span{color:#d5d8dc!important}
body .site-footer,body.home-composed .footer{--accent-soft:#36a8cd;--ink:#f6f6f6;--ink-soft:#d5d8dc;background:radial-gradient(ellipse at 50% 0%,#142e3a,transparent 70%),linear-gradient(135deg,#08090b,#142e3a);color:#f6f6f6}
body .site-footer .footer-col h4,body.home-composed .footer .foot-col h5{color:#36a8cd;font:12px/1.5 var(--font-mono);letter-spacing:.12em;margin-bottom:16px}
body .site-footer .footer-col a,body.home-composed .footer .foot-col a{color:#d5d8dc;font-size:14px;line-height:1.6}
body .site-footer .footer-col a:hover,body.home-composed .footer .foot-col a:hover{color:#f6f6f6}
body .site-footer .footer-legal,body.home-composed .footer .foot-base span,body.home-composed .footer .foot-legal a{color:#d5d8dc;font:12px/1.6 var(--font-mono)}
body .site-footer .footer-word,body.home-composed .footer .foot-mark{color:#36a8cd;-webkit-text-stroke:0;opacity:1}
body.home-composed .footer>.container{width:min(1440px,calc(100% - 96px));max-width:none;padding-inline:0}
@media(max-width:760px){body.home-composed .footer>.container{width:calc(100% - 48px)}}
/* Canonical footer layout, including the composed homepage. */
body .site-footer{position:relative;padding:96px 0 32px;overflow:hidden;font-family:var(--font-sans);font-weight:400}
body .site-footer>.container{width:min(1440px,calc(100% - 96px));max-width:none;padding:0;margin:auto}
body .site-footer .footer-scene{display:grid;grid-template-columns:1fr minmax(280px,460px) 1fr;gap:48px;align-items:start}
body .site-footer .footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding-top:32px}
body .site-footer .footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
body .site-footer .footer-col h4{font-weight:500;text-transform:uppercase;margin:0 0 16px}
body .site-footer .footer-col a{text-decoration:none;font-weight:400;font-family:var(--font-sans)}
body .site-footer .footer-island{width:100%;height:auto;position:relative;z-index:1;margin-bottom:-64px;animation:none;filter:drop-shadow(0 24px 32px #08090b66)}
body .site-footer .footer-word{position:relative;margin:32px 0;font-family:var(--font-sans);font-size:clamp(48px,10.6vw,168px);font-weight:700;letter-spacing:-.05em;line-height:1;text-align:center;text-transform:uppercase;white-space:nowrap}
body .site-footer .footer-legal{display:flex;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid #d5d8dc26;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
body .site-footer .footer-legal nav{display:flex;gap:24px}
body .site-footer .footer-legal a{color:inherit;text-decoration:none}
@media(max-width:1024px){body .site-footer .footer-scene{grid-template-columns:1fr 1fr;gap:32px}body .site-footer .footer-island{grid-row:1;grid-column:1/-1;width:320px;justify-self:center;margin-bottom:0}}
@media(max-width:760px){body .site-footer{padding:64px 0 32px}body .site-footer>.container{width:calc(100% - 48px)}body .site-footer .footer-scene{grid-template-columns:1fr}body .site-footer .footer-cols{text-align:center;padding-top:0}body .site-footer .footer-word{font-size:10vw}body .site-footer .footer-legal{flex-direction:column;align-items:center;text-align:center;font-size:10px}body .site-footer .footer-legal nav{flex-wrap:wrap;justify-content:center}}
/* Semantic surfaces replace the historical blue/green background overrides. */
html body.family-page{background:var(--surface-paper);color:var(--ink)}
html body.family-page [data-surface]{--surface-ink:#075e7c;--surface-copy:#53565b;--surface-accent:#075e7c;color:var(--surface-ink)}
html body.family-page [data-surface=paper]{background:var(--surface-paper)}
html body.family-page [data-surface=inset]{background:var(--surface-inset)}
html body.family-page [data-surface=forest]{--surface-ink:#f6f6f6;--surface-copy:#e9eaec;--surface-accent:#36a8cd;--paper-dark:#e9eaec;background:var(--surface-forest)}
html body.family-page [data-surface] :is(h1,h2,h3,h4,.display,.stat-num,.stat-num span){color:var(--surface-ink)!important}
html body.family-page [data-surface] :is(p,.lede,.stat-label,.breadcrumbs,.breadcrumbs a){color:var(--surface-copy)!important}
html body.family-page [data-surface] :is(em,.mono,.step-num,.team-role){color:var(--surface-accent)!important}
html body.family-page [data-surface=forest] :is(.stream-chips li,.step-row,.timeline>div){color:var(--surface-copy);border-color:#e9eaec30}
html body.family-page [data-surface=forest] :is(.card,.team-card,.versus-col){background:linear-gradient(120deg,#075e7c,#142e3a);color:var(--surface-ink);border-color:#e9eaec26}
html body.family-page [data-surface=forest] .versus-col--with{background:linear-gradient(120deg,#075e7c,#075e7c)}
html body.family-page :is(.complete-streams,.service-preparation,.industry-reading,.location-inquiry){background:var(--surface-paper)}
html body.family-page :is(.family-title,.section-head h2,.world-head h2,.journal-heading h1,.journal-card h2,.composition-heading h2){color:var(--ink)}
html body.family-page :is(.family-title em,.journal-heading h1 em){color:var(--accent)}
html body.family-page .service-directory .card-media{background:transparent}
html body.service-directory .card--photo{background:transparent;padding-bottom:24px;border-radius:0}
html body.service-directory .card-media{background:var(--surface-inset);border-radius:8px;overflow:hidden}
html body.service-directory .card-media img{background:transparent;mix-blend-mode:multiply;transition:transform 150ms}
html body.service-directory .card--photo:hover .card-media img{transform:scale(1.02)}
html body.service-directory .card--photo :is(.card-title,.card-body,.card-go,.card-eyebrow){padding-inline:0}
html body.family-page :is(.related-card,.reading-help,.reading-toc,.comparison-fit){background:var(--surface-inset)}
html body.family-page .reading-toc{background:transparent}
html body.family-page .page-jump{padding-block:16px}
html body.family-page .assessment-band{padding-block:48px}
html body.family-page .service-factors{padding-block:96px}
html body.family-page .cta-band{padding:0;background:var(--surface-paper)}
html body.family-page .cta-band>.container{padding-block:96px;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:96px}
html body.family-page .cta-band .deco{display:none}
html body.family-page .cta-band .title-lg{max-width:20ch;font-size:clamp(36px,3.5vw,56px);line-height:1.08;letter-spacing:-.045em}
html body.family-page .cta-band .stat-band{gap:24px!important}
html body.family-page .cta-band .stat-num{font-size:40px;line-height:1.1}
html body.family-page .cta-band .stat-label{max-width:30ch;font-size:14px;line-height:1.6;margin-top:8px}
html body.family-page .cta-band .btn-pill--ghost{background:transparent;color:var(--ink);border:1px solid #075e7c33}
html body.family-page .editorial-copy .cta-minimal{background:var(--surface-inset);margin-top:48px}
html body.family-page .composition-cta{padding-block:96px}
html body.family-page .family-hero:not(.article-cover-hero) .family-hero-grid{align-items:center}
html body.family-page .family-hero:not(.article-cover-hero) .family-art{align-self:center}
html body:is(.service-directory,.location-world) .family-hero .family-hero-grid{align-items:start}
html body:is(.service-directory,.location-world) .family-hero .family-hero-grid>div{align-self:start;padding-top:32px}
html body:is(.service-directory,.location-world) .family-hero .family-art{align-self:start}
html body.family-page .scene-hero .family-art img{object-fit:cover;aspect-ratio:3/2;mix-blend-mode:normal;mask-image:none;border-radius:8px}
html body.family-page .chapter-figure{float:none;display:flex;justify-content:flex-start;width:100%;margin:32px 0;background:transparent}
html body.family-page .chapter-figure img{width:auto;max-width:100%;height:192px;object-fit:contain}
html body.family-page .journal-controls{background:var(--surface-paper);padding-block:16px;box-shadow:0 12px 16px -16px #075e7c55}
html body.family-page :is(.journal-controls input,.journal-topics summary,.hub-search input){background:#e9eaec;color:var(--ink)}
html body.family-page .journal-card-image{border-radius:8px}
html body.family-page .journal-card h2{font-size:24px;line-height:1.25}
html body.family-page .hub-grid .related-card{gap:16px;justify-content:flex-start}
html body.family-page .hub-grid .related-card__title{margin:0;font-size:22px;line-height:1.3}
html body.family-page .hub-card-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px;margin:0}
html body.family-page .faq-icon{font-size:0}
html body.industry-directory-b :is(.directory-intro h2 em,.directory-local h2 em){color:var(--accent)}
html body.industry-directory-b .directory-contact{background:var(--surface-paper)}
html body.industry-directory-b .directory-category-list button:not([aria-pressed=true]){background:#e9eaec;color:var(--ink)}
html body.home-composed .v3-top .site-header.scrolled{background:rgba(246,246,246,.97);color:#075e7c;backdrop-filter:blur(16px)}
html body.home-composed .v3-top .site-header.scrolled :is(.brand,.site-nav>a){color:#075e7c}
html body.home-composed .v3-top .site-header.scrolled .header-cta{background:#142e3a;color:#f6f6f6}
@media(max-width:760px){
 html body.family-page .cta-band>.container{grid-template-columns:1fr;gap:48px;padding-block:64px}
 html body.family-page .cta-band .stat-band{grid-template-columns:1fr!important;gap:24px!important}
 html body.family-page .cta-band .stat-band>div{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center}
 html body.family-page .cta-band .stat-num{font-size:32px}
 html body.family-page :is(.service-factors,.composition-cta){padding-block:64px}
 html body.family-page .reading-toc{background:var(--surface-inset)}
 html body.family-page .process-intro-steps{grid-template-columns:1fr;gap:12px}
 html body:is(.service-directory,.location-world) .family-hero .family-hero-grid>div{padding-top:0}
}
@media(prefers-reduced-motion:reduce){html body :is(.rv,[data-rv]){opacity:1!important;transform:none!important}html body.service-directory .card-media img{transition:none}}
