
/* Layout: editorial single column set on a 12-col grid; left rail names each section, content right. Paper ground, navy ink, one gold accent. */
:root{
  --bg:#F7F8FA; --surface:#FFFFFF; --ink:#0A1628; --muted:#55657D; --rule:#D8DEE8;
  --accent:#8A6D1F; --navy:#1A3A6B; --inv-bg:#0A1628; --inv-ink:#EEF1F8; --inv-muted:#9AA8BF;
  --crit:#B42318; --warn:#9A5B00; --watch:#55657D; --nov:#1A3A6B;
  --display:'Newsreader',Georgia,'Times New Roman',serif;
  --body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0A1628; --surface:#101F37; --ink:#EEF1F8; --muted:#9AA8BF; --rule:#22344F;
  --accent:#C9A24B; --navy:#7FA3DB; --inv-bg:#060E1B; --inv-ink:#EEF1F8; --inv-muted:#9AA8BF;
  --crit:#FF8A7A; --warn:#F2B35A; --watch:#9AA8BF; --nov:#8DB0E6; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0A1628; --surface:#101F37; --ink:#EEF1F8; --muted:#9AA8BF; --rule:#22344F;
  --accent:#C9A24B; --navy:#7FA3DB; --inv-bg:#060E1B; --inv-ink:#EEF1F8; --inv-muted:#9AA8BF;
  --crit:#FF8A7A; --warn:#F2B35A; --watch:#9AA8BF; --nov:#8DB0E6; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.6;padding-inline:clamp(16px,4vw,48px);padding-block:0;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:1120px;margin-inline:auto}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
.mono{font-family:var(--mono)}
.label{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* review banner */
.review{background:var(--inv-bg);color:var(--inv-muted);font-family:var(--mono);font-size:.75rem;padding:8px clamp(16px,4vw,48px);margin-inline:calc(-1*clamp(16px,4vw,48px));text-align:left}
.review b{color:var(--inv-ink);font-weight:500}

/* nav */
nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:20px;border-bottom:1px solid var(--rule)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-size:1.5rem}
.brand svg{width:28px;height:28px}
nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
nav ul a{text-decoration:none;font-size:.9rem;color:var(--muted)}
nav ul a:hover{color:var(--ink)}
.btn{display:inline-block;font:500 .9rem var(--body);text-decoration:none;padding:11px 20px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);border-radius:2px}
.btn.ghost{background:transparent;color:var(--ink)}
.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.btn.ghost:hover{background:transparent;color:var(--accent)}

/* sections */
section{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:24px;padding-block:clamp(56px,9vw,104px);border-bottom:1px solid var(--rule)}
section>.label{grid-column:1/-1}
section>.body{grid-column:1/-1;min-width:0}
@media(min-width:860px){
  section>.label{grid-column:1/4;padding-top:.55rem}
  section>.body{grid-column:4/-1}
}

/* hero */
.hero{border-bottom:1px solid var(--rule);padding-block:clamp(56px,10vw,120px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px;align-items:end}
.hero .copy{grid-column:1/-1}
.hero h1{font-size:clamp(2.2rem,5.4vw,4.1rem);line-height:1.08;font-weight:400}
.hero .sub{margin-top:28px;max-width:56ch;font-size:1.125rem;color:var(--muted)}
.hero .cta{margin-top:36px;display:flex;gap:12px;flex-wrap:wrap}
.hero .mark{display:none}
@media(min-width:960px){
  .hero .copy{grid-column:1/10}
  .hero .mark{display:block;grid-column:10/-1;justify-self:end}
  .hero .mark svg{width:150px;height:150px}
}
.firstline{margin-top:56px;padding-top:20px;border-top:1px solid var(--rule);display:flex;gap:12px 32px;flex-wrap:wrap;font-size:.9rem;color:var(--muted)}
.firstline b{color:var(--ink);font-weight:500}

/* story */
.story p{font-size:1.25rem;line-height:1.55;max-width:60ch;font-family:var(--display)}
.story p+p{margin-top:1.1em}
.drivers{margin-top:32px;display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:var(--mono);font-size:.78rem;border:1px solid var(--rule);padding:5px 10px;border-radius:2px;color:var(--muted);background:var(--surface)}

/* standard */
h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.15;max-width:22ch}
.intro{margin-top:16px;max-width:58ch;color:var(--muted)}
.stack{margin-top:36px;border:1px solid var(--rule);background:var(--surface)}
.layer{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:16px 20px;border-top:1px solid var(--rule)}
.layer:first-child{border-top:0}
.layer strong{font-weight:600}
.layer span{color:var(--muted);font-size:.95rem}
@media(min-width:720px){.layer{grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:baseline}}
.layer.trust{background:var(--inv-bg);color:var(--inv-ink)}
.layer.trust span{color:var(--inv-muted)}
.rule-line{margin-top:20px;font-size:.95rem;max-width:62ch}
.rule-line b{font-weight:600}

