:root{
  --ink:#0B1F2A;
  --ink-soft:#3B5560;
  --teal:#0E7C86;
  --teal-dark:#0A5A62;
  --bg:#FFFFFF;
  --bg-soft:#F3F7F7;
  --border:#E1E9E9;
  --max:720px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-text-size-adjust:100%;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.55;
  font-size:17px;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px;}
section{padding:56px 0;}
h1,h2,h3{line-height:1.2;font-weight:800;letter-spacing:-0.01em;}
h1{font-size:clamp(28px,7vw,40px);}
h2{font-size:clamp(22px,5vw,28px);margin-bottom:16px;}
p{font-size:17px;}
.eyebrow{
  text-transform:uppercase;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  color:var(--teal);
  margin-bottom:10px;
}

/* header */
header.topbar{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--border);
}
.topbar .wrap{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:14px;padding-bottom:14px;
}
.brand{font-weight:800;font-size:16px;letter-spacing:-0.01em;text-decoration:none;}
.step-indicator{font-size:12px;color:var(--ink-soft);font-weight:600;}

.btn{
  display:inline-block;
  background:var(--teal);
  color:#fff;
  font-weight:700;
  font-size:15px;
  padding:13px 22px;
  border-radius:8px;
  text-decoration:none;
  border:none;
  cursor:pointer;
  text-align:center;
}
.btn:active{background:var(--teal-dark);}
.btn-sm{padding:9px 16px;font-size:14px;}
.btn-block{display:block;width:100%;}

/* hero */
.hero{
  background:var(--bg-soft);
  padding-top:44px;
  padding-bottom:40px;
  border-bottom:1px solid var(--border);
}
.hero h1{margin-bottom:20px;}
.hero .lede{font-size:18px;color:var(--ink-soft);margin-bottom:18px;}
.lede{margin-bottom:22px;}
.beat{font-size:17px;margin-bottom:22px;}
.beat strong{color:var(--ink);}
.hero-ctas{margin-top:26px;}
.hero-ctas .btn{width:100%;}
.hero-note{font-size:13px;color:var(--ink-soft);margin-top:10px;text-align:center;}

/* generic page header (non-hero pages) */
.page-head{padding-top:44px;padding-bottom:8px;text-align:center;}
.page-head h1{font-size:clamp(26px,6vw,34px);margin-bottom:14px;}
.page-head .lede{font-size:17px;color:var(--ink-soft);max-width:520px;margin:0 auto;}

/* video */
.video-section{padding-top:36px;padding-bottom:44px;}
.video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#0B1F2A;
  border-radius:12px;
  overflow:hidden;
}
.video-frame iframe{
  position:absolute;top:0;left:0;width:100%;height:100%;border:0;
}
.video-caption{font-size:14px;color:var(--ink-soft);margin-top:12px;text-align:center;}
.video-frame.compact{max-width:480px;margin:0 auto;}

