:root{
  --bg:#FFFFFF;
  --bg-soft:#F6F6FB;
  --text:#14141F;
  --text-muted:#6B6B7B;
  --border:#E7E7EF;
  --accent:#4F46E5;
  --accent-dark:#3730A3;
  --accent-light:#EEEDFD;
  --accent-2:#06B6D4;
  --radius:14px;
  --shadow:0 4px 20px rgba(20,20,31,0.06);
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{ font-family:var(--font); font-weight:800; letter-spacing:-0.02em; margin:0 0 .5em; color:var(--text); text-wrap:balance; }
a{ color:inherit; }
img{ max-width:100%; display:block; }
::selection{ background:var(--accent-light); }

.wrap{ max-width:1120px; margin:0 auto; padding:0 24px; }
.eyebrow{ font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.muted{ color:var(--text-muted); }

.skip-link{
  position:absolute; left:-999px; top:auto; background:var(--text); color:#fff;
  padding:12px 20px; font-size:14px; font-weight:600; z-index:100; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; top:0; }

:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:2px;
  box-shadow:0 0 0 6px var(--accent-light);
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}
