/* ============================================================
   THE SOLO HUB — Design System
   Concept: dark-first "Ma corridor at night"; warm amber aperture
   as the signature light/accent; precision mono for engineering;
   editorial serif for warmth; humanist grotesk for clarity.
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  /* Surfaces — warm near-black (charcoal HPL capsule / night) */
  --ink:        #14110D;
  --ink-1:      #1A160F;
  --ink-2:      #221C14;
  --ink-line:   rgba(239,233,220,.12);
  --ink-line-2: rgba(239,233,220,.07);

  /* Paper — warm parchment / concrete daylight */
  --paper:      #EFE9DC;
  --paper-1:    #E7E0D0;
  --paper-2:    #DCD3BF;
  --paper-line: rgba(20,17,13,.14);

  /* Light — the 2700K aperture (signature accent) */
  --amber:      #D6A24A;
  --amber-soft: #E8C078;
  --amber-deep: #B07F31;

  /* Counterpoints — zellige sage, smoked oak */
  --sage:       #7E8C77;
  --clay:       #B98A5E;

  /* Text */
  --on-ink:        #EDE7D8;
  --on-ink-mute:   #A39A85;
  --on-ink-faint:  #6F685A;
  --on-paper:      #1C1812;
  --on-paper-mute: #5C5648;

  /* Type */
  --serif: "Fraunces", "Hoefler Text", Georgia, "Times New Roman", serif;
  --sans:  "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  --mono:  "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  /* Rhythm */
  --maxw: 1240px;
  --gut: clamp(20px, 5vw, 64px);
  --sp: clamp(72px, 11vw, 168px);     /* section padding block */
  --radius: 3px;                       /* capsule edge — barely rounded */

  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0;
  background:var(--ink);
  color:var(--on-ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  font-weight:380;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; }
h1,h2,h3,h4,p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }

/* ---------- Type scale ---------- */
.display{
  font-family:var(--serif);
  font-weight:340;
  line-height:.98;
  letter-spacing:-.02em;
  font-optical-sizing:auto;
}
.h-xxl{ font-size:clamp(3rem, 9vw, 7.4rem); }
.h-xl { font-size:clamp(2.6rem, 6.4vw, 5.2rem); }
.h-l  { font-size:clamp(2.1rem, 4.4vw, 3.6rem); }
.h-m  { font-size:clamp(1.6rem, 3vw, 2.4rem); line-height:1.06; }
.serif-italic{ font-style:italic; font-weight:340; }

.eyebrow{
  font-family:var(--mono);
  font-size:.74rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--amber);
}
.eyebrow--mute{ color:var(--on-ink-mute); }

.lede{
  font-size:clamp(1.12rem, 1.8vw, 1.42rem);
  line-height:1.5;
  font-weight:360;
  color:var(--on-ink);
  letter-spacing:.002em;
}
.section--paper .lede{ color:var(--on-paper); }
.measure{ max-width:40ch; }
.measure-wide{ max-width:60ch; }

.mono{ font-family:var(--mono); font-size:.8rem; letter-spacing:.06em; }

