/* ── 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;
}

/* ── TESTIMONIALS ──────────────────────────── */
.testimonials{padding:40px 0 100px;background:var(--bg)}
.test-grid{
  display:grid;grid-template-columns:repeat(2, 1fr);gap:24px;
}
.test{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:36px;
  display:flex;flex-direction:column;gap:24px;
  transition:background .25s,transform .2s var(--ease-spring);
}
.test:hover{background:var(--surface-2);transform:translateY(-2px);}
.test__stars{
  color:var(--accent);font-size:18px;letter-spacing:2px;
}
.test__quote{
  font-size:18px;color:var(--text);line-height:1.6;font-style:italic;flex-grow:1;
}
.test__author{
  display:flex;align-items:center;gap:14px;
  border-top:1px dashed var(--border-2);padding-top:20px;
}
.test__avatar{
  width:44px;height:44px;border-radius:50%;
  background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-family:'Geist Mono',monospace;font-weight:600;font-size:13px;
  border:1px solid color-mix(in oklab, var(--accent) 30%, transparent);
}
.test__author strong{display:block;font-size:15px;font-weight:600;color:var(--text);}
.test__author span{display:block;font-size:13px;color:var(--text-soft);margin-top:2px;}

/* ── FINAL CTA ─────────────────────────────── */
.cta-final{
  padding:120px 0;border-top:1px solid var(--border);
  position:relative;overflow:hidden;text-align:center;
  background:var(--bg-2);
}
.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){
  .test-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .page-hero{padding:110px 0 48px}
  .page-hero h1{font-size:clamp(34px,10vw,56px);letter-spacing:-.035em}
  .page-hero__sub{font-size:15px}
  .test{padding:24px 20px;gap:18px}
  .test__quote{font-size:15px}
  .cta-final{padding:72px 0}
  .cta-final__actions{flex-direction:column}
  .cta-final__actions a{width:100%;justify-content:center;text-align:center}
}
