/* ETegro — the magazine of AI-era infrastructure
   Direction 1a: THE CROSS-SECTION. Dark descent homepage, light paper articles. */

:root{
  --bg0:#0a0d13; --bg1:#0f131c; --bg2:#151a26; --bg3:#1c2231;
  --dline:rgba(210,220,255,.10); --dline2:rgba(210,220,255,.18);
  --dtx:#e9ebf2; --dmut:#9aa2b5; --dfaint:#626a7d;
  --paper:#f5f2ea; --paper2:#ece8dc; --paper3:#e3ded0;
  --ink:#1a1c22; --imut:#575c68; --iline:rgba(26,28,34,.14);
  --acc:#8892f2; --acc-deep:#5560d8; --acc-ink:#3a44b8;
  --amber:#d9a45b; --air:#7fae95; --close:#d9a45b; --liquid:#8892f2; --imm:#c77dd8;
  --serif:"Palatino Linotype",Palatino,"Iowan Old Style","Book Antiqua",Georgia,serif;
  --sans:"Avenir Next","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"SF Mono","Cascadia Code",Menlo,Consolas,"DejaVu Sans Mono",monospace;
  --rail-w:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg0);color:var(--dtx);font-family:var(--serif);font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--acc);text-decoration:none}
a:hover{color:#aab2ff}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.12;margin:0;text-wrap:balance;font-weight:700}
.kicker{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dmut)}
.wrap{max-width:1500px;margin-inline:auto;padding-inline:clamp(20px,4vw,64px)}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(10,13,19,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--dline)}
.site-head .wrap{display:flex;align-items:center;gap:28px;min-height:64px}
.wordmark{display:flex;align-items:baseline;gap:12px;color:var(--dtx)}
.wordmark:hover{color:#fff}
.wordmark b{font-family:var(--serif);font-weight:800;font-size:1.45rem;letter-spacing:.01em}
.wordmark b i{font-style:normal;color:var(--acc)}
.tagline{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dfaint);white-space:nowrap}
.nav{display:flex;align-items:stretch;margin-left:auto}
.nav>div{position:relative}
.nav-top{display:flex;align-items:center;gap:6px;padding:20px 13px;font-family:var(--sans);font-size:.86rem;font-weight:600;letter-spacing:.02em;color:var(--dmut);background:none;border:0;cursor:pointer}
.nav>div:hover .nav-top,.nav>div:focus-within .nav-top{color:var(--dtx)}
.nav-top svg{opacity:.55}
.drop{visibility:hidden;opacity:0;transform:translateY(6px);transition:.14s ease;position:absolute;top:100%;left:50%;translate:-50% 0;width:330px;background:var(--bg2);border:1px solid var(--dline2);border-radius:10px;padding:16px 18px 14px;box-shadow:0 22px 50px rgba(0,0,0,.55)}
.nav>div:hover .drop,.nav>div:focus-within .drop{visibility:visible;opacity:1;transform:none}
.drop .kicker{display:block;margin-bottom:4px;color:var(--acc)}
.drop p{font-size:.84rem;color:var(--dmut);margin:0 0 10px;line-height:1.45;font-family:var(--sans)}
.drop ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--dline)}
.drop li a{display:flex;gap:10px;align-items:baseline;padding:8px 2px;border-bottom:1px solid var(--dline);color:var(--dtx);font-family:var(--sans);font-size:.9rem;line-height:1.35}
.drop li a:hover{color:var(--acc)}
.drop li a .rt{margin-left:auto;font-family:var(--mono);font-size:.66rem;color:var(--dfaint);white-space:nowrap}
.drop .all{display:inline-block;margin-top:10px;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.nav-about{align-self:center;padding:6px 14px;font-family:var(--sans);font-size:.86rem;font-weight:600;color:var(--dmut)}
.nav-about:hover{color:var(--dtx)}
/* mobile nav */
#navtoggle{display:none}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--dline2);border-radius:8px;color:var(--dtx);padding:8px 10px;cursor:pointer}

/* ---------- elevation rail ---------- */
.rail{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:40;width:var(--rail-w);display:flex;flex-direction:column;align-items:center;gap:0;padding:18px 0}
.rail .rail-line{position:absolute;top:26px;bottom:26px;left:50%;width:1px;background:var(--dline2)}
.rail a{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:13px 0;color:var(--dfaint);font-family:var(--mono);font-size:.6rem;letter-spacing:.08em}
.rail a .dot{width:9px;height:9px;border-radius:50%;background:var(--bg3);border:1.5px solid var(--dfaint);transition:.2s}
.rail a span{writing-mode:vertical-rl;text-orientation:mixed}
.rail a:hover{color:var(--dmut)}
.rail a.active{color:var(--acc)}
.rail a.active .dot{background:var(--acc);border-color:var(--acc);box-shadow:0 0 0 4px rgba(136,146,242,.18)}

/* ---------- scale prologue ---------- */
.prologue{position:relative;padding:clamp(70px,11vh,130px) 0 clamp(56px,8vh,96px);border-bottom:1px solid var(--dline);overflow:hidden}
.prologue .wrap{position:relative}
.prologue .kicker{color:var(--acc)}
.prologue h1{font-size:clamp(2.5rem,6vw,5.2rem);font-weight:800;letter-spacing:-.015em;max-width:20ch;margin:.35em 0 .3em}
.prologue .standfirst{font-size:clamp(1.12rem,1.6vw,1.4rem);color:var(--dmut);max-width:56ch;line-height:1.55;margin:0}
.prologue .standfirst a{border-bottom:1px solid rgba(136,146,242,.4)}
.scale-row{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--dline);border:1px solid var(--dline);margin-top:clamp(40px,6vh,72px)}
.scale-cell{background:var(--bg1);padding:22px 20px 18px;position:relative}
.scale-cell .fig{display:block;font-family:var(--mono);font-size:clamp(1.3rem,2.1vw,1.9rem);font-weight:600;color:var(--dtx);letter-spacing:-.01em;white-space:nowrap}
.scale-cell .lbl{font-family:var(--sans);font-size:.84rem;color:var(--dmut);margin-top:12px;line-height:1.4;display:block}
.scale-cell::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--acc),transparent);opacity:.5}
.scale-arrow{text-align:center;font-family:var(--mono);font-size:.7rem;letter-spacing:.3em;color:var(--dfaint);margin-top:26px;text-transform:uppercase}

