/* Shared page geometry and editorial type. Product UI demos keep their own styles. */
body .container{width:calc(100% - 80px);max-width:1160px;margin-inline:auto}
body .header{width:calc(100% - 80px);max-width:1160px}
body.case-page .section-title,body.case-page .chapter-heading h2,body.case-page .decision-heading h2{font-size:2.5rem;line-height:1.2;letter-spacing:-.04em}
body.case-page .prose p,body.case-page .decision-context p{font-size:1.25rem;line-height:1.75}
body.case-page .block-title{font-size:1.75rem;line-height:1.3;letter-spacing:-.025em}
body.case-page .case-chapter+.case-chapter{margin-top:96px}
body:has(main .related-work) footer.site-footer{margin-top:0}
/* Each project owns every footer accent, including the CTA, star and ambient glow. */
body#top.case-page footer.site-footer{--footer-accent:#ffac57;--footer-rgb:255,172,87}
body#top.case-page.fbn-page footer.site-footer{--footer-accent:#8bd6a6;--footer-rgb:139,214,166}
body#top.case-page.wiki-page footer.site-footer{--footer-accent:#bc9af1;--footer-rgb:188,154,241}
body#top.case-page.aitou-page footer.site-footer{--footer-accent:#8bbfff;--footer-rgb:139,191,255}
body#top.case-page.next-page footer.site-footer{--footer-accent:#e2ca78;--footer-rgb:226,202,120}
body#top.case-page.subscription-page footer.site-footer{--footer-accent:#91caff;--footer-rgb:145,202,255}
body footer.site-footer .footer-invitation{gap:56px;padding:88px 0 76px}
body footer.site-footer h2{font-size:var(--type-step-56-104);font-weight:450;line-height:1.02;letter-spacing:-.065em}
body footer.site-footer .footer-kicker{font-size:1rem;line-height:1.5;margin:0 0 26px}
body footer.site-footer .footer-email{font-size:1rem;line-height:1.5;margin-top:36px}
body footer.site-footer .footer-actions{padding-right:0}
body footer.site-footer .footer-cta{font-size:1rem;line-height:1.5}
body footer.site-footer .footer-book{font-size:0.875rem;line-height:1.5}
body footer.site-footer .footer-bottom{font-size:0.75rem;line-height:1.5;padding-block:24px}
body footer.site-footer #motion-toggle{font:inherit;line-height:inherit}
/* The orbit is decorative; its rotation must not expand the page. */
.explore-page .explore-intro{overflow:clip}
@media(max-width:700px){
 body .container,body .header{width:calc(100% - 40px)}
 body.case-page .section-title,body.case-page .chapter-heading h2,body.case-page .decision-heading h2{font-size:2rem;line-height:1.2}
 body.case-page .prose p,body.case-page .decision-context p{font-size:1rem;line-height:1.75}
 body.case-page .block-title{font-size:1.5rem;line-height:1.3}
 body.case-page .case-chapter+.case-chapter{margin-top:64px}
 body footer.site-footer .footer-invitation{padding:56px 0 48px;gap:32px}
 body footer.site-footer h2{font-size:var(--type-step-48-64)}
 body footer.site-footer .footer-kicker{font-size:0.875rem;margin-bottom:22px}
 body footer.site-footer .footer-email{font-size:0.875rem;margin-top:26px;overflow-wrap:anywhere}
 body footer.site-footer .footer-cta{font-size:0.875rem}
 body footer.site-footer .footer-book{font-size:0.875rem}
 body footer.site-footer .footer-bottom{font-size:0.75rem;gap:16px}
 body footer.site-footer .footer-bottom>div{gap:20px}
 .explore-page .intro-orbit{right:0;max-width:calc(100vw - 40px)}
}
/* Match the specificity of older project overrides without changing inner demos. */
body[class] .container{width:calc(100% - 80px);max-width:1160px;margin-inline:auto}
body[class] .header{width:calc(100% - 80px);max-width:1160px}
@media(max-width:700px){body[class] .container,body[class] .header{width:calc(100% - 40px)}}
@media(max-width:480px){
 .case-page .fm-results>div,.aitou-page .ai-results>div{grid-template-columns:minmax(0,1fr);gap:0}
 .case-page .fm-results a,.aitou-page .ai-results article{min-width:0;border-left:0;border-top:1px solid #ffffff18;padding:20px 0}
 .case-page .fm-results a:first-child,.aitou-page .ai-results article:first-child{border-top:0;padding-left:0}
 .case-page .fm-results strong,.aitou-page .ai-results strong{font-size:2.5rem;line-height:1.15;margin:10px 0}
 .case-page .fm-results a>span{font-size:0.75rem}
 .case-page .fm-results a>p,.aitou-page .ai-results article>p{font-size:0.875rem;line-height:1.6;margin:0}
}
