/* ============================================================
   PAINKER — Redesign #1, v2 "Flyer Wall"
   THESIS: Painkers Geschichte ist physisch und roh (Rock→Metal→
     Rap, echtes Comeback) - die Seite liest sich wie eine echte
     Flyer-Wand/Pinnwand statt wie ein SaaS-Karten-Grid oder ein
     digitaler Broadcast-Screen (beide Richtungen existieren schon
     in anderen Redesign-Vorschauen). Recherchiert über
     ui-ux-pro-max: "anti-polish-raw-aesthetic", empfohlen für
     "artist sites... authentic storytelling". Details: DESIGN.md.
   BRAND: Kernfarben (Rot/Orange #ff5a3c, Amber) bleiben - echte,
     jahrelang etablierte Marken-DNA, kein Rebrand. Anton-Wordmark
     bleibt. Neu: Permanent Marker für Handschrift-Akzente statt
     durchgängigem Mono-Eyebrow-Label-System.
   DNA-UPDATE: dritter Akzent "Bruise" (gedecktes Violett/Weinrot) -
     wörtlich ein Bluterguss-Ton, passend zu "Rap, der wehtut". Nur
     in Tiefe/Atmosphäre (Hero-Glow, Schatten, Hover-Glows), nie als
     Fläche - bleibt Textur/Stimmung, nicht neue Hauptfarbe.
   MOTION-UPDATE: mehr Dynamik auf Wunsch, aber im selben Idiom wie
     das Konzept selbst - Karten (Flyer/Ticket/Index-Karte) kommen
     beim Scrollen mit einer kleinen Dreh-und-Setzen-Bewegung rein
     ("wird gerade angepinnt"), nicht generisches Fade-up überall.
   FINISH: unreviewed and undocumented is unfinished.
   ============================================================ */

:root{
  --bg:#0c0908;
  --bg-2:#161210;
  --paper:#ece2cd;
  --paper-dim:#cbb98f;
  --ink:#181210;
  --ink-soft:#4a3f34;
  --text:#f3e9db;
  --muted:#a8977e;
  --accent:#ff5a3c;
  --accent-ink:#1d0904;
  --accent-2:#f2a33c;
  --accent-2-ink:#211405;
  --bruise:#7a2a4d;
  --bruise-deep:#3d1226;
  --border:rgba(243,233,219,.12);
  --shadow:rgba(0,0,0,.65);
  --radius:14px;
  --radius-sm:8px;
  --ease:cubic-bezier(.22,.7,.24,1);
}

*{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(--bg);color:var(--text);
  font-family:"Work Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  line-height:1.6;position:relative;
}
body::after{
  content:"";position:fixed;inset:-2%;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='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- ambient bg scraps (Papier-/Tape-Reste, driften per Parallax) --- */
.bg-scraps{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.scrap{
  position:absolute;opacity:.1;
  transform:translateY(var(--sy,0px)) rotate(var(--rot,0deg));
  transition:transform .08s linear;
}
.scrap--tape{
  width:3.4rem;height:1.05rem;
  background:linear-gradient(135deg, rgba(243,233,219,.85), rgba(203,185,143,.55));
}
.scrap--paper{
  width:2.5rem;height:3.1rem;background:var(--paper);
  clip-path:polygon(0% 5%,16% 0%,32% 6%,48% 1%,64% 5%,80% 0%,100% 6%,95% 100%,79% 95%,63% 100%,47% 94%,31% 100%,15% 95%,4% 100%);
}
.scrap--pin{
  width:.8rem;height:.8rem;border-radius:50%;
  background:radial-gradient(circle at 32% 28%, var(--accent-2), #8a5209 100%);
}
.scrap--sm{transform-origin:center;scale:.7;}
@media (max-width:820px){ .bg-scraps :nth-child(n+3){display:none;} }
@media (prefers-reduced-motion: reduce){ .scrap{transition:none;transform:rotate(var(--rot,0deg));} }

img,svg{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3{margin:0;text-wrap:balance;}
.wrap{max-width:1140px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem);}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

.mono{font-family:"JetBrains Mono","SFMono-Regular",Consolas,monospace;}
.marker{font-family:"Permanent Marker",cursive;}

/* handwritten scrawl labels - replaces the old mono all-caps eyebrow
   system; used sparingly (one per section), not as decoration */
.scrawl-label{
  font-family:"Permanent Marker",cursive;font-size:1rem;color:var(--accent-2);
  display:flex;align-items:center;gap:.5rem;margin:0 0 .3rem;transform:rotate(-1deg);
}
.tag-scrawl{
  font-family:"Permanent Marker",cursive;font-size:1.05rem;color:var(--accent-2);
  transform:rotate(-1.5deg);margin:0 0 .6rem;display:inline-block;
}
.marker-heading{
  font-family:"Anton",sans-serif;text-transform:uppercase;letter-spacing:.005em;
  font-size:clamp(2.1rem,5.2vw,3.2rem);line-height:.95;
}
.marker-heading--lg{font-size:clamp(2.6rem,7vw,4.2rem);}

/* ---------- reveal on scroll ---------- */
/* plain text (paragraphs, headings): quiet fade-up */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--d,0) * 80ms);}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* paper elements (flyer/ticket/index-card/photocopy): come in like they're
   just being pinned up - drop, overshoot the resting rotation, settle. Same
   idiom as the pins/tape themselves, not a generic fade borrowed from
   elsewhere. --rot is the element's own resting tilt (0 if unset). */