/* ---------- depth bands ---------- */
.depth{border-bottom:1px solid var(--dline);padding:clamp(56px,8vh,96px) 0;position:relative}
.depth-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:10px}
.depth-head .zone{font-family:var(--mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--acc)}
.depth-head .zlabel{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--dmut)}
.depth-head .seclink{margin-left:auto;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.depth-blurb{font-size:1.16rem;color:var(--dmut);max-width:62ch;line-height:1.55;margin:0 0 40px;font-family:var(--sans)}
.depth h2.sec-title{font-size:clamp(1.7rem,3vw,2.5rem);margin:0 0 6px;letter-spacing:-.01em}

/* feature entry */
.feature{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(26px,3.5vw,54px);align-items:end}
.feature .art{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg2)}
.feature .art img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.feature .txt .kicker{color:var(--amber)}
.feature h3{font-size:clamp(1.7rem,2.8vw,2.6rem);letter-spacing:-.012em;margin:.35em 0 .4em}
.feature h3 a{color:var(--dtx)}
.feature h3 a:hover{color:var(--acc)}
.feature .dek{font-size:1.1rem;color:var(--dmut);line-height:1.55;margin:0 0 14px;font-family:var(--sans)}
.meta{font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;color:var(--dfaint)}
.meta b{color:var(--dmut);font-weight:500}

/* full-bleed flagship */
.flagship{position:relative;margin:0 0 56px;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;background:var(--bg2)}
.flagship img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.flagship .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,19,.15) 30%,rgba(10,13,19,.88) 82%)}
.flagship .txt{position:relative;padding:clamp(24px,4vw,56px);max-width:880px}
.flagship .kicker{color:var(--amber)}
.flagship h3{font-size:clamp(2rem,4.4vw,3.8rem);letter-spacing:-.018em;margin:.3em 0 .35em}
.flagship h3 a{color:#fff}
.flagship h3 a:hover{color:var(--acc)}
.flagship .dek{font-size:1.15rem;color:var(--dmut);line-height:1.55;font-family:var(--sans);max-width:64ch;margin:0 0 14px}

/* secondary entries */
.entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1px;background:var(--dline);border-block:1px solid var(--dline);margin-top:48px}
.entry{background:var(--bg0);padding:26px 24px 22px;display:flex;flex-direction:column;min-height:210px}
.entry:hover{background:var(--bg1)}
.entry .kicker{margin-bottom:10px}
.entry h4{font-size:1.3rem;line-height:1.22;letter-spacing:-.008em;margin:0 0 10px}
.entry h4 a{color:var(--dtx)}
.entry h4 a:hover{color:var(--acc)}
.entry p{font-family:var(--sans);font-size:.95rem;color:var(--dmut);line-height:1.5;margin:0 0 16px}
.entry .meta{margin-top:auto}
.entry.with-art .eart{aspect-ratio:16/9;margin:-26px -24px 18px;overflow:hidden}
.entry.with-art .eart img{width:100%;height:100%;object-fit:cover}

/* by-the-numbers rail */
.btn-rail{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--dline);border:1px solid var(--dline);margin-top:48px}
.btn-cell{background:var(--bg1);padding:18px 18px 15px}
.btn-cell .n{display:block;font-family:var(--mono);font-size:1.45rem;font-weight:600;color:var(--amber);white-space:nowrap}
.btn-cell .l{display:block;font-family:var(--sans);font-size:.82rem;color:var(--dmut);margin-top:8px;line-height:1.35}
.btn-title{grid-column:1/-1;background:var(--bg2);padding:10px 18px;font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dmut)}

/* twin sub-blocks (depth 03 / 04) */
.twin{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3.5vw,54px);margin-top:52px}
.subsec>.kicker{display:block;border-top:2px solid var(--acc);padding-top:12px;color:var(--acc)}
.subsec h3.sub-title{font-size:1.6rem;margin:.4em 0 .2em}
.subsec .sub-blurb{font-family:var(--sans);font-size:.98rem;color:var(--dmut);line-height:1.5;margin:0 0 18px}
.sublist{list-style:none;margin:0;padding:0}
.sublist li{border-top:1px solid var(--dline)}
.sublist li:last-child{border-bottom:1px solid var(--dline)}
.sublist a{display:flex;align-items:baseline;gap:14px;padding:14px 2px;color:var(--dtx)}
.sublist a:hover{background:var(--bg1)}
.sublist .st{font-family:var(--serif);font-size:1.12rem;font-weight:600;line-height:1.3}
.sublist .rt{margin-left:auto;font-family:var(--mono);font-size:.68rem;color:var(--dfaint);white-space:nowrap}

