/* =========================================================
   DICKSON RECORDS — BASE SYSTEM
   Typography:
   - Anton: identity / impact
   - Archivo Narrow: institutional
   - IBM Plex Mono: system / archive
   - IBM Plex Sans: documents / reading

   IMPORTANT:
   Font files are NOT bundled.
   The browser will use installed fonts if available.
   For production, connect your licensed/self-hosted or web font source.
   ========================================================= */

@font-face{font-family:"Anton";src:url("../fonts/anton/Anton-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo Narrow";src:url("../fonts/archivo-narrow/ArchivoNarrow-VariableFont_wght.ttf") format("truetype");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/ibm-plex-mono/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/ibm-plex-mono/IBMPlexMono-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/ibm-plex-mono/IBMPlexMono-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans/IBMPlexSans-VariableFont_wdth,wght.ttf") format("truetype");font-weight:100 700;font-style:normal;font-display:swap}

:root{
  --black:#000000;
  --white:#ffffff;
  --yellow:#ffd400;
  --grey:#8b8b84;
  --line:#2b2b28;
  --panel:#080808;
  --max:1800px;
  --font-impact:"Anton","Arial Narrow",Impact,sans-serif;
  --font-institutional:"Archivo Narrow","Arial Narrow",Arial,sans-serif;
  --font-system:"IBM Plex Mono","Courier New",monospace;
  --font-document:"IBM Plex Sans",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{
  margin:0;background:var(--black);color:var(--white);
  font-family:var(--font-document);
  min-width:320px;
}
body.modal-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
h1,h2,h3,p{margin-top:0}
.texture{
  position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.11;
  background:url("../images/ui/grunge-texture.jpg") center/cover no-repeat;
  mix-blend-mode:screen;
}
.system-copy,.file-label,.entity-id,.release-card span,.release-card p,.system-footer{
  font-family:var(--font-system);
}
.document-copy{font-family:var(--font-document)}
.eyebrow,.section-heading h2,.operation-copy h3{
  font-family:var(--font-institutional);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.section-shell{
  width:min(var(--max),100%);
  margin:auto;
  border-bottom:1px solid var(--line);
}
.section-heading{
  min-height:58px;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  border-bottom:1px solid var(--line);
}
.section-heading h2{font-size:18px;margin:0;font-weight:500}
.section-heading a,.section-heading span{font:12px var(--font-system);color:var(--yellow)}
.system-button{
  display:inline-flex;justify-content:space-between;align-items:center;gap:30px;
  min-height:48px;padding:0 18px;border:1px solid var(--yellow);
  font:12px var(--font-system);color:var(--yellow);background:transparent;cursor:pointer;
}
.system-button:hover,.system-button.filled{background:var(--yellow);color:var(--black)}
.file-meta{margin:0}
.file-meta div{
  display:grid;grid-template-columns:1fr 1fr;gap:16px;
  padding:13px 0;border-top:1px solid var(--line);
}
.file-meta dt{color:var(--grey)}
.file-meta dd{margin:0;color:var(--yellow)}







    .entity-file-hero{
      display:grid;
      grid-template-columns:54px minmax(0,.92fr) minmax(430px,1.08fr);
      min-height:620px;
      overflow:hidden;
      background:#000;
    }

    .entity-file-rail{
      writing-mode:vertical-rl;
      transform:rotate(180deg);
      border-right:1px solid var(--line);
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:24px 0;
      color:#6f6f69;
      font-size:9px;
      letter-spacing:.08em;
    }

    .entity-file-visual{
      position:relative;
      min-width:0;
      min-height:620px;
      overflow:hidden;
      border-right:1px solid var(--line);
      background:#030303;
    }

    .entity-file-visual img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      filter:grayscale(1) contrast(1.08) brightness(.76);
    }

    .entity-file-visual::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(90deg,rgba(0,0,0,.30),transparent 22%,transparent 78%,rgba(0,0,0,.18)),
        linear-gradient(0deg,rgba(0,0,0,.42),transparent 22%);
    }

    .entity-file-code{
      position:absolute;
      top:24px;
      left:26px;
      z-index:3;
      color:var(--yellow);
      font:12px var(--font-system);
    }

    .entity-file-image-note{
      position:absolute;
      z-index:3;
      left:26px;
      bottom:24px;
      display:flex;
      flex-wrap:wrap;
      gap:16px;
      color:#8b8b84;
      font:9px var(--font-system);
      text-transform:uppercase;
    }

    .entity-file-data{
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
      padding:34px 34px 28px;
      min-width:0;
      background:
        linear-gradient(180deg,rgba(255,212,0,.025),transparent 18%),
        #050505;
    }

    .entity-file-kicker{
      margin:0 0 18px;
      color:var(--yellow);
      font:10px var(--font-system);
      letter-spacing:.08em;
    }

    .entity-file-data h1{
      margin:0;
      font:clamp(64px,6vw,108px)/.88 var(--font-impact);
      letter-spacing:-.01em;
      color:#f0efe9;
    }

    .entity-file-state{
      display:flex;
      align-items:center;
      gap:12px;
      margin:18px 0 24px;
      color:#888;
      font:11px var(--font-system);
    }

    .entity-file-state strong{
      color:var(--yellow);
      font-weight:400;
    }

    .entity-file-data .file-meta div{
      grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);
      font-size:10px;
    }

    .entity-file-data .file-meta dd{
      color:#deddd7;
    }

    .entity-file-data .file-meta .public-value{
      color:var(--yellow);
    }


    .entity-file-hero-bio{
      margin-top:20px;
      padding-top:18px;
      border-top:1px solid var(--line);
      max-width:640px;
    }

    .entity-file-hero-bio .hero-bio-label{
      display:block;
      margin-bottom:10px;
      color:var(--yellow);
      font:9px var(--font-system);
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .entity-file-hero-bio p{
      margin:0;
      color:#aaa9a3;
      font:14px/1.5 var(--font-reading);
      max-width:58ch;
    }


    .entity-file-quick-socials{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:1px;
      margin-top:18px;
      background:var(--line);
      border:1px solid var(--line);
    }

    .entity-file-quick-socials a{
      min-width:0;
      padding:11px 10px;
      background:#070707;
      color:#9b9b94;
      font:9px var(--font-system);
      text-transform:uppercase;
      text-align:center;
      letter-spacing:.04em;
      transition:.15s ease;
    }

    .entity-file-quick-socials a:hover{
      background:#11110d;
      color:var(--yellow);
    }

    .social-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:1px;
      background:var(--line);
      border:1px solid var(--line);
    }

    .social-link{
      display:grid;
      grid-template-columns:1fr auto;
      gap:18px;
      align-items:center;
      min-height:96px;
      padding:20px 22px;
      background:#080808;
      transition:background .18s ease,color .18s ease;
    }

    .social-link:hover{
      background:#11110d;
      color:var(--yellow);
    }

    .social-link small{
      display:block;
      margin-bottom:7px;
      color:#6f6f69;
      font:9px var(--font-system);
      text-transform:uppercase;
      letter-spacing:.06em;
    }

    .social-link strong{
      display:block;
      color:#efeee8;
      font:24px var(--font-institutional);
      font-weight:500;
      text-transform:uppercase;
    }

    .social-link:hover strong{color:var(--yellow)}

    .social-link span{
      color:#8c8c86;
      font:18px var(--font-system);
    }

    .entity-clearance{
      margin-top:20px;
      border-top:1px solid #5c4d00;
      border-bottom:1px solid #5c4d00;
      padding:11px 0;
      display:grid;
      grid-template-columns:1fr auto;
      align-items:center;
      gap:18px;
    }

    .entity-clearance small{
      display:block;
      color:#777;
      font:9px var(--font-system);
      margin-bottom:6px;
    }

    .entity-clearance strong{
      color:var(--yellow);
      font:15px var(--font-institutional);
      font-weight:500;
    }

    .entity-clearance-mark{
      width:12px;
      height:12px;
      background:var(--yellow);
    }

    .entity-file-index{
      display:grid;
      grid-template-columns:54px 250px minmax(0,1fr);
      background:#000;
    }

    .entity-file-index-rail{
      border-right:1px solid var(--line);
    }

    .entity-file-nav{
      border-right:1px solid var(--line);
      padding:28px 22px 40px;
    }

    .entity-file-nav > span{
      display:block;
      margin-bottom:20px;
      color:#6f6f69;
      font:9px var(--font-system);
    }

    .entity-file-nav a{
      display:grid;
      grid-template-columns:28px 1fr;
      gap:8px;
      align-items:center;
      min-height:46px;
      border-top:1px solid var(--line);
      color:#a4a49e;
      font:11px var(--font-system);
    }

    .entity-file-nav a:last-child{border-bottom:1px solid var(--line)}
    .entity-file-nav a:hover{color:var(--yellow)}
    .entity-file-nav b{font-weight:400;color:#5c5c58}

    .entity-file-content{
      min-width:0;
    }

    .file-section{
      border-bottom:1px solid var(--line);
    }

    .file-section-inner{
      padding:54px 48px 62px;
    }

    .file-section-label{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      margin-bottom:36px;
    }

    .file-section-label h2{
      margin:0;
      font:36px var(--font-institutional);
      font-weight:500;
      text-transform:uppercase;
      letter-spacing:.03em;
    }

    .file-section-label span{
      color:var(--yellow);
      font:10px var(--font-system);
    }

    .entity-biography{
      display:grid;
      grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);
      gap:70px;
      align-items:start;
    }

    .entity-biography-copy{
      color:#c8c8c2;
      font:18px/1.65 var(--font-document);
      max-width:800px;
    }

    .entity-biography-copy p:last-child{margin-bottom:0}
    .entity-biography-copy strong{color:#fff}

    .entity-note{
      border-top:1px solid var(--yellow);
      padding-top:16px;
      color:#80807a;
      font:10px/1.65 var(--font-system);
      text-transform:uppercase;
    }

    .entity-note strong{
      display:block;
      margin-bottom:8px;
      color:var(--yellow);
      font-weight:400;
    }

    .entity-facts{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      margin-top:44px;
      border:1px solid var(--line);
    }

    .entity-fact{
      min-height:105px;
      padding:16px 18px;
      border-right:1px solid var(--line);
    }

    .entity-fact:last-child{border-right:0}
    .entity-fact small{
      display:block;
      color:#73736d;
      font:9px var(--font-system);
      margin-bottom:12px;
    }
    .entity-fact strong{
      font:18px var(--font-institutional);
      font-weight:500;
      text-transform:uppercase;
    }
    .entity-fact strong.yellow{color:var(--yellow)}

    .archive-list{
      border-top:1px solid var(--line);
    }

    .archive-row{
      display:grid;
      grid-template-columns:130px minmax(0,1fr) 160px 28px;
      gap:18px;
      align-items:center;
      min-height:88px;
      padding:14px 0;
      border-bottom:1px solid var(--line);
    }

    .archive-row:hover .archive-title{color:var(--yellow)}
    .archive-code,.archive-type,.archive-arrow{
      font:10px var(--font-system);
      color:#777;
    }
    .archive-code{color:var(--yellow)}
    .archive-title{
      font:27px var(--font-institutional);
      font-weight:500;
      text-transform:uppercase;
      transition:color .15s ease;
    }
    .archive-type{text-align:right}
    .archive-arrow{color:var(--yellow);font-size:15px;text-align:right}

    .evidence-grid-file{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:10px;
    }

    .evidence-file{
      border:1px solid var(--line);
      background:#050505;
      min-width:0;
    }

    .evidence-file-image{
      position:relative;
      overflow:hidden;
      aspect-ratio:4/3;
      background:#090909;
    }

    .evidence-file img{
      width:100%;
      height:100%;
      object-fit:cover;
      filter:grayscale(1) contrast(1.12) brightness(.8);
    }

    .evidence-file-image::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(0deg,rgba(0,0,0,.3),transparent 50%);
    }

    .evidence-file-meta{
      display:flex;
      justify-content:space-between;
      gap:10px;
      padding:11px 12px;
      color:#777;
      font:9px var(--font-system);
    }
    .evidence-file-meta span:first-child{color:var(--yellow)}

    .relation-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:10px;
    }

    .relation-card{
      border:1px solid var(--line);
      min-height:165px;
      padding:22px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      background:#050505;
    }

    .relation-card small{
      color:var(--yellow);
      font:9px var(--font-system);
    }

    .relation-card strong{
      display:block;
      margin-top:14px;
      font:31px var(--font-impact);
      font-weight:400;
    }

    .relation-card span{
      color:#777;
      font:10px var(--font-system);
    }

    .file-closing{
      padding:70px 48px 76px;
    }

    .file-closing p{
      max-width:980px;
      margin:0;
      font:clamp(44px,5.5vw,94px)/.95 var(--font-impact);
      text-transform:uppercase;
      color:#ecebe5;
    }

    .file-closing mark{
      padding:0 .08em;
      background:var(--yellow);
      color:#000;
    }

    @media(max-width:1100px){
      .entity-file-hero{grid-template-columns:46px minmax(0,1fr)}
      .entity-file-data{grid-column:1/-1;border-top:1px solid var(--line)}
      .entity-file-visual{border-right:0}
      .entity-file-index{grid-template-columns:46px minmax(0,1fr)}
      .entity-file-nav{display:none}
      .entity-file-content{grid-column:2}
      .entity-biography{grid-template-columns:1fr;gap:36px}
      .entity-facts{grid-template-columns:repeat(2,1fr)}
      .entity-fact:nth-child(2){border-right:0}
      .entity-fact:nth-child(-n+2){border-bottom:1px solid var(--line)}
    }

    @media(max-width:720px){
      .entity-file-hero{grid-template-columns:1fr;min-height:0}
      .entity-file-rail{display:none}
      .entity-file-visual{min-height:540px}
      .entity-file-data{padding:32px 20px}
      .entity-file-index{display:block}
      .entity-file-index-rail{display:none}
      .entity-file-content{display:block}
      .file-section-inner{padding:40px 20px 48px}
      .file-section-label{align-items:flex-start;flex-direction:column;gap:8px}
      .entity-facts{grid-template-columns:1fr}
      .entity-fact{border-right:0;border-bottom:1px solid var(--line)}
      .entity-fact:last-child{border-bottom:0}
      .archive-row{grid-template-columns:1fr 28px;gap:7px;padding:18px 0}
      .archive-code,.archive-type{grid-column:1}
      .archive-type{text-align:left}
      .archive-title{grid-column:1;font-size:24px}
      .archive-arrow{grid-column:2;grid-row:1/4}
      .evidence-grid-file,.relation-grid,.social-grid{grid-template-columns:1fr}
      .entity-file-quick-socials{grid-template-columns:repeat(2,1fr)}
      .file-closing{padding:54px 20px 60px}
    }