.reveal--pin{
  opacity:0;transform:translateY(34px) scale(.94) rotate(calc(var(--rot,0deg) - 6deg));
  transition:opacity .55s var(--ease),transform .6s cubic-bezier(.3,1.4,.4,1);
  transition-delay:calc(var(--d,0) * 90ms);
}
.reveal--pin.in-view{opacity:1;transform:translateY(0) scale(1) rotate(var(--rot,0deg));}

@media (prefers-reduced-motion: reduce){
  .reveal,.reveal--pin{transition:none;opacity:1;transform:rotate(var(--rot,0deg));}
}

/* hero entrance - the one authored "load" moment (see DESIGN.md Motion) */
.rise{animation:rise .7s var(--ease) both;}
@keyframes rise{ from{opacity:0;transform:translateY(24px);} to{opacity:1;transform:translateY(0);} }
@media (prefers-reduced-motion: reduce){ .rise{animation:none;} }

/* ---------- progress bar ---------- */
.progress-bar{position:fixed;top:0;left:0;height:3px;width:100%;z-index:50;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(0);transform-origin:left;transition:transform .1s linear;}

/* ---------- nav ---------- */
header{position:sticky;top:0;z-index:20;padding:14px clamp(1rem,4vw,2rem) 0;}
.navbar{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  max-width:1140px;margin:0 auto;padding:.7rem .8rem .7rem 1.2rem;
  background:color-mix(in srgb, var(--bg-2) var(--nav-op,80%), transparent);
  backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius-sm);
  box-shadow:0 12px 30px -18px var(--shadow);transition:background .2s linear;
}
.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;}
.logo-icon{height:28px;width:auto;flex:none;display:block;}
.logo-mark-sm{height:22px;width:auto;flex:none;display:block;}
nav.links{display:flex;gap:clamp(1rem,3vw,2rem);list-style:none;margin:0;padding:0;flex-wrap:wrap;}
nav.links a{
  text-decoration:none;font-size:.85rem;font-family:"JetBrains Mono",monospace;
  text-transform:uppercase;letter-spacing:.06em;color:var(--muted);
  padding:.3rem 0;border-bottom:1px solid transparent;transition:color .15s,border-color .15s;
}
nav.links a:hover{color:var(--text);border-color:var(--accent);}
nav.links a.active{color:var(--text);border-color:var(--accent);}

.nav-toggle{display:none;width:2.2rem;height:2.2rem;flex:none;background:none;border:0;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;}
.nav-toggle span{width:1.15rem;height:1.5px;background:var(--text);transition:transform .2s var(--ease),opacity .2s var(--ease);}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}
@media (max-width:760px){
  .nav-toggle{display:flex;}
  nav.links{
    display:flex;flex-direction:column;gap:0;flex-wrap:nowrap;
    position:absolute;top:calc(100% + .6rem);right:0;left:0;padding:.4rem;
    background:var(--bg-2);backdrop-filter:blur(16px);
    border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 20px 40px -16px var(--shadow);
    opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .15s var(--ease),transform .15s var(--ease);
  }
  nav.links.is-open{opacity:1;transform:translateY(0);pointer-events:auto;}
  nav.links a{padding:.85rem 1rem;border-bottom:1px solid var(--border);}
  nav.links a:last-child{border-bottom:0;}
  @media (prefers-reduced-motion: reduce){ nav.links{transition:none;} }
}

