/* ESPFlight v47 · Sitewide visual alignment for remaining public/editorial pages.
   Uses approved Design System v1 tokens; deliberately leaves Platform/Hardware/Firmware/App alone. */
body.site-v47{
 --ds-max-width:1180px;--ds-section-space:clamp(60px,6.2vw,88px);
 --ds-panel-space:clamp(20px,2.5vw,32px);--ds-radius-lg:26px;--ds-radius-md:20px;
 --ds-radius-sm:14px;--ds-radius-pill:999px;--ds-border:#dce6e2;
 --ds-text:var(--text);--ds-muted:#4e6170;--ds-surface:#fff;--ds-surface-alt:#f6f8f8;
 --ds-tint:#eaf7f0;
 --ds-button-bg:#166d43;--ds-button-hover:#105735;--ds-button-ink:#fff;
 --ds-accent-strong:#11704b;
}
html[data-theme="dark"] body.site-v47{
 --ds-border:#3c4445;--ds-muted:#bdc9c7;--ds-surface:#22242a;
 --ds-surface-alt:#1b1d21;--ds-tint:#20372e;
 
 --ds-button-bg:#42d392;--ds-button-hover:#64e2ad;--ds-button-ink:#0b2118;
 --ds-accent-strong:#66ddb0;
}
body.site-v47 .container{max-width:1180px;}
body.site-v47 main {overflow:clip;}
body.site-v47 main :is(.section,.pageHero,.partnerHero,.aboutHero){isolation:isolate;}
body.site-v47 main > .section{padding-block:var(--ds-section-space);}
body.site-v47 main > :is(.pageHero,.partnerHero,.aboutHero){padding-block:clamp(64px,6.2vw,92px);}
body.site-v47 main .sectionTitle{margin-bottom:clamp(24px,3vw,40px);}
body.site-v47 main h1{font-size:clamp(40px,4.65vw,68px);line-height:1.1;letter-spacing:-.035em;text-wrap:balance;}
body.site-v47 main h2{line-height:1.2;text-wrap:balance;}
body.site-v47 main .sectionTitle h2{font-size:clamp(30px,3.15vw,44px);letter-spacing:-.03em;}
body.site-v47 main h3{line-height:1.35;}
body.site-v47 main :is(.pageHero,.partnerHero,.aboutHero) p{font-size:clamp(15px,1.38vw,18px);line-height:1.85;max-width:65ch;color:var(--ds-muted);}
body.site-v47 main :is(p,li){overflow-wrap:break-word;}
body.site-v47 main :is(.sectionTitle,.legalDocumentHeader,.v47-intro) p{line-height:1.84;color:var(--ds-muted);}
body.site-v47 main .eyebrow{font-size:12px;letter-spacing:.11em;color:var(--ds-accent-strong);margin-bottom:12px;}
body.site-v47 main .sectionTint{background:var(--bg2);}
body.site-v47 main a:focus-visible,body.site-v47 main button:focus-visible{outline:3px solid var(--ds-accent-strong);outline-offset:3px;}
body.site-v47 main [id]{scroll-margin-top:95px;}
body.site-v47 main .button:not(.buttonGhost),body.site-v47 main .btnPrimary,body.site-v47 main .buttonPrimary{
  min-height:46px;border-radius:14px;background:var(--ds-button-bg);border-color:var(--ds-button-bg);
  color:var(--ds-button-ink);font-weight:800;
}
body.site-v47 main .button:not(.buttonGhost):hover,body.site-v47 main .btnPrimary:hover,body.site-v47 main .buttonPrimary:hover{background:var(--ds-button-hover);border-color:var(--ds-button-hover);}
body.site-v47 main .buttonGhost{min-height:46px;border-radius:14px;color:var(--text);background:var(--ds-surface);border:1px solid var(--ds-border);}
body.site-v47 main .buttonGhost:hover{background:var(--ds-tint);}
body.site-v47 main .textLink{color:var(--ds-accent-strong);}
body.site-v47 main :is(.sectionTitle,.centerCta,.legalDocumentHeader) a:not(.button){text-underline-offset:4px;}
/* Hero panels use the same card geometry and surface hierarchy as the four approved pages. */
body.site-v47 main :is(.pageHeroGrid,.partnerHeroGrid){align-items:center;gap:clamp(24px,4vw,58px);}
body.site-v47 main :is(.boardVisual,.foundingPanel,.legalHeroCard,.aboutHeroCard){
  border-radius:var(--ds-radius-lg);border:1px solid var(--ds-border);
  
}
body.site-v47 main :is(.boardVisual,.foundingPanel){min-height:280px;}
body.site-v47 main .legalHeroCard{padding:var(--ds-panel-space);background:var(--ds-surface);}
body.site-v47 main :is(.boardVisual,.foundingPanel) p{color:var(--ds-muted);}
body.site-v47 main :is(.legalSummaryGrid,.principleGrid,.stageGrid,.contactChannels,.audienceGrid){align-items:stretch;gap:20px;}
body.site-v47 main :is(.principleCard,.stageCard,.contactCard,.legalSummaryCard,.audienceCard,.foundingPanel,.offerCard,.applyCard,.brandExample,.partnerCompare,.centerCta,.legalDocumentWrap,.policyDocument){
  border-radius:var(--ds-radius-lg);border-color:var(--ds-border);
}
body.site-v47 main :is(.principleCard,.stageCard,.contactCard,.legalSummaryCard,.audienceCard,.offerCard,.applyCard){padding:var(--ds-panel-space);background:var(--ds-surface);}
body.site-v47 main :is(.principleCard,.stageCard,.contactCard,.legalSummaryCard,.audienceCard,.offerCard,.applyCard) p{line-height:1.8;color:var(--ds-muted);}
body.site-v47 main :is(.makerTimeline,.stageGrid,.partnerBenefits,.foundingSignals,.legalSummaryGrid,.principleGrid){min-width:0;}
body.site-v47 main .makerTimeline>div{border-radius:var(--ds-radius-md);border-color:var(--ds-border);}
body.site-v47 main :is(.brandExample,.partnerCompare,.foundingPanel,.policyDocument,.legalDocumentWrap){background:var(--ds-surface);}
body.site-v47 main :is(.centerCta,.offerShell,.applicationChecklist,.privacyNotice,.legalCaveat){border-radius:var(--ds-radius-lg);border-color:var(--ds-border);}
body.site-v47 main .v34-jump-nav{background:var(--ds-surface-alt);border-color:var(--ds-border);}
body.site-v47 .v34-jump-links a{background:var(--ds-surface);border-color:var(--ds-border);color:var(--text);}
body.site-v47 .v34-jump-links a:hover,body.site-v47 .v34-jump-links a:focus-visible{background:var(--ds-tint);border-color:var(--accent);}
body.site-v47 main :is(.legalDocumentWrap,.policyDocument){padding:clamp(18px,2.5vw,32px);}
body.site-v47 main :is(.legalDocumentWrap,.policyDocument,.legalDoc,.legalCopy) :is(p,li){line-height:1.9;}
body.site-v47 main :is(pre,.docsV3TableWrap,.docsTableScrollable){max-width:100%;overflow-x:auto;}
body.site-v47 main code{overflow-wrap:anywhere;}
body.site-v47 main :is(.pageHero,.partnerHero,.aboutHero) :is(.heroBadge,.releaseBadge){border-radius:999px;}
body.site-v47 main .notFound{max-width:min(980px,calc(100% - 48px));padding:clamp(42px,6vw,84px) clamp(22px,4vw,54px);margin:clamp(36px,5vw,72px) auto;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);}
body.site-v47 main img{max-width:100%;height:auto;}
/* Home: preserve approved composition while synchronizing primary action contrast and spacing. */
body.site-v47.homePage main .button:not(.buttonGhost){color:var(--ds-button-ink);background:var(--ds-button-bg);border-color:var(--ds-button-bg);}
body.site-v47.homePage main .button:not(.buttonGhost):hover{background:var(--ds-button-hover);}
body.site-v47.homePage main .homeBuildGrid{gap:clamp(16px,2vw,24px);}
body.site-v47.homePage main .homeBuildCard{border-radius:var(--ds-radius-lg);overflow:hidden;}
body.site-v47.homePage main .homeBuildContent{padding:clamp(20px,2.4vw,32px);}
/* RTL counterpart parity */
html[lang="fa"] body.site-v47 main :is(h1,h2,h3,.eyebrow){letter-spacing:0;}
html[lang="fa"] body.site-v47 main :is(.sectionTitle,.pageHero,.partnerHero,.aboutHero) p{text-align:start;}
@media(max-width:760px){
 body.site-v47{--ds-section-space:56px;--ds-panel-space:20px;}
 body.site-v47 .container{width:calc(100% - 32px);}
 body.site-v47 main > :is(.pageHero,.partnerHero,.aboutHero){padding-block:52px;}
 body.site-v47 main h1{font-size:clamp(35px,9vw,48px);line-height:1.16;}
 body.site-v47 main .sectionTitle h2{font-size:clamp(27px,7vw,37px);}
 body.site-v47 main :is(.principleGrid,.stageGrid,.legalSummaryGrid,.contactChannels){gap:14px;}
 body.site-v47 main .v34-jump-links{flex-wrap:wrap;overflow:visible;gap:8px;}
 body.site-v47 main .v34-jump-links a{min-height:42px;white-space:normal;text-align:center;}
 body.site-v47 main .notFound{max-width:calc(100% - 32px);}
 body.site-v47 main [id]{scroll-margin-top:75px;}
}
@media(prefers-reduced-motion:reduce){body.site-v47 main *{scroll-behavior:auto!important;}}

/* Deliberate card rhythm on Makers / Partners and semantic legal documents. */
body.site-v47 .makerTimeline>div{background:var(--ds-surface);padding:clamp(16px,1.7vw,22px);border:1px solid var(--ds-border);height:100%;}
body.site-v47 .makerTimeline>div p{line-height:1.8;color:var(--ds-muted);}
body.site-v47 .partnerBenefits span{display:inline-flex;min-height:36px;align-items:center;border:1px solid var(--ds-border);border-radius:999px;padding:6px 12px;background:var(--ds-surface);}
body.site-v47 :is(.legalSummaryGrid,.principleGrid) > *{min-width:0;}
body.site-v47 :is(.legalBacklinks,.legalActions,.heroButtons){display:flex;flex-wrap:wrap;gap:12px;}
body.site-v47 main :is(.legalDoc,.legalCopy,.policyDocument){overflow-wrap:break-word;}
body.site-v47 main .centerCta{padding:clamp(22px,3vw,40px);}
