/* ============================================================
   CENARA MAR — Editorial × Y2K Software  v3 — 2026
   Typography-first magazine × chrome-era software UI.
   Fraunces (display) · Space Grotesk (UI) · JetBrains Mono (chrome)
   ============================================================ */

/* ----- 01 · TOKENS ------------------------------------------ */
:root{
  --ink:#0C0A0E; --ink-soft:#181419; --ink-card:#1F1A21; --ink-line:#2A2530;
  --paper:#F4ECDE; --paper-warm:#EDE2CE; --cream:#E2D4B8;
  --chrome-1:#D9D3CB; --chrome-2:#B5ADA3; --chrome-3:#7C7770;
  --type:#F5EFE3; --type-muted:#B6ACA0; --type-faint:#7A7268;
  --oxblood:#5A0F20; --lipstick:#E81A5A; --hot:#FF2E88;
  --peach:#F6B38A; --acid:#C8FF3A;
  --iris-1:#C1B2FF; --iris-2:#7AD9FF; --iris-3:#FFC6E6;
  --holo:linear-gradient(120deg,#FFC6E6 0%,#C1B2FF 35%,#7AD9FF 70%,#C8FF3A 100%);
  --chrome-grad:linear-gradient(180deg,#F4ECDE 0%,#D9D3CB 32%,#7C7770 55%,#D9D3CB 80%,#F4ECDE 100%);
  --rule-grad:linear-gradient(90deg,transparent,var(--chrome-2) 20%,var(--chrome-2) 80%,transparent);
  --serif:"Fraunces","Playfair Display",Georgia,serif;
  --sans:"Space Grotesk","Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --gutter:clamp(1rem,3vw,2rem);
  --col-max:1320px; --col-narrow:720px;
}

/* ----- 02 · RESET ------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--type);font-family:var(--sans);
  font-size:16px;line-height:1.55;font-feature-settings:"ss01","ss02","cv11";
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:opacity .2s ease}
::selection{background:var(--acid);color:var(--ink)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;
  opacity:.14;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.96  0 0 0 0 0.93  0 0 0 0 0.86  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.014) 0 1px,transparent 1px 3px)}

/* ----- 03 · LAYOUT ------------------------------------------ */
.wrap{max-width:var(--col-max);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-width:var(--col-narrow);margin-inline:auto;padding-inline:var(--gutter)}
.stack-xs>*+*{margin-top:.5rem}.stack-sm>*+*{margin-top:1rem}
.stack-md>*+*{margin-top:1.5rem}.stack-lg>*+*{margin-top:2.5rem}
.stack-xl>*+*{margin-top:4rem}

/* ----- 04 · TYPE -------------------------------------------- */
.display{font-family:var(--serif);font-weight:350;letter-spacing:-.035em;
  line-height:.92;font-variation-settings:"opsz" 144,"SOFT" 50}
.display em{font-style:italic;font-weight:300;color:var(--peach)}
.display .holo{background:var(--holo);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;font-style:italic}
h1.display{font-size:clamp(3.25rem,10vw,9rem)}
h2.display{font-size:clamp(2.25rem,6vw,5rem)}
h3.display{font-size:clamp(1.75rem,3vw,2.5rem)}

.label{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--type-muted);
  display:inline-flex;align-items:center;gap:.55rem}
.label::before{content:"//";color:var(--chrome-3)}
.label--naked::before{content:""}
.label--hot{color:var(--hot)}
.label--acid{color:var(--acid)}

p.lede{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.1rem,1.4vw,1.45rem);line-height:1.45;color:var(--type);max-width:54ch}
p.body{font-size:1rem;line-height:1.65;color:var(--type-muted);max-width:62ch}
.dropcap::first-letter{font-family:var(--serif);font-style:italic;font-weight:350;
  font-size:4.5em;float:left;line-height:.85;padding-right:.12em;padding-top:.08em;color:var(--peach)}

/* ----- 05 · ORNAMENTS --------------------------------------- */
.rule{display:flex;align-items:center;gap:1rem;margin:2.5rem 0}
.rule::before,.rule::after{content:"";flex:1;height:1px;background:var(--rule-grad)}
.rule__mark{width:22px;height:22px;color:var(--chrome-2);flex:0 0 auto}

.bracket{position:relative;padding:1.5rem}
.bracket::before,.bracket::after,
.bracket>.bracket__tl,.bracket>.bracket__br{content:"";position:absolute;width:14px;height:14px;
  border-color:var(--chrome-2);border-style:solid;border-width:0}
