*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}
body{
  margin:0;
  background:var(--ink-900);
  color:var(--paper);
  font-family:var(--font-body);
  font-size:var(--fs-base);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(60rem 40rem at 85% -10%, rgba(43,228,198,0.08), transparent 60%),
    radial-gradient(50rem 34rem at -10% 30%, rgba(255,178,56,0.05), transparent 55%);
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.08;
  margin:0 0 var(--sp-2);
  letter-spacing:-0.01em;
}
p{margin:0 0 var(--sp-3); color:var(--paper-dim);}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--sp-4);
  position:relative;
  z-index:1;
}
@media (max-width:640px){
  .container{padding:0 var(--sp-3);}
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:0.55em;
  font-family:var(--font-mono);
  font-size:var(--fs-2xs);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--signal-cyan);
}
.eyebrow::before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:var(--signal-cyan);
  box-shadow:0 0 0 3px rgba(43,228,198,0.18);
  animation:pulse-dot 2.4s var(--ease-signal) infinite;
}
@keyframes pulse-dot{
  0%,100%{box-shadow:0 0 0 3px rgba(43,228,198,0.18);}
  50%{box-shadow:0 0 0 6px rgba(43,228,198,0.05);}
}

section{position:relative; z-index:1; padding:var(--sp-6) 0;}
@media (max-width:780px){
  section{padding:var(--sp-5) 0;}
}

.section-head{
  max-width:640px;
  margin:0 0 var(--sp-5);
}
.section-head h2{font-size:var(--fs-xl);}
.section-head p{font-size:var(--fs-md); margin-bottom:0;}

::selection{background:var(--signal-cyan); color:var(--ink-950);}

:focus-visible{
  outline:2px solid var(--signal-cyan);
  outline-offset:3px;
  border-radius:4px;
}

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