:root{
  --bg:#0d0d0c;
  --panel:#171714;
  --panel2:#20201c;
  --ink:#f4f0e7;
  --muted:#b7b0a4;
  --ochre:#c99a3d;
  --ochre2:#e2b55c;
  --cream:#f3ead7;
  --line:rgba(255,255,255,.11);
  --danger:#ffb0a8;
  --ok:#b8e6bf;
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:Inter, ui-sans-serif, system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.topbar{
  max-width:1240px;margin:auto;padding:22px 28px;display:flex;justify-content:space-between;align-items:center
}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.04em}
.brand-mark{
  display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--ochre);border-radius:12px;
  color:var(--ochre);font-size:13px;letter-spacing:.08em
}
.topbar-proof{color:var(--muted);font-size:14px}
.hero{
  max-width:1240px;margin:0 auto;padding:70px 28px 52px;display:grid;grid-template-columns:1.25fr .75fr;gap:54px;align-items:center
}
.eyebrow{color:var(--ochre2);font-weight:800;font-size:13px;letter-spacing:.14em}
h1,h2,h3{line-height:1.05;margin-top:0}
h1{font-size:clamp(46px,7vw,86px);letter-spacing:-.055em;margin:18px 0 22px;max-width:900px}
h1 span,.final-cta h2 span{color:var(--ochre2)}
.lead{font-size:20px;color:var(--muted);max-width:720px}
.feature-row{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 18px}
.feature-row span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#ddd5c8;font-size:13px}
.price-line{font-size:18px;margin:16px 0 24px}.price-line strong{font-size:25px}
.btn{
  border:0;border-radius:14px;padding:15px 19px;font-weight:900;letter-spacing:.025em;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:.18s ease
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--ochre);color:#111}
.btn-primary:hover{background:var(--ochre2)}
.btn-secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn.full{width:100%;font-size:16px;padding:17px}
.hero-note{margin-top:15px;color:var(--muted);font-size:13px;max-width:580px}
.trust-card{background:linear-gradient(145deg,#1e1d19,#131310);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.24)}
.trust-kicker{font-size:12px;color:var(--ochre2);font-weight:900;letter-spacing:.14em}
.trust-card h2{font-size:34px;margin:10px 0 24px}
.mini-flow{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.mini-flow li{display:flex;gap:13px;align-items:flex-start}
.mini-flow b{flex:0 0 30px;height:30px;border-radius:9px;background:rgba(201,154,61,.15);color:var(--ochre2);display:grid;place-items:center}
.mini-flow span{color:#ddd5c8}
.lockline{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.proof-strip{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:repeat(4,1fr);max-width:1240px;margin:0 auto
}
.proof-strip>div{padding:26px 18px;text-align:center;border-right:1px solid var(--line)}
.proof-strip>div:last-child{border-right:0}
.proof-strip strong{display:block;font-size:20px}
.proof-strip span{font-size:12px;color:var(--muted)}
.booking-shell{
  max-width:1240px;margin:0 auto;padding:100px 28px;display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start
}
.booking-intro{position:sticky;top:24px}
.booking-intro h2,.how h2,.what h2,.faq h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.04em;margin:15px 0 18px}
.booking-intro>p{color:var(--muted);font-size:18px}
.security-box{margin-top:30px;padding:22px;border:1px solid rgba(201,154,61,.35);background:rgba(201,154,61,.07);border-radius:18px}
.security-box p{color:#d5ccbc;margin-bottom:0}
.booking-card{background:var(--cream);color:#17140f;border-radius:28px;padding:26px;box-shadow:0 35px 100px rgba(0,0,0,.3)}
.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:30px}
.step{border:0;background:transparent;color:#776f64;font-size:11px;font-weight:800;padding:8px 2px;cursor:default}
.step span{display:grid;place-items:center;margin:0 auto 5px;width:29px;height:29px;border-radius:50%;border:1px solid #c7bca8}
.step.active{color:#17140f}.step.active span,.step.done span{background:var(--ochre);border-color:var(--ochre);color:#111}
.form-step{display:none}.form-step.active{display:block}
.form-step h3{font-size:29px;margin-bottom:22px}
.form-copy{color:#6e665b;margin-top:-8px}
.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1fr 1fr}
label{display:block;font-size:13px;font-weight:800;margin-bottom:15px}
label small{font-weight:500;color:#766d60}
input,select,textarea{
  width:100%;border:1px solid #d3c7b3;border-radius:12px;background:#fffdf8;padding:13px 14px;margin-top:7px;
  outline:none;color:#17140f
}
input:focus,select:focus,textarea:focus{border-color:var(--ochre);box-shadow:0 0 0 3px rgba(201,154,61,.13)}
.radio-cards{display:grid;gap:10px;margin-bottom:18px}
.radio-cards label{display:flex;gap:12px;padding:14px;border:1px solid #d3c7b3;border-radius:14px;margin:0;background:#fffdf8;cursor:pointer}
.radio-cards input{width:auto;margin:4px 0 0}
.radio-cards span{display:grid;gap:2px}.radio-cards small{color:#6f675b;font-weight:500}
.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.form-actions .btn{min-width:125px}.single-back{justify-content:flex-start}
.checkline{display:flex;gap:11px;align-items:flex-start;font-weight:600;color:#554f46}
.checkline input{width:auto;margin:3px 0 0}
.summary-price{padding:16px;border-radius:14px;background:#17140f;color:#fff;margin:8px 0 20px}
.summary-price strong{color:var(--ochre2);font-size:20px}
.booking-summary{border:1px solid #d7c9b4;border-radius:16px;padding:17px;margin-bottom:16px;background:#fffdf8}
.summary-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #eee4d6}
.summary-row:last-child{border:0}.summary-row span{color:#70675b}.summary-row strong{text-align:right}
.auth-explainer{display:grid;gap:4px;background:#191813;color:#fff;border-radius:15px;padding:16px;margin-bottom:14px}
.auth-explainer span{font-size:13px;color:#cfc7ba}
.stripe-box{background:#fffdf8;border:1px solid #d7c9b4;border-radius:14px;padding:15px;margin-bottom:14px}
#card-element{margin-top:10px;padding:12px;border:1px solid #d8cdbb;border-radius:10px;background:#fff}
#card-errors{color:#a4332b;font-size:12px;margin-top:8px}
.microcopy{text-align:center;font-size:11px;color:#746b60;margin-top:9px}
.notice{background:#fff7df;border:1px solid #dfc47e;border-radius:14px;padding:16px;margin-bottom:14px}
.notice p{margin-bottom:0}
.hidden{display:none!important}
.success-state{text-align:center;padding:45px 20px}
.success-icon{width:60px;height:60px;margin:0 auto 18px;border-radius:50%;background:#1d7c42;color:#fff;display:grid;place-items:center;font-size:30px}
.success-state h3{font-size:32px}
.success-meta{margin:20px auto;max-width:460px;padding:15px;border-radius:14px;background:#fffdf8;border:1px solid #d7c9b4}
.muted{color:#746b60}
.how,.what,.faq,.video-placeholder,.final-cta{max-width:1240px;margin:0 auto;padding:90px 28px}
.how{border-top:1px solid var(--line)}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:35px}
.how-grid article,.what-grid article{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px}
.how-grid article>span{color:var(--ochre2);font-weight:900}
.how-grid h3,.what-grid h3{font-size:20px;margin:14px 0 8px}.how-grid p,.what-grid p{color:var(--muted);margin:0}
.what{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px}
.what-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.video-frame{border:1px dashed rgba(201,154,61,.45);border-radius:26px;min-height:280px;display:grid;place-items:center;text-align:center;padding:35px;background:rgba(201,154,61,.04)}
.video-frame span{color:var(--ochre2);font-weight:900;letter-spacing:.14em}.video-frame strong{font-size:28px}.video-frame p{color:var(--muted);max-width:600px}
.faq details{border-top:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:800;font-size:18px}.faq details p{color:var(--muted);max-width:850px}
.final-cta{text-align:center;padding-top:80px;padding-bottom:110px}
.final-cta h2{font-size:clamp(40px,6vw,72px);letter-spacing:-.05em}
footer{max-width:1240px;margin:0 auto;padding:32px 28px 45px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted)}
footer .brand{color:var(--ink)}
@media(max-width:900px){
  .hero,.booking-shell,.what{grid-template-columns:1fr}
  .trust-card{order:2}.booking-intro{position:static}
  .proof-strip{grid-template-columns:1fr 1fr}
  .proof-strip>div:nth-child(2){border-right:0}
  .proof-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .how-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .topbar{padding:16px 18px}.topbar-proof{display:none}
  .hero{padding:45px 18px 36px;gap:30px}
  h1{font-size:44px}
  .lead{font-size:17px}
  .hero-cta{width:100%}
  .proof-strip{grid-template-columns:1fr 1fr}
  .booking-shell,.how,.what,.faq,.video-placeholder,.final-cta{padding-left:18px;padding-right:18px}
  .booking-shell{padding-top:65px;gap:34px}
  .booking-card{padding:18px;border-radius:20px}
  .step{font-size:0}.step span{font-size:11px}
  .grid.two,.how-grid,.what-grid{grid-template-columns:1fr}
  .form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}
  footer{margin:0 18px;padding-left:0;padding-right:0;display:grid;gap:14px}
}

.availability-notice{padding:16px;border:1px solid #be922e;border-radius:12px;background:#282317;line-height:1.6;font-size:15px}.availability-notice a,.notice a,.checkline a,footer a{color:#ebc46d;text-decoration:underline}button:disabled{opacity:.55;cursor:not-allowed}.stripe-box{color:#f5f1e8}.brand img{border-radius:6px}.step{cursor:default}.booking-card{scroll-margin-top:24px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #ebc46d;outline-offset:3px}@media(max-width:600px){.topbar-proof{display:none}.step{font-size:12px;padding:8px 2px}.brand{font-size:15px}.hero h1{font-size:clamp(32px,9vw,46px)}}
/* Contact request form */
.booking-card h3{font-size:27px;margin-bottom:22px}.contact-heading{margin-top:28px}.booking-card label{font-size:14px}.booking-card input,.booking-card textarea{font-size:16px}.booking-card label small{display:inline-block;font-size:13px;font-weight:400}.booking-card .checkline a{color:#785617;text-decoration:underline}.booking-card .microcopy{font-size:13px}.booking-card .form-error{color:#8f211d;background:#ffede9;border:1px solid #ddaaa4;border-radius:10px;padding:14px}.contact-link{color:var(--ochre2);text-decoration:underline}.success-meta{overflow-wrap:anywhere}.how-grid{grid-template-columns:repeat(3,1fr)}.booking-card .btn-secondary{color:#17140f;border-color:#a6977e}@media(max-width:620px){.how-grid{grid-template-columns:1fr}}
