/* ================= Tokens ================= */
  :root{
    --ascent: #009320;
    --ascent-dark: #007a1a;
    --ascent-mid: #00b830;
    --ascent-glow: #7be1a3;
    --ascent-soft: #d6f0de;
    --ascent-mist: #ecf8ef;
    --bg-cream: #ffeecd;
    --bg-light: #fff9ec;
    --ink: #0f1729;
    --ink-2: #1c2540;
    --ink-soft: #3a4556;
    --ink-mute: #6b7280;
    --line: rgba(15, 23, 41, 0.08);
    --line-strong: rgba(15, 23, 41, 0.16);
    --bad: #dc2626;
    --white: #ffffff;
    --radius: 20px;
    --radius-sm: 12px;
    --shadow-sm: 0 1px 2px rgba(15,23,41,.04), 0 8px 20px rgba(15,23,41,.04);
    --shadow-md: 0 4px 24px rgba(15,23,41,.06), 0 1px 2px rgba(15,23,41,.04);
    --shadow-lg: 0 24px 60px rgba(15,23,41,.10);
    --shadow-xl: 0 40px 100px rgba(15,23,41,.18);
    --max: 1200px;
    --ease: cubic-bezier(.2,.8,.2,1);
  }

  /* ================= Reset ================= */
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Inter', system-ui, sans-serif;
    color:var(--ink);
    background:var(--bg-light);
    -webkit-font-smoothing:antialiased;
    line-height:1.55;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block; height:auto}
  svg{max-width:100%}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer;border:0;background:none}
  .container{max-width:var(--max);margin:0 auto;padding:0 24px}

  /* ================= Type ================= */
  h1,h2,h3,h4{color:var(--ink);line-height:1.05;letter-spacing:-0.015em;font-weight:700}
  .display{ font-family:'Bebas Neue', sans-serif; font-weight:400; letter-spacing:0.008em; line-height:0.95 }
  .display-xl{ font-size:clamp(2.7rem, 5.8vw, 4.5rem) }
  .display-lg{ font-size:clamp(2rem, 3.8vw, 2.95rem) }
  .display-md{ font-size:clamp(1.5rem, 2.4vw, 1.95rem) }
  .display-sm{ font-size:clamp(1.2rem, 1.8vw, 1.45rem) }
  p{color:var(--ink-soft); font-size:0.98rem; line-height:1.7 }
  .mono{ font-family:'JetBrains Mono', monospace }
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    text-transform:uppercase; letter-spacing:0.18em; font-size:0.72rem; font-weight:600;
    color:var(--ascent);
    padding:6px 12px; border-radius:999px; background:var(--ascent-soft);
    margin-bottom:20px;
  }
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--ascent);box-shadow:0 0 0 3px rgba(0,147,32,.18); animation: pulse 2s ease-in-out infinite}
  .eyebrow.ink{ background:rgba(15,23,41,.05); color:var(--ink) }
  .eyebrow.ink .dot{ background:var(--ink); box-shadow:0 0 0 3px rgba(15,23,41,.1); animation:none }
  @keyframes pulse { 0%,100%{opacity:1; transform:scale(1)} 50%{opacity:.5; transform:scale(0.85)} }
  .grad-text{
    background: linear-gradient(120deg, var(--ascent) 0%, #2bb84b 50%, #6dd58a 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
    display:inline-block;
  }

  /* ================= Buttons ================= */
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    padding:13px 22px; border-radius:999px; font-weight:600; font-size:0.95rem;
    transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease);
    white-space:nowrap;
    cursor:pointer;
  }
  .btn-ascent{ background:var(--ascent); color:#fff; position:relative; overflow:hidden; box-shadow:0 4px 14px rgba(0,147,32,.25) }
  .btn-ascent:hover{ background:var(--ascent-dark); transform:translateY(-2px); box-shadow:0 12px 28px rgba(0,147,32,.35) }
  .btn-ascent::before{
    content:""; position:absolute; inset:0;
    background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
    transform: translateX(-100%);
    transition: transform .7s ease;
  }
  .btn-ascent:hover::before{ transform: translateX(100%) }
  .btn-ghost{ background:rgba(255,255,255,.7); color:var(--ink); border:1px solid var(--line-strong); backdrop-filter:blur(6px) }
  .btn-ghost:hover{ background:#fff; border-color:var(--ink); transform:translateY(-2px) }
  .btn-lg{ padding:16px 28px; font-size:1rem }
  .btn .arrow{ transition:transform .2s var(--ease); font-size:1.05em }
  .btn:hover .arrow{ transform:translateX(4px) }

    /* ================= Error ================= */ 
  .error-page{
    min-height:70vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:80px 20px;
}
.error-wrapper{
    max-width:700px;
    margin:auto;
}
.error-code{
    font-family:'Bebas Neue',sans-serif;
    font-size:7rem;
    color:var(--ascent);
    line-height:1;
    margin-bottom:16px;
}
.error-page h1{
    font-size:2.5rem;
    margin-bottom:18px;
    color:var(--ink);
}
.error-page p{
    font-size:1.1rem;
    color:var(--ink-soft);
    max-width:560px;
    margin:0 auto 40px;
    line-height:1.8;
}
.error-actions{
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}
@media(max-width:768px){
.error-code{
    font-size:5rem;
}
.error-page h1{
    font-size:2rem;
}
.error-page p{
    font-size:1rem;
}
}