.bracket::before{top:0;left:0;border-top-width:1px;border-left-width:1px}
.bracket::after{top:0;right:0;border-top-width:1px;border-right-width:1px}
.bracket>.bracket__tl{bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}
.bracket>.bracket__br{bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}

.window{border:1px solid var(--ink-line);background:var(--ink-soft);position:relative;overflow:hidden}
.window__bar{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;
  background:var(--chrome-grad);border-bottom:1px solid var(--ink-line);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--ink)}
.window__dots{display:flex;gap:5px}
.window__dot{width:10px;height:10px;border-radius:50%;background:#A09A91;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.2)}
.window__dot--r{background:#E74A3E}.window__dot--y{background:#F2C14E}.window__dot--g{background:#6FD07A}
.window__title{flex:1;text-align:center;color:var(--ink)}
.window__meta{font-family:var(--mono);font-size:.65rem;color:var(--ink);opacity:.7}

.btn{display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--mono);font-weight:600;font-size:.8rem;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.95rem 1.5rem;border-radius:999px;color:var(--ink);
  background:var(--chrome-grad);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -2px 4px rgba(0,0,0,.18),
    0 1px 0 rgba(255,255,255,.05),0 6px 24px -8px rgba(0,0,0,.6);
  border:1px solid rgba(255,255,255,.08);
  transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}
.btn:hover{transform:translateY(-1px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 6px rgba(0,0,0,.22),
    0 12px 36px -10px rgba(255,46,136,.35)}
.btn svg{width:18px;height:18px;flex:0 0 auto}
.btn--ghost{background:transparent;color:var(--type);border:1px solid var(--chrome-3);box-shadow:none}
.btn--ghost:hover{background:rgba(255,255,255,.04);border-color:var(--chrome-2)}
.btn--hot{background:linear-gradient(180deg,#ff8bc1 0%,#FF2E88 55%,#B41158 100%);
  color:#fff;border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -2px 4px rgba(0,0,0,.25),
    0 10px 30px -8px rgba(255,46,136,.55)}

.sticker{display:inline-block;padding:.4rem .7rem;
  border:1px dashed var(--chrome-2);border-radius:2px;
  font-family:var(--mono);font-size:.65rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--acid);
  transform:rotate(-3deg);background:rgba(200,255,58,.06)}

/* ----- 06 · NAV --------------------------------------------- */
.nav{position:sticky;top:0;z-index:100;background:rgba(12,10,14,.78);
  backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);
  border-bottom:1px solid var(--ink-line)}
.nav__inner{max-width:var(--col-max);margin-inline:auto;padding:.9rem var(--gutter);
  display:flex;align-items:center;gap:2rem}
.nav__logo{font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:1.45rem;letter-spacing:-.01em;display:flex;align-items:baseline;gap:.35rem}
.nav__logo .mark{font-family:var(--mono);font-style:normal;font-size:.7rem;
  color:var(--hot);letter-spacing:.15em;transform:translateY(-.45rem)}
.nav__list{display:flex;gap:1.75rem;margin-left:auto;align-items:center;
  list-style:none;font-family:var(--mono);font-size:.72rem;
  text-transform:uppercase;letter-spacing:.18em}
.nav__list a{color:var(--type-muted);padding:.35rem 0;border-bottom:1px solid transparent}
.nav__list a:hover{color:var(--type);border-bottom-color:var(--hot)}
.nav__cta{font-family:var(--mono);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
  padding:.55rem 1rem;border-radius:999px;
  background:var(--chrome-grad);color:var(--ink) !important;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 4px 16px -6px rgba(0,0,0,.5)}
.nav__cta:hover{border-bottom-color:transparent !important}
.nav__toggle{display:none;background:transparent;border:none;color:var(--type);
  cursor:pointer;padding:.5rem;margin-left:auto}
@media (max-width:860px){
  .nav__toggle{display:block}
  .nav__list{position:absolute;top:100%;left:0;right:0;background:var(--ink-soft);
    border-bottom:1px solid var(--ink-line);flex-direction:column;
    padding:1.25rem var(--gutter);gap:1rem;display:none}
  .nav__list.open{display:flex}
}

/* ----- 07 · TICKER ------------------------------------------ */
.ticker{border-block:1px solid var(--ink-line);background:var(--ink-soft);
  overflow:hidden;padding:.85rem 0}
.ticker__track{display:flex;gap:3rem;white-space:nowrap;
  animation:tick 38s linear infinite;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--type-muted)}
