:root{
  --ink:#0F1311; --ink2:#3E463F; --ink3:#78806F;
  --lime:#C6F135; --lime-d:#A8D51F;
  --forest:#0E3B2E; --forest-d:#092A20;
  --paper:#FAF6ED; --bg:#FAF6ED; --tint:#EFF9CE; --line:#E3DfCE; --card:#fff;
  --warm:#FF8552;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
/* nav */
.nav{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1.5px solid var(--ink);z-index:50;}
.nav .wrap{display:flex;align-items:center;gap:24px;height:64px;}
.navlinks{display:flex;gap:20px;font-size:.9rem;font-weight:600;color:var(--ink2);}
.navlinks a:hover{color:var(--ink);}
.navlinks a.on{color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime);}
.nav .spacer{flex:1;}
.navburger{display:none;flex-direction:column;justify-content:center;gap:4px;width:40px;height:36px;padding:8px 10px;background:#fff;border:1.5px solid var(--ink);border-radius:10px;cursor:pointer;}
.navburger span{display:block;width:100%;height:2px;background:var(--ink);border-radius:2px;transition:transform .15s;}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.15rem;letter-spacing:-.01em;}
.btn{display:inline-block;white-space:nowrap;font-weight:700;font-size:.92rem;padding:11px 20px;border-radius:12px;cursor:pointer;border:1.5px solid var(--ink);font-family:inherit;transition:transform .12s,box-shadow .12s;}
.btn:active{transform:translate(0,0);box-shadow:none;}
.btn-primary{background:var(--lime);color:var(--ink);box-shadow:3px 3px 0 var(--ink);}
.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink);}
.btn-ghost{background:#fff;color:var(--ink);}
.btn-ghost:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px);}
.btn-light{background:#fff;color:var(--ink);border-color:var(--ink);box-shadow:3px 3px 0 rgba(0,0,0,.35);}
.btn-dark{background:var(--forest);color:#fff;box-shadow:3px 3px 0 var(--ink);}
/* page hero */
.pagehero{background:var(--paper);border-bottom:1.5px solid var(--ink);padding:66px 0 54px;position:relative;overflow:hidden;}
.pagehero:before{content:"";position:absolute;right:-140px;top:-180px;width:460px;height:460px;border-radius:50%;border:2px solid var(--lime);opacity:.8;}
.pagehero:after{content:"";position:absolute;right:-60px;top:-100px;width:300px;height:300px;border-radius:50%;border:2px solid var(--lime);}
.pagehero .wrap{position:relative;z-index:1;}
.kicker{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);font-size:.76rem;font-weight:800;letter-spacing:.02em;padding:7px 14px;border-radius:999px;border:1.5px solid var(--ink);margin-bottom:18px;text-transform:uppercase;}
h1{font-size:2.7rem;line-height:1.12;letter-spacing:-.02em;font-weight:800;}
h1 .grad{background:var(--lime);padding:0 .18em;border-radius:8px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.lede{font-size:1.08rem;color:var(--ink2);margin:16px 0 0;max-width:38em;}
/* sections */
section{padding:64px 0;}
section.alt{background:var(--paper);border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);}
.sec-label{font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--forest);margin-bottom:10px;}
.sec-label:before{content:"";display:inline-block;width:22px;height:10px;background:var(--lime);border:1.5px solid var(--ink);border-radius:999px;margin-right:8px;vertical-align:baseline;}
h2{font-size:1.9rem;letter-spacing:-.015em;font-weight:800;line-height:1.15;}
.sec-sub{color:var(--ink2);margin-top:10px;max-width:44em;font-size:1rem;}
/* card grids */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px;}
.cardbox{background:var(--card);border:1.5px solid var(--ink);border-radius:18px;padding:26px;transition:transform .15s,box-shadow .15s;}
.cardbox:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--lime), 6px 6px 0 1.5px var(--ink);}
.cardbox h3{font-size:1.05rem;margin-bottom:8px;}
.cardbox p{font-size:.9rem;color:var(--ink2);}
.stepnum{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--ink);background:var(--lime);border:1.5px solid var(--ink);margin-bottom:16px;}
/* checklist */
.checks{list-style:none;margin-top:14px;}
.checks li{font-size:.92rem;color:var(--ink2);padding:6px 0 6px 26px;position:relative;}
.checks li:before{content:"✓";position:absolute;left:0;font-weight:800;color:var(--forest);}
/* flow strip */
.flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:34px;}
.flow .fchip{background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:10px 18px;font-size:.88rem;font-weight:700;box-shadow:3px 3px 0 var(--lime);}
.flow .farr{color:var(--ink3);font-weight:800;}
/* split halves */
.half{border-radius:18px;padding:32px;color:#fff;border:1.5px solid var(--ink);}
.half.hq{background:var(--ink);}
.half.pp{background:var(--forest);}
.half h3{font-size:1.2rem;margin-bottom:14px;}
.half ul{list-style:none;}
.half li{font-size:.92rem;opacity:.95;padding:7px 0 7px 26px;position:relative;}
.half li:before{content:"✓";position:absolute;left:0;font-weight:800;color:var(--lime);}
/* cta band */
.band{background:var(--lime);border:2px solid var(--ink);border-radius:22px;color:var(--ink);padding:48px 40px;text-align:center;box-shadow:8px 8px 0 var(--ink);}
.band h2{color:var(--ink);}
.band p{opacity:.85;margin:12px auto 24px;max-width:36em;font-weight:500;}
.band .btn-light{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:3px 3px 0 rgba(0,0,0,.25);}
/* footer */
footer{border-top:1.5px solid var(--ink);padding:52px 0 30px;color:var(--ink2);font-size:.88rem;background:var(--forest);}
footer, footer a{color:#CFE0D8;}
footer .fcols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;}
footer .fbrand .brand{color:#fff;font-size:1.25rem;margin-bottom:12px;}
footer .ftag{color:#9FB8AC;max-width:24em;line-height:1.5;}
footer .fcol h4{color:#fff;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;}
footer .fcol a{display:block;padding:5px 0;color:#CFE0D8;font-weight:500;}
footer .fcol a:hover{color:var(--lime);}
footer .fbot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);color:#8AA79B;font-size:.8rem;}
footer .fbot .spacer{flex:1;}
@media(max-width:760px){footer .fcols{grid-template-columns:1fr 1fr;gap:26px;}footer .fbrand{grid-column:1 / -1;}}
/* FAQ */
.faq{max-width:760px;margin-top:34px;}
.faq details{border:1.5px solid var(--ink);border-radius:14px;background:#fff;margin-bottom:10px;padding:0 20px;}
.faq details[open]{box-shadow:4px 4px 0 var(--lime);}
.faq summary{cursor:pointer;font-weight:700;font-size:.98rem;padding:16px 0;list-style:none;display:flex;align-items:center;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:after{content:"+";margin-left:auto;font-size:1.3rem;color:var(--forest);font-weight:700;}
.faq details[open] summary:after{content:"–";}
.faq details p{padding:0 0 16px;color:var(--ink2);font-size:.92rem;}
/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;align-items:stretch;}
.plan{background:#fff;border:1.5px solid var(--ink);border-radius:20px;padding:30px;display:flex;flex-direction:column;}
.plan.hot{border:2px solid var(--ink);box-shadow:8px 8px 0 var(--lime), 8px 8px 0 2px var(--ink);position:relative;}
.plan .tag{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--lime);color:var(--ink);font-size:.7rem;font-weight:800;border-radius:999px;border:1.5px solid var(--ink);padding:4px 14px;text-transform:uppercase;}
.plan h3{font-size:1.05rem;}
.plan .price{font-size:2.2rem;font-weight:800;letter-spacing:-.02em;margin:12px 0 2px;}
.plan .per{font-size:.78rem;color:var(--ink3);margin-bottom:16px;}
.plan .checks{flex:1;}
.plan .btn{width:100%;text-align:center;margin-top:20px;}
/* mock ads */
.mocklabel{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800;color:var(--ink);}
.mockcard{border:1.5px solid var(--ink);border-radius:14px;overflow:hidden;font-size:12px;background:#fff;}
.mapzone{height:150px;position:relative;background:
  repeating-linear-gradient(0deg,#dde7ea 0 1px,transparent 1px 26px),
  repeating-linear-gradient(90deg,#dde7ea 0 1px,transparent 1px 32px),
  #eef3ee;}
.maproad{position:absolute;background:#fff;box-shadow:0 0 0 1px #d3dde1;}
.mappin{position:absolute;top:34%;left:50%;transform:translate(-50%,-70%);}
.placecard{position:absolute;left:8px;right:8px;bottom:8px;background:#fff;border-radius:10px;padding:9px 11px;box-shadow:0 3px 12px rgba(0,0,0,.18);}
.placecard .pn{font-weight:700;font-size:12.5px;}
.placecard .pm{font-size:10px;color:#666;margin-top:1px;}
.placecard .pr{font-size:10.5px;color:#555;margin-top:2px;}
.placecard .pr b{color:#e37400;}
.searchpill{position:absolute;top:8px;left:8px;right:8px;background:#fff;border-radius:999px;padding:6px 12px;font-size:10.5px;color:#555;box-shadow:0 2px 8px rgba(0,0,0,.12);display:flex;gap:6px;align-items:center;}
.fbhead{display:flex;align-items:center;gap:8px;padding:9px 11px;}
.fbava{width:28px;height:28px;border-radius:50%;background:var(--forest);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:12px;}
.fbname{font-weight:700;font-size:11.5px;}
.fbspons{font-size:9px;color:#8b8699;}
.fbtext{padding:0 11px 9px;font-size:11px;line-height:1.4;}
.fbtext .hl{color:var(--forest);font-weight:700;}
.fbimg{height:110px;background:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--lime);}
.fbimg .t{font-weight:800;font-size:13.5px;letter-spacing:.04em;}
.fbcta{display:flex;align-items:center;justify-content:space-between;background:#f5f6f7;padding:8px 11px;}
.fbcta .h{font-size:10.5px;font-weight:700;}
.fbcta .s{font-size:9px;color:#8b8699;}
.fbcta .b{background:#e4e6ea;border-radius:6px;padding:6px 10px;font-weight:700;font-size:10px;}
.ytplayer{position:relative;height:150px;background:#101210;display:flex;align-items:center;justify-content:center;}
.ytplay{width:46px;height:32px;border-radius:9px;background:#FF0000;display:flex;align-items:center;justify-content:center;}
.ytbar{position:absolute;bottom:0;left:0;height:3px;width:34%;background:#FFD400;}
.ytad{position:absolute;bottom:10px;left:10px;background:rgba(0,0,0,.78);color:#fff;border-radius:5px;padding:4px 8px;font-size:9.5px;display:flex;gap:6px;align-items:center;}
.ytad b{color:#FFD400;font-weight:700;}
.ytmeta{padding:9px 11px;}
.ytmeta .yt1{font-weight:700;font-size:12px;}
.ytmeta .yt2{font-size:10px;color:#8b8699;margin-top:2px;}
/* reporting mocks */
.kpirow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.kpitile{background:#fff;border:1.5px solid var(--ink);border-radius:13px;padding:14px 16px;}
.kpitile .n{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;}
.kpitile .n.good{color:var(--forest);background:var(--lime);display:inline-block;padding:0 6px;border-radius:6px;}
.kpitile .l{font-size:.7rem;color:var(--ink3);margin-top:2px;}
.reptable{width:100%;border-collapse:collapse;font-size:.85rem;background:#fff;border:1.5px solid var(--ink);border-radius:14px;overflow:hidden;}
.reptable th{text-align:left;color:var(--ink3);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:11px 14px;border-bottom:1.5px solid var(--ink);background:var(--paper);}
.reptable td{padding:11px 14px;border-bottom:1px solid var(--line);}
.reptable tr:last-child td{border-bottom:none;}
.pillgood{background:var(--lime);color:var(--ink);border:1px solid var(--ink);font-size:.72rem;font-weight:800;border-radius:999px;padding:3px 10px;}
@media(max-width:900px){
  h1{font-size:2rem;}
  .grid3,.grid2,.plans{grid-template-columns:1fr;}
  .kpirow{grid-template-columns:1fr 1fr;}
  /* mobile menu */
  .nav .wrap{flex-wrap:wrap;gap:10px 12px;height:auto;min-height:64px;padding:10px 24px;}
  .nav.open{background:#fff;box-shadow:0 12px 30px rgba(15,19,17,.12);}
  .brand{order:1;}
  .navburger{display:inline-flex;order:2;margin-left:auto;}
  .nav .spacer{display:none;}
  .navlinks{order:3;flex-basis:100%;flex-direction:column;gap:0;display:none;}
  .navlinks a{padding:12px 2px;border-top:1px solid var(--line);font-size:1rem;font-weight:600;}
  .navlinks a.on{box-shadow:none;color:var(--forest);}
  .nav .btn-ghost{order:4;}
  .nav .btn-primary{order:5;}
  .nav .btn-ghost,.nav .btn-primary{display:none;flex-basis:100%;text-align:center;font-size:.95rem;}
  .nav.open .navlinks{display:flex;}
  .nav.open .btn-ghost,.nav.open .btn-primary{display:block;}
  .nav.open .btn-primary{box-shadow:2px 2px 0 var(--ink);}
}
