/* CaseClover v2, brand: Clover #0B9F40, Ink #202124, Plus Jakarta Sans */
:root{--green:#0B9F40;--greend:#15803D;--ink:#0F172A;--slate:#64748B;
  --paper:#FFFFFF;--mist:#F5F6F7;--tint:#ECFDF5;--hair:#E2E8F0}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
.mono{font-family:'JetBrains Mono',monospace}
h1,h2,h3{letter-spacing:-.025em;line-height:1.05;font-weight:800}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 6vw}
.narrow{max-width:820px}

/* qualification thread (signature) */
.thread{position:fixed;left:max(12px,2vw);top:0;bottom:0;width:2px;background:var(--hair);z-index:40}
.thread span{display:block;width:100%;height:0;background:var(--green);transition:height .15s linear}
@media(max-width:900px){.thread{display:none}}

.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:16px 4vw;height:70px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px}
.brand img{height:30px}.brand .wm{color:var(--ink);font-weight:800}
.nav .links{display:flex;gap:26px;font-size:14.5px;font-weight:600;color:var(--slate)}
.nav .links a:hover{color:var(--ink)}

.cta-fill{display:inline-block;padding:16px 30px;background:var(--green);color:#fff;font-weight:700;
  font-size:15.5px;border-radius:10px;transition:background .2s,transform .15s}
.cta-fill:hover{background:var(--greend)}.cta-fill:active{transform:scale(.98)}
.cta-frame{display:inline-block;padding:12px 22px;border:1.5px solid var(--green);color:var(--greend);
  font-weight:700;font-size:14.5px;border-radius:10px;transition:background .2s,color .2s}
.cta-frame:hover{background:var(--green);color:#fff}
.cta-inline{font-weight:700;color:var(--greend)}
.cta-inline .arr{display:inline-block;transition:transform .25s}
.cta-inline:hover .arr{transform:translateX(5px)}

.hero{padding:170px 0 90px;background:linear-gradient(170deg,var(--tint),var(--paper) 58%)}
.hero .lockup{width:min(360px,64vw);margin-bottom:40px}
.hero h1{font-size:clamp(2.7rem,5.6vw,4.4rem);max-width:15ch;margin-bottom:24px}
.hero .sub{font-size:19px;color:var(--slate);max-width:58ch;margin-bottom:34px}
.hero .sub strong{color:var(--ink)}
.cta-row{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.tagline{margin-top:30px;font-weight:800;color:var(--green);font-size:17px}
/* In the hero the tagline sits ABOVE the headline per brand hierarchy, so it
   leads into the H1 rather than trailing the calls to action. */
.hero .tagline{margin:0 0 14px}

.lossbar{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:44px 0 30px;background:var(--paper)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.grid4 b{display:block;font-size:2.1rem;font-weight:600;color:var(--green)}
.grid4 span{font-size:13.5px;color:var(--slate);line-height:1.5;display:block;margin-top:6px}
.src{font-size:11.5px;color:var(--slate);margin-top:22px;opacity:.85}

.band{padding:110px 0}
.band.tint{background:var(--mist)}
.kick{font-size:12px;letter-spacing:.22em;color:var(--green);font-weight:800;margin-bottom:16px}
h2{font-size:clamp(1.9rem,3.4vw,2.8rem);margin-bottom:20px;max-width:24ch}
.lede{color:var(--slate);max-width:62ch;margin-bottom:16px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:54px}
.step .n{color:var(--green);font-size:13px;font-weight:600}
.step h3{font-size:1.25rem;margin:10px 0 8px}
.step p{font-size:14.5px;color:var(--slate)}
.rule-line{margin-top:56px;text-align:center;font-weight:800;font-size:1.25rem;color:var(--ink)}

.split{display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center}
.shot{border:1px solid var(--hair);border-radius:14px;box-shadow:0 30px 60px -32px rgba(15,23,42,.3)}
.photo img{border-radius:14px;object-fit:cover;aspect-ratio:4/3}
.ticks{list-style:none;margin-top:26px}
.ticks li{padding:13px 0 13px 34px;border-top:1px solid var(--hair);font-size:15px;color:var(--slate);position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:19px;width:18px;height:18px;border-radius:50%;
  background:var(--tint);border:2px solid var(--green)}
.ticks b{color:var(--ink)}

.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:50px}
.plan{background:var(--paper);border:1px solid var(--hair);border-radius:14px;padding:30px 28px}
.plan.gold{background:var(--green);border-color:var(--green);color:#fff}
.plan h3{font-size:12.5px;letter-spacing:.2em;font-weight:800;margin-bottom:12px;color:var(--slate)}
.plan.gold h3{color:#D7F2E1}
.plan .price{font-size:2.1rem;font-weight:600}
.plan .price small{font-size:15px;opacity:.7}
.plan p{font-size:14px;color:var(--slate);margin-top:6px}
.plan.gold p{color:#D7F2E1}
.plans.tiers{grid-template-columns:repeat(2,1fr)}
.plans.tiers .plan p{font-size:14.5px;line-height:1.6;margin-top:10px}
.ladder-wrap{margin-top:34px;overflow-x:auto}
.ladder{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--hair);border-radius:14px;overflow:hidden}
.ladder th{background:var(--mist);color:var(--slate);font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:12px 18px}
.ladder td{padding:13px 18px;border-top:1px solid var(--hair);font-size:15px}
.ladder td.mono{color:var(--greend);font-weight:600;font-size:14px;white-space:nowrap}
.anchor-line{margin-top:34px;font-size:15.5px;color:var(--slate)}
.anchor-line b{color:var(--ink)}
.addons{margin-top:64px}
.qlist div{padding:15px 0;border-bottom:1px solid var(--hair);display:flex;gap:16px;align-items:baseline;font-size:15px}
.qlist .mono{color:var(--greend);font-size:13px;min-width:96px;font-weight:600}
.qlist span:last-child{color:var(--slate)}.qlist b{color:var(--ink)}

details{border-bottom:1px solid var(--hair);padding:6px 0}
summary{cursor:pointer;font-weight:700;font-size:17px;padding:16px 30px 16px 0;list-style:none;position:relative}
summary::after{content:"+";position:absolute;right:4px;top:14px;color:var(--green);font-size:22px;font-weight:600;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--slate);padding:0 0 18px;max-width:68ch}

.finale{position:relative;min-height:78dvh;display:flex;align-items:center;justify-content:center;text-align:center}
.finale>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.veil{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.55) 45%,rgba(255,255,255,.9))}
.finale .inner{position:relative;z-index:2;padding:0 6vw}
.finale h2{margin:0 auto 16px}
.finale p{color:var(--slate);max-width:52ch;margin:0 auto 30px}

.footer{border-top:1px solid var(--hair);padding:32px 4vw;display:flex;flex-wrap:wrap;gap:16px;
  align-items:center;justify-content:space-between;font-size:13.5px;color:var(--slate)}
.footer .brand{font-size:16px}
.footer nav a:hover{color:var(--ink)}

@media(max-width:900px){
  .nav .links{display:none}
  .grid4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr 1fr;gap:26px}
  .split{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .plans.tiers{grid-template-columns:1fr}
  .hero{padding-top:130px}
}
@media(prefers-reduced-motion:reduce){.thread{display:none}}