.ticker__track span{display:inline-flex;align-items:center;gap:1rem}
.ticker__track span::after{content:"✦";color:var(--hot);margin-left:3rem}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ----- 08 · HERO -------------------------------------------- */
.hero{position:relative;padding:clamp(3rem,8vw,6rem) 0 clamp(4rem,10vw,8rem);overflow:hidden}
.hero__grid{display:grid;gap:clamp(2rem,4vw,4rem);
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr}}
.hero__meta{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}
.hero__meta .rule-h{flex:1;height:1px;background:var(--rule-grad)}
.hero__title{margin-block:1rem 2rem}
.hero__issue{font-family:var(--mono);font-size:.72rem;letter-spacing:.25em;
  text-transform:uppercase;color:var(--chrome-2)}
.hero__sub{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.5;
  color:var(--type-muted);max-width:46ch}
.hero__ctas{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}
.hero__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  margin-top:3rem;padding-top:2rem;border-top:1px solid var(--ink-line)}
.hero__stat .num{font-family:var(--serif);font-weight:350;font-style:italic;
  font-size:2.5rem;line-height:1;color:var(--peach)}
.hero__stat .cap{font-family:var(--mono);font-size:.65rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--type-faint);margin-top:.4rem}
.hero__shot{position:relative}
.hero__shot img{width:100%;height:100%;object-fit:cover;display:block}

.hero__figure{
  position:relative;aspect-ratio:3/4;overflow:hidden;
  border:1px solid var(--ink-line);margin:0;
  box-shadow:0 40px 80px -30px rgba(255,46,136,.15),
             0 0 0 1px rgba(255,255,255,.02) inset;
}
/* chrome bracket corners */
.hero__figure::before,.hero__figure::after{
  content:"";position:absolute;width:18px;height:18px;z-index:3;
  border:1px solid var(--peach);border-width:0;pointer-events:none;
}
.hero__figure::before{top:10px;left:10px;border-top-width:1px;border-left-width:1px}
.hero__figure::after{bottom:10px;right:10px;border-bottom-width:1px;border-right-width:1px}

.hero__tag{
  position:absolute;top:14px;right:14px;z-index:3;
  font-family:var(--mono);font-size:.65rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ink);
  background:var(--peach);padding:.3rem .55rem;
  box-shadow:0 6px 16px -6px rgba(0,0,0,.5);
}
.hero__credit{
  position:absolute;left:14px;bottom:14px;z-index:3;
  font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--chrome-1);
  text-shadow:0 1px 2px rgba(0,0,0,.6);
  max-width:60%;
}
.hero__sparks{position:absolute;inset:0;pointer-events:none;opacity:.9}

/* ----- 09 · SECTIONS ---------------------------------------- */
.section{padding:clamp(4rem,8vw,7rem) 0;position:relative}
.section--paper{background:var(--paper);color:var(--ink)}
.section--paper .label{color:var(--ink);opacity:.6}
.section--paper .display em{color:var(--oxblood)}
.section--paper p.body{color:rgba(12,10,14,.72)}
.section__head{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;
  align-items:center;margin-bottom:clamp(2.5rem,5vw,4rem)}
.section__head .rule-h{height:1px;background:var(--rule-grad)}
.section__num{font-family:var(--serif);font-style:italic;font-weight:350;
  font-size:2.5rem;color:var(--chrome-2);line-height:1}
.section--paper .section__num{color:var(--oxblood)}

