:root{
  --paper:#FBFAF6;
  --card:#FFFFFF;
  --ink:#141822;
  --dim:#5D6470;
  --line:#E4E2D8;
  --red:#E8362B;
  --green:#0FA958;
  --green-deep:#0A7A40;
  --lcd-bg:#0B0F14;
  --lcd:#3DE07C;
  --radius:14px;
  --max:1120px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Space Grotesk",system-ui,sans-serif;
  font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
a{color:inherit}
img{max-width:100%}

/* ---------- top bar ---------- */
.top{
  position:sticky;top:0;z-index:50;
  background:rgba(251,250,246,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:"Anton",sans-serif;font-size:22px;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;color:var(--ink)}
.logo .gone{color:var(--red);text-decoration:line-through;text-decoration-thickness:3px}
.top nav{display:flex;gap:26px;align-items:center}
.top nav a{color:var(--dim);text-decoration:none;font-size:15px}
.top nav a:hover{color:var(--ink)}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--green);color:#fff;
  font-weight:700;font-size:16px;text-decoration:none;
  padding:13px 26px;border-radius:999px;border:0;cursor:pointer;
  transition:transform .12s ease,box-shadow .12s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 26px rgba(15,169,88,.35)}
.btn:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.btn .dot{width:10px;height:10px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{box-shadow:none;background:var(--ink);color:var(--paper)}

/* ---------- hero ---------- */
.hero{padding:84px 0 40px;text-align:center;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:-40% -20% auto -20%;height:120%;z-index:-1;
  background:
    radial-gradient(42% 55% at 18% 30%, rgba(61,224,124,.32), transparent 70%),
    radial-gradient(38% 50% at 82% 22%, rgba(255,120,90,.26), transparent 70%),
    radial-gradient(50% 60% at 55% 75%, rgba(120,190,255,.18), transparent 70%);
  filter:blur(48px);
  animation:drift 16s ease-in-out infinite alternate;
}
@keyframes drift{
  from{transform:translate3d(-3%,0,0) scale(1)}
  to{transform:translate3d(3%,4%,0) scale(1.08)}
}
@media (prefers-reduced-motion:reduce){.hero::before{animation:none}}
.eyebrow{
  display:inline-block;color:var(--dim);font-size:15px;letter-spacing:.02em;
  background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 16px;margin-bottom:30px;
}
.eyebrow s{color:var(--red);text-decoration-color:var(--red)}
h1{
  font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(46px,8.5vw,104px);line-height:.98;letter-spacing:.01em;color:var(--ink);
}
h1 .never{color:var(--green)}
.sub{max-width:640px;margin:26px auto 0;color:var(--dim);font-size:19px}
.sub b{color:var(--ink)}

/* LCD timer — the one dark object on the page */
.lcd{
  margin:44px auto 10px;max-width:560px;
  background:var(--lcd-bg);border-radius:18px;
  padding:26px 20px 20px;
  box-shadow:0 18px 50px rgba(20,24,34,.22), inset 0 0 40px rgba(61,224,124,.06);
}
.lcd .label{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#7C8794}
.lcd .digits{
  font-family:"IBM Plex Mono",monospace;font-size:clamp(44px,9vw,72px);
  color:var(--lcd);text-shadow:0 0 18px rgba(61,224,124,.5);
  font-variant-numeric:tabular-nums;line-height:1.1;
}
.lcd .cap{font-size:13px;color:#7C8794;margin-top:6px}
.hero-cta{display:flex;gap:14px;justify-content:center;margin-top:34px;flex-wrap:wrap}
.tiny{font-size:13px;color:var(--dim);margin-top:14px}

/* ---------- marquee ---------- */
.marquee{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;white-space:nowrap;padding:13px 0;background:var(--card);
}
.marquee .track{display:inline-block;animation:scroll 30s linear infinite}
.marquee span{
  font-family:"IBM Plex Mono",monospace;font-size:14px;color:var(--dim);
  margin:0 34px;
}
.marquee span::before{content:"♪ ";color:var(--red)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .marquee .track{animation:none}
  .btn .dot{animation:none}
}

/* ---------- sections ---------- */
section{padding:88px 0}
.kicker{color:var(--green-deep);font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
h2{
  font-family:"Anton",sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(32px,5vw,52px);line-height:1.05;margin:12px 0 18px;color:var(--ink);
}
.lead{color:var(--dim);max-width:620px;font-size:18px}

/* IVR steps */
.ivr{margin-top:48px;display:grid;gap:14px}
.ivr .step{
  display:grid;grid-template-columns:74px 1fr;gap:22px;align-items:center;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 26px;box-shadow:8px 8px 20px rgba(20,24,34,.06), -8px -8px 20px #FFFFFF;
}
.ivr .key{
  font-family:"IBM Plex Mono",monospace;font-size:26px;color:var(--ink);
  background:linear-gradient(145deg,#FFFFFF,#ECEAE0);border-radius:16px;width:64px;height:64px;
  display:flex;align-items:center;justify-content:center;font-weight:700;
  box-shadow:6px 6px 14px rgba(20,24,34,.12), -6px -6px 14px #FFFFFF,
             inset 0 0 0 1px rgba(255,255,255,.6);
  transition:box-shadow .15s ease, transform .15s ease;
}
.ivr .step:hover .key{
  box-shadow:inset 4px 4px 10px rgba(20,24,34,.14), inset -4px -4px 10px #FFFFFF;
  transform:translateY(1px);
}
.ivr .step:last-child .key{
  color:#fff;background:linear-gradient(145deg,#17C267,#0B9950);
  box-shadow:6px 6px 14px rgba(15,169,88,.28), -6px -6px 14px #FFFFFF;
}
.ivr .step:last-child:hover .key{
  box-shadow:inset 4px 4px 10px rgba(7,90,47,.4), inset -4px -4px 10px rgba(255,255,255,.25);
}
.ivr h3{font-size:20px;margin-bottom:4px}
.ivr p{color:var(--dim);font-size:16px}

/* receipts — paper tickets */
.receipts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.receipt{
  background:var(--card);border:1px dashed #C9C6B8;border-radius:6px;
  padding:24px;font-family:"IBM Plex Mono",monospace;font-size:14px;
  box-shadow:0 6px 18px rgba(20,24,34,.06);
}
.receipt .who{color:var(--ink);font-size:16px;font-weight:700;margin-bottom:14px;font-family:"Space Grotesk",sans-serif}
.receipt .row{display:flex;justify-content:space-between;padding:7px 0;border-top:1px dashed var(--line);color:var(--dim)}
.receipt .row b{color:var(--ink);font-weight:500}
.receipt .row .bad{color:var(--red)}
.receipt .row .good{color:var(--green-deep)}

/* pricing */
.price-card{
  max-width:520px;margin:48px auto 0;text-align:center;
  background:var(--card);border:2px solid var(--green);border-radius:20px;padding:48px 36px;
  box-shadow:0 14px 40px rgba(15,169,88,.12);
}
.price{font-family:"Anton",sans-serif;font-size:88px;line-height:1;color:var(--green)}
.price small{font-size:26px;color:var(--ink)}
.price-card ul{list-style:none;margin:26px 0 30px;color:var(--dim);text-align:left;display:inline-block}
.price-card li{padding:6px 0 6px 30px;position:relative}
.price-card li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}

/* agencies grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:44px}
.grid a{
  display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:16px 18px;text-decoration:none;font-size:15px;color:var(--ink);
  transition:border-color .12s ease,box-shadow .12s ease;
}
.grid a:hover{border-color:var(--green);box-shadow:0 4px 14px rgba(15,169,88,.12)}
.grid a span{display:block;color:var(--red);font-family:"IBM Plex Mono",monospace;font-size:12.5px;margin-top:4px}

/* form / start */
.start-box{
  max-width:560px;margin:48px auto 0;background:var(--card);
  border:1px solid var(--line);border-radius:20px;padding:40px 34px;
  box-shadow:0 10px 30px rgba(20,24,34,.07);
}
.field{margin-bottom:18px;text-align:left}
.field label{display:block;font-size:14px;color:var(--dim);margin-bottom:7px}
.field input,.field select{
  width:100%;background:var(--paper);border:1px solid #D8D5C8;border-radius:10px;
  color:var(--ink);font-size:16px;padding:14px 16px;font-family:inherit;
}
.field input:focus,.field select:focus{outline:2px solid var(--green);border-color:transparent}
.start-box .btn{width:100%;justify-content:center;margin-top:8px}
.start-box .tiny{text-align:center}

/* FAQ */
.faq{max-width:760px;margin:44px auto 0}
.faq details{border-top:1px solid var(--line);padding:22px 6px}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-size:18px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";color:var(--green);font-size:24px;font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--dim);margin-top:12px;max-width:660px}

/* footer */
footer{border-top:1px solid var(--line);padding:44px 0 60px;color:var(--dim);font-size:14px;background:var(--card)}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer a{color:var(--dim)}

/* agency page hero */
.agency-hero{padding:72px 0 30px;text-align:left}
.agency-hero h1{font-size:clamp(36px,6vw,64px)}
.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:36px 0 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 2px 10px rgba(20,24,34,.04)}
.stat .n{font-family:"IBM Plex Mono",monospace;font-size:30px;color:var(--red)}
.stat .n.g{color:var(--green-deep)}
.stat .l{color:var(--dim);font-size:14px;margin-top:4px}
.crumbs{font-size:13.5px;color:var(--dim);padding-top:26px}
.crumbs a{color:var(--dim)}

@media (max-width:860px){
  .receipts{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,1fr)}
  .stat-strip{grid-template-columns:1fr}
  .top nav{display:none}
  section{padding:64px 0}
}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