/* ---------- rack builder ---------- */
.rb-band{background:var(--bg1)}
.rb-intro{max-width:70ch;font-size:1.16rem;font-family:var(--sans);color:var(--dmut);line-height:1.55;margin:0 0 44px}
.rb{display:grid;grid-template-columns:minmax(300px,4fr) minmax(0,5fr) minmax(260px,3fr);gap:clamp(20px,2.6vw,40px);align-items:start}
.rb-panel{background:var(--bg2);border:1px solid var(--dline2);border-radius:12px;padding:20px}
.rb h3.rb-t{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--dmut);margin:0 0 14px}
/* rack visual */
.rack-frame{position:relative;display:flex;gap:10px}
.rack-u-scale{display:flex;flex-direction:column-reverse;justify-content:space-between;font-family:var(--mono);font-size:.56rem;color:var(--dfaint);padding:2px 0;text-align:right;width:20px}
.rack{flex:1;height:588px;background:var(--bg0);border:2px solid var(--dline2);border-radius:6px;padding:4px;display:flex;flex-direction:column-reverse;gap:0;position:relative;overflow:hidden;background-image:repeating-linear-gradient(to top,transparent 0 13px,rgba(210,220,255,.045) 13px 14px)}
.rack-item{position:relative;border-radius:3px;margin-top:2px;display:flex;align-items:center;gap:8px;padding:0 10px;font-family:var(--mono);font-size:.62rem;letter-spacing:.02em;color:#0c0f16;cursor:pointer;overflow:hidden;flex:none}
.rack-item .ri-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.rack-item .ri-w{margin-left:auto;opacity:.75;white-space:nowrap}
.rack-item .ri-x{font-weight:700;opacity:.6}
.rack-item:hover .ri-x{opacity:1}
.rack-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--dfaint);text-transform:uppercase;pointer-events:none;text-align:center;line-height:2}
/* device palette */
.dev-group{margin-bottom:14px}
.dev-group .dg-t{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dfaint);margin:0 0 6px}
.dev{width:100%;display:flex;align-items:center;gap:10px;background:var(--bg3);border:1px solid var(--dline);border-radius:8px;padding:9px 12px;margin-bottom:6px;cursor:pointer;color:var(--dtx);font-family:var(--sans);font-size:.88rem;text-align:left;transition:.12s}
.dev:hover{border-color:var(--acc);background:#202741}
.dev:disabled{opacity:.35;cursor:not-allowed}
.dev .d-u{font-family:var(--mono);font-size:.62rem;color:var(--dmut);background:var(--bg0);border-radius:4px;padding:2px 6px;white-space:nowrap}
.dev .d-w{margin-left:auto;font-family:var(--mono);font-size:.7rem;color:var(--amber);white-space:nowrap}
.dev .d-add{font-family:var(--mono);color:var(--acc);font-weight:700}
.rb-note{min-height:64px;background:var(--bg0);border:1px solid var(--dline);border-radius:8px;padding:10px 12px;font-family:var(--sans);font-size:.84rem;color:var(--dmut);line-height:1.45;margin-top:4px}
.rb-note b{color:var(--dtx);font-weight:600;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em}
.rb-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.rb-presets button{background:none;border:1px solid var(--dline2);border-radius:99px;color:var(--dmut);font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:7px 13px;cursor:pointer}
.rb-presets button:hover{color:var(--dtx);border-color:var(--acc)}
/* readouts */
.ro{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.ro-cell{background:var(--bg0);border:1px solid var(--dline);border-radius:8px;padding:12px 14px}
.ro-cell .v{display:block;font-family:var(--mono);font-size:1.6rem;font-weight:600;color:var(--dtx);white-space:nowrap}
.ro-cell .v small{font-size:.9rem;color:var(--dfaint)}
.ro-cell .k{display:block;font-family:var(--sans);font-size:.74rem;color:var(--dmut);margin-top:6px}
/* gauge */
.gauge{margin:6px 0 4px}
.gauge-bar{position:relative;height:14px;border-radius:7px;overflow:hidden;background:linear-gradient(90deg,var(--air) 0 15%,var(--close) 15% 30%,var(--liquid) 30% 60%,var(--imm) 60% 100%);opacity:.92}
.gauge-mask{position:absolute;top:0;right:0;bottom:0;background:rgba(10,13,19,.82);transition:left .35s ease}
.gauge-needle{position:absolute;top:-4px;bottom:-4px;width:2px;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.7);transition:left .35s ease}
.gauge-ticks{position:relative;height:26px;font-family:var(--mono);font-size:.58rem;color:var(--dfaint)}
.gauge-ticks span{position:absolute;transform:translateX(-50%);top:6px;white-space:nowrap}
.gauge-ticks span::before{content:"";position:absolute;left:50%;top:-8px;width:1px;height:6px;background:var(--dline2)}
.gauge-zones{display:flex;font-family:var(--mono);font-size:.56rem;letter-spacing:.06em;color:var(--dfaint);margin-top:2px}
.gauge-zones span{text-align:center}
.verdict{border-radius:10px;border:1px solid var(--dline2);padding:16px 18px;margin-top:14px;background:var(--bg0)}
.verdict .vd-t{font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.verdict p{font-family:var(--sans);font-size:.9rem;color:var(--dmut);line-height:1.5;margin:8px 0 0}
.rb-read{margin-top:16px;font-family:var(--sans);font-size:.9rem;color:var(--dmut);line-height:1.5}

/* ---------- depth 05 grid + scale compare ---------- */
.grid-band{background:linear-gradient(180deg,var(--bg0),#0c1018)}
.grid-band .lede{font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.45;max-width:44ch;color:var(--dtx);margin:0 0 12px}
.grid-band .lede-sub{font-family:var(--sans);font-size:1.05rem;color:var(--dmut);max-width:60ch;line-height:1.55;margin:0 0 44px}
.compare{border:1px solid var(--dline);background:var(--bg1);padding:26px clamp(18px,2.5vw,36px) 20px}
.compare .c-t{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dmut);margin:0 0 20px}
.cmp-row{display:grid;grid-template-columns:190px 1fr 110px;gap:14px;align-items:center;padding:9px 0;border-top:1px solid var(--dline)}
.cmp-row .c-l{font-family:var(--sans);font-size:.9rem;color:var(--dtx)}
.cmp-row .c-l small{display:block;color:var(--dfaint);font-size:.76rem}
.cmp-track{height:10px;background:rgba(210,220,255,.06);border-radius:5px;overflow:hidden}
.cmp-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--acc-deep),var(--acc));transition:width .5s ease}
.cmp-row .c-v{font-family:var(--mono);font-size:.8rem;color:var(--amber);text-align:right;white-space:nowrap}
.cmp-row.yours .c-l,.cmp-row.yours .c-v{color:var(--acc)}
.cmp-row.yours .cmp-fill{background:var(--amber)}
.cmp-note{font-family:var(--mono);font-size:.64rem;color:var(--dfaint);margin-top:14px;letter-spacing:.05em}

