:root{
  --gold:#D4A437;--gold-soft:#E8BE52;
  --teal:#1FA892;--teal-bright:#4DC9C0;--teal-btn:#2DD4BF;
  --ink:#1A1A1C;--muted:#5F5F66;
  --paper:#FBFAF7;--line:#E7E4DC;
  --black:#0A0A0B;--dark-body:#D9D7D2;
}
*{margin:0;padding:0;box-sizing:border-box;}
/* full-bleed shell: breaks out of any host container (GHL section/row/column) */
.ve-page{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;
  font-family:'Inter',-apple-system,sans-serif;font-size:20px;line-height:1.72;color:var(--ink);
  background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
html{scroll-behavior:smooth;}
html,body{margin:0 !important;padding:0 !important;background:var(--paper);}
body{font-family:'Inter',-apple-system,sans-serif;font-size:20px;line-height:1.72;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;}
.wrap{max-width:840px;margin:0 auto;padding:0 26px;}
.mono,.eyebrow{font-family:'DM Mono',ui-monospace,monospace;}
.eyebrow{font-size:13.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);}
h1{font-family:'Archivo',-apple-system,sans-serif;font-size:62px;line-height:1.06;font-weight:800;font-style:normal;letter-spacing:-.02em;}
h2{font-family:'Archivo',-apple-system,sans-serif;font-size:35px;line-height:1.15;font-weight:800;font-style:normal;letter-spacing:-.015em;margin:12px 0 18px;}
p{margin-bottom:16px;}
.big{font-size:23px;line-height:1.55;font-weight:600;font-style:italic;}
section{padding:78px 0 46px;}
/* light / dark alternation */
.light{background:var(--paper);color:var(--ink);}
.light em,.light i{color:var(--teal);font-style:italic;}
.light strong{color:var(--ink);font-weight:700;}
.light h2{color:var(--ink);}
.dark{background:var(--black);color:var(--dark-body);}
.dark h1,.dark h2{color:#F5F2EA;}
.dark em,.dark i{color:var(--teal-bright);}
.dark strong{color:var(--gold-soft);font-weight:700;}
/* hero */
.hero{padding:96px 0 72px;text-align:center;}
.hero .sub{max-width:700px;margin:26px auto 0;font-size:21px;}
.brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:42px;}
.brand .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);}
.brand span{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:#9d9890;}
/* headline break control: .dbr = desktop break, .mbr = mobile break */
.dbr{display:inline;}
.mbr{display:none;}
/* cta */
.cta-btn{display:inline-block;background:var(--teal-btn);color:#04120F;font-family:'DM Mono',monospace;
  font-size:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  padding:18px 40px;border-radius:10px;margin-top:30px;transition:transform .15s ease;}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(45,212,191,.32);}
.cta-note{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-top:13px;color:#8b867d;}
/* law block */
.law{border-left:3px solid var(--gold);padding:4px 0 4px 26px;margin:30px 0;}
.law .q{font-size:30px;line-height:1.35;font-style:italic;font-weight:700;}
.law .a{font-family:'DM Mono',monospace;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:12px;}
/* charts */
.charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0 6px;}
.chart{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 20px 16px;text-align:center;}
.chart svg{display:block;width:100%;height:auto;}
.chart .cl{font-family:'DM Mono',monospace;font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-top:12px;}
.chart .cl.bad{color:#A8811F;}
.chart .cl.good{color:var(--teal);}
/* steps */
.steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:24px;}
.step{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 22px;}
.step .sn{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);display:block;margin-bottom:8px;}
.step h3{font-size:20px;font-weight:800;font-style:normal;margin-bottom:6px;}
.step p{font-size:16.5px;margin:0;color:var(--muted);}
/* deliverable */
.deliver{background:#fff;border:1.5px solid var(--gold);border-radius:16px;padding:34px 34px;margin-top:26px;text-align:center;
  box-shadow:0 8px 30px rgba(0,0,0,.06);}
