/* Local OFL fonts: complete official unicode subsets, no external font requests. */
.aster{--title-font:'Noto Serif SC','Songti SC',serif;--title-weight:900;--title-fill:linear-gradient(110deg,transparent 35%,#fffbedb8 47%,#ffffffed 50%,#fff2b49c 53%,transparent 65%),linear-gradient(180deg,#fffde8 0%,#fff0b3 22%,#ffdb69 43%,#e7b83f 49%,#fffbdc 52%,#ffe99b 66%,#efc451 100%);--title-glow:0 0 7px #ffe39c55,0 0 22px #f6c9436b,0 0 48px #e7ab3433;--title-stroke:.6px #fff3bc9e;--title-tracking:.045em;--title-bg-size:260% 100%,100% 100%;--title-animation:a1-metal-shine 6s ease-in-out infinite}
.binary{--title-font:'Orbitron','Noto Sans SC',sans-serif;--title-weight:700;--title-fill:linear-gradient(180deg,#f4feff 0%,#daF6ff 28%,#8ad6f8 48%,#e5fbff 51%,#91daff 74%,#51ace4 100%);--title-glow:0 0 4px #b5eeff55,0 0 14px #4bbdff35,0 0 32px #268dce24;--title-stroke:.35px #b3eeff80;--title-tracking:.07em;--title-bg-size:100% 100%;--title-animation:none}
@keyframes a1-metal-shine{0%,22%{background-position:130% 0,0 0}70%,100%{background-position:-100% 0,0 0}}
/* Only section/page display headings; card titles, article body and navigation stay readable. */
body:is(.aster,.binary) main :is(.section-head h2,.page-intro h1,.hero-copy h1,.article-header h1,.about-copy h2,.source-section-title,.source-about-extra>h2,.section>h2,.source-news-aside>h2,.service-details>h2,.detail-band h2,.faq-layout>div>h2,.contact-grid>div>h2,.closing h2,.eco-heading h2){
 font-family:var(--title-font);font-weight:var(--title-weight);font-size:clamp(42px,5vw,64px);line-height:1.45;letter-spacing:var(--title-tracking);text-align:center;text-wrap:balance;max-width:100%;color:var(--accent);background-image:var(--title-fill);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:var(--title-glow);-webkit-text-stroke:var(--title-stroke);background-size:var(--title-bg-size);background-repeat:no-repeat;animation:var(--title-animation);margin-inline:auto
}
body:is(.aster,.binary) main .hero-copy h1{font-size:clamp(44px,5.2vw,76px)}
body:is(.aster,.binary) main .hero-copy h1 span{color:inherit;-webkit-text-fill-color:inherit;font-family:inherit}
body:is(.aster,.binary) .section-head{display:block;text-align:center;margin-bottom:40px}
body:is(.aster,.binary) .section-head h2{margin:0}
body:is(.aster,.binary) :is(.section-head .eyebrow,.section-head>p,.eco-heading>.eco-eyebrow,.eco-heading>p,.eco-resource-count,.page-intro>.eyebrow,.page-intro>.page-lead,.page-intro>p,.page-intro>.breadcrumbs,.hero-copy>.eyebrow,.about-copy>.eyebrow,.faq-layout>div>.eyebrow,.faq-layout>div>p,.contact-grid>div>.eyebrow,.closing .eyebrow,.source-home-contact>p,[data-module='independent-overview']>h3){display:none}
body:is(.aster,.binary) .page-intro{text-align:center}
body:is(.aster,.binary) .page-intro h1{margin-block:0}
body:is(.aster,.binary) .faq-layout{grid-template-columns:minmax(0,1fr);gap:30px}
body:is(.aster,.binary) .faq-layout>div:first-child{width:100%;max-width:none}
body:is(.aster,.binary) .closing{flex-direction:column;align-items:center;text-align:center;gap:24px}
body:is(.aster,.binary) .closing h2{margin-block:0}
.aster .eco-ribbons .eco-heading{left:0;right:0;top:64px;width:100%;text-align:center;padding:0 50px}
body.aster main .eco-ribbons .eco-heading h2{font-size:78px;margin:0}
.binary .eco-constellation{grid-template-columns:minmax(0,1fr);gap:24px}
.binary .eco-constellation .eco-heading{padding:0;text-align:center;width:100%;margin:0}
.binary .eco-constellation .eco-heading h2{margin:0}
.binary .eco-constellation .eco-network-stage{max-width:920px;margin-inline:auto}
@media(max-width:760px){
 body:is(.aster,.binary) main :is(.section-head h2,.page-intro h1,.hero-copy h1,.article-header h1,.about-copy h2,.source-section-title,.source-about-extra>h2,.section>h2,.source-news-aside>h2,.service-details>h2,.detail-band h2,.faq-layout>div>h2,.contact-grid>div>h2,.closing h2,.eco-heading h2){font-size:clamp(36px,9.5vw,44px);letter-spacing:.025em}
 body:is(.aster,.binary) .section-head{margin-bottom:28px}
 .binary .eco-constellation .eco-heading{margin-bottom:22px}
 .binary .eco-constellation .eco-network-stage{margin-inline:-8px}
 body.aster main .eco-ribbons .eco-heading h2{font-size:calc(38px / var(--eco-scene-scale,.3))}
}

@media(prefers-reduced-motion:reduce){body:is(.aster,.binary) main :is(h1,h2){animation:none!important}}