/* ---------- Layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.section{ padding-block:var(--sp); position:relative; }
.section--tight{ padding-block:clamp(48px,7vw,96px); }
.section--paper{ background:var(--paper); color:var(--on-paper); }
.section--ink1{ background:var(--ink-1); }
.divider{ height:1px; background:var(--ink-line); border:0; margin:0; }
.section--paper .divider{ background:var(--paper-line); }

.grid{ display:grid; gap:clamp(28px,4vw,64px); }
.cols-2{ grid-template-columns:repeat(2,1fr); }
.cols-3{ grid-template-columns:repeat(3,1fr); }
.cols-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){
  .cols-2,.cols-3,.cols-4{ grid-template-columns:1fr; }
  .cols-3.keep-2-sm{ grid-template-columns:1fr 1fr; }
}
.flow > * + *{ margin-top:1.1em; }
.stack-sm > * + *{ margin-top:.6rem; }
.stack-md > * + *{ margin-top:1.4rem; }
.stack-lg > * + *{ margin-top:2.4rem; }
.center{ text-align:center; }
.muted{ color:var(--on-ink-mute); }
.section--paper .muted{ color:var(--on-paper-mute); }
.amber{ color:var(--amber); }
.sage{ color:var(--sage); }

/* ---------- Aperture glow (signature) ---------- */
.aperture{
  position:absolute; inset:auto; pointer-events:none; z-index:0;
  width:min(120vw,1100px); height:min(120vw,1100px);
  background:radial-gradient(circle at center,
    rgba(232,192,120,.30) 0%,
    rgba(214,162,74,.16) 26%,
    rgba(176,127,49,.06) 46%,
    transparent 64%);
  filter:blur(8px);
  border-radius:50%;
}
.grain::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.section > .wrap{ position:relative; z-index:2; }

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--amber); --fg:#1B1306;
  display:inline-flex; align-items:center; gap:.7em;
  padding:.95em 1.5em;
  font-family:var(--mono); font-size:.78rem; letter-spacing:.16em; text-transform:uppercase;
  background:var(--bg); color:var(--fg);
  border:1px solid transparent; border-radius:var(--radius);
  transition:transform .4s var(--ease-out), background .3s, box-shadow .4s;
  will-change:transform;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 14px 40px -16px rgba(214,162,74,.6); }
.btn .arr{ transition:transform .4s var(--ease-out); }
.btn:hover .arr{ transform:translateX(4px); }
.btn--ghost{ background:transparent; color:var(--on-ink); border-color:var(--ink-line); }
.btn--ghost:hover{ background:transparent; border-color:var(--amber); color:var(--amber-soft); box-shadow:none; }
.section--paper .btn--ghost{ color:var(--on-paper); border-color:var(--paper-line); }
.section--paper .btn--ghost:hover{ color:var(--amber-deep); border-color:var(--amber-deep); }

/* text link with drawn underline */
.tlink{ position:relative; display:inline-flex; align-items:center; gap:.5em;
  font-family:var(--mono); font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; color:var(--amber); }
.tlink::after{ content:""; position:absolute; left:0; bottom:-4px; width:100%; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease-out); }
.tlink:hover::after{ transform:scaleX(1); }
.tlink .arr{ transition:transform .4s var(--ease-out); }
.tlink:hover .arr{ transform:translateX(4px); }

/* ---------- Header / Nav ---------- */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px var(--gut);
  transition:background .5s var(--ease), border-color .5s, padding .5s var(--ease);
  border-bottom:1px solid transparent;
}
.nav.is-stuck{ background:rgba(20,17,13,.82); backdrop-filter:blur(14px) saturate(1.1);
  border-bottom-color:var(--ink-line); padding-block:12px; }
.brand{ display:inline-flex; align-items:center; gap:.7em; letter-spacing:.02em; }
.brand .mark{ width:26px; height:26px; flex:none; }
.brand .name{ font-family:var(--mono); font-size:.84rem; letter-spacing:.24em; text-transform:uppercase; color:var(--on-ink); }
.nav-links{ display:flex; align-items:center; gap:clamp(14px,2vw,30px); }
.nav-links a{ font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--on-ink-mute); transition:color .3s; position:relative; padding-block:6px; }
.nav-links a:hover, .nav-links a[aria-current="page"]{ color:var(--on-ink); }
.nav-links a[aria-current="page"]::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--amber); }
.nav-cta{ display:inline-flex; }
.nav-toggle{ display:none; background:none; border:0; padding:8px; }
.nav-toggle span{ display:block; width:24px; height:1.5px; background:var(--on-ink); margin:5px 0; transition:transform .4s var(--ease), opacity .3s; }