/* booking */
.booking-section{padding-top:24px;}
.booking-section h2,.booking-section .lede{text-align:center;}
.booking-sub{text-align:center;color:var(--ink-soft);margin-bottom:24px;}
.calendly-inline-widget{min-width:280px;height:700px;background:#fff;border-radius:12px;border:1px solid var(--border);}
.scarcity-note{
  margin-top:18px;
  font-size:14px;
  text-align:center;
  color:var(--ink-soft);
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:8px;
  padding:12px 16px;
}

/* proof */
.proof p{margin-bottom:16px;}
.proof-highlight{
  background:var(--bg-soft);
  border-left:3px solid var(--teal);
  padding:16px 18px;
  border-radius:0 8px 8px 0;
  font-size:16px;
  margin:20px 0;
}
.placeholder{
  background:#FFF7E6;
  border:1px dashed #D9A441;
  color:#7A5300;
  padding:2px 6px;
  border-radius:4px;
  font-size:15px;
}
.includes{margin-top:24px;}
.includes ul{list-style:none;}
.includes li{
  padding:12px 0;
  border-bottom:1px solid var(--border);
  font-size:16px;
  display:flex;
  gap:10px;
}
.includes li:last-child{border-bottom:none;}
.includes li::before{content:"\2022";color:var(--teal);font-weight:700;flex-shrink:0;}

/* faq */
.faq-section{background:var(--bg-soft);border-top:1px solid var(--border);}
.faq-item{
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  margin-bottom:12px;
  overflow:hidden;
}
.faq-item summary{
  padding:16px 18px;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"+";
  color:var(--teal);
  font-size:22px;
  font-weight:400;
  flex-shrink:0;
}
.faq-item[open] summary::after{content:"\2013";}
.faq-item .faq-body{
  padding:0 18px 18px;
  font-size:15.5px;
  color:var(--ink-soft);
}
.faq-body strong{color:var(--ink);}

/* pricing / checkout */
.pricing-grid{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:8px;
}
.price-card{
  border:1px solid var(--border);
  border-radius:12px;
  padding:24px 22px;
  background:#fff;
}
.price-card.featured{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);}
.price-card .price-tag{
  font-size:13px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:8px;
}
.price-card .price-amount{
  font-size:32px;
  font-weight:800;
  letter-spacing:-0.01em;
  margin-bottom:4px;
}
.price-card .price-sub{
  font-size:14px;
  color:var(--ink-soft);
  margin-bottom:18px;
}
.price-card .btn{width:100%;}
.recap-list{margin:20px 0;}
.recap-list ul{list-style:none;}
.recap-list li{
  padding:10px 0;
  border-bottom:1px solid var(--border);
  font-size:15.5px;
  display:flex;
  gap:10px;
}
.recap-list li:last-child{border-bottom:none;}
.recap-list li::before{content:"\2713";color:var(--teal);font-weight:700;flex-shrink:0;}
.guarantee-recap{
  background:var(--bg-soft);
  border-left:3px solid var(--teal);
  padding:16px 18px;
  border-radius:0 8px 8px 0;
  font-size:15px;
  margin:24px 0;
}

/* application form */
.app-form{margin-top:8px;}
.field{margin-bottom:22px;}
.field label.field-label{
  display:block;
  font-weight:700;
  font-size:15px;
  margin-bottom:10px;
}
.field .hint{font-size:13.5px;color:var(--ink-soft);font-weight:400;display:block;margin-top:4px;}
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:8px;
  padding:13px 14px;
  font-size:16px;
  font-family:inherit;
  background:#fff;
  color:var(--ink);
}
.field textarea{min-height:90px;resize:vertical;}
.radio-group{display:flex;flex-direction:column;gap:10px;}
.radio-option{
  display:flex;
  align-items:flex-start;
  gap:10px;
  border:1px solid var(--border);
  border-radius:8px;
  padding:13px 14px;
  cursor:pointer;
  font-size:15.5px;
}
.radio-option input{margin-top:3px;flex-shrink:0;}
.radio-option:has(input:checked){border-color:var(--teal);background:var(--bg-soft);}
.form-note{font-size:13.5px;color:var(--ink-soft);margin-top:16px;text-align:center;}

/* closing / confirmation banner */
.confirm-banner{
  background:var(--bg-soft);
  border-bottom:1px solid var(--border);
  padding-top:48px;
  padding-bottom:32px;
  text-align:center;
}
.confirm-banner .check{
  width:52px;height:52px;border-radius:50%;
  background:var(--teal);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:26px;margin:0 auto 18px;
}
.confirm-banner h1{font-size:clamp(26px,6vw,34px);margin-bottom:12px;}
.confirm-banner .lede{color:var(--ink-soft);max-width:480px;margin:0 auto;}

footer{
  padding:32px 0 48px;
  text-align:center;
  font-size:13px;
  color:var(--ink-soft);
}

/* desktop enhancements */
@media (min-width:768px){
  body{font-size:18px;}
  section{padding:80px 0;}
  .hero{padding-top:64px;padding-bottom:56px;}
  .hero .wrap{max-width:640px;}
  .hero-ctas .btn{width:auto;display:inline-block;padding:15px 32px;font-size:16px;}
  .video-section,.booking-section{padding-top:64px;padding-bottom:64px;}
  .calendly-inline-widget{height:760px;}
  .page-head{padding-top:64px;}
}
