:root{
  --midnight:#0D1A2E; --midnight-2:#12233B; --deep:#0A1424;
  --starlight:#ECEFF6; --star-dim:#C6CFDD; --gold:#D9A441; --pale:#8FB0CC;
  --muted:#9AA7BC; --rule:#243A58;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--midnight);color:var(--starlight);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:1.06rem;line-height:1.72}
h1,h2,h3,.display{font-family:Didot,"Bodoni MT","Playfair Display",Georgia,serif;
  font-weight:400;line-height:1.25;color:var(--starlight);text-wrap:balance}
h1{font-size:2.1rem;margin:0 0 .5rem} h2{font-size:1.5rem} h3{font-size:1.2rem}
a{color:var(--gold)} a:hover{color:var(--starlight)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}
.prose{max-width:44rem}
.site-header{border-bottom:1px solid var(--rule);padding:1.05rem 0}
.site-header .wrap{display:flex;align-items:baseline;gap:1.4rem;flex-wrap:wrap;max-width:72rem}
.brand{font-family:Didot,"Bodoni MT","Playfair Display",Georgia,serif;font-size:1.65rem;
  color:var(--starlight);text-decoration:none;letter-spacing:.04em}
.brand::after{content:".";color:var(--gold)}
.brand small{display:block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.68rem;
  color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:.15rem}
.coords{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted)}
nav.mainnav{margin-left:auto;display:flex;gap:1.4rem;flex-wrap:wrap}
nav.mainnav a{color:var(--star-dim);text-decoration:none;font-size:.92rem;letter-spacing:.08em}
nav.mainnav a:hover{color:var(--gold)}
nav.mainnav a[aria-current]{color:var(--gold);border-bottom:1px solid var(--gold)}
main{display:block}
#readprogress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--gold);z-index:50}
.hero-band{padding:3.6rem 0 3rem;position:relative;overflow:hidden;
  background:radial-gradient(50rem 20rem at 80% -4rem, rgba(217,164,65,.10), transparent 65%)}
.hero-band .constellation{position:absolute;inset:0;pointer-events:none;opacity:.8}
.hero-band h1{color:var(--starlight);font-size:clamp(2.8rem,7.5vw,4.6rem);margin:.9rem 0 .8rem;
  line-height:1.1;max-width:14ch}
.hero-band h1 .g{color:var(--gold);font-style:italic}
.hero-band p.lede{color:var(--star-dim);font-size:1.16rem;max-width:44rem;margin:.4rem 0 0}
.kicker{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold);font-weight:400}
.kicker::before{content:"º62"}
.article-head{padding:2.8rem 0 0}
.byline{color:var(--muted);font-size:.9rem;margin:.4rem 0 2rem;font-style:italic}
.hero-figure{margin:0 0 2.4rem;border:1px solid var(--rule);padding:.7rem;background:var(--midnight-2)}
.hero-figure img,.gallery img{width:100%;height:auto;display:block}
.hero-figure figcaption,.gallery figcaption{font-size:.82rem;color:var(--muted);margin-top:.55rem;font-style:italic}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;margin:1.4rem 0}
.gallery figure{margin:0}
.article-body img{max-width:100%;height:auto}
.article-body{max-width:44rem}
.article-body p{margin:0 0 1.35rem}
.article-body>p:first-of-type::first-letter{font-family:Didot,"Bodoni MT",Georgia,serif;
  font-size:3.4em;float:left;line-height:.85;padding:.05em .12em 0 0;color:var(--gold)}
.article-body h2,.section-h{display:flex;align-items:center;gap:1rem;margin:2.8rem 0 1rem;
  font-size:1.75rem}
