/* ==========================================================================
   Base / Reset / Typography
   ========================================================================== */

*,*::before,*::after{box-sizing:border-box;}
*{margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
html,body{height:100%;}
body{
  background:var(--surface-0);
  color:var(--ink-1);
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* atmospheric base gradient — depth via light, not flat black */
body{
  background-image:
    radial-gradient(1100px 620px at 82% -6%, rgba(47,111,237,0.16), transparent 60%),
    radial-gradient(900px 560px at -6% 18%, rgba(79,141,255,0.10), transparent 55%),
    linear-gradient(180deg, var(--surface-0) 0%, #10141b 100%);
  background-attachment:fixed;
}

a{color:inherit;text-decoration:none;}
img,svg,video,canvas{max-width:100%;display:block;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
input,select,textarea{font:inherit;color:inherit;}
ul,ol{list-style:none;}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--ink-0);
  font-weight:600;
  letter-spacing:-0.01em;
  line-height:1.08;
}

.container{
  max-width:var(--container-max);
  margin-inline:auto;
  padding-inline:var(--edge);
}

.muted{color:var(--ink-2);}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-mono);
  font-size:var(--fs-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--signal-0);
}
.eyebrow::before{
  content:"";
  width:22px;height:1px;
  background:var(--signal-0);
  display:inline-block;
}

.section-num{
  font-family:var(--font-mono);
  font-size:var(--fs-micro);
  color:var(--ink-3);
  letter-spacing:0.08em;
}

/* focus visibility — never sacrifice for aesthetics */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline:2px solid var(--signal-0);
  outline-offset:3px;
  border-radius:4px;
}

::selection{
  background:var(--signal-1);
  color:#fff;
}

/* skip link */
.skip-link{
  position:fixed;
  top:-60px;left:16px;
  background:var(--signal-1);
  color:#fff;
  padding:12px 18px;
  border-radius:8px;
  z-index:1000;
  font-weight:600;
  transition:top .2s var(--ease-out);
}
.skip-link:focus{ top:16px; }

.visually-hidden{
  position:absolute;width:1px;height:1px;
  overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap;
}