/* ---------- supporters ---------- */
.supporters{border-bottom:1px solid var(--dline);padding:clamp(50px,7vh,80px) 0;background:var(--bg0)}
.sup-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:8px}
.supporters h2{font-size:1.5rem}
.sup-dek{font-family:var(--sans);font-size:.98rem;color:var(--dmut);max-width:64ch;line-height:1.5;margin:6px 0 34px}
.sup-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--dline);border:1px solid var(--dline)}
.sponsor{display:flex;flex-direction:column;background:var(--bg1);padding:18px 18px 16px;min-height:150px;position:relative;color:var(--dmut)}
.sponsor:hover{background:var(--bg2)}
.sponsor::before{content:"FEED " attr(data-partner);font-family:var(--mono);font-size:.58rem;letter-spacing:.16em;color:var(--dfaint)}
.sponsor::after{content:"";position:absolute;top:20px;right:16px;width:7px;height:7px;border-radius:50%;background:var(--air);box-shadow:0 0 8px rgba(127,174,149,.8);animation:led 3.2s infinite}
.sponsor img{height:44px;width:auto;max-width:88%;object-fit:contain;margin:16px 0 10px;filter:grayscale(.15)}
.sponsor-blurb{font-family:var(--sans);font-size:.8rem;line-height:1.45;color:var(--dmut)}
.sponsor-blurb:empty::before{content:"— supporter line to follow —";color:var(--dfaint);font-family:var(--mono);font-size:.66rem;letter-spacing:.08em}
@keyframes led{0%,92%{opacity:1}96%{opacity:.35}100%{opacity:1}}

/* ---------- footer ---------- */
.site-foot{padding:clamp(50px,7vh,84px) 0 40px;background:#080a0f}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(24px,3vw,48px)}
.foot-grid .wordmark b{font-size:1.7rem}
.foot-mission{font-family:var(--sans);font-size:.92rem;color:var(--dmut);line-height:1.55;max-width:38ch;margin:14px 0 0}
.foot-col .kicker{display:block;margin-bottom:12px}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin-bottom:9px}
.foot-col a{font-family:var(--sans);font-size:.9rem;color:var(--dmut)}
.foot-col a:hover{color:var(--dtx)}
.foot-base{display:flex;gap:20px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--dline);margin-top:48px;padding-top:22px;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--dfaint)}
.foot-base .sep{opacity:.4}

