:root{--paper:#F6F7F4;--panel:#ECEEEA;--ink:#1C2430;--slate:#4A5563;--rule:#D5D9DE;--mark:#F2E27A;--stamp:#A3261F;--link:#1F4E79;
--sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--col:44rem;--wide:74rem}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:1.075rem/1.68 var(--serif);font-optical-sizing:auto}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-underline-offset:.18em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--link);outline-offset:2px}
h1,h2,h3{font-family:var(--sans);line-height:1.12;margin:0 0 .6em;letter-spacing:-.005em}
h1{font-size:clamp(2.4rem,6.5vw,4.6rem);font-weight:850;font-stretch:72%;letter-spacing:-.015em}
h2{font-size:clamp(1.55rem,3.2vw,2.15rem);font-weight:800;font-stretch:82%}
h3{font-size:1.15rem;font-weight:700;font-stretch:92%}
p{margin:0 0 1em}
strong{font-weight:650}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.5rem 1rem;z-index:99}.skip:focus{left:.5rem}
/* header */
.banner{background:var(--ink);text-align:center;font:600 .82rem/1 var(--sans);padding:.55rem}
.banner a{color:#F6F7F4;text-decoration:none}.banner a:hover{text-decoration:underline}
header.site{position:sticky;top:0;z-index:20;background:rgba(246,247,244,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--rule)}
.bar{max-width:var(--wide);margin:auto;display:flex;align-items:center;gap:1.5rem;padding:.7rem 1.25rem}
.wordmark{font:900 1.05rem/1 var(--sans);font-stretch:68%;letter-spacing:.04em;color:var(--ink);text-decoration:none;white-space:nowrap}
nav ul{list-style:none;display:flex;gap:1.3rem;margin:0;padding:0}
nav a{font:600 .92rem/1 var(--sans);color:var(--slate);text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current=page]{color:var(--ink);border-color:var(--ink)}
.report{margin-left:auto;background:var(--stamp);color:#fff;font:700 .9rem/1 var(--sans);padding:.65rem 1rem;border-radius:3px;text-decoration:none;white-space:nowrap}
.report:hover{color:#fff;background:#86201a}
.navtoggle{display:none;margin-left:auto;font:600 .9rem var(--sans);background:none;border:1px solid var(--rule);padding:.45rem .8rem;border-radius:3px;color:var(--ink)}
@media (max-width:980px){.navtoggle{display:block}.report{margin-left:0}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--rule)}
nav.open{display:block}nav ul{flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem}nav a{display:block;padding:.7rem 0}}
@media (max-width:520px){.wordmark{font-size:.9rem}.report{padding:.55rem .7rem;font-size:.8rem}}
/* main column */
main>section,main>article{max-width:var(--wide);margin:0 auto;padding:3.5rem 1.25rem;border-top:1px solid var(--rule)}
main>section>*,main>article>*{max-width:var(--col)}
main>section>.table-wrap,main>section>.strip,main>section>.pgrid,main>section>.addrs,main>section>.act-row,main>section>.twoup,main>section>.tiers,main>section>.gallery,main>section>figure.wide,main>section>.stats,main>section>.flags,main>section>.steps{max-width:none}
.intro{border-top:0!important}
/* hero */
.hero{border-top:0!important;padding-top:4.5rem!important}
.kicker{font:600 .92rem var(--sans);color:var(--slate);margin-bottom:1.2rem}
.hero h1{max-width:16ch}
.hero h1 .sub{display:block;font:italic 400 clamp(1.3rem,2.6vw,1.8rem)/1.3 var(--serif);letter-spacing:0;margin-top:.7rem;color:var(--slate)}
.hero-copy{font-size:1.2rem;max-width:40rem;margin-top:2rem}
.verdict-line strong,.verdict,.snum,.matrix td:last-child,.fnum{background:linear-gradient(transparent 58%,var(--mark) 58%,var(--mark) 92%,transparent 92%)}
.verdict-line{font:700 1.2rem/1.5 var(--sans)}
.verdict{display:inline;font:800 1.2rem/1.6 var(--sans);box-decoration-break:clone;-webkit-box-decoration-break:clone}
p.verdict{display:block;width:fit-content}
.pull{margin:2.5rem 0 1.5rem;padding-left:1.2rem;border-left:4px solid var(--ink);max-width:36rem}
.pull p{font:italic 1.3rem/1.45 var(--serif);margin:0 0 .4rem}.pull cite{font:600 .85rem var(--sans);color:var(--slate);font-style:normal}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin:0}
.chips li{font:600 .85rem var(--sans);border:1px solid var(--ink);padding:.3rem .65rem;border-radius:2px}
/* notice */
.notice-box{background:#fff;border:1px solid var(--rule);border-left:6px solid var(--stamp);padding:1.8rem 2rem;max-width:48rem;box-shadow:0 1px 0 var(--rule)}
.notice-box h2{font-size:1.4rem;color:var(--stamp)}
.notice-box p{font-size:1.06rem}.notice-box p:last-child{margin:0}
figure.subjects{margin:1.75rem 0 0;max-width:48rem}
figure{margin:1.5rem 0}figcaption{font:.85rem/1.45 var(--sans);color:var(--slate);margin-top:.5rem}
.zoom{display:block;cursor:zoom-in}.zoom img{border:1px solid var(--rule);background:#fff}
/* action cards */
.addrs{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:0 0 2rem}
.addr{background:#fff;border:1px solid var(--rule);padding:1rem 1.1rem}
.addr p{margin:.35rem 0 .5rem;font-size:.98rem}.addr a{font:600 .88rem var(--sans)}
.alabel{display:block;font:600 .8rem var(--sans);color:var(--slate)}
.act-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem}
.act-row>div{border-top:3px solid var(--ink);padding-top:.9rem}.act-row p{font-size:.98rem}
.btn{display:inline-block;font:700 .92rem/1.2 var(--sans);color:var(--ink);background:#fff;border:1.5px solid var(--ink);padding:.7rem 1.05rem;border-radius:3px;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--ink);color:#fff}
.btn.solid{background:var(--ink);color:#fff}.btn.solid:hover{background:#000}
.btn.ghost{border-color:var(--rule)}
.btnrow{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--link);text-decoration:underline;cursor:pointer}
/* people grid */
.pgrid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:1.1rem;margin:2rem 0}
.pcard{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);height:100%}
.pcard img,.pcard .initials{aspect-ratio:1;object-fit:cover;object-position:50% 25%;width:100%;filter:grayscale(1) contrast(1.05);border:1px solid var(--rule);background:#fff}
.pcard:hover img{filter:none}
.initials{display:grid;place-items:center;font:900 2.4rem var(--sans);font-stretch:70%;color:var(--slate);background:var(--panel)!important}
.pname{font:700 1rem/1.25 var(--sans);margin-top:.6rem}.plabel{font:500 .86rem/1.35 var(--sans);color:var(--stamp);margin-top:.2rem}
.pgrid.small{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}
.center{text-align:left}
/* evidence strip */
.linklist{padding-left:1.1rem}.linklist li{margin:.25rem 0}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(16rem,22rem);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem 0 1rem;margin:1.5rem 0}
.strip figure{margin:0;scroll-snap-align:start}.strip img{max-height:22rem;object-fit:contain;width:100%}
.testimony{background:#fff;border:1px solid var(--rule);padding:1.6rem 1.8rem;margin:2.5rem 0;max-width:48rem}
.testimony blockquote{margin:0;font-size:1.08rem}
.twoup{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.5rem;margin-top:1.5rem}
.panel{background:var(--panel);padding:1.3rem 1.4rem}.panel h3{margin-top:0}
/* pattern & flags */
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:1.6rem;max-width:48rem!important}
.steps>li{counter-increment:s;display:grid;grid-template-columns:3rem 1fr;column-gap:1rem}
.steps>li::before{content:counter(s);font:900 2.4rem/1 var(--sans);font-stretch:62%;color:var(--stamp);grid-row:span 3}
.steps h3{margin:.25rem 0 .4rem}
.flags{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.5rem 2rem}
.flags li{border-top:2px solid var(--ink);padding-top:.8rem}.flags p{font-size:.98rem}
.fnum{font-stretch:70%;margin-right:.3rem}
.src{font:.82rem/1.45 var(--sans);color:var(--slate)}
.note{font:.9rem/1.5 var(--sans);color:var(--slate);border-left:3px solid var(--mark);padding-left:.8rem}
.clause{background:#fff;border:1px solid var(--rule);border-left:4px solid var(--ink);margin:1.5rem 0;padding:1.2rem 1.4rem;font-size:1.05rem}
.clause cite{display:block;font:.82rem var(--sans);color:var(--slate);font-style:normal}
/* tables */
.table-wrap{overflow-x:auto;margin:1.25rem 0;border:1px solid var(--rule);background:#fff}
table{border-collapse:collapse;width:100%;font:.9rem/1.45 var(--sans)}
th{background:var(--ink);color:#fff;text-align:left;font-weight:700;padding:.6rem .75rem;white-space:nowrap}
td{padding:.55rem .75rem;border-top:1px solid var(--rule);vertical-align:top}
tr:nth-child(even) td{background:#FAFBF9}
.matrix{max-width:36rem!important}.matrix td:last-child{font-weight:700;white-space:nowrap}
/* people page */
.profile{display:grid;grid-template-columns:13rem 1fr;gap:2.5rem}
.profile>*{max-width:none!important}
.p-side .portrait img{filter:grayscale(1);border:1px solid var(--rule)}
.initials-lg{aspect-ratio:1;display:grid;place-items:center;font:900 3.5rem var(--sans);font-stretch:66%;color:var(--slate);background:var(--panel);border:1px solid var(--rule)}
.p-main{max-width:var(--col)}
.facts{margin:1.25rem 0;border:1px solid var(--rule);background:#fff}
.facts summary{cursor:pointer;font:700 .95rem var(--sans);padding:.8rem 1rem}
.facts dl{margin:0;padding:0 1rem 1rem;display:grid;grid-template-columns:minmax(9rem,13rem) 1fr;gap:.45rem 1rem;font:.9rem/1.5 var(--sans)}
.facts dt{font-weight:700}.facts dd{margin:0;overflow-wrap:anywhere}
.cta{font:600 .95rem/1.5 var(--sans);border-top:1px solid var(--rule);padding-top:.9rem}
@media (max-width:760px){.profile{grid-template-columns:1fr;gap:1rem}.p-side{max-width:11rem}.facts dl{grid-template-columns:1fr}}
/* corporate */
.stats{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1.25rem;margin:2rem 0}
.stats li{border-top:2px solid var(--ink);padding-top:.6rem;font:.9rem/1.35 var(--sans);color:var(--slate)}
.snum{display:inline-block;font:900 2.1rem/1.1 var(--sans);font-stretch:70%;color:var(--ink);margin-bottom:.25rem}
.stats li span:last-child{display:block}
.tiers{display:grid;gap:1rem;margin:1.5rem 0}
.tier{border-left:4px solid var(--ink);padding:.3rem 0 .3rem 1rem}
.tier h3{font-size:.95rem;color:var(--slate);margin-bottom:.3rem}
.tier ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.5rem 1.2rem;font:.9rem/1.4 var(--sans)}
.tier li span{display:block;color:var(--slate)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem}.gallery figure{margin:0}
/* faq */
.toc{columns:2 16rem;font:600 .95rem/1.8 var(--sans)}
details{border-top:1px solid var(--rule)}
details summary{cursor:pointer;list-style:none;padding:.9rem 2rem .9rem 0;position:relative}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";position:absolute;right:.2rem;top:.75rem;font:700 1.3rem var(--sans)}
details[open] summary::after{content:"–"}
details summary h3{display:inline;font-size:1.08rem}
details p{padding-bottom:.6rem}
.facts summary::after{top:.55rem;right:.9rem}
/* footer */
footer.site{background:var(--ink);color:#D6DCE2;margin-top:3rem;padding:3rem 1.25rem 2rem;font:.9rem/1.55 var(--sans)}
footer.site a{color:#F6F7F4}
.fgrid{max-width:var(--wide);margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:2rem}
.fcol h2,.legal h2{font-size:.95rem;color:#fff;font-stretch:90%;margin-bottom:.6rem}
.fcol ul{list-style:none;padding:0;margin:0}.fcol li{margin:.3rem 0}.fcol a{text-decoration:none}.fcol a:hover{text-decoration:underline}
.legal{max-width:var(--wide);margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid #3A4454;font-size:.84rem;color:#B8C1CB}
.legal p{max-width:62rem}
.strap{max-width:var(--wide);margin:1.5rem auto .3rem;font-weight:700;color:#fff}
.copy{max-width:var(--wide);margin:0 auto;color:#98A3AF}
/* dialogs */
dialog{border:0;padding:0;max-width:min(60rem,94vw);width:100%;max-height:90vh;background:var(--paper);color:var(--ink);box-shadow:0 20px 60px rgba(28,36,48,.35)}
dialog::backdrop{background:rgba(28,36,48,.7)}
.dlg-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--ink);color:#fff;padding:.8rem 1.2rem;z-index:1}
.dlg-head h2,.dlg-head p{margin:0;font:700 1.1rem/1.3 var(--sans);color:#fff}
.dlg-close{background:none;border:0;color:#fff;font:400 2rem/1 var(--sans);cursor:pointer;padding:0 .3rem}
.dlg-body{padding:1.3rem 1.5rem 2rem}
#lightbox{max-width:96vw;background:#fff}#lightbox img{max-height:82vh;margin:auto;width:auto}
.report-sec{background:var(--panel);max-width:none!important;padding-left:max(1.25rem,calc((100vw - var(--wide))/2 + 1.25rem))!important}
.report-sec h3{margin-top:0}
@media print{header.site,.banner,.btnrow,dialog,.act-row .btn{display:none}body{background:#fff}}
@media (max-width:520px){.bar{gap:.6rem;padding:.6rem .9rem}.wordmark{white-space:normal;max-width:9.5rem;line-height:1.1;font-size:.86rem}.navtoggle{padding:.4rem .6rem}.report{padding:.5rem .6rem;font-size:.78rem}}