@media (max-width:1040px){
  .nav-links{ position:fixed; inset:0; flex-direction:column; justify-content:center; gap:26px;
    background:rgba(16,13,9,.97); backdrop-filter:blur(8px);
    transform:translateY(-100%); transition:transform .6s var(--ease-out); padding:var(--gut); }
  .nav-links a{ font-size:1rem; letter-spacing:.18em; }
  .nav-links .nav-cta{ margin-top:8px; }
  body.menu-open .nav-links{ transform:translateY(0); }
  .nav-toggle{ display:block; z-index:61; position:relative; }
  body.menu-open .nav-toggle span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
  body.menu-open .nav-toggle span:nth-child(2){ opacity:0; }
  body.menu-open .nav-toggle span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }
  .nav .nav-cta.desktop-only{ display:none; }
}
@media (min-width:1041px){ .nav-toggle{ display:none; } }

/* ---------- Hero ---------- */
.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end;
  padding-bottom:clamp(56px,9vh,120px); overflow:hidden; isolation:isolate; }
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media video,.hero__media img{ width:100%; height:100%; object-fit:cover; }
.hero__fallback{ position:absolute; inset:0; z-index:0;
  background:
   radial-gradient(60% 70% at 72% 38%, rgba(232,192,120,.22), transparent 60%),
   radial-gradient(120% 90% at 50% 120%, rgba(214,162,74,.10), transparent 55%),
   linear-gradient(180deg,#100D09 0%, #15110B 50%, #0E0B07 100%);
}
.hero__scrim{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(10,8,5,.45) 0%, transparent 30%, rgba(10,8,5,.55) 100%); }
.hero__inner{ position:relative; z-index:3; width:100%; }
.hero h1{ max-width:16ch; }
.hero__meta{ display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:30px; }
.hero__meta span{ font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--on-ink-mute); }
.hero__meta span::before{ content:"— "; color:var(--amber); }
.scrollcue{ position:absolute; left:var(--gut); bottom:24px; z-index:3;
  font-family:var(--mono); font-size:.66rem; letter-spacing:.24em; text-transform:uppercase; color:var(--on-ink-faint);
  display:flex; align-items:center; gap:10px; }