.article-body h2::before,.section-h::before{content:"";flex:none;width:30px;height:30px;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'%3E%3Ccircle cx='17' cy='17' r='13' fill='none' stroke='%23D9A441' stroke-width='1.5'/%3E%3Ccircle cx='17' cy='17' r='13' fill='%23D9A441' opacity='.28'/%3E%3C/svg%3E")}
.article-body h2::after,.section-h::after{content:"";flex:1;height:1px;
  background:linear-gradient(90deg,var(--gold),var(--rule))}
table{border-collapse:collapse;width:100%;margin:1.2rem 0;font-size:.92rem;display:block;overflow-x:auto}
thead{position:sticky;top:0}
th,td{border:1px solid var(--rule);padding:.5rem .6rem;text-align:left;vertical-align:top}
th{background:var(--midnight-2);color:var(--gold)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.3rem;margin:1.4rem 0}
.card{background:var(--midnight-2);border:1px solid var(--rule);border-radius:6px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .2s}
.card:hover{border-color:var(--gold)}
.card img{width:100%;height:185px;object-fit:cover;display:block;filter:saturate(.9) brightness(.94)}
.card .pad{padding:1.05rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card h3{margin:0;font-family:Didot,"Bodoni MT",Georgia,serif;font-weight:400;font-size:1.3rem;line-height:1.35}
.card h3 a{color:var(--starlight);text-decoration:none}
.card h3 a:hover{color:var(--gold)}
.card p{margin:0;font-size:.93rem;color:var(--star-dim)}
.card .meta{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--pale)}
.badge-unverified{display:inline-block;background:var(--gold);color:var(--midnight);
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.7rem;font-weight:700;letter-spacing:.14em;
  padding:.35rem .7rem;border-radius:2px;text-transform:uppercase;white-space:nowrap}
.callout{border:1px solid var(--rule);border-top:2px solid var(--gold);background:var(--midnight-2);
  padding:1.2rem 1.4rem;margin:2.4rem 0;border-radius:4px}
.callout p{margin:.3rem 0;font-size:.95rem;color:var(--star-dim)}
.verdict{border:1px dashed var(--gold);border-radius:4px;padding:1.2rem 1.4rem;margin:2.4rem 0;
  background:rgba(217,164,65,.06)}
.ad-slot{border:1px dashed var(--muted);border-radius:6px;padding:.8rem;text-align:center;color:var(--muted);
  font-size:.8rem;margin:1.6rem 0;background:transparent}
.site-footer{margin-top:4rem;border-top:1px solid var(--rule);padding:2.4rem 0 3rem;background:var(--deep)}
.site-footer .fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.4rem}
.site-footer h4{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin:0 0 .7rem;font-weight:400}
.site-footer a{display:block;color:var(--star-dim);text-decoration:none;font-size:.9rem;margin:.3rem 0}
.site-footer a:hover{color:var(--gold)}
.site-footer .fine{margin-top:2rem;color:var(--muted);font-size:.82rem;border-top:1px solid var(--rule);
  padding-top:1.2rem}
form.demo-form{background:var(--midnight-2);border:1px solid var(--rule);border-radius:6px;
  padding:1.1rem;margin:1.4rem 0}
form.demo-form label{display:block;margin:.6rem 0;font-size:.95rem;color:var(--star-dim)}
form.demo-form input[type=email],form.demo-form input[type=text]{width:100%;padding:.55rem;
  border:1px solid var(--rule);border-radius:4px;font-size:1rem;background:var(--midnight);color:var(--starlight)}
form.demo-form button{background:var(--gold);color:var(--midnight);border:0;border-radius:4px;
  padding:.6rem 1.2rem;font-size:1rem;cursor:not-allowed;opacity:.65;font-weight:700}
.demo-note{font-size:.82rem;color:var(--muted);border:1px dashed var(--muted);border-radius:4px;
  padding:.4rem .6rem;display:inline-block}
.filterbar{margin:1rem 0}
.filterbar input{width:100%;padding:.6rem;border:1px solid var(--rule);border-radius:4px;font-size:1rem;
  background:var(--midnight-2);color:var(--starlight)}
.sources{font-size:.88rem;color:var(--star-dim)} .sources li{margin-bottom:.3rem}
.sources a{color:var(--pale)}
.dl-card{background:var(--midnight-2);border:1px solid var(--rule);color:var(--starlight);
  border-radius:6px;padding:1.2rem;margin:1.6rem 0}
.dl-card a{color:var(--gold);font-weight:700}
.crumb{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-bottom:1.6rem}
.crumb a{color:var(--muted)}
@media (max-width:720px){
  h1{font-size:1.7rem} .hero-band h1{font-size:2rem}
  .card-grid{grid-template-columns:1fr}
  nav.mainnav{gap:1rem}
  .coords{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

