
/* ---------- hero with lead form ---------- */
.fhero{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,60px);align-items:center}
.hero.tall .fhero h1{font-size:clamp(2.1rem,4vw,3.5rem);max-width:16ch;font-weight:800}
.hero.tall{min-height:auto;padding:120px 0 76px}
.fhero p.sub{margin-top:22px}
.fpills{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.fpill{border:1px solid var(--line);border-radius:100px;padding:8px 15px;font-size:.78rem;color:var(--muted);background:rgba(255,255,255,.02)}
.fpill b{color:var(--ink);font-family:'Sora';font-weight:600}
.leadcard{border:1px solid var(--line);border-radius:24px;background:rgba(21,21,23,.72);backdrop-filter:blur(12px);
  padding:clamp(26px,3.4vw,36px);box-shadow:0 40px 90px rgba(0,0,0,.45);position:relative;overflow:hidden}
.leadcard::before{content:"";position:absolute;top:-45%;right:-20%;width:340px;height:340px;background:var(--lime);filter:blur(130px);opacity:.09;border-radius:50%}
.leadcard>*{position:relative;z-index:1}
.leadcard h3{font-size:1.35rem;margin-bottom:6px}
.leadcard .lc-sub{color:var(--muted);font-size:.88rem;margin-bottom:22px}
.leadcard .btn{width:100%;justify-content:center;margin-top:4px}
.lc-or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;margin:18px 0}
.lc-or::before,.lc-or::after{content:"";height:1px;background:var(--line);flex:1}
.lc-call{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:100px;
  padding:13px 20px;font-family:'Sora';font-weight:700;font-size:.9rem;transition:.3s var(--ease)}
.lc-call:hover{border-color:var(--lime);color:var(--lime)}
.lc-wa{margin-top:10px}
.lc-fine{color:var(--faint);font-size:.74rem;margin-top:16px;text-align:center;line-height:1.5}
@media(max-width:960px){.fhero{grid-template-columns:1fr}.hero.tall .fhero h1{max-width:100%}}

/* ---------- trust strip ---------- */
.tstrip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}
.tstrip .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding-top:26px;padding-bottom:26px}
.titem{display:flex;gap:11px;align-items:flex-start;font-size:.82rem;color:var(--muted);line-height:1.4}
.titem svg{width:17px;height:17px;flex-shrink:0;color:var(--lime);margin-top:1px}
.titem b{color:var(--ink);font-family:'Sora';font-weight:600;display:block;font-size:.86rem}
@media(max-width:1080px){.tstrip .wrap{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:620px){.tstrip .wrap{grid-template-columns:1fr 1fr}}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pillar{border:1px solid var(--line);border-radius:20px;padding:clamp(26px,3vw,34px);background:var(--bg-2);
  transition:.4s var(--ease);position:relative;overflow:hidden}
.pillar:hover{border-color:var(--lime);transform:translateY(-4px)}
.pillar .pn{font-family:'Sora';font-weight:700;font-size:.74rem;letter-spacing:.14em;color:var(--lime);text-transform:uppercase}
.pillar h3{font-size:1.4rem;margin:14px 0 10px}
.pillar p{color:var(--muted);font-size:.92rem;margin-bottom:18px}
.pillar ul{list-style:none;display:grid;gap:9px}
.pillar li{color:var(--muted);font-size:.86rem;display:flex;gap:10px;line-height:1.45}
.pillar li::before{content:"\2013";color:var(--lime)}
@media(max-width:900px){.pillars{grid-template-columns:1fr}}

/* ---------- services ---------- */
.tabs{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:100px;padding:4px;gap:3px;background:var(--bg-2);margin-bottom:34px}
.tabs button{border:0;background:none;cursor:pointer;font-family:'Sora';font-weight:700;font-size:.8rem;color:var(--muted);
  padding:10px 20px;border-radius:100px;transition:.25s;white-space:nowrap}
.tabs button.on{background:var(--lime);color:#07080d}
.tabpane{display:none}
.tabpane.on{display:block}
.fg3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.disc{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--bg-2);transition:.35s var(--ease)}
.disc:hover{border-color:var(--lime);transform:translateY(-3px)}
.disc .n{font-family:'Sora';font-weight:700;font-size:.74rem;color:var(--lime);letter-spacing:.08em}
.disc h4{font-size:1.05rem;margin:8px 0 6px}
.disc p{color:var(--muted);font-size:.85rem}
@media(max-width:900px){.fg3{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fg3{grid-template-columns:1fr}}

/* ---------- engagement packages ---------- */
.plan .sub{color:var(--muted);font-size:.86rem;min-height:38px}
.plan .price{margin:10px 0 4px;font-size:2rem}
.plan .price small{font-family:'Plus Jakarta Sans';font-weight:500;font-size:.82rem;color:var(--faint);display:block;margin-top:6px}
.plan .btn{width:100%;justify-content:center;margin-top:6px}
.pnote{color:var(--faint);font-size:.8rem;margin-top:22px;line-height:1.6;max-width:88ch}

/* ---------- FAQ + legal + misc ---------- */
.legal{max-width:78ch}
.legal h2{font-size:1.5rem;margin:38px 0 12px;text-transform:none}
.legal p,.legal li{color:var(--muted);margin-bottom:12px;font-size:.95rem}
.legal ul{padding-left:20px}
.contact-line a{border-bottom:1px solid transparent;transition:.25s}
.contact-line a:hover{border-color:var(--lime);color:var(--lime)}
.formnote{color:var(--faint);font-size:.78rem;line-height:1.6}
.formnote a{color:var(--muted);text-decoration:underline}
.anchor{position:relative;top:-90px;display:block;height:0}
.sec-head h2 em{font-family:'Fraunces',serif;font-style:italic;font-weight:400;color:var(--lime)}
.sec-head>div:first-child{flex:1 1 520px;min-width:0}
.sec-head>p{flex:0 1 340px;margin-bottom:6px}
.sec-head h2{max-width:20ch}

/* ---------- sticky mobile action bar ---------- */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(11,11,12,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line)}
.mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:100px;padding:14px;
  font-family:'Sora';font-weight:700;font-size:.88rem}
.mbar .call{border:1px solid var(--line);color:var(--ink)}
.mbar .quote{background:var(--lime);color:#07080d}
@media(max-width:760px){.mbar{display:flex}body{padding-bottom:76px}}

/* ---------- small-phone safety ---------- */
@media(max-width:600px){
  .titem{font-size:.8rem}
  .lc-call{font-size:.84rem;padding:12px 14px}
}
