/* ============================================================
   LOCAL FONTS
   Self-hosted to avoid third-party font requests.
   ============================================================ */

@font-face {
  font-family: "Cormorant Garamond";
  src: url("assets/fonts/Cormorant_Garamond/CormorantGaramond-VariableFont_wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("assets/fonts/Cormorant_Garamond/CormorantGaramond-Italic-VariableFont_wght.ttf") format("truetype");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Libre Franklin";
  src: url("assets/fonts/Libre_Franklin/LibreFranklin-VariableFont_wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Libre Franklin";
  src: url("assets/fonts/Libre_Franklin/LibreFranklin-Italic-VariableFont_wght.ttf") format("truetype");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

:root{
  --bg:#10151b;
  --panel:#131a21;
  --panel-2:#0d1217;
  --paper:#d9d0c2;
  --paper-soft:#b8afa2;
  --gold:#b78a38;
  --gold-dim:#6e5729;
  --red:#8a3b30;
  --line:#3b3324;
  --line-soft:rgba(183,138,56,.28);
  --white:#efe9df;
  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:"Libre Franklin", Arial, sans-serif;
  --shell:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    linear-gradient(rgba(255,255,255,.008),rgba(255,255,255,.008)),
    var(--bg);
  color:var(--paper);
  font-family:var(--serif);
  font-size:18px;
  line-height:1.6;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1000;
  opacity:.035;
  background-image:
    repeating-linear-gradient(0deg, transparent 0 2px, rgba(255,255,255,.12) 3px),
    repeating-linear-gradient(90deg, transparent 0 5px, rgba(0,0,0,.09) 6px);
  mix-blend-mode:soft-light;
}

img{max-width:100%;display:block}
a{color:inherit}
.shell{width:min(calc(100% - 44px),var(--shell));margin-inline:auto}

.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;z-index:2000;background:#fff;color:#000;padding:.5rem 1rem}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(13,18,23,.96);
  border-bottom:1px solid var(--line-soft);
  backdrop-filter:blur(10px);
}
.header-inner{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}
.brand img{
  width:82px;
  height:82px;
  object-fit:contain;
}
.site-nav{
  display:flex;
  align-items:center;
  gap:1.7rem;
}
.site-nav a{
  font-family:var(--sans);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.68rem;
  color:#bcae95;
  transition:.2s ease;
}
.site-nav a:hover{color:var(--gold)}
.nav-toggle{
  display:none;
  background:transparent;
  border:1px solid var(--gold-dim);
  color:var(--paper);
  padding:.55rem .8rem;
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.7rem;
}

.hero{
  position:relative;
  overflow:hidden;
  background:var(--panel-2);
  border-bottom:1px solid var(--line-soft);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 35%,rgba(183,138,56,.08),transparent 27rem),
    radial-gradient(circle at 22% 28%,rgba(255,255,255,.025),transparent 30rem);
}
.hero-grid{
  position:relative;
  min-height:620px;
  padding-block:78px 88px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:5.5rem;
  align-items:center;
}
.eyebrow{
  margin:0 0 .9rem;
  color:var(--gold);
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:.62rem;
  font-weight:600;
}
.hero h1,
h2,
h3{
  font-family:var(--serif);
  font-weight:500;
}
.hero h1{
  margin:0;
  color:var(--white);
  font-size:clamp(4.2rem,8vw,7.6rem);
  line-height:.87;
  letter-spacing:-.025em;
}
.hero h1 em{
  color:var(--gold);
  font-weight:500;
}
.lead{
  max-width:720px;
  margin:1.8rem 0 0;
  color:#c3baae;
  font-size:1.04rem;
  line-height:1.75;
}
.hero-actions{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  margin-top:2rem;
}
.button{
  display:inline-block;
  padding:.72rem 1rem;
  border:1px solid var(--gold-dim);
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-family:var(--sans);
  font-size:.62rem;
  color:var(--gold);
  background:transparent;
}
.button:hover{
  background:rgba(183,138,56,.08);
  border-color:var(--gold);
}
.button-primary{
  background:rgba(183,138,56,.08);
}
.button-secondary{color:#bcae95}

.receiver-card{
  position:relative;
  padding:2rem 1.8rem 1.8rem;
  background:#11171d;
  color:var(--paper);
  border:1px solid var(--line-soft);
  box-shadow:none;
  transform:none;
}
.receiver-card:before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(183,138,56,.12);
  pointer-events:none;
}
.receiver-topline{
  display:flex;
  justify-content:space-between;
  padding-bottom:.75rem;
  border-bottom:1px solid var(--line-soft);
  color:var(--gold);
  font-family:var(--sans);
  font-size:.58rem;
  letter-spacing:.16em;
}
.dial{
  position:relative;
  height:112px;
  margin:2rem 0 1.2rem;
  border-top:1px solid var(--gold-dim);
  border-bottom:1px solid var(--gold-dim);
}
.dial:before{
  content:"";
  position:absolute;
  left:0;right:0;top:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);
}
.dial-line{
  position:absolute;
  top:-7px;
  left:57%;
  width:1px;
  height:126px;
  background:var(--gold);
  box-shadow:0 0 8px rgba(183,138,56,.35);
}
.dial-mark{
  position:absolute;
  bottom:12px;
  color:#9e927f;
  font-family:var(--sans);
  font-size:.62rem;
  letter-spacing:.06em;
}
.m1{left:2%}.m2{left:22%}.m3{left:45%}.m4{left:68%}.m5{right:0}
.receiver-status{
  margin:.55rem 0 .1rem;
  color:var(--gold);
  font-family:var(--sans);
  font-size:.6rem;
  letter-spacing:.18em;
}
.receiver-copy{margin:.4rem 0 1.1rem;color:#bcb3a5}
.signal-bars{display:flex;gap:5px;align-items:flex-end;height:38px}
.signal-bars i{display:block;width:7px;background:var(--gold-dim)}
.signal-bars i:nth-child(1){height:7px}.signal-bars i:nth-child(2){height:12px}
.signal-bars i:nth-child(3){height:19px}.signal-bars i:nth-child(4){height:31px}
.signal-bars i:nth-child(5){height:24px}.signal-bars i:nth-child(6){height:15px}
.signal-bars i:nth-child(7){height:9px}

.ticker{
  background:#11171d;
  border-top:1px solid rgba(183,138,56,.10);
  border-bottom:1px solid var(--line-soft);
}
.ticker .shell{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
  color:#9e927f;
  font-family:var(--sans);
  font-size:.63rem;
  letter-spacing:.05em;
}
.ticker-label{
  color:var(--gold);
  letter-spacing:.15em;
}
.diamond{color:var(--gold-dim)}

.section{
  padding:90px 0;
  background:var(--bg);
  border-bottom:1px solid var(--line-soft);
}
.section-heading{
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:4rem;
  align-items:end;
  margin-bottom:3rem;
}
.section-heading h2,.station-section h2{
  margin:.1rem 0 0;
  color:var(--white);
  font-size:clamp(3rem,5.5vw,5.2rem);
  line-height:.95;
}
.section-heading>p{
  margin:0;
  color:#aaa093;
  max-width:620px;
  font-size:1rem;
}

.feature-card{
  display:grid;
  grid-template-columns:170px 1fr;
  border:1px solid var(--line-soft);
  background:#11171d;
}
.feature-number{
  display:grid;
  place-items:center;
  min-height:300px;
  border-right:1px solid var(--line-soft);
  color:var(--gold);
  font-size:4.8rem;
}
.feature-body{padding:2.4rem 2.5rem}
.meta{
  margin:0 0 .45rem;
  color:var(--gold);
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.6rem;
}
.feature-body h3,
.record-card h3,
.archive-card h3,
.person-card h3{
  margin:.25rem 0 .4rem;
  color:var(--white);
  font-size:2.2rem;
  line-height:1.04;
}
.feature-body p{color:#b8afa2}
.tag-row{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.3rem 0}
.tag-row span{
  padding:.28rem .5rem;
  border:1px solid var(--gold-dim);
  color:#a99b86;
  font-family:var(--sans);
  font-size:.56rem;
  letter-spacing:.12em;
}
.text-link{
  color:var(--gold);
  text-decoration:none;
  border-bottom:1px solid var(--gold-dim);
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.62rem;
}

.section-dark{
  background:#0c1116;
  color:var(--paper);
}
.section-dark .section-heading>p{color:#9d9487}
.record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}
.record-card{
  padding:1rem;
  border:1px solid var(--line-soft);
  background:#11171d;
}
.record-art{
  aspect-ratio:1;
  display:grid;
  place-items:center;
  margin-bottom:1.2rem;
  border:1px solid var(--line-soft);
  position:relative;
  overflow:hidden;
  filter:saturate(.7) contrast(.96);
}
.record-art:before,.record-art:after{
  content:"";
  position:absolute;
  width:70%;
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(233,221,201,.18);
  box-shadow:0 0 0 28px rgba(255,255,255,.015),0 0 0 56px rgba(255,255,255,.008);
}
.record-art span{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:68px;
  aspect-ratio:1;
  border-radius:50%;
  background:#d6c7ad;
  color:#231f1b;
  font-family:var(--sans);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.12em;
}
.record-art-a{background:linear-gradient(135deg,#3b241e,#6f3b27)}
.record-art-b{background:linear-gradient(135deg,#1d2b34,#66522e)}
.record-art-c{background:linear-gradient(135deg,#28352f,#5f302a)}
.record-card p:last-child{color:#a89e91}

.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem}
.archive-card{
  min-height:250px;
  position:relative;
  padding:2rem;
  background:#11171d;
  border:1px solid var(--line-soft);
  box-shadow:none;
}
.archive-card:nth-child(2),.archive-card:nth-child(3){transform:none}
.stamp{
  position:absolute;
  top:18px;
  right:18px;
  padding:.24rem .44rem;
  border:1px solid var(--gold-dim);
  color:var(--gold);
  font-family:var(--sans);
  font-size:.54rem;
  letter-spacing:.14em;
  transform:none;
}
.archive-card p:last-child{color:#aaa093}

.section-paper{background:#12181e}
.people-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:1rem;
}
.person-card{
  grid-column:span 4;
  min-height:225px;
  padding:1.6rem;
  border:1px solid var(--line-soft);
  background:#0f151b;
}
.person-card:nth-child(4),.person-card:nth-child(5){grid-column:span 6}
.role{
  display:inline-block;
  margin-bottom:.8rem;
  color:var(--gold);
  font-family:var(--sans);
  font-size:.57rem;
  letter-spacing:.15em;
}
.person-card p{color:#aaa093}
.raven-card{background:#0b1015}
.raven-card .role{color:#b88c3e}

.station-section{
  background:#0b1015;
  color:var(--paper);
}
.station-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:5rem;
  align-items:start;
}
.station-section .eyebrow{color:var(--gold)}
.station-copy{
  max-width:720px;
  color:#b8afa2;
  font-size:1.08rem;
}

.site-footer{
  background:#080c10;
  color:#8f877b;
  padding:42px 0;
  border-top:1px solid var(--line-soft);
}
.footer-grid{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:2rem;
  align-items:center;
}
.footer-logo{width:76px}
.footer-grid>div:first-child{
  display:flex;
  align-items:center;
  gap:1rem;
  color:var(--paper);
}
.footer-claim{
  margin:0;
  color:var(--gold);
  font-size:1.12rem;
}
.fineprint{
  margin:.2rem 0 0;
  color:#726c63;
  font-family:var(--sans);
  font-size:.62rem;
  letter-spacing:.04em;
}

@media(max-width:900px){
  .hero-grid,.section-heading,.station-grid{grid-template-columns:1fr}
  .hero-grid{gap:3rem;padding-block:65px}
  .receiver-card{max-width:560px}
  .record-grid,.archive-grid{grid-template-columns:1fr}
  .person-card,.person-card:nth-child(4),.person-card:nth-child(5){grid-column:span 6}
}

@media(max-width:700px){
  body{font-size:17px}
  .header-inner{min-height:72px}
  .brand img{width:58px;height:58px}
  .nav-toggle{display:block}
  .site-nav{
    display:none;
    position:absolute;
    top:72px;
    left:0;right:0;
    padding:1rem 22px 1.3rem;
    background:#0d1217;
    border-bottom:1px solid var(--line-soft);
    flex-direction:column;
    align-items:flex-start;
  }
  .site-nav.open{display:flex}
  .hero-grid{min-height:auto}
  .hero h1{font-size:clamp(3.5rem,16vw,5.4rem)}
  .feature-card{grid-template-columns:1fr}
  .feature-number{
    min-height:100px;
    border-right:0;
    border-bottom:1px solid var(--line-soft);
  }
  .people-grid{grid-template-columns:1fr}
  .person-card,.person-card:nth-child(4),.person-card:nth-child(5){grid-column:1}
  .footer-grid{grid-template-columns:1fr}
}


/* ============================================================
   RECORD LIBRARY SUBPAGE
   Each .catalogue-entry is a self-contained record block.
   In Pinegrow, duplicate one whole article to add a new record.
   ============================================================ */

.site-nav a[aria-current="page"]{
  color:var(--gold);
}

.catalogue-hero{
  background:
    radial-gradient(circle at 72% 25%,rgba(183,138,56,.07),transparent 24rem),
    var(--panel-2);
  border-bottom:1px solid var(--line-soft);
}

.catalogue-hero-inner{
  min-height:330px;
  padding-block:76px 68px;
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:5rem;
  align-items:end;
}

.catalogue-hero h1{
  margin:.15rem 0 0;
  color:var(--white);
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(4rem,7vw,6.8rem);
  line-height:.88;
  letter-spacing:-.025em;
}

.catalogue-intro{
  margin:0;
  max-width:620px;
  color:#aaa093;
  font-size:1rem;
}

.catalogue-section{
  background:#0c1116;
}

.catalogue-heading{
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:4rem;
  align-items:end;
  margin-bottom:2.2rem;
}

.catalogue-heading h2{
  margin:.1rem 0 0;
  color:var(--white);
  font-size:clamp(2.8rem,5vw,4.6rem);
  line-height:.95;
}

.catalogue-heading>p{
  margin:0;
  color:#8f877b;
  max-width:560px;
}

.catalogue-list{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}

.catalogue-entry{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  min-width:0;
  background:#11171d;
  border:1px solid var(--line-soft);
}

.catalogue-thumb-link{
  display:block;
  align-self:stretch;
  padding:1rem;
  border-right:1px solid var(--line-soft);
  background:#0d1217;
  text-decoration:none;
  overflow:hidden;
}

.catalogue-thumbnail{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border:1px solid var(--line-soft);
  filter:saturate(.88) contrast(.98);
  transform:scale(1);
  transition:
    transform .28s ease,
    border-color .2s ease,
    filter .2s ease;
}

.catalogue-thumb-link:hover .catalogue-thumbnail,
.catalogue-thumb-link:focus-visible .catalogue-thumbnail{
  transform:scale(1.07);
  border-color:var(--gold);
  filter:saturate(1) contrast(1);
}

.catalogue-entry-body{
  min-width:0;
  padding:1.35rem 1.55rem 1.45rem;
  display:flex;
  flex-direction:column;
}

.catalogue-entry h3{
  margin:.18rem 0 .08rem;
  color:var(--white);
  font-size:2rem;
  line-height:1.02;
}

.catalogue-subtitle{
  display:block;
  margin-top:.22rem;
  color:#9f9587;
  font-size:.72em;
}

.catalogue-artist{
  margin:.22rem 0 .7rem;
  color:#c0b6a8;
  font-size:1.05rem;
}

.catalogue-description{
  max-width:760px;
  margin:0 0 1rem;
  color:#aaa093;
  font-size:.98rem;
  line-height:1.65;
}

.catalogue-details{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem 1.35rem;
  margin:0;
  padding-top:.8rem;
  border-top:1px solid rgba(183,138,56,.18);
}

.catalogue-details>div{
  min-width:130px;
}

.catalogue-details dt{
  margin:0 0 .08rem;
  color:var(--gold);
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.5rem;
}

.catalogue-details dd{
  margin:0;
  color:#9f9587;
  font-family:var(--sans);
  font-size:.64rem;
  line-height:1.45;
}

.catalogue-actions{
  margin-top:auto;
  padding-top:1rem;
}

.catalogue-bottom-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem 2rem;
  margin-top:2rem;
  padding-top:1.4rem;
  border-top:1px solid var(--line-soft);
}

@media(max-width:900px){
  .catalogue-hero-inner,
  .catalogue-heading{
    grid-template-columns:1fr;
    gap:2rem;
  }
}

@media(max-width:620px){
  .catalogue-hero-inner{
    min-height:auto;
    padding-block:58px 52px;
  }

  .catalogue-entry{
    grid-template-columns:1fr;
  }

  .catalogue-thumb-link{
    border-right:0;
    border-bottom:1px solid var(--line-soft);
  }

  .catalogue-thumbnail{
    max-width:230px;
    margin-inline:auto;
  }

  .catalogue-entry-body{
    padding:1.1rem;
  }

  .catalogue-entry h3{
    font-size:1.65rem;
  }

  .catalogue-bottom-nav{
    flex-direction:column;
  }
}


/* ============================================================
   SIGNAL ARCHIVE SUBPAGE
   Each .signal-archive-entry is a self-contained archive block.
   ============================================================ */

.archive-landing-link{
  display:flex;
  justify-content:flex-end;
  margin-top:1.5rem;
}

.signal-archive-hero{
  background:
    radial-gradient(circle at 76% 24%,rgba(183,138,56,.07),transparent 25rem),
    var(--panel-2);
  border-bottom:1px solid var(--line-soft);
}

.signal-archive-hero-inner{
  min-height:330px;
  padding-block:76px 68px;
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:5rem;
  align-items:end;
}

.signal-archive-hero h1{
  margin:.15rem 0 0;
  color:var(--white);
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(4rem,7vw,6.8rem);
  line-height:.88;
  letter-spacing:-.025em;
}

.signal-archive-intro{
  margin:0;
  max-width:620px;
  color:#aaa093;
  font-size:1rem;
}

.signal-archive-section{background:#0c1116}

.archive-index-heading{
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:4rem;
  align-items:end;
  margin-bottom:1.6rem;
}

.archive-index-heading h2{
  margin:.1rem 0 0;
  color:var(--white);
  font-size:clamp(2.8rem,5vw,4.6rem);
  line-height:.95;
}

.archive-index-heading>p{
  margin:0;
  color:#8f877b;
  max-width:560px;
}

.archive-index{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-bottom:2rem;
  padding-bottom:1.4rem;
  border-bottom:1px solid var(--line-soft);
}

.archive-filter{
  appearance:none;
  border:1px solid var(--gold-dim);
  background:transparent;
  color:#9f9587;
  padding:.48rem .7rem;
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.55rem;
  cursor:pointer;
  transition:.18s ease;
}

.archive-filter:hover,
.archive-filter.is-active{
  color:var(--gold);
  border-color:var(--gold);
  background:rgba(183,138,56,.07);
}

.archive-empty-message{
  margin:0 0 1.4rem;
  padding:1rem 1.1rem;
  border:1px dashed rgba(183,138,56,.26);
  color:#857d72;
  font-family:var(--sans);
  font-size:.72rem;
}

.signal-archive-list{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}

.signal-archive-entry{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  min-width:0;
  background:#11171d;
  border:1px solid var(--line-soft);
}

.signal-archive-entry[hidden]{display:none}

.archive-thumb-button{
  position:relative;
  display:block;
  width:100%;
  align-self:stretch;
  padding:1rem;
  border:0;
  border-right:1px solid var(--line-soft);
  background:#0d1217;
  cursor:zoom-in;
  overflow:hidden;
}

.archive-thumbnail{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border:1px solid var(--line-soft);
  filter:grayscale(.08) saturate(.82) contrast(.98);
  transform:scale(1);
  transition:transform .28s ease,border-color .2s ease,filter .2s ease;
}

.archive-thumb-button:hover .archive-thumbnail,
.archive-thumb-button:focus-visible .archive-thumbnail{
  transform:scale(1.05);
  border-color:var(--gold);
  filter:grayscale(0) saturate(.95) contrast(1);
}

.archive-thumb-hint{
  position:absolute;
  right:1.35rem;
  bottom:1.35rem;
  padding:.24rem .42rem;
  border:1px solid rgba(183,138,56,.5);
  background:rgba(8,12,16,.86);
  color:var(--gold);
  font-family:var(--sans);
  font-size:.48rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  pointer-events:none;
}

.signal-archive-entry-body{
  min-width:0;
  padding:1.5rem 1.65rem;
}

.archive-entry-topline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
}

.archive-status{
  display:inline-block;
  flex:0 0 auto;
  padding:.22rem .42rem;
  border:1px solid var(--gold-dim);
  color:var(--gold);
  font-family:var(--sans);
  font-size:.5rem;
  letter-spacing:.14em;
}

.signal-archive-entry h3{
  margin:.18rem 0 .55rem;
  color:var(--white);
  font-size:2rem;
  line-height:1.02;
}

.archive-description{
  max-width:820px;
  margin:0 0 1.15rem;
  color:#aaa093;
  font-size:.98rem;
  line-height:1.65;
}

.archive-entry-details{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.5rem;
  margin:0;
  padding-top:.85rem;
  border-top:1px solid rgba(183,138,56,.18);
}

.archive-entry-details>div{min-width:150px}

.archive-entry-details dt{
  margin:0 0 .08rem;
  color:var(--gold);
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.5rem;
}

.archive-entry-details dd{
  margin:0;
  color:#9f9587;
  font-family:var(--sans);
  font-size:.64rem;
  line-height:1.45;
}

.signal-archive-bottom-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem 2rem;
  margin-top:2rem;
  padding-top:1.4rem;
  border-top:1px solid var(--line-soft);
}

.archive-lightbox{
  width:min(94vw,1400px);
  max-height:92vh;
  padding:1.1rem;
  border:1px solid var(--gold-dim);
  background:#080c10;
  color:var(--paper);
}

.archive-lightbox::backdrop{background:rgba(0,0,0,.86)}

.archive-lightbox img{
  width:auto;
  max-width:100%;
  max-height:80vh;
  margin-inline:auto;
  object-fit:contain;
}

.archive-lightbox-close{
  position:absolute;
  top:.6rem;
  right:.7rem;
  z-index:2;
  width:2rem;
  height:2rem;
  border:1px solid var(--gold-dim);
  background:#0d1217;
  color:var(--gold);
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
}

.archive-lightbox-caption{
  margin:.7rem 0 0;
  color:#8f877b;
  text-align:center;
  font-family:var(--sans);
  font-size:.62rem;
  letter-spacing:.05em;
}

@media(max-width:900px){
  .signal-archive-hero-inner,
  .archive-index-heading{
    grid-template-columns:1fr;
    gap:2rem;
  }

  .signal-archive-entry{
    grid-template-columns:190px minmax(0,1fr);
  }
}

@media(max-width:620px){
  .signal-archive-hero-inner{
    min-height:auto;
    padding-block:58px 52px;
  }

  .signal-archive-entry{grid-template-columns:1fr}

  .archive-thumb-button{
    border-right:0;
    border-bottom:1px solid var(--line-soft);
  }

  .archive-thumbnail{
    max-width:260px;
    margin-inline:auto;
  }

  .signal-archive-entry-body{padding:1.1rem}
  .signal-archive-entry h3{font-size:1.65rem}
  .archive-entry-topline{flex-direction:column}
  .signal-archive-bottom-nav{flex-direction:column}
  .archive-landing-link{justify-content:flex-start}
}


/* ============================================================
   HOMEPAGE: SIGNAL ARCHIVE PORTAL
   ============================================================ */

.archive-portal{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  min-height:410px;
  border:1px solid var(--line-soft);
  background:
    radial-gradient(circle at 18% 42%,rgba(183,138,56,.075),transparent 22rem),
    #11171d;
  overflow:hidden;
}

.archive-portal-visual{
  position:relative;
  display:grid;
  place-items:center;
  min-width:0;
  padding:1.8rem 1.4rem 1.2rem;
  border-right:1px solid var(--line-soft);
  background:
    linear-gradient(145deg,rgba(255,255,255,.012),transparent 44%),
    #0d1217;
  overflow:hidden;
}

.archive-portal-visual:before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  background:rgba(183,138,56,.055);
  filter:blur(34px);
  pointer-events:none;
}

.archive-portal-visual img{
  position:relative;
  z-index:1;
  width:min(100%,330px);
  max-height:390px;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.36));
  transform:translateY(5px);
  transition:transform .3s ease,filter .3s ease;
}

.archive-portal:hover .archive-portal-visual img{
  transform:translateY(0) scale(1.025);
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.42));
}

.archive-portal-body{
  min-width:0;
  padding:2.4rem 2.6rem 2.5rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.archive-portal-body h3{
  margin:.2rem 0 .8rem;
  color:var(--white);
  font-size:clamp(2.5rem,4.2vw,4.2rem);
  line-height:.96;
}

.archive-portal-copy{
  max-width:720px;
  margin:0;
  color:#aaa093;
  font-size:1rem;
  line-height:1.7;
}

.archive-portal-categories{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .55rem;
  margin:1.45rem 0 1.55rem;
  padding-top:1.15rem;
  border-top:1px solid rgba(183,138,56,.18);
}

.archive-portal-categories span{
  padding:.28rem .48rem;
  border:1px solid rgba(183,138,56,.34);
  color:#978c7d;
  font-family:var(--sans);
  font-size:.5rem;
  letter-spacing:.11em;
}

.archive-portal-link{
  align-self:flex-start;
}

@media(max-width:900px){
  .archive-portal{
    grid-template-columns:240px minmax(0,1fr);
  }

  .archive-portal-body{
    padding:2rem;
  }
}

@media(max-width:700px){
  .archive-portal{
    grid-template-columns:1fr;
  }

  .archive-portal-visual{
    min-height:300px;
    border-right:0;
    border-bottom:1px solid var(--line-soft);
  }

  .archive-portal-visual img{
    width:min(72vw,290px);
    max-height:300px;
  }

  .archive-portal-body{
    padding:1.5rem;
  }
}


/* ============================================================
   HOMEPAGE: THE STATION IMAGE REEL
   ============================================================ */

.station-section .station-grid{
  grid-template-columns:.8fr 1.2fr;
}

.station-image-reel{
  grid-column:1 / -1;
  position:relative;
  width:100%;
  height:clamp(320px,42vw,520px);
  margin-top:1rem;
  overflow:hidden;
  border:1px solid var(--line-soft);
  background:
    radial-gradient(circle at 50% 50%,rgba(183,138,56,.055),transparent 40%),
    #080c10;
}

.station-reel-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  opacity:0;
  transition:opacity 2s ease;
}

.station-reel-image.is-active{
  opacity:1;
}

@media(max-width:900px){
  .station-image-reel{
    margin-top:.5rem;
    height:clamp(300px,60vw,480px);
  }
}

@media(max-width:620px){
  .station-image-reel{
    height:clamp(260px,82vw,420px);
  }
}

@media(prefers-reduced-motion:reduce){
  .station-reel-image{
    transition:none;
  }
}



/* ============================================================
   FOOTER: PROJECT / TRANSPARENCY / LEGAL LINKS
   ============================================================ */
.footer-copy{min-width:0}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem 1.15rem;
  margin-top:.85rem;
}
.footer-links a{
  color:#827a70;
  font-family:var(--sans);
  font-size:.56rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:.18s ease;
}
.footer-links a:hover,
.footer-links a:focus-visible{
  color:var(--gold);
  border-bottom-color:var(--gold-dim);
}
@media(max-width:700px){
  .footer-links{gap:.55rem 1rem}
}


/* ============================================================
   INFORMATION SUBPAGES: ABOUT / AI TRANSPARENCY / LEGAL
   ============================================================ */
.info-hero{
  background:
    radial-gradient(circle at 76% 24%,rgba(183,138,56,.07),transparent 25rem),
    var(--panel-2);
  border-bottom:1px solid var(--line-soft);
}
.info-hero-inner{
  min-height:315px;
  padding-block:72px 64px;
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:5rem;
  align-items:end;
}
.info-hero h1{
  margin:.15rem 0 0;
  color:var(--white);
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(3.8rem,7vw,6.6rem);
  line-height:.9;
  letter-spacing:-.025em;
}
.info-hero-intro{
  margin:0;
  max-width:650px;
  color:#aaa093;
  font-size:1rem;
}
.info-section{background:#0c1116}
.info-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:4rem;
  align-items:start;
}
.info-copy{max-width:820px}
.info-copy h2{
  margin:2.8rem 0 .8rem;
  color:var(--white);
  font-size:clamp(2.2rem,4vw,3.7rem);
  line-height:1;
}
.info-copy h2:first-child{margin-top:0}
.info-copy h3{
  margin:2rem 0 .55rem;
  color:var(--white);
  font-size:1.65rem;
  line-height:1.1;
}
.info-copy p,
.info-copy li{color:#aaa093}
.info-copy strong{color:#c8beaf;font-weight:600}
.info-copy a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim)}
.info-copy ul{padding-left:1.2rem}
.info-copy li{margin:.45rem 0}
.info-note{
  margin:1.7rem 0;
  padding:1.15rem 1.25rem;
  border-left:2px solid var(--gold-dim);
  background:#10161c;
  color:#9f9587;
}
.info-aside{
  position:sticky;
  top:118px;
  padding:1.2rem;
  border:1px solid var(--line-soft);
  background:#10161c;
}
.info-aside p{
  margin:0 0 .75rem;
  color:var(--gold);
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.55rem;
}
.info-aside a{
  display:block;
  padding:.48rem 0;
  color:#8f877b;
  font-family:var(--sans);
  font-size:.62rem;
  letter-spacing:.06em;
  text-decoration:none;
  border-bottom:1px solid rgba(183,138,56,.14);
}
.info-aside a:hover,.info-aside a:focus-visible{color:var(--gold)}
.legal-card{
  margin:1rem 0 1.4rem;
  padding:1.25rem 1.35rem;
  border:1px solid var(--line-soft);
  background:#10161c;
}
.legal-card p{margin:.35rem 0}
.placeholder{
  color:#b78a38;
  font-family:var(--sans);
  font-size:.82em;
  letter-spacing:.02em;
}
.production-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin:1.35rem 0 1.8rem;
}
.production-card{
  padding:1.15rem 1.2rem;
  border:1px solid var(--line-soft);
  background:#10161c;
}
.production-card h3{margin:0 0 .45rem;font-size:1.35rem}
.production-card p{margin:0;color:#928a7f;font-size:.95rem}
.info-bottom-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem 2rem;
  margin-top:3rem;
  padding-top:1.4rem;
  border-top:1px solid var(--line-soft);
}
@media(max-width:900px){
  .info-hero-inner,.info-layout{grid-template-columns:1fr;gap:2rem}
  .info-aside{position:static;display:flex;flex-wrap:wrap;gap:.15rem 1rem}
  .info-aside p{width:100%}
  .info-aside a{border-bottom:0}
}
@media(max-width:620px){
  .info-hero-inner{min-height:auto;padding-block:58px 52px}
  .production-grid{grid-template-columns:1fr}
  .info-bottom-nav{flex-direction:column}
}