/* ----- 10 · STEPS ------------------------------------------- */
.steps{display:grid;gap:2.5rem;grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.step{position:relative;padding-top:3rem;border-top:1px solid var(--ink-line)}
.section--paper .step{border-top-color:rgba(12,10,14,.18)}
.step__num{position:absolute;top:-.7rem;left:0;background:var(--ink);padding-right:.8rem;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.25em;
  text-transform:uppercase;color:var(--hot)}
.section--paper .step__num{background:var(--paper)}
.step__ico{width:52px;height:52px;margin-bottom:1rem;color:var(--peach)}
.section--paper .step__ico{color:var(--oxblood)}
.step__h{font-family:var(--serif);font-weight:350;font-style:italic;
  font-size:1.6rem;line-height:1.1;margin-bottom:.75rem;letter-spacing:-.01em}
.step__p{font-size:.95rem;line-height:1.6;color:var(--type-muted)}
.section--paper .step__p{color:rgba(12,10,14,.72)}

/* ----- 11 · EDITORIAL GRID ---------------------------------- */
.editorial{display:grid;gap:1.25rem;grid-template-columns:repeat(12,1fr);
  grid-auto-rows:minmax(140px,auto)}
.ed-item{position:relative;overflow:hidden;background:var(--ink-card)}
.ed-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.ed-item:hover img{transform:scale(1.04)}
.ed-item::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.65));pointer-events:none}
.ed-item .cap{position:absolute;left:1rem;bottom:1rem;right:1rem;z-index:2;
  display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}
.ed-item .cap__t{font-family:var(--serif);font-style:italic;font-weight:350;
  font-size:1.35rem;color:#fff;line-height:1.1}
.ed-item .cap__meta{font-family:var(--mono);font-size:.65rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--chrome-2)}
.ed-item.size-a{grid-column:span 7;grid-row:span 3}
.ed-item.size-b{grid-column:span 5;grid-row:span 2}
.ed-item.size-c{grid-column:span 5;grid-row:span 2}
.ed-item.size-d{grid-column:span 4;grid-row:span 2}
.ed-item.size-e{grid-column:span 3;grid-row:span 2}
@media (max-width:860px){
  .editorial{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}
  .ed-item.size-a{grid-column:span 2;grid-row:span 2}
  .ed-item.size-b,.ed-item.size-c,.ed-item.size-d,.ed-item.size-e{grid-column:span 1;grid-row:span 1}
}
.ed-item .num-overlay{position:absolute;top:.75rem;left:1rem;z-index:2;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--chrome-1)}

/* ----- 12 · PULL QUOTE -------------------------------------- */
.pull{padding:clamp(3rem,6vw,5rem) 0;text-align:center;position:relative}
.pull blockquote{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.75rem,3.5vw,2.75rem);line-height:1.25;
  max-width:28ch;margin:0 auto;letter-spacing:-.01em}
.pull cite{display:block;margin-top:1.5rem;font-style:normal;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--chrome-2)}
.pull__mark{display:block;margin:0 auto 1.25rem;width:40px;height:40px;color:var(--hot)}

/* ----- 13 · SHOWCASE ---------------------------------------- */
.showcase{display:grid;gap:clamp(2rem,5vw,4rem);
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
@media (max-width:860px){.showcase{grid-template-columns:1fr}}
.showcase__phone{position:relative;padding:2rem;
  background:radial-gradient(60% 50% at 50% 40%,rgba(255,46,136,.18),transparent 70%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.015) 0 2px,transparent 2px 14px);
  border:1px solid var(--ink-line)}
.showcase__phone img{max-width:420px;width:100%;margin-inline:auto;
  filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}
.showcase__list{list-style:none;padding:0}
.showcase__list li{display:grid;grid-template-columns:auto 1fr;gap:1rem;
  padding:1rem 0;border-bottom:1px solid var(--ink-line);font-size:1rem}
.showcase__list li .k{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--hot);min-width:2.5rem}
.showcase__list li .t{font-family:var(--serif);font-style:italic;font-weight:350;font-size:1.2rem}
.showcase__list li .d{color:var(--type-muted);font-size:.95rem;margin-top:.25rem}

/* ----- 14 · CTA PANEL --------------------------------------- */
.cta-panel{position:relative;background:linear-gradient(180deg,var(--ink-soft),var(--ink));
  border:1px solid var(--ink-line);padding:clamp(2.5rem,5vw,4rem);overflow:hidden}
.cta-panel::before{content:"";position:absolute;inset:0;
  background:radial-gradient(60% 60% at 80% 20%,rgba(255,46,136,.14),transparent 60%),
    radial-gradient(50% 60% at 10% 90%,rgba(193,178,255,.14),transparent 65%);
  pointer-events:none}
.cta-panel__inner{position:relative;z-index:1;display:grid;gap:1.5rem;max-width:640px}

/* ----- 15 · PROSE ------------------------------------------- */
.prose{max-width:680px;margin-inline:auto;font-size:1.05rem;line-height:1.75;color:var(--type)}
.prose h1,.prose h2,.prose h3{font-family:var(--serif);font-weight:350;letter-spacing:-.01em;
  color:var(--type);margin-top:2em;margin-bottom:.6em;line-height:1.15}
