/* Type and colors match the Goh Consulting VSL funnel: Inter throughout, near-black, pale gold accent. */
:root{--bg:#060504;--panel:#100f0c;--field:#0d0d0d;--ink:#fff;--soft:#e6e1d3;--muted:#b5aea0;--dim:#6b6b6b;--line:rgba(245,230,163,.16);--line2:rgba(255,255,255,.1);--gold:#f5e6a3;--gold-hover:#f9eec0;--on-gold:#111;--font:'Inter',-apple-system,system-ui,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:clip;background:var(--bg);color:var(--ink);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

.top{display:flex;justify-content:center;padding:18px 16px 0}
.wordmark-img{display:block;width:clamp(88px,9vw,108px);height:auto}

.lander{width:min(940px,calc(100% - 32px));margin:0 auto;padding:8px 0 40px;text-align:center}
.lander h1{font:800 clamp(26px,3.4vw,36px)/1.2 var(--font);letter-spacing:-.01em;margin:18px auto 0;max-width:780px}
.lander h1 em{font-style:normal;color:var(--gold)}
.sub{max-width:640px;margin:16px auto 0;color:var(--soft);font-weight:400;font-size:clamp(16px,1.8vw,19px);line-height:1.6}
.sub b{color:var(--gold);font-weight:500}


.video{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000;margin-top:30px}
.video iframe,.video video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.vp-overlay{position:absolute;inset:0;z-index:1;display:grid;place-content:center;justify-items:center;gap:14px;border:0;background:transparent;color:#fff;cursor:pointer;font:700 clamp(15px,1.8vw,19px) var(--font)}
.video.is-paused .vp-overlay{background:rgba(6,5,4,.45)}
.vp-big{width:clamp(64px,8vw,88px);height:clamp(64px,8vw,88px);border-radius:50%;background:var(--gold);position:relative;box-shadow:0 0 0 10px rgba(245,230,163,.16);transition:transform .15s}
.vp-big::after{content:"";position:absolute;left:52%;top:50%;transform:translate(-40%,-50%);border-left:clamp(20px,2.4vw,26px) solid var(--on-gold);border-top:clamp(12px,1.5vw,16px) solid transparent;border-bottom:clamp(12px,1.5vw,16px) solid transparent}
.vp-overlay:hover .vp-big{transform:scale(1.06)}
.video.is-playing .vp-big,.video.is-playing .vp-label{opacity:0}
.vp-label{text-shadow:0 2px 12px rgba(0,0,0,.6)}
.vp-bar{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;padding:10px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:0;transition:opacity .2s}
.video:hover .vp-bar,.video.is-paused .vp-bar{opacity:1}
.video:not(.is-playing):not(.is-paused) .vp-bar{opacity:0}
.vp-toggle,.vp-full{flex:none;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;position:relative;font-size:15px}
.vp-toggle::after{content:"";position:absolute;left:11px;top:9px;border-left:11px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.video.is-playing .vp-toggle::after{left:10px;top:9px;width:3px;height:12px;border:0;background:#fff;box-shadow:6px 0 0 #fff}
.vp-track{flex:1;position:relative;height:5px;border-radius:5px;background:rgba(255,255,255,.18);cursor:pointer;background-clip:content-box;padding:8px 0;box-sizing:content-box}
.vp-track b,.vp-track i{position:absolute;left:0;top:8px;height:5px;width:0;border-radius:5px}
.vp-track b{background:rgba(255,255,255,.35)}
.vp-track i{background:var(--gold)}
.vp-track:hover{height:7px}.vp-track:hover b,.vp-track:hover i{height:7px;top:8px}
.vp-rew{flex:none;height:30px;min-width:30px;padding:0 8px 0 22px;border:0;border-radius:15px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;font:700 11px var(--font);position:relative}
.vp-rew::before{content:"↺";position:absolute;left:8px;top:50%;transform:translateY(-52%);font-size:14px;font-weight:400}
.vp-time{font-size:12px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.85)}
.video:fullscreen{border-radius:0}
.video-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted);font-size:14px;background:radial-gradient(120% 120% at 50% 0%,#1c1a12 0%,#0b0a08 60%)}
.play{width:78px;height:78px;border-radius:50%;background:var(--gold);position:relative;box-shadow:0 0 0 10px rgba(245,230,163,.12)}
.play::after{content:"";position:absolute;left:31px;top:24px;border-left:24px solid var(--on-gold);border-top:15px solid transparent;border-bottom:15px solid transparent}
.gate-note{margin-top:16px;font-size:15px;color:var(--muted)}
.gate-note b{color:var(--gold);font-weight:600}

.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--gold);color:var(--on-gold);text-decoration:none;font:800 15px/1.2 var(--font);letter-spacing:.04em;padding:16px 30px;border:0;border-radius:50px;cursor:pointer;transition:transform .15s,background .15s}
.cta:hover{background:var(--gold-hover);transform:translateY(-1px)}

/* Application */
.apply{position:relative;width:min(1160px,calc(100vw - 32px));left:50%;transform:translateX(-50%);margin:48px 0 0;text-align:left;background:var(--panel);border:1.5px solid var(--line);border-radius:20px;overflow:hidden;scroll-margin-top:16px;min-height:300px}
.apply-steps{display:flex;justify-content:center;gap:26px;padding:12px 16px;border-bottom:1.5px solid var(--line);font-size:14px;font-weight:500;color:var(--dim)}
.dot-step{display:inline-flex;align-items:center;gap:9px}
.dot-step i{width:9px;height:9px;border-radius:50%;background:#444}
.dot-step.is-on{color:var(--ink);font-weight:700}
.dot-step.is-on i{background:var(--gold);box-shadow:0 0 0 3px rgba(245,230,163,.18)}
.dot-step.is-done{color:var(--muted)}
.dot-step.is-done i{background:var(--gold)}
.apply-cols{display:grid;grid-template-columns:1fr 1fr}
.apply-left{padding:20px 28px 22px;border-right:1.5px solid var(--line);min-width:0}
/* Calendar */
.cal{position:relative;padding:20px 26px 20px;min-width:0}
.cal .cal-body{transition:filter .3s,opacity .3s}
.cal.is-locked .cal-body{filter:blur(2px);opacity:.3;pointer-events:none;user-select:none}
.cal-lock{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(300px,86%);background:var(--panel);border:1.5px solid var(--line);border-radius:16px;padding:18px 20px;text-align:center;font-size:14px;font-weight:600;color:var(--soft);box-shadow:0 20px 50px rgba(0,0,0,.5);display:grid;gap:8px;justify-items:center}
.cal-lock b{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.cal-lock .cta{margin-top:6px;padding:12px 22px;font-size:14px}
.cal:not(.is-locked) .cal-lock{display:none}
.cal.just-unlocked{animation:qin .4s ease both}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-month{font-size:16px;font-weight:700;color:var(--ink)}
.cal-nav{width:34px;height:34px;border-radius:9px;border:1.5px solid var(--line2);background:transparent;color:var(--ink);font-size:18px;cursor:pointer}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-dow span{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--dim);padding-bottom:6px}
.cal-day{aspect-ratio:1;max-height:36px;width:100%;border:0;border-radius:10px;background:transparent;color:var(--ink);font:600 14px var(--font);cursor:pointer}
.cal-day:disabled{color:#3a3a3a;cursor:default}
.cal-day.has-slots{background:rgba(245,230,163,.08);color:var(--gold)}
.cal-day:not(:disabled):hover{background:rgba(245,230,163,.14)}
.cal-day.is-selected{background:var(--gold)!important;color:var(--on-gold)!important}
.cal-side{margin-top:14px;border-top:1.5px solid var(--line);padding-top:16px}
.cal-side h4{margin:0 0 10px;font-size:15px;font-weight:700}
.cal-note{color:var(--muted);font-size:14px;margin:0}
.cal-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;max-height:220px;overflow:auto;padding-right:2px}
.cal-time{border:1.5px solid var(--line2);background:var(--field);color:var(--ink);border-radius:10px;padding:10px 6px;font:600 14px var(--font);cursor:pointer}
.cal-time:hover{border-color:var(--gold);color:var(--gold)}
.cal-pick{margin:0 0 12px;color:var(--gold);font-weight:700;font-size:16px}
.cal-q{display:grid;gap:6px;font-size:13px;color:var(--muted);margin-bottom:12px}
.cal-q textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--field);border:1.5px solid var(--line2);border-radius:10px;padding:10px 12px;resize:vertical}
.cal-confirm{width:100%}
.cal-back{display:block;margin:12px auto 0;background:none;border:0;color:var(--muted);font:600 13px var(--font);cursor:pointer}
.cal-err{color:#ff8b7a;font-size:14px;margin:0 0 10px}
.cal-done{text-align:center;padding:6px 0}
.cal-done h4{font-size:20px;margin:8px 0}
.cal-done p{margin:0 0 10px;color:var(--soft)}
.cal-check{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--on-gold);font-weight:800;font-size:20px}
.apply.is-locked form,.apply.is-locked .apply-top,.apply.is-locked .apply-bar{filter:blur(5px);opacity:.35;pointer-events:none;user-select:none}
.lock{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;padding:24px;color:var(--soft);font-size:14px;font-weight:600}
.lock b{display:block;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}
.apply:not(.is-locked) .lock{display:none}
.ring{width:52px;height:52px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke:rgba(255,255,255,.08);stroke-width:4}
.ring .ring-fill{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:119.4;stroke-dashoffset:119.4;transition:stroke-dashoffset .4s linear}
.apply.just-unlocked{animation:pop .5s ease}
@keyframes pop{0%{box-shadow:0 0 0 0 rgba(245,230,163,.5)}100%{box-shadow:0 0 0 18px rgba(245,230,163,0)}}
.apply-top{display:flex;justify-content:space-between;align-items:center;font:700 11px/1 var(--font);letter-spacing:.14em;color:var(--gold)}
.apply-top #q-count{color:#444;font-weight:400;letter-spacing:.08em}
.apply-bar{height:2px;background:rgba(255,255,255,.08);border-radius:2px;margin:12px 0 16px;overflow:hidden}
.apply-bar span{display:block;height:100%;width:0;background:var(--gold);transition:width .35s ease}
.q{animation:qin .35s ease both}
@keyframes qin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.q h3{font:800 clamp(18px,2.2vw,22px)/1.25 var(--font);outline:none}
.q-num{display:inline-block;font:700 11px/1 var(--font);letter-spacing:.14em;color:var(--gold);border:1px solid var(--line);background:rgba(245,230,163,.06);border-radius:50px;padding:5px 9px;margin-bottom:10px}
.q-help{color:var(--muted);font-size:13.5px;margin-top:6px}
.intro p{color:var(--muted);margin-top:8px;font-size:14px}
.intro .cta{margin-top:22px}
.opts{border:0;padding:0;margin:14px 0 0;display:grid;gap:8px}
.opt{display:flex;align-items:center;gap:14px;padding:11px 16px;border:1.5px solid var(--line2);border-radius:12px;background:var(--field);cursor:pointer;transition:border-color .15s,background .15s;font-size:15px;line-height:1.35}
.opt:hover{border-color:rgba(245,230,163,.45)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt kbd{flex:none;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line2);border-radius:6px;font:700 12px/1 var(--font);color:var(--muted)}
.opt:has(input:checked){border-color:var(--gold);background:rgba(245,230,163,.08)}
.opt:has(input:checked) kbd{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.opt:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}
.fields{display:grid;gap:10px;margin-top:14px}
.fields label{display:grid;gap:7px;font-size:13px;color:var(--muted)}
.fields small{font-size:12px;opacity:.8}
.fields input,.q textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--field);border:1.5px solid var(--line2);border-radius:12px;padding:11px 16px;outline:none;transition:border-color .15s}
.q textarea{margin-top:16px;resize:vertical;min-height:110px}
.fields input:focus,.q textarea:focus{border-color:rgba(245,230,163,.6)}
[aria-invalid=true]{border-color:#e5484d!important}
.consent{font-size:12px;color:var(--dim);line-height:1.5}
.consent a{color:var(--dim)}
.q-error{margin-top:14px;color:#ff8b7a;font-size:14px}
.q-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:16px}
.q-actions .cta{margin-left:auto;padding:12px 26px;font-size:14px}
.q-next:disabled{opacity:.6;cursor:wait}
.q-back{background:none;border:0;color:var(--muted);font:600 14px var(--font);cursor:pointer;padding:8px 0}
.under-form{margin-top:12px;font-size:14px;color:var(--muted)}
.hp{position:absolute;left:-9999px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.foot{width:min(860px,calc(100% - 32px));margin:0 auto;padding:28px 0 40px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;line-height:1.8;color:#444;text-align:center}
.foot a{color:#444}
.disclaimer{margin-top:12px;font-size:12px;line-height:1.8}

@media (max-width:900px){
  .apply-cols{grid-template-columns:1fr}
  .apply-left{border-right:0;border-bottom:1.5px solid var(--line)}
}
@media (max-width:640px){
  .apply-left,.cal{padding:20px 16px 18px}
  .apply-steps{gap:16px;font-size:13px}
  .lander{padding-top:6px}
  .q-actions .cta{flex:1}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta,.q,.apply.just-unlocked{transition:none;animation:none}}