.scrollcue i{ display:block; width:1px; height:34px; background:linear-gradient(var(--amber),transparent); }

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity 1s var(--ease-out), transform 1s var(--ease-out); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
.line-mask{ display:block; overflow:hidden; }
.line-mask > span{ display:block; transform:translateY(105%); transition:transform 1.1s var(--ease-out); }
.line-mask.in > span{ transform:none; }
.line-mask.l2 > span{ transition-delay:.12s; } .line-mask.l3 > span{ transition-delay:.24s; }
@media (prefers-reduced-motion: reduce){
  .reveal,.line-mask>span{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ---------- Eyebrow row / section heads ---------- */
.sec-head{ display:flex; gap:clamp(20px,4vw,80px); align-items:flex-end; flex-wrap:wrap; margin-bottom:clamp(40px,5vw,72px); }
.sec-head .sec-head__lead{ flex:1 1 420px; }
.sec-head .sec-head__aside{ flex:0 1 320px; }
.index-tag{ font-family:var(--mono); font-size:.7rem; letter-spacing:.2em; color:var(--on-ink-faint); }
.section--paper .index-tag{ color:var(--on-paper-mute); }

/* ---------- Concept / zone cards ---------- */
.zone{ position:relative; border:1px solid var(--ink-line); border-radius:var(--radius);
  padding:clamp(26px,3vw,40px); overflow:hidden; background:var(--ink-1);
  transition:border-color .5s, transform .6s var(--ease-out); }
.zone::before{ content:""; position:absolute; right:-30%; top:-30%; width:70%; height:70%;
  background:radial-gradient(circle,rgba(232,192,120,.18),transparent 70%); opacity:0; transition:opacity .6s; }
.zone:hover{ border-color:rgba(214,162,74,.45); transform:translateY(-4px); }
.zone:hover::before{ opacity:1; }
.zone__kanji{ font-family:var(--serif); font-size:clamp(2.4rem,5vw,3.4rem); color:var(--amber); line-height:1; }
.zone__name{ font-family:var(--serif); font-size:1.5rem; margin-top:6px; }
.zone__role{ font-family:var(--mono); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--on-ink-mute); margin-top:2px; }
.zone p{ color:var(--on-ink-mute); margin-top:16px; font-size:.96rem; }

/* ---------- Image plate (art-directed slot) ---------- */
.plate{ position:relative; border-radius:var(--radius); overflow:hidden;
  background:linear-gradient(135deg,#241D14,#15110B); border:1px solid var(--ink-line); aspect-ratio:4/3; }
.plate--tall{ aspect-ratio:3/4; } .plate--wide{ aspect-ratio:16/9; }
.plate__glow{ position:absolute; inset:0;
  background:radial-gradient(70% 60% at 65% 40%, rgba(232,192,120,.22), transparent 62%); }
.plate__cap{ position:absolute; left:16px; bottom:14px; z-index:2;
  font-family:var(--mono); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--on-ink-mute); }
.plate__cap b{ color:var(--amber); font-weight:500; }
.plate img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.plate__frame{ position:absolute; inset:14px; border:1px solid rgba(239,233,220,.10); pointer-events:none; }

/* ---------- Stats ---------- */
.stat__num{ font-family:var(--serif); font-size:clamp(2.4rem,5vw,3.6rem); line-height:1; color:var(--on-ink); }
.section--paper .stat__num{ color:var(--on-paper); }
.stat__num .u{ font-size:.5em; color:var(--amber); }
.stat__label{ font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--on-ink-mute); margin-top:10px; }
.section--paper .stat__label{ color:var(--on-paper-mute); }

/* ---------- Spec list (mono, engineering) ---------- */
.specs{ border-top:1px solid var(--ink-line); }
.section--paper .specs{ border-top-color:var(--paper-line); }
.specs .row{ display:flex; justify-content:space-between; gap:24px; padding:18px 0;
  border-bottom:1px solid var(--ink-line); align-items:baseline; }
.section--paper .specs .row{ border-bottom-color:var(--paper-line); }
.specs .k{ font-family:var(--mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--on-ink-mute); }
.section--paper .specs .k{ color:var(--on-paper-mute); }
.specs .v{ font-family:var(--serif); font-size:1.15rem; text-align:right; }

/* ---------- Audience split ---------- */
.paths{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--ink-line); border-radius:var(--radius); overflow:hidden; }
@media (max-width:860px){ .paths{ grid-template-columns:1fr; } }
.path{ position:relative; padding:clamp(30px,3.4vw,52px); border-right:1px solid var(--ink-line);
  display:flex; flex-direction:column; min-height:340px; transition:background .5s; overflow:hidden; }
.path:last-child{ border-right:0; }
@media (max-width:860px){ .path{ border-right:0; border-bottom:1px solid var(--ink-line); } .path:last-child{ border-bottom:0; } }
.path::after{ content:""; position:absolute; inset:0; background:radial-gradient(80% 60% at 50% 0%, rgba(214,162,74,.10), transparent 60%); opacity:0; transition:opacity .5s; }
.path:hover{ background:var(--ink-1); } .path:hover::after{ opacity:1; }
.path .no{ font-family:var(--mono); font-size:.7rem; letter-spacing:.2em; color:var(--on-ink-faint); }
.path h3{ font-family:var(--serif); font-size:clamp(1.5rem,2.4vw,2rem); margin-top:auto; }
.path p{ color:var(--on-ink-mute); margin-top:12px; font-size:.95rem; }
.path .tlink{ margin-top:24px; }

/* ---------- Feature row (alternating) ---------- */
.feat{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,80px); align-items:center; }
.feat.rev .feat__media{ order:2; }
@media (max-width:900px){ .feat{ grid-template-columns:1fr; } .feat.rev .feat__media{ order:0; } }

/* ---------- Cards (value props) ---------- */
.card{ border:1px solid var(--ink-line); border-radius:var(--radius); padding:clamp(24px,2.6vw,34px);
  background:var(--ink-1); transition:border-color .5s, transform .6s var(--ease-out); height:100%; }