/* ============ LIGHT ARTICLE SURFACE ============ */
.paper{background:var(--paper);color:var(--ink)}
.paper a{color:var(--acc-ink)}
.paper a:hover{color:var(--acc-deep)}
.paper .wordmark{color:var(--dtx)}
.paper .wordmark:hover{color:#fff}
.paper .nav-about{color:var(--dmut)}
.paper .nav-about:hover{color:var(--dtx)}
.paper .kicker{color:var(--imut)}
/* article hero */
.art-hero{background:var(--bg0);color:var(--dtx);border-bottom:1px solid var(--dline);padding:clamp(44px,6vh,80px) 0 clamp(36px,5vh,60px)}
.art-hero .crumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.art-hero .crumb a{color:var(--amber)}
.art-hero h1{font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:-.018em;max-width:22ch;margin:.4em 0 .35em}
.art-hero .standfirst{font-size:clamp(1.15rem,1.8vw,1.45rem);font-style:italic;color:var(--dmut);max-width:56ch;line-height:1.5;margin:0 0 18px}
.art-hero .meta{font-size:.8rem}
.art-figure-hero{margin:0;background:var(--bg2)}
.art-figure-hero img{width:100%;max-height:640px;object-fit:cover}
.art-figure-hero figcaption{font-family:var(--mono);font-size:.7rem;color:var(--dfaint);padding:10px clamp(20px,4vw,64px);background:var(--bg0)}
/* article layout: body + numbers rail */
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,4vw,72px);padding-block:clamp(44px,6vh,72px);max-width:1500px;margin-inline:auto;padding-inline:clamp(20px,4vw,64px)}
.article.no-rail{grid-template-columns:minmax(0,1fr)}
.article-body{max-width:74ch;padding-inline:0;font-size:1.28rem;line-height:1.72;hanging-punctuation:first;font-feature-settings:"onum" 1,"pnum" 1,"liga" 1;font-kerning:normal}
.article-body p{margin:0 0 1.3em;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:8 4 4}
.article-body a{text-decoration:underline;text-underline-offset:3.5px;text-decoration-thickness:1px;text-decoration-color:rgba(58,68,184,.35)}
.article-body a:hover{text-decoration-thickness:2px;text-decoration-color:var(--acc-deep)}
.article-body ul{padding-left:1.15em;margin:0 0 1.3em}
.article-body li{margin-bottom:.45em;text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto}
.article-body li::marker{color:var(--acc-ink)}
.paper ::selection{background:rgba(136,146,242,.32)}
.article-body h2{font-size:1.9rem;letter-spacing:-.01em;margin:2.4em 0 .75em;padding-top:1.2em;border-top:1px solid var(--iline);counter-increment:sec}
.article-body h2::before{content:counter(sec,decimal-leading-zero);font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--acc-ink);display:block;margin-bottom:10px;letter-spacing:.22em}
.article-body{counter-reset:sec}
.article-body h2:first-child{border-top:0;padding-top:0;margin-top:0}
.article-body h3{font-size:1.32rem;margin:1.7em 0 .55em;font-style:italic;font-weight:700}
.article-body>p:first-of-type{font-size:1.32rem}
.article-body>p:first-of-type::first-letter{font-size:3.9em;font-weight:700;float:left;line-height:.8;padding:7px 12px 0 0;color:var(--acc-ink)}
.lead{font-size:1.42rem;line-height:1.55;font-style:italic;color:var(--imut);margin:0 0 1.4em}
/* numbers rail (article aside) */
.num-rail{position:sticky;top:88px;align-self:start;display:flex;flex-direction:column;gap:1px;background:var(--iline);border:1px solid var(--iline)}
.num-rail .btn-title{background:var(--paper2);color:var(--imut)}
.num-rail .btn-cell{background:var(--paper);padding:16px 18px 13px}
.num-rail .btn-cell .n{color:var(--acc-ink);font-size:1.35rem}
.num-rail .btn-cell .l{color:var(--imut)}
/* inline by-the-numbers (short posts / mobile) */
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--iline);border:1px solid var(--iline);margin:2em 0}
.statblock{background:var(--paper2);padding:18px 16px 14px;text-align:left}
.stat-num{display:block;font-family:var(--mono);font-size:1.6rem;font-weight:600;color:var(--acc-ink);white-space:nowrap}
.stat-label{display:block;font-family:var(--sans);font-size:.84rem;color:var(--imut);margin-top:5px;line-height:1.35}
/* palette components (light) */
.pullquote{margin:2.2em 0;padding:0 0 0 26px;border-left:4px solid var(--acc-ink)}
.pullquote p{font-size:1.72rem;line-height:1.32;font-weight:700;letter-spacing:-.012em;margin:0;text-wrap:balance;hyphens:none;-webkit-hyphens:none}
.blockquote{margin:2em 0;padding:22px 28px;background:var(--paper2);border-radius:4px}
.blockquote p{font-style:italic;font-size:1.25rem;margin:0 0 10px}
.blockquote cite{font-family:var(--mono);font-size:.78rem;font-style:normal;color:var(--imut)}
.callout{margin:2em 0;padding:22px 26px;background:#141a29;color:var(--dtx);border-radius:6px}
.callout p{margin:0;font-size:1.08rem;line-height:1.6;font-family:var(--sans)}
.callout p strong{color:var(--amber)}
.note{font-family:var(--sans);font-size:1rem;color:var(--imut);background:var(--paper2);border-radius:4px;padding:14px 18px;margin:1.6em 0;line-height:1.55}
.note::before{content:"NOTE — ";font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:var(--acc-ink);font-weight:600}
/* tables */
.versus,.datatable{width:100%;border-collapse:collapse;margin:2em 0;font-family:var(--sans);font-size:1.02rem}
.versus caption,.datatable caption{caption-side:top;text-align:left;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--imut);padding-bottom:10px}
.versus th,.datatable th{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--imut);border-bottom:2px solid var(--ink);padding:10px 14px 8px}
.versus td,.datatable td{border-bottom:1px solid var(--iline);padding:12px 14px;vertical-align:top;line-height:1.5}
.versus td:first-child{font-weight:600;font-family:var(--mono);font-size:.82rem;color:var(--imut);text-transform:uppercase;letter-spacing:.06em}
.versus thead th:nth-child(2),.versus tbody td:nth-child(2){background:rgba(136,146,242,.07)}
.datatable tbody tr:hover{background:var(--paper2)}
.datatable td.num{font-family:var(--mono);font-size:.92rem;white-space:nowrap}
/* timeline */
.timeline{list-style:none;margin:2em 0;padding:0;border-left:2px solid var(--acc-ink)}
.timeline li{position:relative;padding:0 0 22px 28px}
.timeline li::before{content:"";position:absolute;left:-6px;top:8px;width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid var(--acc-ink)}
.timeline .t-when{display:block;font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.08em;color:var(--acc-ink);text-transform:uppercase;margin-bottom:3px}
.timeline .t-what{font-family:var(--sans);font-size:1.02rem;line-height:1.55;color:var(--ink)}
/* charts */
.chart{margin:2em 0;background:var(--paper2);padding:22px 22px 14px;border-radius:4px}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{font-family:var(--mono);font-size:.72rem;color:var(--imut);margin-top:12px;letter-spacing:.05em;line-height:1.5}
.chart text{font-family:var(--mono)}
/* figures */
.article-figure{margin:2.2em 0}
.article-figure img{width:100%;background:var(--bg2)}
.article-figure figcaption{font-family:var(--mono);font-size:.74rem;color:var(--imut);margin-top:10px;line-height:1.5;letter-spacing:.03em}
.article-figure.bleed{margin-inline:calc(50% - 50vw + var(--rail-w)/2);max-width:none}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:2.2em 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{font-family:var(--mono);font-size:.7rem;color:var(--imut);margin-top:8px;line-height:1.45}
.map-figure{margin:2.2em 0}
.map-figure .map-slot{aspect-ratio:16/9;background:var(--paper2);border:1px dashed rgba(26,28,34,.3);display:flex;align-items:center;justify-content:center}
.map-figure .map-slot::after{content:none;font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;color:var(--imut)}
.map-figure figcaption{font-family:var(--mono);font-size:.74rem;color:var(--imut);margin-top:10px;line-height:1.5}
/* cards */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:2em 0}
.profile-card{background:var(--paper2);border-radius:6px;padding:20px;font-family:var(--sans)}
.profile-card .p-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;margin-bottom:12px}
.profile-card h3{font-size:1.1rem;margin:0 0 2px}
.profile-card .p-role{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-ink);margin:0 0 10px}
.profile-card p{font-size:.92rem;line-height:1.55;color:var(--imut);margin:0 0 10px}
.profile-card .p-links a{font-size:.85rem;margin-right:12px}
.profile-card.no-photo::before{content:"";display:block;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--acc-deep),var(--bg3));margin-bottom:12px}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:2em 0}
.org-card{display:flex;flex-direction:column;gap:4px;background:var(--paper2);border-radius:6px;padding:16px;font-family:var(--sans)}
.org-card:hover{background:var(--paper3)}
.org-logo{height:30px;width:auto;align-self:flex-start;margin-bottom:6px}
.org-card.no-logo .org-name{font-size:1.05rem}
.org-name{font-weight:600;color:var(--ink)}
.org-host{font-family:var(--mono);font-size:.7rem;color:var(--imut)}
.entity-ref{border-bottom:1px dotted var(--acc-ink)}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:2em 0}
.further-grid a{background:var(--paper2);border-radius:6px;padding:16px 18px;font-family:var(--sans);font-size:.98rem;font-weight:600;line-height:1.4;color:var(--ink)}
.further-grid a:hover{background:var(--paper3);color:var(--acc-ink)}
/* dependency nav */
.dep-nav{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--dline);border-block:1px solid var(--dline);margin-top:0}
.dep-nav a{background:var(--bg0);color:var(--dtx);padding:30px clamp(20px,3vw,44px);display:flex;flex-direction:column;gap:8px;min-height:150px}
.dep-nav a:hover{background:var(--bg1)}
.dep-nav .d-dir{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}
.dep-nav a.down .d-dir{color:var(--acc)}
.dep-nav .d-t{font-size:1.3rem;font-weight:700;line-height:1.25}
.dep-nav .d-why{font-family:var(--sans);font-size:.86rem;color:var(--dmut)}
.dep-nav a.only{grid-column:1/-1}
/* related */
.related{padding:36px 0 10px}
.related h2{font-size:1.15rem;font-family:var(--mono);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--imut)}
.related-links{list-style:none;margin:16px 0 0;padding:0}
.related-links li{border-top:1px solid var(--iline)}
.related-links li:last-child{border-bottom:1px solid var(--iline)}
.related-links a{display:flex;gap:14px;align-items:baseline;padding:13px 2px;font-size:1.1rem;font-weight:600;color:var(--ink)}
.related-links a:hover{color:var(--acc-ink)}
.related-links .rt{margin-left:auto;font-family:var(--mono);font-size:.68rem;font-weight:400;color:var(--imut);white-space:nowrap}