/* knowledge */
.kl{margin-top:36px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid var(--rule);background:var(--surface)}
.kl div{padding:18px 16px;border-left:1px solid var(--rule);min-width:0}
.kl div:first-child{border-left:0}
.kl strong{display:block;font-family:var(--display);font-weight:400;font-size:1.25rem}
.kl small{display:block;margin-top:6px;color:var(--muted);font-size:.8rem;line-height:1.4}
.kl .fixed{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
@media(max-width:760px){.kl{grid-template-columns:1fr}.kl div{border-left:0;border-top:1px solid var(--rule)}.kl div:first-child{border-top:0}}
.kl-rules{margin-top:20px;display:grid;gap:8px;font-size:.95rem;max-width:62ch;padding-left:1.1em}

/* product */
.prod{margin-top:36px;display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
@media(min-width:900px){.prod{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}}
.screen{border:1px solid var(--rule);background:var(--surface);box-shadow:0 1px 0 var(--rule)}
.screen header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--rule);font-size:.85rem}
.screen header b{font-weight:600}
.screen header span{color:var(--muted);font-family:var(--mono);font-size:.72rem}
.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:12px 16px;border-top:1px solid var(--rule);white-space:nowrap}
th{font:500 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-top:0}
td.id{font-family:var(--mono);color:var(--muted);font-size:.8rem}
.state{font:500 .72rem var(--mono);letter-spacing:.06em;padding:3px 8px;border:1px solid currentColor;border-radius:2px}
.s-crit{color:var(--crit)}.s-warn{color:var(--warn)}.s-watch{color:var(--watch)}.s-nov{color:var(--nov)}
.screen footer{padding:12px 16px;border-top:1px solid var(--rule);font-size:.8rem;color:var(--muted)}
.points{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.points li{padding-top:16px;border-top:1px solid var(--rule)}
.points b{display:block;font-weight:600;margin-bottom:2px}
.points span{color:var(--muted);font-size:.95rem}
.status-legend{margin-top:28px;display:flex;gap:8px 20px;flex-wrap:wrap;align-items:center;font-size:.85rem;color:var(--muted)}
.status-legend .chip{color:var(--ink)}


.shots{margin-top:36px}
.tabs{display:flex;gap:0;flex-wrap:wrap;border-bottom:1px solid var(--rule)}
.tabs button{font:500 .9rem var(--body);color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;padding:12px 20px 12px 0;margin-right:24px;cursor:pointer}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.frame{margin-top:20px;border:1px solid var(--rule);background:var(--surface);box-shadow:0 18px 40px -24px rgba(10,22,40,.35)}
.pane{margin:0}
.pane img{display:block;width:100%;height:auto}
.pane figcaption{display:grid;gap:2px;padding:14px 18px;border-top:1px solid var(--rule);font-size:.9rem}
.pane figcaption span{color:var(--muted)}
.shotnote{margin-top:12px;font-family:var(--mono);font-size:.75rem;color:var(--muted)}
.points.three{margin-top:32px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}

/* replay */
.replay{margin-top:36px;border:1px solid var(--rule);background:var(--surface)}
.replay .ans{padding:20px;border-bottom:1px solid var(--rule);display:grid;gap:6px}
.replay .ans .q{color:var(--muted);font-size:.9rem}
.replay .ans .a{font-family:var(--display);font-size:1.4rem;line-height:1.3}
.replay dl{margin:0}
.replay .row{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 20px;border-top:1px solid var(--rule);transition:background .3s}
.replay .row:first-of-type{border-top:0}
.replay dt{font:500 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.replay dd{margin:0;font-family:var(--mono);font-size:.85rem;overflow-wrap:anywhere}
@media(min-width:720px){.replay .row{grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:baseline}}
.replay .row.on{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}
.replay .bar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--rule);font-size:.8rem;color:var(--muted)}
button.btn{cursor:pointer}
@media(prefers-reduced-motion:reduce){.replay .row{transition:none}}

