/* ── PAGE-SPECIFIC ─────────────────────────── */
  .page-hero{position:relative;padding:160px 0 80px;overflow:hidden}
  .page-hero::before{
    content:"";position:absolute;inset:0;z-index:0;
    background-image:
      linear-gradient(var(--border) 1px, transparent 1px),
      linear-gradient(90deg, var(--border) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse 70% 60% at 50% 20%, black, transparent 70%);
    -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 20%, black, transparent 70%);
  }
  .page-hero::after{
    content:"";position:absolute;top:-100px;left:50%;
    width:900px;height:500px;transform:translateX(-50%);
    background:radial-gradient(ellipse 50% 50% at 50% 50%, var(--accent-glow), transparent 70%);
    filter:blur(60px);z-index:0;opacity:.5;pointer-events:none;
  }
  .page-hero__inner{position:relative;z-index:1;max-width:920px}
  .page-hero__pill{
    display:inline-flex;align-items:center;gap:8px;
    padding:6px 14px;border-radius:100px;
    background:var(--surface);border:1px solid var(--border-2);
    font-size:12px;color:var(--text-2);
    margin-bottom:28px;
    font-family:'Geist Mono',monospace;letter-spacing:.02em;
  }
  .page-hero__pill .dot{
    width:6px;height:6px;border-radius:50%;background:var(--accent);
    animation:dot-pulse 2s ease-in-out infinite;
  }
  .page-hero h1{
    font-size:clamp(44px, 7vw, 88px);font-weight:600;
    letter-spacing:-.045em;line-height:.98;
    text-wrap:balance;margin-bottom:24px;
  }
  .page-hero h1 .soft{color:var(--text-soft)}
  .page-hero h1 .accent{color:var(--accent)}
  .page-hero__sub{
    font-size:clamp(16px, 1.4vw, 20px);color:var(--text-2);
    line-height:1.55;max-width:620px;margin-bottom:36px;
    text-wrap:pretty;
  }
  .page-hero__actions{display:flex;gap:12px;flex-wrap:wrap}

  /* ── PROBLEMS ───────────────────────────── */
  .problems{padding:100px 0;border-top:1px solid var(--border);background:var(--bg-2)}
  .prob-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
  }
  .prob{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--r-lg);
    padding:30px 30px 28px;
    display:flex;flex-direction:column;gap:14px;
    position:relative;overflow:hidden;
    transition:transform .35s var(--ease),border-color .25s;
  }
  .prob:hover{transform:translateY(-2px);border-color:var(--border-2)}
  .prob__tag{
    font-family:'Geist Mono',monospace;font-size:10px;
    color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;
    display:inline-flex;align-items:center;gap:8px;width:fit-content;
    padding:4px 10px;background:var(--surface-2);
    border:1px solid var(--border);border-radius:4px;
  }
  .prob__tag::before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%}
  .prob h3{font-size:22px;font-weight:600;letter-spacing:-.025em;line-height:1.15;text-wrap:balance}
  .prob p{font-size:14.5px;color:var(--text-2);line-height:1.6;text-wrap:pretty}
  .prob__quote{
    font-family:'Geist Mono',monospace;font-size:13px;
    color:var(--text-soft);
    padding:12px 14px;border-left:2px solid var(--accent);
    background:var(--accent-fade);
    border-radius:0 6px 6px 0;margin-top:6px;
  }

  /* ── METHOD ─────────────────────────────── */
  .method{padding:100px 0;border-top:1px solid var(--border)}
  .method__steps{
    display:grid;grid-template-columns:repeat(5,1fr);gap:0;
    margin-top:48px;
    border:1px solid var(--border);border-radius:var(--r-lg);
    overflow:hidden;background:var(--surface);
  }
  .step{
    padding:28px 22px 32px;
    border-right:1px solid var(--border);
    transition:background .25s;
  }
  .step:last-child{border-right:none}
  .step:hover{background:var(--surface-2)}
  .step__num{
    font-family:'Geist Mono',monospace;font-size:11px;color:var(--text-soft);
    text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;
  }
  .step__dot{
    width:36px;height:36px;border-radius:8px;
    background:var(--surface-2);border:1px solid var(--border-2);
    display:flex;align-items:center;justify-content:center;
    margin-bottom:14px;color:var(--accent);
  }
  .step__dot svg{width:18px;height:18px}
  .step h3{font-size:17px;font-weight:600;letter-spacing:-.015em;margin-bottom:6px}
  .step p{font-size:13.5px;color:var(--text-2);line-height:1.55}

  /* ── STACK ─────────────────────────────── */
  .stack{padding:100px 0;border-top:1px solid var(--border);background:var(--bg-2)}
  .stack__inner{max-width:880px;margin:0 auto;text-align:center}
  .stack span.caps{color:var(--accent);margin-bottom:14px;display:inline-block}
  .stack h2{
    font-size:clamp(32px,4vw,48px);font-weight:600;letter-spacing:-.03em;line-height:1.1;
    margin-bottom:18px;text-wrap:balance;
  }
  .stack h2 .soft{color:var(--text-soft)}
  .stack > .wrap > .stack__inner > p{
    color:var(--text-2);font-size:16px;line-height:1.6;
    max-width:580px;margin:0 auto 40px;
  }
  .stack-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  }
  .tech{
    background:var(--surface);border:1px solid var(--border);
    border-radius:8px;padding:18px 14px;
    display:flex;flex-direction:column;align-items:center;gap:8px;
    transition:border-color .25s,background .25s,transform .25s var(--ease-spring);
  }
  .tech:hover{border-color:var(--accent);background:var(--surface-2);transform:translateY(-2px)}
  .tech__name{
    font-family:'Geist Mono',monospace;font-size:13px;color:var(--text);font-weight:500;
  }
  .tech__role{
    font-family:'Geist Mono',monospace;font-size:10px;
    color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;
  }

  /* ── CTA FINAL ─────────────────────────── */
  .cta-final{padding:120px 0;border-top:1px solid var(--border);position:relative;overflow:hidden;text-align:center}
  .cta-final::before{
    content:"";position:absolute;top:50%;left:50%;
    width:800px;height:800px;border-radius:50%;
    background:radial-gradient(circle, var(--accent-glow), transparent 70%);
    transform:translate(-50%,-50%);filter:blur(80px);opacity:.4;pointer-events:none;
  }
  .cta-final__inner{position:relative;z-index:1;max-width:720px;margin:0 auto}
  .cta-final span.caps{color:var(--accent);margin-bottom:18px;display:inline-block}
  .cta-final h2{
    font-size:clamp(36px,5vw,56px);font-weight:600;letter-spacing:-.035em;line-height:1.05;
    margin-bottom:18px;text-wrap:balance;
  }
  .cta-final h2 .soft{color:var(--text-soft)}
  .cta-final p{font-size:17px;color:var(--text-2);margin-bottom:32px;line-height:1.55}
  .cta-final__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

  /* ── CALC BANNER ──────────────────────── */
  .calc-banner{padding:48px 0;border-top:1px solid var(--border);background:var(--bg-2)}
  .calc-banner__inner{
    display:flex;align-items:center;gap:24px;flex-wrap:wrap;
    background:color-mix(in oklab, var(--accent) 7%, var(--surface));
    border:1px solid color-mix(in oklab, var(--accent) 25%, var(--border));
    border-radius:16px;padding:28px 32px;
  }
  .calc-banner__icon{
    width:48px;height:48px;border-radius:12px;flex-shrink:0;
    background:var(--accent-soft);display:flex;align-items:center;justify-content:center;
    color:var(--accent);
  }
  .calc-banner__icon svg{width:24px;height:24px}
  .calc-banner__inner>div{flex:1;min-width:200px}
  .calc-banner__inner h3{
    font-size:18px;font-weight:600;letter-spacing:-.02em;margin-bottom:4px;
  }
  .calc-banner__inner em{color:var(--accent);font-style:normal}
  .calc-banner__inner p{font-size:14px;color:var(--text-2);line-height:1.5}
  .btn-accent--banner{
    display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
    background:var(--accent);color:#fff;
    padding:11px 22px;border-radius:8px;
    font-size:14px;font-weight:500;letter-spacing:-.005em;
    transition:transform .2s var(--ease-spring),box-shadow .25s;
    flex-shrink:0;
  }
  .btn-accent--banner:hover{transform:translateY(-1px);box-shadow:0 8px 28px var(--accent-glow)}
  .btn-accent--banner svg{width:12px;height:12px}

  @media(max-width:920px){
    .prob-grid{grid-template-columns:1fr}
    .method__steps{grid-template-columns:1fr 1fr}
    .step{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
    .step:nth-child(2n){border-right:none}
    .step:last-child{border-bottom:none}
    .stack-grid{grid-template-columns:repeat(2,1fr)}
    .calc-banner__inner{flex-direction:column;align-items:flex-start}
  }
  @media(max-width:600px){
    .page-hero{padding:120px 0 60px}
    .page-hero h1{font-size:clamp(36px,10vw,60px);letter-spacing:-.035em}
    .page-hero__sub{font-size:15px}
    .page-hero__actions{flex-direction:column}
    .page-hero__actions a{width:100%;justify-content:center;text-align:center}
    .prob{padding:22px 20px}
    .method__steps{grid-template-columns:1fr}
    .step{border-right:none !important}
    .step:last-child{border-bottom:none}
    .stack-grid{grid-template-columns:1fr 1fr}
    .cta-final{padding:80px 0}
    .cta-final__actions{flex-direction:column}
    .cta-final__actions a{width:100%;justify-content:center;text-align:center}
  }