/* ---------- category pages ---------- */
.cat-hero{background:var(--bg0);border-bottom:1px solid var(--dline);padding:clamp(48px,7vh,90px) 0}
.cat-hero .kicker{color:var(--amber)}
.cat-hero h1{font-size:clamp(2.4rem,5vw,4.4rem);letter-spacing:-.018em;margin:.3em 0 .3em}
.cat-hero .standfirst{font-size:1.25rem;color:var(--dmut);max-width:58ch;line-height:1.55;font-family:var(--sans);margin:0}
.cat-list{list-style:none;margin:0;padding:0}
.cat-list>li{border-bottom:1px solid var(--dline)}
.cat-entry{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,2fr);gap:clamp(24px,3vw,48px);padding:clamp(30px,4vh,48px) 0;align-items:center}
.cat-entry .kicker{color:var(--amber);margin-bottom:8px;display:block}
.cat-entry h2{font-size:clamp(1.6rem,2.6vw,2.3rem);letter-spacing:-.01em;margin:0 0 12px}
.cat-entry h2 a{color:var(--dtx)}
.cat-entry h2 a:hover{color:var(--acc)}
.cat-entry .dek{font-family:var(--sans);font-size:1.05rem;color:var(--dmut);line-height:1.55;margin:0 0 14px}
.cat-entry .cart{aspect-ratio:16/10;overflow:hidden;background:var(--bg2)}
.cat-entry .cart img{width:100%;height:100%;object-fit:cover}
.cat-zone-note{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:var(--dfaint);text-transform:uppercase;padding:20px 0 6px}

/* ---------- static pages ---------- */
.page-body{max-width:74ch;margin-inline:auto;padding:clamp(44px,6vh,80px) clamp(20px,4vw,64px);font-size:1.22rem;line-height:1.7}
.page-body h1{font-size:clamp(2.2rem,4.5vw,3.6rem);letter-spacing:-.015em;margin:0 0 .5em}
.page-body h2{font-size:1.5rem;margin:1.8em 0 .5em}
.page-body p{margin:0 0 1.2em}
.page-body ul{padding-left:1.2em}
.center-404{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px}
.center-404 .big{font-family:var(--mono);font-size:clamp(4rem,12vw,8rem);font-weight:700;color:var(--acc);letter-spacing:-.03em}

/* ---------- styleguide ---------- */
.sg-section{border-top:1px solid var(--iline);padding:40px 0 10px;margin-top:40px}
.sg-section>.kicker{color:var(--acc-ink)}