/* research */
.paper{margin-top:32px;display:grid;gap:6px;padding:24px;border:1px solid var(--rule);background:var(--surface);max-width:640px}
.paper h3{font-size:1.6rem;line-height:1.2}
.paper .meta{font-family:var(--mono);font-size:.78rem;color:var(--muted)}

/* delivery */
.cols3{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border:1px solid var(--rule);background:var(--surface)}
.cols3>div{padding:22px 20px;border-left:1px solid var(--rule)}
.cols3>div:first-child{border-left:0}
.cols3 h3{font-size:1.3rem;margin-bottom:8px}
.cols3 p{color:var(--muted);font-size:.95rem}
@media(max-width:700px){.cols3>div{border-left:0;border-top:1px solid var(--rule)}.cols3>div:first-child{border-top:0}}

/* team */
.team{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:0;border:1px solid var(--rule);background:var(--surface)}
.person{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;padding:24px;border-top:1px solid var(--rule);margin-top:-1px;margin-left:-1px;border-left:1px solid var(--rule)}
.person .photo{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;max-width:100%;border:1px solid var(--rule);filter:grayscale(1) contrast(1.04)}
.person .txt{min-width:0}
.person h3{font-size:1.35rem}
.person .role{font-size:.85rem;color:var(--accent);margin-top:2px;font-weight:500}
.person p{margin-top:10px;font-size:.92rem;color:var(--muted)}
.person .tag{display:block;margin-top:12px;font:400 .72rem var(--mono);letter-spacing:.04em;color:var(--ink)}
@media(max-width:420px){.person{grid-template-columns:84px minmax(0,1fr);gap:14px;padding:18px}}