/* ---------- buttons ---------- */
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem;}
.btn{
  font-family:"JetBrains Mono",monospace;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;
  text-decoration:none;padding:.8rem 1.4rem;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:.5rem;
  transition:transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease);
}
.btn--solid{background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 22px -8px var(--shadow);}
.btn--solid:hover{transform:translateY(-2px);box-shadow:0 14px 26px -8px var(--shadow),0 10px 24px -10px var(--bruise);}
.btn--outline{background:transparent;color:var(--text);border:1.5px solid var(--border);}
.btn--outline:hover{border-color:var(--accent);color:var(--accent);}
.btn--sm{padding:.55rem 1.05rem;font-size:.72rem;}

/* ============================================================
   HERO ("the board") - torn paper strip + taped polaroid
   ============================================================ */
.board{position:relative;overflow:hidden;border-bottom:1px solid var(--border);
  background:
    radial-gradient(120% 70% at 15% -10%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%),
    radial-gradient(90% 60% at 88% 30%, color-mix(in srgb, var(--bruise) 22%, transparent), transparent 60%),
    var(--bg);
}
.hero{
  position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);
  padding:clamp(3rem,9vw,6rem) 0 clamp(3rem,7vw,4.5rem);align-items:center;
}
@media (max-width:860px){ .hero{grid-template-columns:1fr;} }

.hero-text h1{margin:0 0 1.3rem;}
.logo-lockup{display:flex;align-items:center;gap:clamp(.6rem,2vw,1.1rem);flex-wrap:wrap;}
.logo-lockup__mark{height:clamp(3.2rem,8.5vw,5rem);width:auto;flex:none;}
.logo-lockup__word{height:clamp(3rem,9vw,5.4rem);width:auto;max-width:100%;}


/* ---------- polaroid photo ---------- */
.hero-visual{position:relative;display:flex;justify-content:center;}
.polaroid{
  position:relative;background:var(--paper);padding:.9rem .9rem 2.6rem;border-radius:2px;
  box-shadow:0 26px 46px -20px var(--shadow),0 2px 0 var(--paper-dim) inset;
  transform:rotate(var(--rot,-3deg));width:min(320px,74vw);
  animation:sway 7s ease-in-out infinite;transform-origin:50% 110%;
}
/* pinned an einem Punkt, hängt minimal wie ein echtes angepinntes Foto -
   einziges Dauer-Motion-Element der Seite, sehr klein/langsam gehalten */
@keyframes sway{0%,100%{transform:rotate(var(--rot,-3deg));}50%{transform:rotate(calc(var(--rot,-3deg) + 1deg));}}
@media (prefers-reduced-motion: reduce){ .polaroid{animation:none;} }
.polaroid__photo{position:relative;overflow:hidden;background:var(--bg-2);}
.polaroid__photo img{width:100%;height:auto;filter:grayscale(.25) contrast(1.08) sepia(.12);}
.polaroid__photo::after{
  content:"";position:absolute;inset:0;mix-blend-mode:multiply;opacity:.4;
  background-image:radial-gradient(circle, var(--ink) 1px, transparent 1.3px);
  background-size:4px 4px;
}
.pin{
  position:absolute;top:-.6rem;left:50%;transform:translateX(-50%);width:1.1rem;height:1.1rem;border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #ff9a86, var(--accent) 60%, #9c2c17 100%);
  box-shadow:0 3px 6px rgba(0,0,0,.5);
}
.tape{
  position:absolute;width:3.6rem;height:1.4rem;
  background:linear-gradient(135deg, rgba(236,226,205,.85), rgba(203,185,143,.7));
  box-shadow:0 2px 6px rgba(0,0,0,.25);opacity:.9;
}
.tape--tl{top:-.5rem;left:-.7rem;transform:rotate(-40deg);}
.tape--br{bottom:.9rem;right:-.7rem;transform:rotate(-40deg);}