/* ---------- contact form ---------- */
.contact-form{display:flex;flex-direction:column;gap:18px;max-width:560px;margin-top:34px}
.contact-form label{display:flex;flex-direction:column;gap:7px;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--imut)}
.contact-form input,.contact-form textarea{font-family:var(--sans);font-size:1.05rem;color:var(--ink);background:#fff;border:1px solid rgba(26,28,34,.25);border-radius:6px;padding:12px 14px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--acc-ink);border-color:transparent}
.contact-form button{align-self:flex-start;font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:0;border-radius:6px;padding:14px 28px;cursor:pointer}
.contact-form button:hover{background:var(--acc-ink)}
.p-attr{font-family:var(--mono);font-size:.68rem;color:var(--imut)}
.sg-dark{background:var(--bg0);padding:26px;border-radius:6px}
.page-body .page-nav{list-style:none;padding:0;margin:2em 0 0;border-top:2px solid var(--ink)}
.page-body .page-nav li{border-bottom:1px solid var(--iline)}
.page-body .page-nav a{display:flex;justify-content:space-between;gap:14px;padding:13px 2px;font-weight:600;color:var(--ink)}
.page-body .page-nav a:hover{color:var(--acc-ink)}
.page-body .page-nav .rt{font-family:var(--mono);font-size:.7rem;font-weight:400;color:var(--imut);white-space:nowrap;align-self:center}

/* ---------- responsive ---------- */
@media (max-width:1240px){
  .rail{display:none}
}
@media (max-width:1020px){
  .rb{grid-template-columns:1fr 1fr}
  .rb .rb-panel.rb-rack{grid-column:1/-1}
  .rack{height:480px}
  .feature{grid-template-columns:1fr}
  .twin{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .article{grid-template-columns:minmax(0,1fr)}
  .num-rail{position:static;flex-direction:row;flex-wrap:wrap}
  .num-rail .btn-title{flex-basis:100%}
  .num-rail .btn-cell{flex:1 1 150px}
  .scale-row{grid-template-columns:repeat(2,1fr)}
  .scale-cell:last-child{grid-column:1/-1}
  .nav{display:none;position:fixed;inset:64px 0 0 0;background:var(--bg0);flex-direction:column;align-items:stretch;overflow:auto;padding:10px 20px 40px;z-index:60}
  #navtoggle:checked~.nav{display:flex}
  .burger{display:block}
  .nav>div{border-bottom:1px solid var(--dline)}
  .nav-top{width:100%;padding:18px 4px;font-size:1.05rem}
  .drop{position:static;visibility:visible;opacity:1;transform:none;translate:none;width:auto;background:none;border:0;box-shadow:none;padding:0 4px 18px}
  .nav-about{padding:18px 4px;font-size:1.05rem}
}
@media (max-width:680px){
  .versus,.datatable{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .versus caption,.datatable caption{display:block}
  .flagship{display:block}
  body{font-size:17px}
  .article-body{font-size:1.13rem}
  .article-body>p:first-of-type{font-size:1.16rem}
  .cat-entry{grid-template-columns:1fr}
  .cat-entry .cart{order:-1}
  .rb{grid-template-columns:1fr}
  .cmp-row{grid-template-columns:1fr;gap:6px;padding:14px 0}
  .cmp-row .c-v{text-align:left}
  .dep-nav{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .flagship{min-height:0}
  .flagship img{position:static;aspect-ratio:16/10;opacity:1}
  .flagship .scrim{display:none}
  .flagship .txt{padding:22px 0 0}
  .flagship h3 a{color:var(--dtx)}
  .entries{grid-template-columns:1fr}
  .scale-row{grid-template-columns:1fr}
  .article-figure.bleed{margin-inline:0}
  .pullquote p{font-size:1.4rem}
  .wordmark .tagline{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* sp-mark-frame: a uniform plate for the money mark, in the tiers where Design sized the plate
   to the artwork instead. Operator's rule: the dark ground is unified whatever the logo's
   size. width:100% (or one fixed width where copy shares the row) + one height for the tier
   + object-fit:contain, so the plate is the same box everywhere and the artwork fits inside
   it. A ground and an inset are added ONLY where none exists — adding a second ground gives
   co-cure's rectangle-inside-a-rectangle. Design's framed tiers are not touched at all. */
.sup-board .sponsor .sp-logo.sp-logo{display:block!important;width:100%!important}
.sup-board .sponsor.sponsor img{height:44px!important;display:block!important;width:100%!important}

/* op-recentre-plate: the money mark sat off-centre in its own plate (measured 37px of skew:
   0px on one side, 37px on the other, with a 275px mark in a 312px plate).
   ⚠️ THE CAUSE IS OURS, NOT DESIGN'S: sp-mark-frame forces display:block on the plate, which
   replaces the flex centring Design put there — and with the mark capped by a max-width and no
   auto margins it drifts to one side. Rather than fight the block display, the mark itself is
   centred with auto inline margins, which works whatever the plate's display ends up being. */
a.sp-logo{text-align:center}
a.sp-logo > img{display:block!important;margin-inline:auto!important}

/* op-footer-compact: the footer printed 18 rows for 18 link(s) in
   4 list(s) — 1062px at 390, 8% of the whole page. Design's own
   good case (evbb) has no list at all: its footer links simply flow inline, 479px in total.
   Here the lists flow inline too, and the group holder takes two columns,
   measured 1062 -> 755px (29% shorter) with no new overflow. Both shapes were
   tried and the shorter one kept — two columns helps a wide group set and hurts a narrow one.
   Phone widths only; the desktop footer is untouched. */
@media (max-width:640px){
  footer ul,footer ol{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;column-gap:clamp(9px,2.99vw,43px)!important;row-gap:6px!important}
  footer ul > li,footer ol > li{width:auto!important;flex:0 0 auto;max-width:100%}
  footer [class*=grid],footer [class*=index],footer [class*=cols]{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:28px}
}

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   1727px at 390, 12% of the whole page. Two columns bring it to
   1035px (40% shorter). Checked before writing: no new overflow, smallest mark still
   129px wide, longest blurb 3 lines, tile heights 156-175px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. An odd tile count means the lead tile spans the whole row, so the block does not end on an empty cell. Only the tier(s) that were one-per-row are touched (.sup-board), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sup-board{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:1px!important}
    .sup-board > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sup-board > * *{min-width:0!important;max-width:100%}
    .sup-board img,.sup-board svg{max-width:100%;height:auto}
  .sup-board .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-odd-tier-lead: .sup-board (11 tiles) lay out two per row with an ODD tile count, so the
   block ended on a lone tile beside an empty cell. The lead tile takes the whole row instead —
   operator: "the 1st item in such rows to be 100% width, then split" — so the grid reads as
   complete. These tiers were already two-per-row, which is why the column pass never wrote the
   rule for them. Checked before writing: no new horizontal overflow, block not more than 15%
   taller. Phone widths only; desktop keeps Design's layout. */
@media (max-width:640px){
  .sup-board:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}

/* op-hover-pad */
.sublist a{padding-left:clamp(12px,3.5vw,22px)!important;padding-right:clamp(12px,3.5vw,22px)!important}
/* op-hover-pad:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(article.cat-entry > div.cart > img,
  article.feature > div.art > img,
  body > figure.art-figure-hero > img,
  body.paper > figure.art-figure-hero > img,
  div.article-body > figure.article-figure > img,
  div.gallery > figure > img,
  div.wrap > article.flagship > img){height:auto}
/* op-img-dims:end */

/* op-locator-map — real-geodata locators (Natural Earth 10m · US Census 500k · OSM); the svg is meet-scaled into Design's own box,
   pins and labels are HTML at a fixed px size placed with container-query units, so they stay legible on phones */
.map-slot.is-mapped{position:relative;container-type:size;overflow:hidden;padding:0!important;background:#ece8dc!important;background-image:none!important;border:0!important;color:#1a1c22}
.map-slot.is-mapped::before,.map-slot.is-mapped::after{content:none!important;display:none!important}
.map-slot.is-mapped>svg.mk{position:absolute;inset:0;width:100%;height:100%;display:block}
.map-slot.is-mapped>span{--s:min(100cqw / var(--vw), 100cqh / var(--vh));position:absolute;left:calc(50% + (var(--x) - var(--vw) / 2) * var(--s));top:calc(50% + (var(--y) - var(--vh) / 2) * var(--s));width:0;height:0;pointer-events:none;white-space:nowrap;font-family:var(--sans);line-height:1;letter-spacing:0;text-transform:none;font-style:normal}
.map-slot.is-mapped>.mk-p i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:#5560d8;box-shadow:0 0 0 2px #ece8dc}
.map-slot.is-mapped>.mk-p b{position:absolute;font-size:12px;font-weight:700;line-height:15px;color:#1a1c22;text-shadow:0 0 2px #ece8dc,0 0 2px #ece8dc,0 0 3px #ece8dc,0 0 4px #ece8dc}
.map-slot.is-mapped>.mk-p.r b{left:10px;top:-7.5px}.map-slot.is-mapped>.mk-p.l b{right:10px;top:-7.5px}.map-slot.is-mapped>.mk-p.t b{left:0;transform:translateX(-50%);bottom:8px}.map-slot.is-mapped>.mk-p.b b{left:0;transform:translateX(-50%);top:8px}.map-slot.is-mapped>.mk-p.tr b{left:5px;bottom:4px}.map-slot.is-mapped>.mk-p.br b{left:5px;top:4px}.map-slot.is-mapped>.mk-p.tl b{right:5px;bottom:4px}.map-slot.is-mapped>.mk-p.bl b{right:5px;top:4px}.map-slot.is-mapped>.mk-p.ru b{left:10px;top:-15.5px}.map-slot.is-mapped>.mk-p.rd b{left:10px;top:.5px}.map-slot.is-mapped>.mk-p.lu b{right:10px;top:-15.5px}.map-slot.is-mapped>.mk-p.ld b{right:10px;top:.5px}.map-slot.is-mapped>.mk-p.tt b{left:0;transform:translateX(-50%);bottom:13px}.map-slot.is-mapped>.mk-p.bb b{left:0;transform:translateX(-50%);top:13px}
.map-slot.is-mapped>.mk-a{font-size:11px;font-style:italic;letter-spacing:.04em;color:#1a1c22;opacity:.62;display:flex;justify-content:center;align-items:center}
.map-slot.is-mapped>.mk-a.mk-ref{font-style:normal;opacity:.7;justify-content:flex-start;padding-left:6px;align-items:center}
.map-slot.is-mapped>.mk-a.mk-sea{color:#1a1c22;opacity:.85}
.map-slot.is-mapped>.mk-a.mk-line{font-style:normal;font-weight:700;opacity:.9;color:#5560d8;text-shadow:0 0 2px #ece8dc,0 0 3px #ece8dc}
.map-slot.is-mapped>.mk-r::before{content:'';position:absolute;left:-2.5px;top:-2.5px;width:5px;height:5px;border-radius:50%;background:#1a1c22;opacity:.55}
/* op-locator-map:end */
nav.nav > div:nth-of-type(n+5) > .drop{left:auto!important;right:0!important}