/* closing */
.close{background:var(--inv-bg);color:var(--inv-ink);margin-inline:calc(-1*clamp(16px,4vw,48px));padding:clamp(64px,10vw,120px) clamp(16px,4vw,48px)}
.close .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.close h2{color:var(--inv-ink);font-size:clamp(2rem,4.4vw,3.2rem);max-width:20ch}
.close p{color:var(--inv-muted);max-width:56ch}
.close .btn{background:var(--inv-ink);color:var(--inv-bg);border-color:var(--inv-ink);justify-self:start}
.close .btn:hover{background:#C9A24B;border-color:#C9A24B;color:#0A1628}

footer.site{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:32px;padding-block:48px;font-size:.9rem}
footer.site h4{margin:0 0 10px;font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer.site a{text-decoration:none;color:var(--ink)}
footer.site a:hover{color:var(--accent)}
.fine{padding-bottom:40px;font-family:var(--mono);font-size:.75rem;color:var(--muted)}

/* motion layer: one idea per block, all of it off under prefers-reduced-motion */
nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero .copy>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero .copy>*:nth-child(2){animation-delay:.12s}.hero .copy>*:nth-child(3){animation-delay:.24s}.hero .copy>*:nth-child(4){animation-delay:.36s}
.hero .copy{grid-column:1/-1}
@media(min-width:960px){.hero .copy{grid-column:1/8}.hero .net{grid-column:8/-1}}
.fields{margin-top:22px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:1rem}
.rot{font-family:var(--display);font-size:1.35rem;color:var(--accent);transition:opacity .45s ease,transform .45s ease;display:inline-block;min-width:11ch}
.rot.out{opacity:0;transform:translateY(6px)}
.net{margin:0;justify-self:stretch}
.net svg{display:block;width:100%;height:auto;max-width:460px;margin-inline:auto}
.net figcaption{margin-top:6px;text-align:center;font:400 .72rem var(--mono);color:var(--muted);letter-spacing:.04em}
.net .edge{stroke:var(--muted);stroke-width:1.2;fill:none;stroke-dasharray:3 6;animation:flow 2.4s linear infinite;opacity:.7}
.net .edge.hot{stroke:var(--crit);opacity:.9;stroke-width:1.6}
@keyframes flow{to{stroke-dashoffset:-18}}
.net .nd{fill:var(--surface);stroke-width:1.8}
.net .lbl{font:500 9px var(--mono);fill:var(--muted);letter-spacing:.03em}
.net .ring{fill:none;stroke:var(--crit);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ping 2.8s ease-out infinite}
.net .ring.b{animation-delay:1.4s}
@keyframes ping{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.6);opacity:0}}
.net .dot{fill:var(--accent);offset-rotate:0deg;animation:travel 5s linear infinite}
.net .dot.b{animation-duration:7s;animation-delay:-2s}
@keyframes travel{from{offset-distance:0%}to{offset-distance:100%}}
body{overflow-x:clip}
/* ticker */
.ticker{background:var(--inv-bg);color:var(--inv-ink);width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;border-block:1px solid #22344F}
.ticker .row{display:flex;align-items:center}
.ticker .tag{flex:none;padding:12px clamp(16px,4vw,48px) 12px clamp(16px,4vw,48px);font:500 .72rem var(--mono);letter-spacing:.08em;color:#9AA8BF;background:var(--inv-bg);z-index:1;border-right:1px solid #22344F;text-transform:uppercase}
.ticker .view{overflow:hidden;flex:1;min-width:0}
.ticker .track{display:flex;width:max-content;animation:scroll 70s linear infinite}
.ticker:hover .track{animation-play-state:paused}
.ticker .it{display:flex;gap:10px;align-items:center;padding:12px 28px;white-space:nowrap;font-size:.85rem;color:#C9D2E3}
.ticker .it b{font:500 .7rem var(--mono);letter-spacing:.06em;padding:2px 7px;border:1px solid currentColor;border-radius:2px}
.ticker .it .id{font-family:var(--mono);color:#9AA8BF;font-size:.78rem}
.ticker .c{color:#FF8A7A}.ticker .w{color:#F2B35A}.ticker .y{color:#9AA8BF}.ticker .n{color:#8DB0E6}
@keyframes scroll{to{transform:translateX(-50%)}}
/* reveal on scroll: visible at rest, hidden only while JS is active and the element is below the fold */
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
/* knowledge flow */
.flow{position:relative;height:2px;margin-top:14px;background:var(--rule)}
.flow i{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:slide 6s ease-in-out infinite}
@keyframes slide{0%{left:0}100%{left:calc(100% - 8px)}}
.flowlbl{display:flex;justify-content:space-between;margin-top:8px;font:400 .72rem var(--mono);color:var(--muted);letter-spacing:.04em}
/* gallery progress */
.prog{height:2px;background:var(--rule);margin-top:-1px;overflow:hidden}
.prog i{display:block;height:100%;width:0;background:var(--accent)}
.prog.run i{animation:fill var(--dur,7s) linear forwards}
@keyframes fill{to{width:100%}}
.layer.trust{position:relative;overflow:hidden}
.layer.trust::after{content:"";position:absolute;inset:0 auto 0 -30%;width:30%;background:linear-gradient(90deg,transparent,rgba(201,162,75,.18),transparent);animation:sweep 5s ease-in-out infinite}
@keyframes sweep{0%,30%{left:-30%}100%{left:110%}}
@media(prefers-reduced-motion:reduce){
  .hero .copy>*,.ticker .track,.net .edge,.net .ring,.net .dot,.flow i,.layer.trust::after,.prog.run i{animation:none!important}
  .js .rv{opacity:1!important;transform:none!important;transition:none!important}
  .rot{transition:none}
  .prog i{width:100%}
}

/* ---- inner pages ---- */
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:8px 14px;z-index:50;font-size:.85rem}
.skip:focus{left:8px}
nav ul a[aria-current="page"]{color:var(--ink);box-shadow:0 2px 0 var(--accent)}
@media(max-width:720px){nav ul{order:3;width:100%;gap:18px}}
.phead{padding-block:clamp(48px,8vw,100px) clamp(40px,6vw,72px);border-bottom:1px solid var(--rule)}
.phead .label{margin-bottom:20px}
.phead h1{font-size:clamp(2.1rem,4.8vw,3.5rem);line-height:1.1;max-width:20ch;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.phead .sub{margin-top:24px;max-width:60ch;font-size:1.125rem;color:var(--muted);animation:rise .9s .12s cubic-bezier(.2,.7,.2,1) both}
.phead .cta{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap;animation:rise .9s .24s cubic-bezier(.2,.7,.2,1) both}
main section:last-of-type{border-bottom:0}
.prose p{max-width:62ch;font-size:1.08rem}
.prose p+p{margin-top:1.1em}
.quote{margin:32px 0 0;padding:4px 0 4px 22px;border-left:2px solid var(--accent);max-width:62ch;font-family:var(--display);font-size:1.3rem;line-height:1.45}
.quote cite{display:block;margin-top:12px;font:400 .78rem var(--mono);color:var(--muted);font-style:normal}
.regs{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));border:1px solid var(--rule);background:var(--surface)}
.regs>div{padding:22px 22px 24px;border-top:1px solid var(--rule);border-left:1px solid var(--rule);margin-top:-1px;margin-left:-1px}
.regs .ref{font:500 .72rem var(--mono);letter-spacing:.06em;color:var(--accent);text-transform:uppercase}
.regs h3{font-size:1.25rem;margin:6px 0 8px}
.regs p{color:var(--muted);font-size:.93rem}
.surfaces{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0;border:1px solid var(--rule);background:var(--surface)}
.surfaces>div{padding:20px 20px 22px;border-top:1px solid var(--rule);border-left:1px solid var(--rule);margin-top:-1px;margin-left:-1px}
.surfaces h3{font-size:1.2rem;margin-bottom:6px}
.surfaces p{color:var(--muted);font-size:.92rem}
.meta{margin:24px 0 0;display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr);border-top:1px solid var(--rule)}
.meta dt,.meta dd{margin:0;padding:10px 0;border-bottom:1px solid var(--rule)}
.meta dt{font:500 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:13px}
.meta dd{overflow-wrap:anywhere}
.paper.wide{max-width:none}
.paper .sub2{color:var(--muted);font-size:.95rem}
.links{margin-top:14px;display:flex;gap:18px;flex-wrap:wrap}
.links a{color:var(--accent);font-weight:500}
.fcard{border:1px solid var(--rule);background:var(--surface);padding:clamp(20px,3vw,32px);max-width:720px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}
.field{display:grid;gap:6px}
.field.full{grid-column:1/-1}
.field label{font:500 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{font:400 1rem var(--body);color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:2px;padding:11px 12px;width:100%}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.fnote{margin-top:16px;font-size:.85rem;color:var(--muted);max-width:60ch}
.fnote a{color:var(--accent)}
.f-stat{margin-top:16px;font-size:.95rem}
.f-stat.ok{color:var(--ink)}
.f-stat.err{color:var(--crit)}
.f-stat textarea{width:100%;margin-top:12px;min-height:150px;font:400 .85rem var(--mono);background:var(--bg);color:var(--ink);border:1px solid var(--rule);padding:12px}
.covers{margin-top:36px;display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--rule);background:var(--surface)}
.covers>div{padding:20px;border-top:1px solid var(--rule);border-left:1px solid var(--rule);margin-top:-1px;margin-left:-1px}
@media(min-width:720px){.covers{grid-template-columns:repeat(3,minmax(0,1fr))}}
.covers h3{font-size:1.2rem;margin-bottom:6px}
.covers p{color:var(--muted);font-size:.93rem}
/* policies */
.toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.toc a{font:400 .78rem var(--mono);border:1px solid var(--rule);padding:6px 12px;text-decoration:none;background:var(--surface)}
.toc a:hover{border-color:var(--accent);color:var(--accent)}
.meta-row{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:24px;font-size:.9rem;color:var(--muted)}
.meta-row b{color:var(--ink);font-weight:500;margin-right:6px}
.panel{border:1px solid var(--rule);background:var(--surface);padding:clamp(20px,3vw,32px);margin-top:24px;max-width:820px}
.panel-k{font:500 .72rem var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.panel h3{font-size:1.6rem;margin:6px 0 8px}
.panel .status{font-size:.82rem;color:var(--accent);margin-bottom:14px}
.panel .status .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px}
.panel p,.panel li{max-width:64ch}
.panel p+p,.panel ul,.panel h4{margin-top:12px}
.panel ul{padding-left:1.2em;display:grid;gap:8px}
.panel a,.contact a{color:var(--accent)}
.pol main section{display:block;padding-block:0;border:0}
