.blog-page{position:relative;z-index:1;padding-top:102px}
.blog-shell{max-width:1720px;margin:0 auto;padding:0 clamp(20px,3.4vw,56px)}
.blog-kicker{display:flex;align-items:center;gap:12px;font:500 13px 'IBM Plex Mono',monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint)}
.blog-kicker::before{content:"";width:36px;height:4px;background:var(--accent)}
.blog-mast{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(28px,5vw,90px);align-items:end;padding:clamp(54px,7vw,96px) 0 clamp(36px,4vw,58px);border-bottom:4px solid var(--fg)}
.blog-mast h1{font:650 clamp(54px,7.6vw,126px)/.95 'Archivo',sans-serif;letter-spacing:-.075em;margin-top:22px;white-space:nowrap}.blog-mast h1 span{color:var(--phrase-accent)}
.blog-mast-copy{font-size:clamp(19px,1.65vw,25px);line-height:1.45;color:var(--fg-dim);max-width:38ch;padding-bottom:6px}
.blog-feature{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);min-height:min(650px,70vh);border-bottom:2px solid var(--hair)}
.blog-cover{display:block;position:relative;min-height:520px;overflow:hidden;background:#151515}
.blog-cover img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:transform .8s cubic-bezier(.2,.6,.2,1),filter .4s}
.blog-cover:hover img{transform:scale(1.02);filter:grayscale(.75) contrast(1.08)}
.blog-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(0,0,0,.72))}
.blog-image-label{position:absolute;z-index:2;left:22px;top:22px;background:var(--accent);color:var(--accent-ink);padding:9px 12px;font:600 13px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase}
.blog-image-credit{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;color:#fff;font:400 13px/1.45 'IBM Plex Mono',monospace;letter-spacing:.08em;text-shadow:0 1px 2px #000}
.blog-feature-copy{display:flex;flex-direction:column;padding:clamp(30px,4.2vw,68px);border-left:2px solid var(--hair);background:color-mix(in srgb,var(--bg-raise) 72%,transparent)}
.blog-meta{font:500 13px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:clamp(24px,3vw,44px)}
.blog-feature h2{font:650 clamp(38px,4.6vw,76px)/1.08 'Archivo',sans-serif;letter-spacing:-.055em;max-width:12ch}
.blog-deck{font-size:clamp(17px,1.4vw,21px);line-height:1.55;color:var(--fg-dim);margin:24px 0;max-width:42ch}
.blog-read{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;margin-top:auto;padding-top:22px;border-top:3px solid var(--fg);font:600 13px 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fg);text-decoration:none}
.blog-read span:last-child{color:var(--accent);font-size:22px;transition:transform .2s}.blog-read:hover span:last-child{transform:translateX(5px)}
.blog-routes{padding:clamp(56px,7vw,100px) 0}
.blog-route-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}
.blog-route-head h2{font:650 clamp(35px,4vw,64px)/1.1 'Archivo',sans-serif;letter-spacing:-.045em}
.blog-route-head p{font-size:16px;line-height:1.5;color:var(--fg-dim);max-width:42ch}
.blog-route-grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--hair)}
.blog-route{position:relative;min-height:215px;padding:28px;display:flex;flex-direction:column;text-decoration:none;color:var(--fg);overflow:hidden}
.blog-route+.blog-route{border-left:2px solid var(--hair)}
.blog-route::before{content:"";position:absolute;left:0;top:48px;width:34px;height:4px;background:var(--route,var(--accent))}
.blog-route::after{content:"";position:absolute;left:32px;top:40px;width:14px;height:14px;border:4px solid var(--route,var(--accent));border-radius:50%;background:var(--bg)}
.blog-route small{font:500 13px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);margin-left:36px}
.blog-route strong{font:650 clamp(24px,2.2vw,34px)/1.05 'Archivo',sans-serif;letter-spacing:-.03em;margin-top:auto}
.blog-route span{font-size:14px;line-height:1.45;color:var(--fg-dim);margin-top:10px;max-width:31ch}
.blog-route:hover{background:color-mix(in srgb,var(--route,var(--accent)) 7%,transparent)}

