/* ── PAGE-HERO ─────────────────────────────── */
.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:880px}
.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);
  box-shadow:0 0 0 0 var(--accent-glow);
  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:600px;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)}
.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:48px}
.sec-head__l .caps{color:var(--accent);display:inline-block;margin-bottom:14px}
.sec-head__l h2{font-size:clamp(28px,3.5vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.1;text-wrap:balance}
.sec-head__l h2 .soft{color:var(--text-soft)}
.sec-head__r{font-size:16px;color:var(--text-2);line-height:1.65;padding-top:8px;text-wrap:pretty}
.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;
  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:20px;font-weight:600;letter-spacing:-.025em;line-height:1.2;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;
}

/* ── DETAILS ───────────────────────────────── */
.details{padding:80px 0;border-top:1px solid var(--border);background:var(--bg-2)}
.det-grid{
  display:grid;grid-template-columns:repeat(2, 1fr);gap:20px;
}
.det{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:36px;
  transition:transform .35s var(--ease),border-color .25s,background .25s;
}
.det:hover{
  transform:translateY(-3px);border-color:var(--border-2);background:var(--surface-2);
}
.det__icon{
  width:44px;height:44px;border-radius:10px;
  background:var(--accent-soft);
  border:1px solid color-mix(in oklab, var(--accent) 30%, transparent);
  display:flex;align-items:center;justify-content:center;
  color:var(--accent);margin-bottom:20px;
}
.det__icon svg{width:22px;height:22px}
.det h3{
  font-size:20px;font-weight:600;letter-spacing:-.015em;margin-bottom:10px;
}
.det p{
  font-size:15px;color:var(--text-2);line-height:1.6;
  text-wrap:pretty;
}

/* ── DASH CASE ─────────────────────────────── */
.dash-case{padding:80px 0;border-top:1px solid var(--border)}
.dash-case__inner{
  display:grid;grid-template-columns:auto 1fr 2fr;gap:48px;align-items:center;
  border:1px solid var(--border);border-radius:var(--r-lg);
  background:var(--surface);padding:40px 48px;
}
.dash-case__label{display:flex;flex-direction:column;gap:10px}
.dash-case__label .caps{color:var(--accent)}
.nda-badge{
  display:inline-block;padding:2px 8px;border-radius:4px;
  background:var(--surface-3);color:var(--text-2);
  font-size:11px;font-family:'Geist Mono',monospace;letter-spacing:.06em;
  border:1px solid var(--border-3);width:fit-content;
}
.dash-case__stat{text-align:center;padding:0 24px;border-left:1px solid var(--border);border-right:1px solid var(--border)}
.dash-case__number{
  display:block;font-size:clamp(56px,6vw,80px);font-weight:700;
  letter-spacing:-.05em;line-height:1;color:var(--accent);
}
.dash-case__plus{font-size:.55em;vertical-align:super;line-height:0}
.dash-case__label-num{
  display:block;font-size:12px;color:var(--text-soft);
  font-family:'Geist Mono',monospace;margin-top:4px;
}
.dash-case__body p{font-size:15px;color:var(--text-2);line-height:1.65;text-wrap:pretty;margin-bottom:8px}
.dash-case__body p:last-child{margin-bottom:0}
.dash-case__id{font-family:'Geist Mono',monospace;font-size:12px;color:var(--text-soft) !important}

/* ── FINAL CTA ─────────────────────────────── */
.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}

@media(max-width:880px){
  .sec-head{grid-template-columns:1fr;gap:16px}
  .prob-grid{grid-template-columns:1fr}
  .det-grid{grid-template-columns:1fr}
  .dash-case__inner{grid-template-columns:1fr;gap:24px}
  .dash-case__stat{text-align:left;padding:16px 0;border-left:none;border-right:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
}

@media(max-width:600px){
  .page-hero{padding:110px 0 48px}
  .page-hero h1{font-size:clamp(32px,10vw,52px);letter-spacing:-.03em}
  .page-hero__sub{font-size:15px}
  .page-hero__actions{flex-direction:column}
  .page-hero__actions a{width:100%;justify-content:center;text-align:center}
}