/* ---------- torn section divider ---------- */
.rip{
  border:0;height:1.4rem;margin:0;background:var(--bg);position:relative;
}
.rip::before{
  content:"";position:absolute;left:0;right:0;top:50%;height:1px;
  background:repeating-linear-gradient(90deg, var(--border) 0 10px, transparent 10px 18px);
}

/* ============================================================
   LISTEN STRIP (ticket)
   ============================================================ */
.listen-strip{padding:clamp(2.4rem,6vw,3.5rem) 0 0;}
.listen-strip__inner{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;}
.ticket{
  display:flex;align-items:stretch;text-decoration:none;color:var(--ink);background:var(--paper);
  border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 18px 34px -18px var(--shadow);
  transform:rotate(var(--rot,-.6deg));max-width:26rem;width:100%;transition:transform .2s var(--ease);
}
.ticket:hover{transform:rotate(0deg) translateY(-2px);}
.ticket__stub{
  flex:none;width:4rem;display:flex;align-items:center;justify-content:center;font-size:1.3rem;
  background:var(--accent);color:var(--accent-ink);position:relative;
}
.ticket__stub::after{
  content:"";position:absolute;right:-.55rem;top:0;bottom:0;width:1.1rem;
  background:radial-gradient(circle, var(--bg) 45%, transparent 46%);background-size:1.1rem 1.1rem;background-repeat:repeat-y;
}
.ticket__body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:.9rem 1.2rem;font-family:"JetBrains Mono",monospace;}
.ticket__body b{font-family:"Anton",sans-serif;font-size:1.05rem;text-transform:uppercase;letter-spacing:.01em;}
.ticket__body span{font-size:.76rem;color:var(--ink-soft);margin-top:.2rem;}

/* ============================================================
   SECTIONS / CHIPS
   ============================================================ */
section{padding:clamp(3rem,7vw,5rem) 0;}
.section-head{margin-bottom:2rem;}
#impressum .section-head h2{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:clamp(1.7rem,4vw,2.4rem);}

.chip-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.8rem;}
.chip{
  font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.03em;
  padding:.5rem .9rem;border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);
  background:color-mix(in srgb, var(--bg-2) 60%, transparent);text-decoration:none;display:inline-block;
  transition:color .15s,border-color .15s;
}
a.chip:hover{color:var(--accent);border-color:var(--accent);}

/* ============================================================
   DISCOGRAFIE - flyer wall
   ============================================================ */
.flyer-wall{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.6rem 1.3rem;padding-top:.5rem;
}
.flyer{
  position:relative;background:var(--paper);color:var(--ink);border-radius:2px;
  padding:1.3rem 1.2rem 1.1rem;box-shadow:0 20px 34px -18px var(--shadow);
  transform:rotate(var(--rot,0deg));transition:transform .2s var(--ease),box-shadow .2s var(--ease);
  display:flex;flex-direction:column;gap:.7rem;
}
.flyer:hover{transform:rotate(0deg) translateY(-5px);box-shadow:0 26px 40px -16px var(--shadow);}
.flyer__pin{
  position:absolute;top:-.55rem;left:50%;transform:translateX(-50%);width:1rem;height:1rem;border-radius:50%;
  background:radial-gradient(circle at 32% 28%, #ffd28c, var(--accent-2) 60%, #96590b 100%);
  box-shadow:0 3px 6px rgba(0,0,0,.45);
}
/* leichter Farbrhythmus über die Wand statt lauter gleicher Stecknadeln -
   jede dritte Karte kriegt die Bruise-Nadel statt Amber */
.flyer:nth-child(3n) .flyer__pin{
  background:radial-gradient(circle at 32% 28%, #e089b3, var(--bruise) 60%, var(--bruise-deep) 100%);
}
.flyer__meta{font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-ink);opacity:.7;display:flex;justify-content:space-between;}
.flyer h3{font-family:"Anton",sans-serif;text-transform:uppercase;font-size:1.3rem;line-height:1.15;letter-spacing:.005em;}
.flyer__link{font-family:"JetBrains Mono",monospace;font-size:.74rem;text-decoration:none;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-top:auto;}
.flyer__link:hover{color:var(--accent);}

/* ============================================================
   ARCHIV - photocopy + stub list
   ============================================================ */
.archive-note{color:var(--muted);max-width:48ch;margin:0 0 1.8rem;}
.archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:start;}
@media (max-width:860px){ .archive-grid{grid-template-columns:1fr;} }