.article-page{position:relative;z-index:1;padding-top:102px}
.article-head{max-width:1720px;margin:0 auto;padding:clamp(52px,7vw,105px) clamp(20px,3.4vw,56px) clamp(38px,5vw,72px)}
.article-head .blog-kicker{margin-bottom:28px}
.article-head h1{font:650 clamp(48px,7.1vw,116px)/1 'Archivo',sans-serif;letter-spacing:-.065em;max-width:15ch}
.article-head .article-deck{font-size:clamp(20px,1.8vw,28px);line-height:1.45;color:var(--fg-dim);max-width:55ch;margin:28px 0}
.article-byline{display:flex;flex-wrap:wrap;gap:12px 28px;padding-top:18px;border-top:2px solid var(--hair);font:500 13px 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint)}
.article-cover{position:relative;max-width:1720px;height:min(710px,66vw);min-height:420px;margin:0 auto;overflow:hidden;background:#151515}
.article-cover img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1)}
.article-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.68))}
.article-cover figcaption{position:absolute;z-index:2;left:clamp(20px,3.4vw,56px);right:clamp(20px,3.4vw,56px);bottom:18px;color:#fff;font:400 13px/1.5 'IBM Plex Mono',monospace;letter-spacing:.08em}
.article-cover a{color:inherit}
.guard-cover img{object-position:65% 72%;transform:scale(2.2);transform-origin:65% 72%;filter:grayscale(1) contrast(1.12)}
.blog-cover.guard-cover img{position:absolute;inset:0}
.blog-cover.guard-cover:hover img{transform:scale(2.23);filter:grayscale(1) contrast(1.12)}
.guard-cover .blog-image-credit{text-shadow:none}
.sovereignty-article .article-head h1{max-width:19ch}
.sovereignty-article h2[id],.sovereignty-article h3{scroll-margin-top:120px}
.sovereignty-article .article-body h3{font:600 clamp(23px,2.1vw,30px)/1.25 'Archivo',sans-serif;letter-spacing:-.02em;color:var(--fg);margin:1.5em 0 .6em}
.sovereignty-controls{margin:1.7em 0 2em;border-top:3px solid var(--fg);overflow-x:auto}
.sovereignty-controls table{width:100%;border-collapse:collapse;font-size:.88em;line-height:1.5;text-align:left}
.sovereignty-controls caption{text-align:left;padding:14px 0;font:500 12px/1.6 'IBM Plex Mono',monospace;color:var(--fg-faint)}
.sovereignty-controls th,.sovereignty-controls td{padding:15px 12px;border-bottom:1px solid var(--hair);vertical-align:top}
.sovereignty-controls th{color:var(--fg);font-weight:600}
.sovereignty-controls thead{background:var(--bg-raise)}
.sovereignty-controls tbody th{width:28%;min-width:100px}
.sovereignty-editorial{font-size:.8em;border-top:1px solid var(--hair);padding-top:20px}
.sovereignty-conclusion{margin-top:2em!important}
.article-grid{max-width:1280px;margin:0 auto;padding:clamp(48px,7vw,100px) clamp(20px,3.4vw,56px);display:grid;grid-template-columns:240px minmax(0,760px);gap:clamp(44px,7vw,100px);justify-content:center}
.article-aside{position:sticky;top:132px;align-self:start}
.article-aside h2{font:500 13px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);padding-bottom:12px;border-bottom:3px solid var(--fg)}
.article-aside ol{list-style:none}.article-aside a{display:block;padding:10px 0;border-bottom:1px solid var(--hair);font:500 13px/1.4 'IBM Plex Mono',monospace;letter-spacing:.04em;color:var(--fg-dim);text-decoration:none}.article-aside a:hover{color:var(--accent)}
.article-body{font-size:clamp(18px,1.42vw,21px);line-height:1.72;color:var(--fg-dim)}
.article-body>p{margin:0 0 1.4em}.article-body>p:first-of-type{font-size:1.16em;line-height:1.62;color:var(--fg)}
.article-body h2{font:650 clamp(31px,3.2vw,48px)/1.05 'Archivo',sans-serif;letter-spacing:-.04em;color:var(--fg);margin:1.55em 0 .48em;padding-top:.25em}
.article-body strong{color:var(--fg);font-weight:650}
.article-body em{color:var(--fg)}
.article-body ul{margin:0 0 1.7em 1.1em}.article-body li{padding:.25em 0 .25em .3em}
.article-body a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
.decision-box{margin:0 0 clamp(44px,6vw,70px);border:3px solid var(--fg);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.decision-box h2{margin:0;padding:15px 18px;background:var(--fg);color:var(--bg);font:600 13px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase}
.decision-box ol{list-style:none;margin:0;counter-reset:decision}.decision-box li{counter-increment:decision;display:grid;grid-template-columns:42px 1fr;gap:12px;padding:17px 18px;border-top:1px solid var(--hair);color:var(--fg)}.decision-box li::before{content:"0" counter(decision);font:600 13px 'IBM Plex Mono',monospace;letter-spacing:.12em;color:var(--accent);padding-top:4px}
.article-note{margin:2.4em 0;padding:22px 24px;border-left:8px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);font-size:.92em}
.article-cta{margin-top:3.5em;padding:clamp(26px,4vw,42px);border:3px solid var(--fg);background:var(--fg);color:var(--bg)}
.article-cta span{font:500 13px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.article-cta h2{color:var(--bg);margin:.35em 0;font-size:clamp(32px,4vw,52px)}
.article-cta p{color:color-mix(in srgb,var(--bg) 78%,transparent);margin-bottom:20px}.article-cta a{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:13px 17px;text-decoration:none;font:600 13px 'IBM Plex Mono',monospace;letter-spacing:.13em;text-transform:uppercase}

@media(max-width:900px){
  .blog-mast{grid-template-columns:1fr}.blog-feature{grid-template-columns:1fr}.blog-cover{min-height:440px}.blog-feature-copy{border-left:0;border-top:2px solid var(--hair)}
  .blog-route-grid{grid-template-columns:1fr}.blog-route+.blog-route{border-left:0;border-top:2px solid var(--hair)}
  .article-grid{grid-template-columns:1fr}.article-aside{position:static}.article-aside ol{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
}
@media(max-width:640px){
  .blog-page,.article-page{padding-top:102px}.blog-mast{padding:38px 0 30px}.blog-mast h1{font-size:clamp(43px,13.6vw,58px)}
  .blog-cover{min-height:330px}.blog-feature-copy{padding:28px 20px}.blog-feature h2{font-size:clamp(36px,12vw,54px)}
  .blog-route-head{display:block}.blog-route-head p{margin-top:12px}.blog-route{min-height:175px;padding:24px 20px}
  .article-head{padding-top:38px}.article-head h1{font-size:clamp(45px,14vw,70px)}.article-cover{min-height:310px;height:76vw}
  .article-grid{padding-top:38px}.article-aside ol{grid-template-columns:1fr}.article-body{font-size:18px}.decision-box li{grid-template-columns:34px 1fr}
}
