/* ==========================================================================
   UNDERCURRENT — BASE (M1, v2.0)
   Reset, page ground, atmosphere, type defaults, accessibility floor.
   ========================================================================== */
*{margin:0;padding:0;box-sizing:border-box}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:16.5px;
  line-height:1.65;
  overflow-x:hidden;
}

/* Analog atmosphere: film grain + soft vignette. Decorative, non-interactive. */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:199;
  background:radial-gradient(ellipse 120% 100% at 50% 50%, transparent 62%, rgba(0,0,0,.4));
}
::selection{background:var(--accent);color:var(--bg)}

/* ---- Headline scale ---- */
h1{font-size:clamp(3rem,8.2vw,6.6rem);margin-bottom:8px}
h2{font-size:clamp(2rem,4vw,3.2rem)}
h1 em,h2 em{font-style:italic;color:var(--accent)}
h1 .l1{display:block;font-weight:350}
h1 .l2{display:block;font-style:italic;font-weight:650;color:var(--accent);text-shadow:0 0 40px rgba(255,179,71,.3)}

/* ---- Accessibility floor ----
   Every interactive element gets a visible focus ring; components may refine
   the offset but must never remove it. */
a:focus-visible,button:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--focus);outline-offset:3px;border-radius:2px;
}
.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:var(--accent);color:var(--bg);padding:10px 18px;font-weight:700;border-radius:0 0 var(--r-3) 0;text-decoration:none}
.skip-link:focus{left:0}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
