/* ---------- packages hero ---------- */
.ff-hero{position:relative;overflow:hidden;padding:158px 0 112px;border-bottom:1px solid var(--line);}
.ff-bg{position:absolute;inset:0;background:
  repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.02) 22px 23px),
  radial-gradient(120% 95% at 50% 0%,rgba(74,109,168,.20),transparent 62%),
  linear-gradient(180deg,#11141a,#0c0d0f);}
.ff-hero .wrap{position:relative;text-align:center;}
.ff-mark{font-family:"Bodoni Moda",Georgia,serif;font-weight:600;text-transform:lowercase;
  font-size:clamp(3.4rem,12.5vw,9rem);line-height:.9;letter-spacing:-.025em;
  color:#eef2f7;mix-blend-mode:pin-light;}
.ff-mark .dot{color:var(--accent-hi);}
.ff-sub{max-width:54ch;margin:28px auto 0;font-size:var(--t-1);color:var(--ink-soft);}
.ff-hero .ctas{display:flex;justify-content:center;gap:16px;margin-top:38px;flex-wrap:wrap;}

/* ---------- diagnostic opener ---------- */
.diag-grid{display:grid;grid-template-columns:7fr 5fr;gap:50px;align-items:center;}
.diag{font-family:var(--serif);font-weight:600;font-size:clamp(1.8rem,3.5vw,2.9rem);line-height:1.28;max-width:20ch;}
.diag em{font-style:italic;font-weight:600;color:#8fb0e8;}
.diag-by{font-family:var(--mono);font-size:var(--t--1);color:var(--ink-faint);letter-spacing:.1em;margin-top:26px;text-transform:uppercase;}

/* ---------- proof recap ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;}
.stats .s{background:var(--panel);padding:40px 30px;}
.stats .s .big{font-family:var(--serif);font-size:var(--t-5);line-height:1;}
.stats .s .lab{color:var(--ink-soft);margin-top:14px;font-size:var(--t-0);line-height:1.4;}

/* ---------- packages ---------- */
.pkg-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:30px;}
.pkg-head h2{font-family:var(--serif);font-size:var(--t-4);}
.pkg-head p{color:var(--ink-soft);max-width:44ch;}
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.pkg{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:32px 28px;}
.pkg.feat{border-color:var(--accent);background:linear-gradient(180deg,rgba(74,109,168,.12),var(--panel));}
.pkg .tier{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-hi);}
.pkg .pname{font-family:var(--serif);font-size:var(--t-2);margin:10px 0 6px;}
.pkg .pfor{color:var(--ink-soft);font-size:var(--t--1);min-height:2.8em;}
.pkg .price{font-family:var(--serif);font-size:var(--t-3);margin:18px 0 4px;}
.pkg .price small{font-family:var(--sans);font-size:var(--t--1);color:var(--ink-faint);}
.pkg .pnote{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;}
.pkg ul,.mem .m ul{list-style:none;margin:22px 0 26px;display:flex;flex-direction:column;gap:11px;}
.pkg li,.mem .m li{display:flex;gap:11px;font-size:var(--t-0);color:var(--ink-soft);line-height:1.4;}
.pkg li::before,.mem .m li::before{content:"";flex:0 0 auto;width:7px;height:7px;margin-top:7px;border:1px solid var(--accent-hi);transform:rotate(45deg);}
.pkg .pcta{margin-top:auto;}
.pkg .pcta .btn,.mem .m .pcta .btn{width:100%;justify-content:center;}

/* ---------- website membership ---------- */
.mem{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch;}
.mem.mem-single{grid-template-columns:1fr;max-width:420px;margin:0 auto;}
.mem .m{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:34px;display:flex;flex-direction:column;}
.mem .m .tier{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-hi);}
.mem .m .price{font-family:var(--serif);font-size:var(--t-4);margin:10px 0 2px;}
.mem .m .price small{font-family:var(--sans);font-size:var(--t--1);color:var(--ink-faint);}
.upnote{margin-top:22px;border:1px dashed var(--line-2);border-radius:3px;padding:18px 22px;color:var(--ink-soft);font-size:var(--t-0);display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.upnote .k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-hi);white-space:nowrap;}

/* ---------- booking · scheduling button ---------- */
.book{text-align:center;}
.cal-btn-wrap{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:34px;}
.book .micro{font-family:var(--mono);font-size:11px;color:var(--ink-faint);margin-top:0;letter-spacing:.04em;}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .stats,.pkg-grid,.mem,.diag-grid{grid-template-columns:1fr;}
  .ff-hero{padding:120px 0 78px;}
}