.deliver h3{font-size:26px;font-style:normal;font-weight:800;}
.deliver p{max-width:600px;margin:10px auto 0;color:var(--muted);font-size:18px;}
.free{display:inline-block;font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal);border:1px solid var(--teal);border-radius:20px;padding:5px 14px;margin-top:16px;}
/* photos */
.photo{border-radius:14px;overflow:hidden;background:#EFEDE6;}
.photo img{display:block;width:100%;height:100%;object-fit:cover;}
.ph{border:2px dashed #C9C3B4;border-radius:14px;display:flex;align-items:center;justify-content:center;
  min-height:230px;text-align:center;padding:18px;background:#F4F2EB;}
.ph span{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#A39C8B;line-height:2;}
.dark .ph{background:#111113;border-color:#33312c;}
.dark .ph span{color:#6d675c;}
/* story */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;margin:34px 0;}
.story-grid.flip .txt{order:2;}
.story-grid.flip .vis{order:1;}
.story-grid h3{font-size:24px;font-weight:800;font-style:normal;margin-bottom:8px;}
.story-grid p{font-size:18px;color:var(--muted);margin-bottom:0;}
.dark .story-grid p{color:#B8B5AE;}
.chip{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:8px;}
/* app shot strip */
.appshot{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:center;margin-top:26px;}
/* for / not for */
.forgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
.forcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 26px;}
.forcard.yes{border-color:#E2CE96;}
.forcard h3{font-size:21px;font-weight:800;font-style:normal;margin-bottom:6px;}
.forcard ul{list-style:none;}
.forcard li{padding:11px 0 11px 30px;position:relative;font-size:17px;color:var(--muted);border-bottom:1px solid #F0EDE5;}
.forcard li:last-child{border-bottom:none;}
.forcard.yes li::before{content:"";position:absolute;left:0;top:17px;width:12px;height:12px;
  background:var(--teal);clip-path:polygon(14% 44%,0 60%,40% 100%,100% 16%,84% 4%,38% 72%);}
.forcard.no li::before{content:"✕";position:absolute;left:2px;top:9px;color:#C9C3B4;font-family:'DM Mono',monospace;font-size:13px;}
/* booking */
#book .bookbox{background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;margin-top:26px;min-height:700px;}
/* Booking fallback. The CoachMatix widget resolves through msgsndr.com, which ad blockers
   and DNS filters routinely block; when that happens the iframe never loads and the box
   above is just a broken frame. .bookalt is the always-there safety net, .bookfall replaces
   the dead frame entirely once the script confirms the widget never rendered. */
#book .bookalt{font-family:'DM Mono',monospace;font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;margin-top:18px;color:#8b867d;text-align:center;}
#book .bookalt a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
#book .bookfall{background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:44px 30px 48px;margin-top:26px;text-align:center;}
#book .bookfall .h{font-family:'Archivo',sans-serif;font-weight:800;font-size:28px;line-height:1.28;}
#book .bookfall p{font-size:18px;line-height:1.6;color:var(--muted);margin-top:14px;}
#book .bookfall .cta-btn{margin-top:26px;}
[hidden]{display:none !important;}
#book iframe{min-height:690px;border-radius:12px;}
/* footer */
.foot{background:var(--black);text-align:center;padding:46px 0 40px;}
.foot .b1{font-family:'DM Mono',monospace;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-soft);}
.foot .b2{font-family:'DM Mono',monospace;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-bright);margin-top:9px;}
@media(max-width:720px){
  h1{font-size:42px;}
  h2{font-size:29px;}
  .law .q{font-size:25px;}
  .charts,.steps,.story-grid,.appshot,.forgrid{grid-template-columns:1fr;}
  .story-grid.flip .txt{order:1;}
  .story-grid.flip .vis{order:2;}
  section{padding:58px 0 34px;}
  /* hero, tightened so the CTA lands above the fold */
  .hero{padding:34px 0 44px;}
  .dbr{display:none;}
  .mbr{display:inline;}
  .brand{margin-bottom:24px;}
  .hero .eyebrow{font-size:11.5px;letter-spacing:.15em;line-height:1.55;}
  .hero h1{margin-top:16px !important;}
  .hero .sub{font-size:17px;line-height:1.6;margin-top:20px;}
  .cta-btn{font-size:13.5px;letter-spacing:.06em;padding:17px 26px;white-space:nowrap;margin-top:24px;}
  .cta-note{font-size:10.5px;letter-spacing:.03em;}
}