.card:hover{ border-color:rgba(214,162,74,.4); transform:translateY(-3px); }
.card .ic{ width:30px; height:30px; color:var(--amber); margin-bottom:18px; }
.card h4{ font-family:var(--serif); font-size:1.3rem; font-weight:360; }
.card p{ color:var(--on-ink-mute); margin-top:10px; font-size:.95rem; }
.section--paper .card{ background:#fff; border-color:var(--paper-line); }
.section--paper .card:hover{ border-color:var(--amber-deep); }

/* ---------- Quote / pull ---------- */
.pull{ font-family:var(--serif); font-weight:340; font-size:clamp(1.7rem,3.4vw,2.7rem); line-height:1.18; letter-spacing:-.01em; }
.pull .amber{ font-style:italic; }

/* ---------- Logos / trust strip ---------- */
.trust{ display:flex; flex-wrap:wrap; align-items:center; gap:clamp(24px,5vw,64px); }
.trust span{ font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--on-ink-faint); }

/* ---------- Process / steps ---------- */
.steps{ counter-reset:s; border-top:1px solid var(--ink-line); }
.section--paper .steps{ border-top-color:var(--paper-line); }
.step{ display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,4vw,56px); padding:clamp(26px,3vw,40px) 0;
  border-bottom:1px solid var(--ink-line); }
.section--paper .step{ border-bottom-color:var(--paper-line); }
.step__no{ font-family:var(--mono); font-size:.8rem; color:var(--amber); letter-spacing:.1em; padding-top:.5em; }
.step h3{ font-family:var(--serif); font-size:clamp(1.4rem,2.4vw,1.9rem); font-weight:360; }
.step p{ color:var(--on-ink-mute); margin-top:10px; max-width:56ch; }
.section--paper .step p{ color:var(--on-paper-mute); }

/* ---------- Forms ---------- */
.form{ display:grid; gap:18px; }
.field{ display:grid; gap:8px; }
.field label{ font-family:var(--mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--on-ink-mute); }
.field input,.field textarea,.field select{
  background:var(--ink-1); border:1px solid var(--ink-line); border-radius:var(--radius);
  color:var(--on-ink); padding:14px 16px; font-family:var(--sans); font-size:.98rem; width:100%;
  transition:border-color .3s, background .3s; }
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-color:var(--amber); background:var(--ink-2); }
.field textarea{ resize:vertical; min-height:120px; }
.section--paper .field label{ color:var(--on-paper-mute); }
.section--paper .field input,.section--paper .field textarea,.section--paper .field select{ background:#fff; border-color:var(--paper-line); color:var(--on-paper); }
.form .row-2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:620px){ .form .row-2{ grid-template-columns:1fr; } }
.form__note{ font-family:var(--mono); font-size:.66rem; letter-spacing:.05em; color:var(--on-ink-faint); }
.form-success{ display:none; border:1px solid rgba(214,162,74,.5); border-radius:var(--radius);
  padding:24px; background:rgba(214,162,74,.06); }
.form-success.show{ display:block; }
.inline-form{ display:flex; gap:10px; flex-wrap:wrap; }
.inline-form input{ flex:1 1 240px; }

/* ---------- FAQ accordion ---------- */
.acc{ border-top:1px solid var(--ink-line); }
.acc__item{ border-bottom:1px solid var(--ink-line); }
.acc__q{ width:100%; text-align:left; background:none; border:0; padding:24px 0; display:flex; gap:24px; align-items:flex-start; justify-content:space-between;
  font-family:var(--serif); font-size:clamp(1.1rem,1.8vw,1.35rem); font-weight:360; color:var(--on-ink); }