.photocopy{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;transform:rotate(var(--rot,-.7deg));box-shadow:0 20px 36px -20px var(--shadow);}
.photocopy__head{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.08em;color:var(--muted);margin-bottom:.7rem;padding:0 .2rem;}
.embed-wrap{border-radius:var(--radius-sm);overflow:hidden;background:#000;aspect-ratio:16/9;filter:grayscale(.35) contrast(1.05);}
.embed-wrap iframe{width:100%;height:100%;border:0;display:block;}

.stub-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;}
.stub-list li a{
  display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--text);
  background:color-mix(in srgb, var(--bg-2) 70%, transparent);border:1px dashed var(--border);
  border-radius:var(--radius-sm);padding:.7rem 1rem;transition:border-color .15s,color .15s;
}
.stub-list li a:hover{border-color:var(--accent);color:var(--accent);}
.stub-list__yr{font-family:"JetBrains Mono",monospace;font-size:.75rem;color:var(--muted);flex:none;width:2.8rem;}
.stub-list__ti{flex:1;font-size:.92rem;}
.stub-list__go{font-family:"JetBrains Mono",monospace;font-size:.75rem;color:var(--muted);flex:none;}

/* ============================================================
   ÜBER - zine spread
   ============================================================ */
.zine{display:grid;grid-template-columns:.85fr 1.35fr;gap:clamp(2rem,5vw,3.5rem);}
@media (max-width:820px){ .zine{grid-template-columns:1fr;} }
.zine__text p{max-width:64ch;font-size:1.03rem;}
.zine__text p + p{margin-top:1.1rem;}

.index-card{
  position:relative;align-self:start;background:var(--paper);color:var(--ink);border-radius:2px;
  padding:1.3rem 1.4rem;box-shadow:0 20px 36px -18px var(--shadow);transform:rotate(var(--rot,-1deg));
  font-family:"JetBrains Mono",monospace;font-size:.82rem;
}
.index-card b{font-family:"Permanent Marker",cursive;color:var(--ink);display:block;font-size:1.15rem;margin-bottom:.7rem;transform:rotate(-.5deg);}
.index-card dl{margin:0;display:flex;flex-direction:column;gap:.5rem;}
.index-card dl > div{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px dashed var(--paper-dim);padding-bottom:.4rem;}
.index-card dl > div:last-child{border-bottom:0;}
.index-card dt{color:var(--ink-soft);}
.index-card dd{margin:0;font-weight:600;text-align:right;}

.credit-tag{
  grid-column:1/-1;position:relative;margin-top:.4rem;background:color-mix(in srgb, var(--bg-2) 80%, transparent);
  border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem 1.4rem;
  display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;
}
.credit-tag p{margin:.3rem 0 0;color:var(--muted);font-size:.95rem;max-width:46ch;}
.credit-tag strong{display:block;font-family:"Anton",sans-serif;font-size:1.3rem;text-transform:uppercase;margin-top:.25rem;}
.credit-tag .cta-row{margin-top:0;flex:none;}

/* ---------- follow ---------- */
.follow{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;padding:clamp(3.5rem,8vw,5.5rem) 0;}
.follow p{color:var(--muted);max-width:42ch;margin:1rem auto 0;}
.follow .cta-row{justify-content:center;}

/* ---------- impressum ---------- */
.legal{display:flex;flex-direction:column;gap:1.7rem;max-width:70ch;}
.legal-block h3{font-family:"JetBrains Mono",monospace;text-transform:uppercase;font-size:.76rem;letter-spacing:.06em;color:var(--accent);margin:0 0 .5rem;font-weight:600;}
.legal-block p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.7;}
.legal-block a{color:var(--text);text-decoration:underline;text-decoration-color:var(--border);}
.legal-block a:hover{color:var(--accent);}

footer{padding:1.8rem 0 2.4rem;}
.foot-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-family:"JetBrains Mono",monospace;font-size:.72rem;color:var(--muted);letter-spacing:.02em;}
.foot-row a{text-decoration:underline;text-decoration-color:var(--border);}
.foot-row a:hover{color:var(--accent);}
