
:root{
--navy:#1C2E4A;--navy-deep:#0F2036;--coral:#F26D5A;--coral-press:#E05A47;--coral-wash:#FDEEEA;
--green:#267A69;--ink:#28333F;--muted:#65717E;--panel:#F2F5F8;--hairline:#DCE3EA;--paper:#FBFCFD;--white:#fff;--heading:#1C2E4A;
--font-display:"Spectral",Georgia,serif;--font-body:"Inter",system-ui,sans-serif;--font-mono:"IBM Plex Mono",monospace;
--sec-y:clamp(3.5rem,6vw,6.5rem);--maxw:1180px;
--r-sm:3px;--r-md:6px;--r-lg:10px;
--sh-xs:0 1px 2px rgba(28,46,74,.05);--sh-md:0 10px 30px rgba(28,46,74,.10);
--ease:cubic-bezier(.2,.6,.2,1);
}
:root[data-theme="dark"]{
--paper:#0E1725;--white:#15223A;--panel:#1C2C46;--hairline:#2B3D59;--ink:#DDE6F0;--muted:#AEBCCE;--heading:#EAF1F9;--coral-wash:#241E1C;--navy:#22374F;
--sh-xs:0 1px 2px rgba(0,0,0,.4);--sh-md:0 12px 34px rgba(0,0,0,.5);
}
:root[data-theme="dark"] .path::before,:root[data-theme="dark"] .path:hover{border-color:#7a3d34}
:root[data-theme="dark"] .path:hover{box-shadow:0 14px 34px rgba(0,0,0,.55)}
:root[data-theme="dark"] img.crestwash,:root[data-theme="dark"] .themebtn svg{opacity:1}
/* theme toggle */
.themebtn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid var(--hairline);background:transparent;color:var(--heading);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);flex:none}
.themebtn:hover{border-color:var(--coral);color:var(--coral)}
.themebtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.themebtn .sun{display:none}.themebtn .moon{display:block}
:root[data-theme="dark"] .themebtn .sun{display:block}:root[data-theme="dark"] .themebtn .moon{display:none}
.themebtn.on-dark{color:#fff;border-color:rgba(255,255,255,.25)}.themebtn.on-dark:hover{color:var(--coral);border-color:var(--coral)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
a{color:var(--coral);text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
::selection{background:var(--coral);color:#fff}
:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(242,109,90,.45);border-radius:var(--r-sm)}
/* eyebrow / § label */
.eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);flex:none}
.eyebrow.on-dark{color:#A9B7C6}
.snum{color:var(--coral)}
/* headings */
h1,h2,h3,h4{font-family:var(--font-display);color:var(--heading);font-weight:600;letter-spacing:-.01em;margin:0}
.hero h1{color:#fff}
h2.sec{font-size:clamp(1.7rem,1.2rem+1.6vw,2.35rem);line-height:1.14;margin:12px 0 0;max-width:24ch}
.lead{font-size:1.15rem;color:var(--muted);max-width:60ch;font-family:var(--font-display);margin-top:14px}
p.copy{font-size:1rem;color:var(--ink);max-width:68ch;margin:14px 0 0}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:600;font-size:.95rem;padding:13px 24px;border-radius:var(--r-md);transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);cursor:pointer;border:1.5px solid transparent}
.btn .ar{transition:transform .18s var(--ease)}
.btn:hover .ar{transform:translateX(3px)}
.btn.accent{background:var(--coral);color:#fff}
.btn.accent:hover{background:var(--coral-press)}
.btn.navy{background:var(--navy);color:#fff}
.btn.navy:hover{background:var(--navy-deep)}
.btn.ghost{border-color:var(--hairline);color:var(--heading);background:transparent}
.btn.ghost:hover{border-color:var(--coral);color:var(--coral)}
.btn.ghost.on-dark{border-color:rgba(255,255,255,.35);color:#fff}
.btn.ghost.on-dark:hover{border-color:var(--coral);color:var(--coral)}
/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(251,252,253,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}
header.site .row{display:flex;align-items:center;gap:26px;padding:8px 0}
header.site img{height:80px;margin-right:auto}
@media(max-width:640px){header.site .row{padding:8px 0}header.site img{height:62px}}
header.site nav{display:flex;align-items:center;gap:20px}
header.site nav a{font-size:.9rem;font-weight:600;color:var(--heading)}
header.site nav a:hover{color:var(--coral)}
header.site nav a.here{color:var(--coral);border-bottom:2px solid var(--coral);padding-bottom:2px}
@media(max-width:940px){header.site nav{display:none}}
.logo-drk{display:none}
:root[data-theme="dark"] header.site{background:rgba(14,23,37,.85);border-bottom-color:var(--hairline)}
:root[data-theme="dark"] .logo-lite{display:none}
:root[data-theme="dark"] .logo-drk{display:block}
/* section frame */
section{padding:var(--sec-y) 0;scroll-margin-top:88px}
section.band{background:var(--panel)}
section.dark{background:var(--navy);color:#e6edf5}
section.dark h2.sec{color:#fff}
section.dark .lead{color:#A9B7C6}
.shead{margin-bottom:34px}
.shead .top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
/* hero */
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.hero .crest{position:absolute;right:-70px;bottom:-80px;width:440px;opacity:.05;pointer-events:none}
.hero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,68px);align-items:center;padding:clamp(4rem,9vw,6.5rem) 0 clamp(3rem,6vw,4.5rem)}
@media(max-width:900px){.hero .grid{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2.6rem,1.6rem+3.4vw,4.15rem);line-height:1.05;letter-spacing:-.015em;margin:22px 0 24px;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--coral)}
.hero .dek{font-family:var(--font-display);font-size:1.2rem;line-height:1.55;color:#C9D4E1;max-width:54ch;margin:0 0 32px}
.hero .cta{display:flex;gap:13px;flex-wrap:wrap}
/* word reveal */
.wr{display:inline-block;opacity:0;transform:translateY(14px);animation:wrin .6s var(--ease) forwards}
@keyframes wrin{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.wr{opacity:1;transform:none}}
/* protection chain card */
.chain{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:30px 28px}
.chain .h{font-family:var(--font-mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#A9B7C6;margin-bottom:22px}
.chain .steps{position:relative;display:grid;gap:22px}
.chain .line{position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:rgba(242,109,90,.5)}
.chain .st{display:flex;gap:16px}
.chain .st .pt{width:11px;height:11px;border-radius:50%;background:var(--coral);flex:none;margin-top:5px}
.chain .st .t{font-family:var(--font-display);font-size:1.1rem;color:#fff;line-height:1.2}
.chain .st .d{font-size:.83rem;color:#A9B7C6;margin-top:2px}
/* protection chain animation */
.chain .line{transform-origin:top center;transform:scaleY(0);animation:chdraw 1.7s var(--ease) .45s forwards}
@keyframes chdraw{to{transform:scaleY(1)}}
.chain .st{opacity:0;transform:translateX(12px);animation:chin .6s var(--ease) forwards}
.chain .st:nth-child(2){animation-delay:.55s}
.chain .st:nth-child(3){animation-delay:.95s}
.chain .st:nth-child(4){animation-delay:1.35s}
.chain .st:nth-child(5){animation-delay:1.75s}
@keyframes chin{to{opacity:1;transform:none}}
.chain .st .pt{box-shadow:0 0 0 0 rgba(242,109,90,.55);animation:chpulse 1.1s var(--ease) forwards;animation-delay:inherit}
.chain .st:nth-child(2) .pt{animation-delay:.55s}
.chain .st:nth-child(3) .pt{animation-delay:.95s}
.chain .st:nth-child(4) .pt{animation-delay:1.35s}
.chain .st:nth-child(5) .pt{animation-delay:1.75s}
@keyframes chpulse{0%{box-shadow:0 0 0 0 rgba(242,109,90,.55)}70%{box-shadow:0 0 0 9px rgba(242,109,90,0)}100%{box-shadow:0 0 0 0 rgba(242,109,90,0)}}
@media(prefers-reduced-motion:reduce){.chain .line{transform:scaleY(1)}.chain .st{opacity:1;transform:none}}
/* reveal on scroll */
.rv{opacity:0;transform:translateY(22px);transition:opacity .72s var(--ease),transform .72s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}
/* stat blocks */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
@media(max-width:820px){.stats{grid-template-columns:1fr 1fr}}
.statb{padding:38px 26px 40px 0;border-right:1px solid var(--hairline)}
.statb:last-child{border-right:0}
@media(max-width:820px){.statb{border-right:0;border-bottom:1px solid var(--hairline);padding-right:24px}}
.statb .k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.statb .v{font-family:var(--font-display);font-size:2.4rem;color:var(--heading);line-height:1}
.statb .v .u{font-size:1rem;color:var(--muted)}
.statb .s{font-size:.8rem;color:var(--muted);margin-top:8px}
.meth{font-family:var(--font-mono);font-size:11px;line-height:1.85;color:var(--muted);margin-top:30px;padding-top:22px;border-top:1px solid var(--hairline);max-width:none;column-gap:48px}
@media(min-width:900px){.meth{columns:2}}
.meth b{color:var(--heading)}
/* feed cards */
.feed{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
@media(max-width:900px){.feed{grid-template-columns:1fr}}
.fcard{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-xs);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.fcard:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:rgba(242,109,90,.4)}
.fcard .th{aspect-ratio:16/10;overflow:hidden;background:var(--navy)}
.fcard .th img{width:100%;height:100%;object-fit:cover;object-position:top}
.fcard .b{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.fcard .tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);margin-bottom:11px}
.fcard h3{font-size:1.12rem;line-height:1.3;margin-bottom:8px}
.fcard .m{font-size:.82rem;color:var(--muted);margin-bottom:15px}
.fcard .go{margin-top:auto;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--heading);display:flex;align-items:center;gap:7px}
.fcard:hover .go{color:var(--coral)}
/* findings, claim/evidence/interpretation */
.finds{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:8px}
@media(max-width:820px){.finds{grid-template-columns:1fr}}
.find{border-top:2px solid var(--coral);padding-top:20px}
.find .fno{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--coral);margin-bottom:12px}
.find .claim{font-family:var(--font-display);font-size:1.3rem;color:#fff;line-height:1.3;margin-bottom:14px}
.find .beat{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:8px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem}
.find .beat .l{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8ea1b8;padding-top:2px}
.find .beat .x{color:#cdd9e6;line-height:1.5}
.find .beat .x b{color:var(--coral);font-weight:600}
/* findings, secondary tiers */
.find-more{margin-top:46px;border-top:1px solid rgba(255,255,255,.14);padding-top:30px}
.fm-head{margin-bottom:20px}
.fm-head .fm-k{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:6px}
.fm-head .fm-s{color:#aeb9c7;font-size:.9rem;max-width:60ch}
.fm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.fm-grid.four{grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:900px){.fm-grid,.fm-grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fm-grid,.fm-grid.four{grid-template-columns:1fr}}
.fm-card{border-top:2px solid rgba(242,109,90,.5);padding-top:13px}
.fm-card .fm-t{font-family:var(--font-display);color:#fff;font-size:1.02rem;line-height:1.3;margin-bottom:8px}
.fm-card .fm-x{color:#cdd9e6;font-size:.85rem;line-height:1.56}
.fm-card .fm-x b{color:#fff;font-weight:600}
/* roundtable */
.rtgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;margin-top:8px;align-items:stretch}
@media(max-width:900px){.rtgrid{grid-template-columns:1fr}}
.rtcard{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.rtcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(242,109,90,.14);border-color:#F6C7BD}
.rtcard .h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid var(--hairline);background:var(--panel)}
.rtcard .no{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--heading)}
.rtcard .no b{color:var(--coral)}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--coral-wash);color:var(--coral-press);font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:5px 13px}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--coral)}
.rtcard .q{font-family:var(--font-display);font-size:1.35rem;color:var(--heading);line-height:1.35;margin:0;padding:22px 24px 4px}
.rtcard .anc{font-size:.82rem;color:var(--muted);padding:0 24px;margin-top:6px}
.rtcard .rm{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);padding:14px 24px 0}
.rtcard .rm span{display:flex;align-items:center;gap:6px}.rtcard .rm b{color:var(--coral)}
.rtcard .rf{padding:18px 24px 24px;margin-top:auto}
.rsteps{border:1px solid var(--hairline);border-radius:var(--r-lg);padding:22px 24px;background:var(--white)}
.rsteps h3{font-size:1.05rem;margin-bottom:6px}
.rstep{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--panel)}
.rstep .n{font-family:var(--font-mono);font-weight:600;color:var(--coral);font-size:12px}
.rstep b{color:var(--heading);font-size:.95rem;display:block}
.rstep .d{color:var(--muted);font-size:.82rem}
/* endorsements */
.endos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
@media(max-width:820px){.endos{grid-template-columns:1fr}}
.endo{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:22px}
.endo .et{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.endo h3,.endo h4{font-size:1.05rem}
.endo .cnt{font-family:var(--font-mono);font-weight:600;font-size:1.2rem;color:var(--heading)}
.endo .cnt small{font-size:9.5px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-left:5px}
.endo .q{font-family:var(--font-display);font-style:italic;font-size:.92rem;color:var(--ink);line-height:1.55;border-top:1px solid var(--panel);padding-top:13px;margin:0 0 10px}
.endo .who{font-size:.8rem;font-weight:600;color:var(--heading)}.endo .org{font-size:.76rem;color:var(--muted)}
.endo .inv{border-top:1px solid var(--panel);padding-top:13px;font-size:.85rem;color:var(--muted)}
.endo .inv a{font-weight:600}
.honce{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:16px;letter-spacing:.02em}
/* initiative */
.initcard{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;margin-top:8px}
@media(max-width:900px){.initcard{grid-template-columns:1fr}}
.statuschip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--coral);border:1px solid rgba(242,109,90,.4);border-radius:999px;padding:5px 13px;margin-bottom:18px}
.statuschip i{width:7px;height:7px;border-radius:50%;background:var(--coral)}
.initcard h2{font-size:clamp(1.9rem,1.3rem+1.8vw,2.6rem);line-height:1.1;margin-bottom:16px;color:#fff;max-width:16ch}
.initcard p{color:#A9B7C6;font-size:1rem;margin:0 0 22px;max-width:52ch}
.initcard .cta{display:flex;gap:12px;flex-wrap:wrap}
.pillars3{display:grid;gap:14px}
.pil{border-left:2px solid rgba(242,109,90,.5);padding-left:16px}
.pil .t{font-family:var(--font-display);color:#fff;font-size:1.05rem}
.pil .d{font-size:.85rem;color:#A9B7C6;margin-top:3px;line-height:1.5}
.workwith{margin-top:30px;background:rgba(242,109,90,.1);border:1px solid rgba(242,109,90,.4);border-radius:var(--r-lg);padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.workwith .t{font-family:var(--font-display);color:#fff;font-size:1.05rem;max-width:56ch;line-height:1.45}
.workwith .t b{color:var(--coral)}
/* participate */
.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
@media(max-width:900px){.paths{grid-template-columns:1fr}}
.path{position:relative;overflow:hidden;background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.path::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--coral),#f59277);opacity:0;transition:opacity .2s var(--ease)}
.path:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(242,109,90,.16);border-color:#F6C7BD}
.path:hover::before{opacity:1}
.path .picon{transition:background .2s var(--ease),transform .2s var(--ease)}
.path .picon svg{transition:stroke .2s var(--ease)}
.path:hover .picon{background:var(--coral);transform:scale(1.06)}
.path:hover .picon svg{stroke:#fff}
.path .picon{width:42px;height:42px;border-radius:11px;background:var(--coral-wash);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.path .picon svg{width:21px;height:21px;stroke:var(--coral);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.path .n{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;color:var(--coral);margin-bottom:14px}
.path h3{font-size:1.25rem;margin-bottom:9px}
.path p{font-size:.9rem;color:var(--ink);margin:0 0 22px}
.path .btn{margin-top:auto;justify-content:center}
.socshare{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:18px}
.socshare .sl{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:3px}
.socshare a,.socshare .sc{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border:1px solid var(--hairline);border-radius:99px;padding:7px 13px;color:var(--heading);background:var(--white);cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}
.socshare a:hover,.socshare .sc:hover{border-color:var(--coral);color:var(--coral)}
.socshare svg{width:13px;height:13px;fill:currentColor}
.socshare.on-dark a,.socshare.on-dark .sc{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.socshare.on-dark .sl{color:#A9B7C6}
.socshare.on-dark a:hover,.socshare.on-dark .sc:hover{border-color:var(--coral);color:var(--coral)}
/* founder */
.founder{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;margin-top:8px}
@media(max-width:640px){.founder{grid-template-columns:1fr}}
.founder img{width:104px;height:104px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--coral)}
.founder .fn{font-family:var(--font-display);color:var(--heading);font-size:1.25rem}
.founder .fc{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:5px 0 12px}
.founder p{font-size:.95rem;color:var(--ink);max-width:76ch;margin:0}
.founder .flinks{margin-top:15px;display:flex;gap:20px;flex-wrap:wrap}
.founder .flinks a{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--coral);font-weight:600}
.founder .flinks a:hover{color:var(--coral-press)}
.faqlist{max-width:900px;margin-top:8px;border-top:1px solid var(--hairline)}
.faqi{border-bottom:1px solid var(--hairline)}
.faqi summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-family:var(--font-display);font-size:1.12rem;color:var(--heading);line-height:1.35}
.faqi summary::-webkit-details-marker{display:none}
.faqi summary .fx{position:absolute;right:6px;top:24px;width:14px;height:14px}
.faqi summary .fx::before,.faqi summary .fx::after{content:"";position:absolute;background:var(--coral)}
.faqi summary .fx::before{left:0;top:6px;width:14px;height:2px}
.faqi summary .fx::after{left:6px;top:0;width:2px;height:14px;transition:transform .2s var(--ease),opacity .2s}
.faqi[open] summary .fx::after{transform:rotate(90deg);opacity:0}
.faqi[open] summary{color:var(--coral)}
.faqi .faqa{padding:0 40px 22px 0;color:var(--muted);font-size:.98rem;line-height:1.65;max-width:80ch}
/* footer */
footer{background:var(--navy-deep);color:#B7C4D4;padding:56px 0 30px}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:20px}
@media(max-width:820px){.fg{grid-template-columns:1fr 1fr}}
.fg img{height:42px;margin-bottom:16px}
.fg p{font-size:.85rem;line-height:1.6;color:#8ea1b8;max-width:42ch;margin:0}
.fg h2,.fg h4{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:#fff;margin:0 0 13px}
.fg a{display:block;font-size:.88rem;color:#B7C4D4;margin-bottom:9px}
.fg a:hover{color:var(--coral)}
.fbot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#8ea1b8}
/* ===== dedicated mission / vision band ===== */
.mvband{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.mvband .crest{position:absolute;right:-70px;top:-60px;width:360px;opacity:.05;pointer-events:none}
.mvbig{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);margin-top:30px}
@media(max-width:800px){.mvbig{grid-template-columns:1fr;gap:34px}}
.mvbig .mk{font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.mvbig .mk::before{content:"";width:26px;height:2px;background:var(--coral);display:inline-block}
.mvbig p{font-family:var(--font-display);font-size:clamp(1.35rem,1.05rem+1.1vw,1.9rem);line-height:1.4;color:#fff;margin:0;letter-spacing:-.01em}
.mvprinciple{text-align:center;margin-top:clamp(40px,6vw,68px);padding-top:34px;border-top:1px solid rgba(255,255,255,.14);font-family:var(--font-display);font-size:clamp(1.3rem,1rem+1.1vw,1.85rem);color:#fff}
.mvprinciple b{color:var(--coral)}
/* ===== brand reveal (PHSSR-style logo draw) ===== */
.brandmark{position:relative;width:88px;height:88px;margin-bottom:26px}
.brandmark svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.brandmark .ring{fill:none;stroke:rgba(255,255,255,.5);stroke-width:2;stroke-linecap:round;
  stroke-dasharray:290;stroke-dashoffset:290;transform-origin:50% 50%;transform:rotate(-90deg);
  animation:ringdraw 1.15s var(--ease) .15s forwards}
@keyframes ringdraw{to{stroke-dashoffset:0}}
.brandmark .crestimg{position:absolute;inset:14px;width:60px;height:60px;object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:0;transform:scale(.7);animation:crestin .7s var(--ease) .55s forwards}
@keyframes crestin{to{opacity:1;transform:scale(1)}}
.brandmark .cpt{position:absolute;top:6px;right:8px;width:11px;height:11px;border-radius:50%;background:var(--coral);
  opacity:0;transform:translateY(-10px) scale(.4);box-shadow:0 0 0 0 rgba(242,109,90,.5);
  animation:cptin .5s var(--ease) 1.05s forwards}
@keyframes cptin{60%{opacity:1;transform:translateY(2px) scale(1.15)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .brandmark .ring{stroke-dashoffset:0;animation:none}
  .brandmark .crestimg{opacity:1;transform:none;animation:none}
  .brandmark .cpt{opacity:1;transform:none;animation:none}}
/* ===== counters (Resolve-style impact) ===== */
.statb .v{font-variant-numeric:tabular-nums}
/* card content-type tag + read-time (Chatham-style) ===== */
.fcard .meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:11px}
.ctype{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.rdtime{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.rdtime::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--muted);display:inline-block}
/* ===== areas of focus tiles (CGDev-style) ===== */
.focus{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--hairline)}
@media(max-width:820px){.focus{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.focus{grid-template-columns:1fr}}
.ftile{padding:26px 22px 24px 0;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);position:relative;transition:background .2s var(--ease)}
.ftile:nth-child(3n){border-right:0}
@media(max-width:820px){.ftile:nth-child(2n){border-right:0}.ftile:nth-child(3n){border-right:1px solid var(--hairline)}}
.ftile .fnum{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--coral);margin-bottom:12px}
.ftile h3{font-size:1.12rem;line-height:1.25;margin-bottom:8px}
.ftile p{font-size:.85rem;color:var(--muted);margin:0;line-height:1.5}
.ftile.next{border-right:0;background:rgba(28,46,74,.03)}.ftile:nth-child(3n).next{border-right:0}.ftile.next .badge{display:inline-block;margin-bottom:9px}
.ftile.next .fnum{color:var(--muted);margin:0}
.ftile.next .badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);border:1px solid rgba(242,109,90,.4);border-radius:999px;padding:3px 10px}
.ftile.next h3{font-size:1.05rem;margin:0}
.ftile.next p{flex-basis:100%;margin:6px 0 0;max-width:74ch}
.ftile.next p b{color:var(--heading);font-weight:600}
/* ===== identity storytelling banner (animated) ===== */
.idstory{position:relative;overflow:hidden}
.idstage{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(26px,4vw,60px);align-items:center;margin-top:8px}
@media(max-width:880px){.idstage{grid-template-columns:1fr;gap:28px}}
/* crest stage */
.crestwrap{background:var(--white);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-xs);position:relative;overflow:hidden;padding:26px}
.crestwrap::before{content:"";position:absolute;inset:0;background:radial-gradient(115% 85% at 50% 8%,rgba(242,109,90,.06),transparent 58%);pointer-events:none}
.creststage{width:100%;max-width:340px;height:auto;display:block;margin:0 auto;position:relative}
.creststage .cp{transition:opacity .55s var(--ease),filter .45s var(--ease)}
.crestcap{text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:14px}
.crestcap b{color:var(--heading)}
/* animated mode: parts hidden until assembled; JS drives opacity */
.js-anim .creststage .cp{opacity:0}
.js-anim .creststage .cp.point{filter:drop-shadow(0 0 0 rgba(242,109,90,0))}
.js-anim .creststage .cp.hi.point{filter:drop-shadow(0 3px 10px rgba(242,109,90,.55))}
/* beats (right column) */
.beatbox{position:relative}
.beatbox .lbl{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.beatbox .lbl .aut{color:var(--muted);font-size:10px;letter-spacing:.1em}
.beats{position:relative}
.beat{}
.beat .bk{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:10px}
.beat .bt{font-family:var(--font-display);font-size:1.28rem;line-height:1.5;color:var(--heading);margin:0;max-width:56ch}
.beat.big .bt{font-size:1.35rem}
.beat.principle .bt{font-size:clamp(1.4rem,1.1rem+1vw,1.9rem);color:var(--heading)}
.beat.principle .bt b{color:var(--coral)}
/* static (no-JS / reduced motion): all beats stacked */
.beats .beat{padding:16px 0;border-top:1px solid var(--hairline)}
.beats .beat:first-child{border-top:0;padding-top:0}
/* animated: single beat visible, cross-fade */
.js-anim .beats{min-height:230px}
.js-anim .beats .beat{position:absolute;inset:0;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease);border-top:0;padding:0;pointer-events:none}
.js-anim .beats .beat.active{opacity:1;transform:none;pointer-events:auto}
/* progress dots */
.dots{display:flex;gap:9px;margin-top:26px;align-items:center}
.dots button{width:9px;height:9px;border-radius:50%;border:0;background:var(--hairline);padding:0;cursor:pointer;transition:background .25s var(--ease),width .25s var(--ease)}
.dots button:hover{background:#c3ccd6}
.dots button.on{background:var(--coral);width:26px;border-radius:6px}
.dots .hint{margin-left:14px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.js-off .dots{display:none}
/* draft note */
.draftnote{font-family:var(--font-mono);font-size:11px;color:var(--muted);text-align:center;margin-top:34px;letter-spacing:.02em}
.musicbtn{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:transparent;border:1px solid var(--hairline);border-radius:999px;padding:5px 12px;cursor:pointer;transition:all .2s var(--ease)}
.musicbtn:hover{border-color:var(--coral);color:var(--coral)}
.musicbtn.on{border-color:var(--coral);color:var(--coral)}
.musicbtn .ico{width:9px;height:9px;border-radius:50%;background:currentColor;flex:none}
.beatbox .lbl{display:flex;align-items:center;gap:10px}
/* section copy-link + toast (shareable sections) */
.eyebrow .cl{margin-left:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--muted);cursor:pointer;border:0;background:transparent;padding:0;opacity:.6;transition:opacity .15s,color .15s}
.eyebrow .cl:hover{opacity:1;color:var(--coral)}
.eyebrow.on-dark .cl{color:#8ea1b8}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(16px);background:var(--navy);color:#fff;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;padding:11px 18px;border-radius:8px;box-shadow:var(--sh-md);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);z-index:200}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.hs-srch{display:inline-flex;align-items:center;gap:7px;font:600 .9rem "Inter",sans-serif;color:var(--heading);text-decoration:none;border:1px solid var(--hairline);border-radius:999px;padding:9px 14px;white-space:nowrap;flex:0 0 auto;transition:color .15s,border-color .15s}.hs-srch svg{width:16px;height:16px;fill:currentColor;flex:none}.hs-srch:hover{color:var(--coral);border-color:var(--coral)}
@media(max-width:480px){.fg{grid-template-columns:1fr 1fr;gap:22px 26px}.fg>*:first-child{grid-column:1/-1}}