.acc__q .pm{ flex:none; width:18px; height:18px; position:relative; margin-top:.4em; }
.acc__q .pm::before,.acc__q .pm::after{ content:""; position:absolute; background:var(--amber); transition:transform .4s var(--ease); }
.acc__q .pm::before{ inset:50% 0 auto 0; height:1.5px; transform:translateY(-50%); }
.acc__q .pm::after{ inset:0 50% 0 auto; width:1.5px; transform:translateX(50%); }
.acc__item.open .pm::after{ transform:translateX(50%) scaleY(0); }
.acc__a{ overflow:hidden; max-height:0; transition:max-height .5s var(--ease); }
.acc__a > div{ padding:0 0 26px; color:var(--on-ink-mute); max-width:64ch; }

/* ---------- Page hero (interior pages) ---------- */
.phero{ position:relative; padding-top:clamp(150px,18vh,220px); padding-bottom:clamp(56px,8vw,110px); overflow:hidden; }
.phero h1{ max-width:18ch; }
.phero .lede{ margin-top:24px; }

/* ---------- Locations ---------- */
.loc{ display:grid; grid-template-columns:auto 1fr auto; gap:clamp(18px,3vw,48px); align-items:center;
  padding:clamp(26px,3vw,38px) 0; border-bottom:1px solid var(--ink-line); }
@media (max-width:760px){ .loc{ grid-template-columns:1fr; gap:14px; } }
.loc__city{ font-family:var(--serif); font-size:clamp(1.8rem,3.4vw,2.6rem); font-weight:340; }
.loc__meta{ color:var(--on-ink-mute); font-size:.95rem; }
.loc__status{ font-family:var(--mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  border:1px solid var(--ink-line); border-radius:100px; padding:7px 14px; white-space:nowrap; }
.loc__status.live{ color:var(--amber); border-color:rgba(214,162,74,.4); }
.loc__status.soon{ color:var(--sage); border-color:rgba(126,140,119,.4); }

/* ---------- Footer ---------- */
.foot{ background:#0E0B07; border-top:1px solid var(--ink-line); padding-block:clamp(56px,7vw,96px) 36px; }
.foot__top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:clamp(28px,4vw,56px); }
@media (max-width:860px){ .foot__top{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .foot__top{ grid-template-columns:1fr; } }
.foot h5{ font-family:var(--mono); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--on-ink-faint); margin-bottom:18px; }
.foot a{ color:var(--on-ink-mute); font-size:.92rem; display:block; padding:5px 0; transition:color .3s; }
.foot a:hover{ color:var(--amber-soft); }
.foot__brandline{ font-family:var(--serif); font-size:clamp(1.6rem,3vw,2.2rem); font-weight:340; max-width:18ch; }
.foot__bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:clamp(48px,6vw,80px);
  padding-top:24px; border-top:1px solid var(--ink-line); }
.foot__bottom p,.foot__bottom a{ font-family:var(--mono); font-size:.68rem; letter-spacing:.08em; color:var(--on-ink-faint); }
.foot__bottom .r{ display:flex; gap:22px; flex-wrap:wrap; }

/* ---------- Misc ---------- */
.kicker-rule{ width:38px; height:1px; background:var(--amber); display:inline-block; vertical-align:middle; margin-right:14px; }
.tag-list{ display:flex; flex-wrap:wrap; gap:10px; }
.tag{ font-family:var(--mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--on-ink-mute);
  border:1px solid var(--ink-line); border-radius:100px; padding:7px 13px; }
.section--paper .tag{ color:var(--on-paper-mute); border-color:var(--paper-line); }
.note-band{ border:1px dashed rgba(214,162,74,.35); border-radius:var(--radius); padding:16px 20px;
  font-family:var(--mono); font-size:.7rem; letter-spacing:.04em; color:var(--on-ink-mute); line-height:1.7; }
.skip{ position:absolute; left:-9999px; top:0; background:var(--amber); color:#1B1306; padding:10px 16px; z-index:100; font-family:var(--mono); font-size:.8rem; }
.skip:focus{ left:8px; top:8px; }
:focus-visible{ outline:2px solid var(--amber); outline-offset:3px; border-radius:2px; }