.prose h1{font-size:clamp(2.25rem,4vw,3.5rem);font-style:italic}
.prose h2{font-size:clamp(1.5rem,2.5vw,2.1rem)}
.prose h3{font-size:1.3rem;font-style:italic}
.prose p{margin-block:1em}
.prose a{color:var(--iris-2);border-bottom:1px solid var(--iris-2);padding-bottom:1px}
.prose a:hover{color:var(--acid);border-bottom-color:var(--acid)}
.prose strong{color:var(--type);font-weight:600}
.prose em{color:var(--peach);font-style:italic}
.prose ul,.prose ol{padding-left:1.4em;margin-block:1em}
.prose li{margin-block:.4em;color:var(--type-muted)}
.prose li::marker{color:var(--hot)}
.prose blockquote{border-left:2px solid var(--hot);padding:.5rem 0 .5rem 1.25rem;
  margin-block:1.5em;font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:1.2rem;color:var(--type)}
.prose img{margin-block:2em;border:1px solid var(--ink-line)}
.prose hr{border:none;height:1px;background:var(--rule-grad);margin-block:3em}
.prose code{font-family:var(--mono);font-size:.9em;background:var(--ink-card);
  padding:.1em .4em;border:1px solid var(--ink-line)}
.prose-meta{display:flex;gap:1.5rem;font-family:var(--mono);font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--type-faint);
  padding-bottom:1rem;border-bottom:1px solid var(--ink-line);
  margin-bottom:2rem;flex-wrap:wrap}

/* ----- 16 · FOOTER ------------------------------------------ */
.footer{border-top:1px solid var(--ink-line);background:var(--ink-soft);
  padding:clamp(3rem,6vw,5rem) 0 2rem;position:relative}
.footer__grid{display:grid;gap:2.5rem;grid-template-columns:2fr 1fr 1fr 1fr;margin-bottom:3rem}
@media (max-width:860px){.footer__grid{grid-template-columns:1fr 1fr}}
.footer__brand{font-family:var(--serif);font-style:italic;font-size:2.25rem;
  font-weight:350;margin-bottom:1rem;letter-spacing:-.02em}
.footer__desc{color:var(--type-muted);max-width:28ch;font-size:.95rem}
.footer__h{font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--chrome-2);margin-bottom:1rem}
.footer__links{list-style:none;padding:0}
.footer__links li{padding-block:.3rem}
.footer__links a{color:var(--type-muted);font-size:.95rem}
.footer__links a:hover{color:var(--hot)}
.footer__bot{display:flex;justify-content:space-between;align-items:center;
  padding-top:2rem;border-top:1px solid var(--ink-line);
  font-family:var(--mono);font-size:.7rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--type-faint);flex-wrap:wrap;gap:1rem}
.footer__social{display:flex;gap:1rem}
.footer__social a{width:36px;height:36px;border:1px solid var(--ink-line);
  display:grid;place-items:center;color:var(--type-muted)}
.footer__social a:hover{color:var(--hot);border-color:var(--hot)}

/* ----- 17 · UTILS ------------------------------------------- */
.text-center{text-align:center}
.text-hot{color:var(--hot)}.text-acid{color:var(--acid)}.text-peach{color:var(--peach)}
.text-holo{background:var(--holo);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent}
.ital{font-style:italic;font-family:var(--serif);font-weight:300}
.hidden-desk{display:none}
@media (max-width:860px){.hidden-desk{display:block}.hidden-mob{display:none}}

/* ----- 18 · MOTION ------------------------------------------ */
@keyframes twinkle{0%,100%{opacity:.15;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}
.twinkle{animation:twinkle 3s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){
  .twinkle,.ticker__track{animation:none !important}html{scroll-behavior:auto}}

/* ----- 19 · LEGAL / 404 ------------------------------------- */
.legal-hero{padding:clamp(3rem,6vw,5rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--ink-line)}
.legal-hero h1{font-family:var(--serif);font-weight:350;font-style:italic;
  font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.02em;line-height:1}
.legal-hero .meta{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--type-faint);margin-top:1rem}
.e404{min-height:calc(100vh - 80px);display:grid;place-items:center;text-align:center;padding:2rem}
.e404 .num{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(6rem,20vw,14rem);line-height:1;color:var(--peach)}
