/* ============================================================
   BASE — reset, pozadí, globální typografie, přístupnost.
   ============================================================ */

/* ---- reset ---- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  font-feature-settings:"ss01","cv11";
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.6;
  overflow-x:hidden;
}
::selection{ background:var(--accent); color:#0a0a0a }
a{ color:inherit; text-decoration:none }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer }
img,iframe{ max-width:100% }

/* ---- atmosférické pozadí ---- */
body::before{
  content:""; position:fixed; inset:0; z-index:-3; pointer-events:none;
  background:
    radial-gradient(1100px 700px at 50% -12%, rgba(182,255,60,.07), transparent 60%),
    radial-gradient(900px 700px at 92% 110%, rgba(182,255,60,.045), transparent 60%),
    linear-gradient(180deg, #07090a 0%, #05060a 100%);
}
body::after{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 80%);
}

/* ---- typografie sekcí ---- */
.serif{ font-family:"Instrument Serif", "Times New Roman", serif; font-style:italic; font-weight:400 }
h2{
  font-size: clamp(28px, 3.6vw, 46px);
  line-height:1.06;
  letter-spacing:-.028em;
  font-weight:500;
  margin:0 0 16px;
  max-width:22ch;
  color:var(--ink-2);
}
h2 .serif{ color:var(--accent); font-weight:400; letter-spacing:-.01em }
.label{
  font-family:"JetBrains Mono", monospace;
  font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--muted);
  display:flex; align-items:center; gap:14px;
  margin-bottom:22px;
}
.label::before{ content:""; width:28px; height:1px; background:var(--accent); box-shadow:0 0 8px rgba(182,255,60,.4) }
.lead{
  font-size: clamp(17px, 1.5vw, 19.5px);
  color:var(--ink-dim);
  max-width: 58ch;
  line-height:1.65;
  margin:0;
}

/* ---- přístupnost ---- */
:focus-visible{ outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px }
.skip{
  position:absolute; left:8px; top:-40px;
  padding:8px 12px; background:var(--accent); color:#0a0a0a;
  border-radius:6px; font-weight:600; z-index:200; transition: top .2s;
}
.skip:focus{ top:8px }

/* ---- drobné utility ---- */
.arrow{ width:14px; height:14px; flex-shrink:0 }
