/* 5D Program funnel kit. One stylesheet for every funnel page.
   Revolut grammar plus one restrained gold: Ink ground, white type, grey
   secondary, white pill buttons, flat Graphite panels with a hairline edge.
   Gold (Gilt) is a highlight only: at most two gold elements per screen,
   never a ground, never a gradient, never a button.
   Source of truth: ~/brand-guides/5d/DIRECTION.md */

@font-face{font-family:'Satoshi';src:url('fonts/satoshi-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/satoshi-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Satoshi';src:url('fonts/satoshi-900.woff2') format('woff2');font-weight:900;font-display:swap}

:root{
  --ink:#000000;
  --graphite:#141414;
  --graphite-2:#1C1C1C;
  --chalk:#F2F2F2;
  --white:#FFFFFF;
  --gilt:#CFA54A;
  --bronze:#A67C1F;
  --green:#6EE7A8;
  --red:#FF6B6B;
  --grey:#8A8A8A;
  --grey-2:#B4B4B4;
  --grey-light:#6B6B6B;
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.16);
  --line-light:rgba(0,0,0,.09);
  --radius:20px;
  --radius-sm:14px;
  --wrap:1120px;
  --narrow:760px;
  --gutter:clamp(16px,4vw,32px);
  --font:'Satoshi',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--chalk);font-family:var(--font);font-weight:500;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video,iframe{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
::selection{background:var(--gilt);color:#111}

/* Layout */
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:calc(var(--narrow) + var(--gutter) * 2)}
.section{padding:clamp(56px,9vw,112px) 0}
.section.tight{padding:clamp(36px,6vw,64px) 0}
.section + .section{border-top:1px solid var(--line)}
.section.light{background:var(--chalk);color:#111;border-top:0}
.section.light + .section{border-top:0}
.section.graphite{background:var(--graphite)}
.center{text-align:center}
.center .lede,.center .sub{margin-left:auto;margin-right:auto}
.grid{display:grid;gap:clamp(14px,2vw,20px)}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center}
.split.top{align-items:start}
@media (max-width:900px){
  .grid.three,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split{grid-template-columns:1fr}
}
@media (max-width:620px){
  .grid.two,.grid.three,.grid.four{grid-template-columns:1fr}
}
.stack > * + *{margin-top:var(--stack,16px)}

/* Top bar */
.bar{position:sticky;top:0;z-index:40;background:rgba(0,0,0,.92);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.bar .logo{height:30px;width:auto}
.bar .note{font-size:14px;color:var(--grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar .note b{color:var(--chalk);font-weight:700}
@media (max-width:620px){.bar .wrap{height:56px}.bar .logo{height:26px}.bar .note{font-size:13px}}

/* Type */
h1,h2,h3,h4{margin:0;font-weight:900;letter-spacing:-.03em;line-height:1.02;color:var(--white)}
.light h1,.light h2,.light h3,.light h4{color:#000}
h1,.h1{font-size:clamp(38px,6.4vw,76px)}
h2,.h2{font-size:clamp(30px,4.6vw,54px)}
h3,.h3{font-size:clamp(21px,2.2vw,26px);letter-spacing:-.02em;line-height:1.15;font-weight:700}
h4{font-size:18px;letter-spacing:-.01em;line-height:1.25;font-weight:700}
.display{font-size:clamp(44px,8vw,104px);line-height:.96}
p{margin:0}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--grey-2);max-width:620px;line-height:1.5}
.light .lede{color:#3A3A3A}
.sub{color:var(--grey);font-size:15px}
.light .sub{color:var(--grey-light)}
.label{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--grey);letter-spacing:0}
.light .label{color:var(--grey-light)}
.label .dot{width:6px;height:6px;border-radius:50%;background:var(--gilt)}
.gold{color:var(--gilt)}
.light .gold{color:var(--bronze)}
.muted{color:var(--grey)}
.white{color:var(--white)}
.small{font-size:14px}
.tiny{font-size:12.5px;line-height:1.5}
.num{font-variant-numeric:tabular-nums}
strong,b{font-weight:700;color:var(--white)}
.light strong,.light b{color:#000}
.prose p + p{margin-top:14px}
.prose{color:var(--grey-2)}
.light .prose{color:#333}

/* Buttons: white pill on dark, black pill on light. Never gold. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:999px;border:0;background:var(--white);color:#000;font-weight:700;font-size:17px;letter-spacing:-.01em;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease,opacity .15s;-webkit-tap-highlight-color:transparent}
.btn:hover{background:#E6E6E6}
.btn:active{transform:scale(.985)}
.btn[disabled],.btn.is-loading{opacity:.55;pointer-events:none}
.btn .arrow{width:18px;height:18px;flex:none}
.btn.block{display:flex;width:100%}
.btn.lg{min-height:64px;font-size:18px;padding:0 36px}
.btn.ghost{background:transparent;color:var(--white);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn.ghost:hover{background:rgba(255,255,255,.06)}
.light .btn{background:#000;color:#fff}
.light .btn:hover{background:#222}
.light .btn.ghost{background:transparent;color:#000;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.btn-note{margin-top:12px;font-size:13.5px;color:var(--grey)}
.textlink{color:var(--white);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px}
.textlink:hover{text-decoration-color:var(--white)}

/* Panels: flat Graphite with a hairline edge. No glass, no blur, no glow. */
.panel{background:var(--graphite);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,32px)}
.panel.flush{padding:0;overflow:hidden}
.panel.raised{background:var(--graphite-2)}
.light .panel{background:#fff;border-color:var(--line-light)}
.panel .label{margin-bottom:10px}
.hair{height:1px;background:var(--line);border:0;margin:24px 0}
.light .hair{background:var(--line-light)}
.gold-rule{height:1px;width:56px;background:var(--gilt);border:0;margin:0 0 20px}

/* Hero */
.hero{padding:clamp(40px,7vw,96px) 0 clamp(48px,7vw,88px)}
.hero h1{max-width:15ch}
.hero.center h1{margin-left:auto;margin-right:auto}
.hero .lede{margin-top:20px}
.hero .actions{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero.center .actions{justify-content:center}

/* Video frame */
.video{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--graphite);border:1px solid var(--line);aspect-ratio:16/9}
.video > div,.video > iframe{position:absolute !important;inset:0;width:100% !important;height:100% !important;padding:0 !important;border:0}
.video.vertical{aspect-ratio:9/16;max-width:420px;margin:0 auto}
.video-cap{margin-top:12px;font-size:14px;color:var(--grey);text-align:center}

/* Photo */
.photo{border-radius:var(--radius);overflow:hidden;background:var(--graphite);border:1px solid var(--line)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.portrait{aspect-ratio:4/5}
.photo.wide{aspect-ratio:16/10}

/* Stats */
.stat{display:flex;flex-direction:column;gap:6px}
.stat .fig{font-size:clamp(34px,4.4vw,52px);font-weight:900;letter-spacing:-.035em;line-height:1;color:var(--white);font-variant-numeric:tabular-nums}
.light .stat .fig{color:#000}
.stat .cap{font-size:15px;color:var(--grey);line-height:1.4}
.stat .src{font-size:12.5px;color:var(--grey);opacity:.85}

/* Lists */
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.ticks li{position:relative;padding-left:34px;color:var(--grey-2)}
.ticks li b{color:var(--white)}
.light .ticks li{color:#333}
.light .ticks li b{color:#000}
.ticks li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}
.light .ticks li::before{background-color:#000;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E")}
.crosses li::before{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A8A8A' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/14px no-repeat;box-shadow:inset 0 0 0 1px var(--line-2)}

/* Numbered steps */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:s}
.steps > li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;background:var(--graphite);border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px}
.steps > li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-2);font-weight:700;color:var(--white);font-variant-numeric:tabular-nums}
.steps h4{margin-bottom:4px}
.steps p{color:var(--grey-2);font-size:15.5px}
.light .steps > li{background:#fff;border-color:var(--line-light)}
.light .steps > li::before{color:#000;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.light .steps p{color:#444}

/* Journey rail (course journey: Criteria, Find, Pitch, Analyse, Structure, Diligence, Own and scale) */
.rail{display:flex;gap:8px;flex-wrap:wrap}
.rail span{padding:8px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:14px;color:var(--grey-2);white-space:nowrap}
.rail span.on{background:var(--white);color:#000;box-shadow:none;font-weight:700}

/* Quotes and member stories */
.quote{display:flex;flex-direction:column;gap:18px;height:100%}
.quote blockquote{margin:0;font-size:clamp(18px,1.7vw,21px);line-height:1.45;color:var(--white);letter-spacing:-.01em;font-weight:500}
.light .quote blockquote{color:#000}
.quote .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.quote .who img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.quote .who b{display:block;font-size:15px}
.quote .who span{display:block;font-size:13.5px;color:var(--grey)}

/* Trust strip */
.trust{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;color:var(--grey);font-size:14px}
.trust .stars{display:inline-flex;gap:2px;vertical-align:-2px}
.trust .stars svg{width:15px;height:15px}
.press{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;opacity:.6}
.press img{height:22px;width:auto;filter:grayscale(1) brightness(2)}

/* Comparison table */
.compare{width:100%;border-collapse:collapse;font-size:15.5px}
.compare th,.compare td{padding:16px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.compare th{font-weight:700;color:var(--white);font-size:14.5px}
.compare td{color:var(--grey-2)}
.compare td.us{color:var(--white);font-weight:700}
.compare-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* FAQ */
.faq{display:grid;gap:10px}
.faq details{background:var(--graphite);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 20px}
.faq summary{list-style:none;cursor:pointer;padding:20px 32px 20px 0;font-weight:700;color:var(--white);position:relative;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:2px;top:50%;width:12px;height:12px;margin-top:-6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 20px;color:var(--grey-2)}
.light .faq details{background:#fff;border-color:var(--line-light)}
.light .faq summary{color:#000}
.light .faq summary::after{filter:invert(1)}
.light .faq details p{color:#444}

/* Forms */
.form{display:grid;gap:12px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.form .row{grid-template-columns:1fr}}
.field{display:grid;gap:6px}
.field label{font-size:14px;color:var(--grey-2);font-weight:500}
.input,.select{width:100%;height:56px;padding:0 18px;border-radius:var(--radius-sm);border:1px solid var(--line-2);background:var(--ink);color:var(--white);font:inherit;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.input::placeholder{color:#6E6E6E}
.input:focus,.select:focus{border-color:var(--white);box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.input.is-bad{border-color:var(--red)}
.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}
.phone{display:grid;grid-template-columns:118px 1fr;gap:8px}
textarea.input{height:auto;min-height:120px;padding:14px 18px;resize:vertical}
.form-error{color:var(--red);font-size:14px;min-height:0}
.form-error:empty{display:none}
.form-fine{font-size:12.5px;color:var(--grey);line-height:1.5;text-align:center}
.light .input,.light .select{background:#fff;color:#000;border-color:rgba(0,0,0,.16)}
.light .input:focus{border-color:#000;box-shadow:0 0 0 3px rgba(0,0,0,.08)}

/* Choice pills (qualifier, survey) */
.choices{display:flex;flex-wrap:wrap;gap:10px}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.choice span{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--white);font-weight:500;transition:background .15s,color .15s}
.choice input:checked + span{background:var(--white);color:#000;font-weight:700;box-shadow:none}
.choice input:focus-visible + span{outline:2px solid var(--white);outline-offset:3px}
.choices.stacked{flex-direction:column}
.choices.stacked .choice span{width:100%;border-radius:var(--radius-sm);min-height:56px}

/* Order bump: one gold hairline, the only gold on the checkout */
.bump{display:grid;grid-template-columns:24px 1fr;gap:14px;padding:18px;border-radius:var(--radius-sm);border:1px dashed var(--gilt);background:var(--graphite);cursor:pointer}
.bump input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--white);cursor:pointer}
.bump b{display:block;color:var(--white);margin-bottom:4px}
.bump p{font-size:14.5px;color:var(--grey-2)}

/* Order summary */
.summary{display:grid;gap:10px;font-size:15.5px}
.summary .line{display:flex;justify-content:space-between;gap:12px;color:var(--grey-2)}
.summary .line.total{color:var(--white);font-weight:700;font-size:17px;padding-top:12px;border-top:1px solid var(--line)}
.price{font-size:clamp(44px,6vw,64px);font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--white);font-variant-numeric:tabular-nums}
.price s{font-size:.42em;color:var(--grey);font-weight:500;margin-left:10px;letter-spacing:0;vertical-align:.5em}

/* Notice and status */
.notice{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:var(--radius-sm);background:var(--graphite);border:1px solid var(--line);font-size:15px;color:var(--grey-2)}
.notice b{color:var(--white)}
.notice.ok{border-color:rgba(110,231,168,.35)}
.notice.ok .ic{color:var(--green)}
.notice .ic{flex:none;width:20px;height:20px;margin-top:2px}
.progress{height:6px;border-radius:999px;background:var(--graphite-2);overflow:hidden}
.progress > i{display:block;height:100%;width:var(--p,50%);background:var(--white);border-radius:inherit}
.stepper{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--grey)}
.stepper .on{color:var(--white);font-weight:700}
.stepper .sep{width:24px;height:1px;background:var(--line-2)}

/* Modal */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.78)}
.modal.open{display:flex}
.modal .sheet{position:relative;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow:auto;background:var(--graphite);border:1px solid var(--line-2);border-radius:24px;padding:clamp(24px,4vw,36px)}
.modal .x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:var(--grey);cursor:pointer;display:grid;place-items:center}
.modal .x:hover{color:var(--white);background:rgba(255,255,255,.06)}
body.modal-open{overflow:hidden}

/* Booking shell (iClosed) */
.booking{background:#fff;border-radius:var(--radius);overflow:hidden;min-height:680px;border:1px solid var(--line)}
.booking .iclosed-widget{min-height:680px}

/* Sticky mobile CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:45;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(0,0,0,.94);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s ease}
.sticky-cta.show{transform:none}


/* Footer */
.foot{padding:48px 0 calc(40px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--grey);font-size:13px;line-height:1.6}
.foot .top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.foot .logo{height:26px;width:auto}
.foot nav{display:flex;gap:20px;flex-wrap:wrap}
.foot nav a{color:var(--grey-2);text-decoration:none}
.foot nav a:hover{color:var(--white)}
.foot p + p{margin-top:10px}

/* Reveal: subtle, once */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* Utilities */
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}.mt-64{margin-top:64px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}
.hide-sm{}
@media (max-width:620px){.hide-sm{display:none !important}}
.show-sm{display:none !important}
@media (max-width:620px){.show-sm{display:revert !important}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Qualifier message */
.qualify-msg{min-height:0;font-size:15px;color:var(--grey-2);margin-top:12px}
.qualify-msg:empty{display:none}
.qualify-msg.is-no{color:var(--red)}
.q{padding:22px 0;border-top:1px solid var(--line)}
.q:first-of-type{border-top:0;padding-top:0}
.q legend,.q .qt{display:block;font-weight:700;color:var(--white);font-size:clamp(18px,2vw,21px);letter-spacing:-.01em;line-height:1.3;margin-bottom:14px;padding:0}
fieldset.q{border:0;margin:0;min-width:0}

/* intl-tel-input on the dark kit */
.iti{width:100%;display:block}
.iti__selected-country{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}
.iti__selected-dial-code{color:var(--white)}
.iti__dropdown-content{background:var(--graphite);color:var(--chalk);border:1px solid var(--line-2);border-radius:12px}
.iti__country.iti__highlight{background:rgba(255,255,255,.08)}
.iti__search-input{background:var(--ink);color:var(--white);border:0;border-bottom:1px solid var(--line);padding:10px 12px}
.light .iti__selected-dial-code{color:#000}

/* Hidden means hidden, whatever display a component sets. */
[hidden]{display:none !important}
.modal .sheet h2,.modal .sheet h3{padding-right:40px}
.video.vertical{width:100%}

/* ---------- 16 Oct, Eros review: more colour, VIP must stand out, proof higher ---------- */

/* Proof strip: press logos plus Trustpilot, placed directly under the hero
   headline or under the first video, never below the fold. */
.proofbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;padding:18px 0}
.proofbar .press{opacity:.75;gap:16px 28px}
.proofbar .press img{height:20px}
.proofbar .tp{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;color:var(--grey-2)}
.proofbar .tp b{color:var(--white)}
.proofbar .tp .stars{display:inline-flex;gap:2px}
.proofbar .tp .stars svg{width:16px;height:16px}
.center .proofbar,.proofbar.center{justify-content:center}
@media (max-width:620px){.proofbar{gap:12px 20px;padding:14px 0}.proofbar .press img{height:16px}}

/* Result colours: green ticks for what you get, red crosses for what you miss. */
.ticks.green li::before{background-color:var(--green)}
.ticks.miss li{color:var(--grey)}
.ticks.miss li::before{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF6B6B' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/14px no-repeat;box-shadow:inset 0 0 0 1px rgba(255,107,107,.35)}

/* VIP tier: the one place gold is allowed to lead. Flat, never a gradient. */
.btn.gilt{background:var(--gilt);color:#111}
.btn.gilt:hover{background:#DDB55C}
.vip-frame{padding:10px;border-radius:calc(var(--radius) + 10px);background:var(--gilt)}
.vip-frame .video{border:0}
.tier{position:relative;border-radius:var(--radius);padding:clamp(22px,3vw,32px);background:var(--graphite);border:1px solid var(--line)}
.tier.vip{background:#17130A;border:1.5px solid var(--gilt);box-shadow:0 0 0 6px rgba(207,165,74,.08)}
.tier.vip .price,.tier.vip .fig{color:var(--gilt)}
.tier.vip .ticks li{color:var(--chalk)}
.tier.vip .ticks li::before{background-color:var(--gilt)}
.tier .badge{position:absolute;top:-13px;left:24px;padding:5px 12px;border-radius:999px;background:var(--gilt);color:#111;font-size:13px;font-weight:700}
.tier.muted{opacity:.82}
.attn{background:var(--gilt);color:#111;text-align:center;font-weight:700;font-size:15px;padding:10px 16px}
.attn b{color:#111}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13.5px;font-weight:700}
.chip.gold{background:rgba(207,165,74,.14);color:var(--gilt)}
.chip.green{background:rgba(110,231,168,.12);color:var(--green)}
.chip.red{background:rgba(255,255,255,.07);color:var(--grey-2)}

/* Embed slot for a third-party form (application form supplied by the client). */
.embed-slot{min-height:520px;border-radius:var(--radius);background:var(--graphite);border:1px dashed var(--line-2);display:grid;place-items:center;text-align:center;padding:24px;color:var(--grey)}
.embed-slot.filled{display:block;border:0;padding:0;background:transparent;min-height:0}

/* ---------- 16 Oct, Eros review 3: inputs must read as inputs, progress clearer, VIP richer ---------- */

/* White fields on every ground, so a field is obviously a field. */
.input,.select,textarea.input{background:#FFFFFF;color:#111;border:1.5px solid #FFFFFF;font-weight:500}
.input::placeholder,textarea.input::placeholder{color:#8A8A8A}
.input:focus,.select:focus{border-color:var(--gilt);box-shadow:0 0 0 4px rgba(207,165,74,.28)}
.input.is-bad{border-color:var(--red);box-shadow:0 0 0 4px rgba(255,107,107,.2)}
.select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}
.field label{color:var(--chalk);font-weight:700}
.light .input,.light .select{border-color:rgba(0,0,0,.18)}
.iti__selected-dial-code{color:#111}
.iti__arrow{border-top-color:#555}
.iti__selected-country{background:transparent}
.iti__selected-country-primary:hover,.iti__selected-country:hover{background:rgba(0,0,0,.05)}
input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fff inset !important;-webkit-text-fill-color:#111 !important}

/* Progress: thicker track, gold fill, bold percentage. */
.progress{height:10px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.progress > i{background:var(--gilt);box-shadow:0 0 12px rgba(207,165,74,.45);transition:width .8s ease}
.meter span,.progress-row{color:var(--chalk) !important;font-weight:700}

/* VIP tier, richer: gold header band, warm depth, raised above the standard card. */
.tier.vip{background:radial-gradient(120% 80% at 50% 0%,#3A2D0E 0%,#1C160A 55%,#120E06 100%);border:2px solid var(--gilt);box-shadow:0 0 0 8px rgba(207,165,74,.10),0 24px 60px -20px rgba(207,165,74,.45);transform:translateY(-8px)}
.tier.vip .badge{top:-15px;left:50%;transform:translateX(-50%);padding:7px 16px;font-size:13.5px;box-shadow:0 6px 18px -6px rgba(207,165,74,.8);white-space:nowrap}
.tier.vip .band{margin:calc(clamp(22px,3vw,32px) * -1) calc(clamp(22px,3vw,32px) * -1) 22px;padding:14px clamp(22px,3vw,32px);background:var(--gilt);color:#111;font-weight:900;letter-spacing:-.01em;border-radius:calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0;display:flex;align-items:center;gap:10px}
.tier.vip .band svg{width:20px;height:20px;flex:none}
.tier.muted{opacity:1;filter:saturate(.4);background:#0E0E0E;border-color:rgba(255,255,255,.06)}
.tier.muted .price,.tier.muted .fig{color:#6E6E6E}
.tier.muted .ticks li{color:#7A7A7A}
@media (max-width:620px){.tier.vip{transform:none}}
.btn.gilt{box-shadow:0 10px 30px -10px rgba(207,165,74,.9),inset 0 -2px 0 rgba(0,0,0,.18);font-weight:900}
.btn.gilt:hover{transform:translateY(-1px)}
@keyframes giltPulse{0%,100%{box-shadow:0 10px 30px -10px rgba(207,165,74,.9),0 0 0 0 rgba(207,165,74,.5)}50%{box-shadow:0 10px 30px -10px rgba(207,165,74,.9),0 0 0 10px rgba(207,165,74,0)}}
.btn.gilt.pulse{animation:giltPulse 2.2s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.btn.gilt.pulse{animation:none}}
.vip-frame{padding:8px;background:linear-gradient(135deg,#E6C574,#CFA54A 45%,#A67C1F);box-shadow:0 30px 80px -30px rgba(207,165,74,.6)}
.attn{background:linear-gradient(90deg,#B98E33,#CFA54A 30%,#E6C574 50%,#CFA54A 70%,#B98E33)}

/* Inbox bar (16 Oct, review 4): a thin reassurance strip at the very top of book-a-call pages. */
.inbox-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;background:#0E1F17;border-bottom:1px solid rgba(110,231,168,.28);color:var(--chalk);font-size:14.5px;line-height:1.35;text-align:center}
.inbox-bar svg{flex:none;width:18px;height:18px;color:var(--green)}
.inbox-bar b{color:var(--white)}
.inbox-bar .muted{color:var(--grey-2)}
@media (max-width:620px){.inbox-bar{font-size:13px;padding:9px 14px;text-align:left}}

/* Sticky CTA, review 5: phone and desktop. Bottom anchored, safe area aware, brand native. */
.sticky-cta{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(0,0,0,.96);border-top:1px solid var(--line-2);box-shadow:0 -12px 32px -12px rgba(0,0,0,.8)}
.sticky-cta .sc-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:var(--wrap);margin:0 auto}
.sticky-cta .sc-note{display:none;align-items:center;gap:10px;font-size:14.5px;color:var(--grey-2);min-width:0}
.sticky-cta .sc-note b{color:var(--white)}
.sticky-cta .sc-stars{display:inline-flex;gap:2px;color:var(--green)}
.sticky-cta .sc-stars svg{width:16px;height:16px;fill:currentColor}
.sticky-cta .sc-stars svg.pt{fill:#3A3A3A}
.sticky-cta .btn{flex:1 1 auto;width:100%;min-height:54px;font-size:16.5px}
.sticky-cta .inner{flex:1 1 auto}
@media (min-width:900px){
  .sticky-cta{padding:12px 24px}
  .sticky-cta .sc-note{display:inline-flex}
  .sticky-cta .btn{flex:0 0 auto;width:auto;min-width:320px;padding:0 32px}
  .sticky-cta .inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
}
.sc-flash{animation:scFlash 1.4s ease}
@keyframes scFlash{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 6px rgba(207,165,74,.45)}}
@media (prefers-reduced-motion:reduce){.sticky-cta{transition:none}.sc-flash{animation:none}}

/* ---------- 16 Oct, review 6 ---------- */
/* Submit buttons inside forms are gold, so the button never matches the white fields. */
.form button[type=submit].btn:not(.ghost),.form .btn[type=submit]:not(.ghost){background:var(--gilt);color:#111;font-weight:800}
.form button[type=submit].btn:not(.ghost):hover{background:#DDB55C}
.form .btn.two-line small{color:#3A2C08}

/* Nudge: a short wiggle every few seconds on the primary action. Stops on hover or focus. */
@keyframes nudge{0%,86%,100%{transform:none}88%{transform:rotate(-2.5deg) scale(1.02)}90%{transform:rotate(2.5deg) scale(1.02)}92%{transform:rotate(-2deg) scale(1.02)}94%{transform:rotate(1.5deg)}96%{transform:rotate(-1deg)}}
.nudge{animation:nudge 5.5s ease-in-out 2.5s infinite}
.btn.gilt.pulse.nudge{animation:giltPulse 2.2s ease-in-out infinite,nudge 5.5s ease-in-out 2.5s infinite}
.nudge:hover,.nudge:focus-visible{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.nudge,.btn.gilt.pulse.nudge{animation:none}}

/* Activity toasts: real, anonymous events (no names). */
.toast{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:12px;max-width:min(360px,calc(100vw - 32px));padding:12px 40px 12px 14px;border-radius:14px;background:#fff;color:#111;box-shadow:0 18px 40px -12px rgba(0,0,0,.55);font-size:14px;line-height:1.35;transform:translateY(140%);opacity:0;transition:transform .35s ease,opacity .35s ease}
.toast.show{transform:none;opacity:1}
.toast .ic{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#E8F7EF;color:#17804F}
.toast .ic svg{width:18px;height:18px}
.toast b{color:#111;font-weight:800}
.toast .t{display:block;color:#6B6B6B;font-size:12.5px;margin-top:2px}
.toast .x{position:absolute;top:8px;right:8px;width:24px;height:24px;border:0;background:transparent;color:#8A8A8A;cursor:pointer;border-radius:50%}
.toast .demo{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:#FBEBD2;color:#9A5B00;font-size:11px;font-weight:700}
body.has-sticky .toast{bottom:calc(92px + env(safe-area-inset-bottom))}
@media (min-width:900px){body.has-sticky .toast{bottom:calc(88px + env(safe-area-inset-bottom))}}

/* Live counts and real seat counters stay hidden until real data says to show them. */
[data-live-wrap][hidden],[data-stock-wrap][hidden]{display:none !important}
.stockbar{display:grid;gap:8px;padding:14px 16px;border-radius:var(--radius-sm);background:var(--graphite);border:1px solid var(--line)}
.stockbar .row{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--grey-2)}
.stockbar .row b{color:var(--white)}
.stockbar .progress > i{background:var(--gilt)}
.select{background-repeat:no-repeat;background-position:right 14px center;background-size:16px}

/* Decline as a real button (16 Oct): visible enough that people choose, so standard
   buyers still reach the thank-you page with WhatsApp and calendar. Space above it so
   nobody taps it by mistake when they meant the gold button. */
.btn.ghost.decline-btn{min-height:52px;font-size:16px;font-weight:700;color:var(--white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28);margin-top:18px}
.btn.ghost.decline-btn:hover{background:rgba(255,255,255,.08)}
@media (max-width:620px){.btn.ghost.decline-btn{display:flex;width:100%;margin-top:22px}}

/* Checklist dock: small card that follows the visitor (desktop bottom right, phone bottom). */
.dock{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:55;width:300px;max-width:calc(100vw - 32px);background:var(--graphite-2);border:1px solid var(--line-2);border-radius:16px;box-shadow:0 20px 50px -18px rgba(0,0,0,.8);overflow:hidden;transform:translateY(140%);transition:transform .3s ease}
.dock.show{transform:none}
.dock-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px 10px;border:0;background:transparent;color:var(--white);cursor:pointer;text-align:left}
.dock-t{flex:1;font-weight:700;font-size:14.5px;letter-spacing:-.01em}
.dock-c{font-size:12.5px;color:var(--grey-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.dock-chev{width:16px;height:16px;flex:none;color:var(--grey-2);transition:transform .2s}
.dock.open .dock-chev{transform:rotate(180deg)}
.dock-bar{display:block;height:4px;margin:0 14px 12px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}
.dock-bar i{display:block;height:100%;width:0;background:var(--gilt);border-radius:inherit;transition:width .5s ease}
.dock.nav-only .dock-bar{display:none}
.dock-list{list-style:none;margin:0;padding:0 8px 10px;max-height:min(50vh,360px);overflow:auto}
.dock-list button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 8px;border:0;border-radius:10px;background:transparent;color:var(--chalk);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.dock-list button:hover{background:rgba(255,255,255,.06)}
.dk-box{flex:none;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}
.dock-list li.done .dk-box{background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat;box-shadow:none}
.dock-list li.done .dk-txt{color:var(--grey);text-decoration:line-through}
.dock.nav-only .dk-box{border-radius:6px}
body.has-sticky .dock{bottom:calc(92px + env(safe-area-inset-bottom))}
@media (max-width:899px){
  .dock{left:16px;right:16px;width:auto;max-width:none}
  body.has-sticky .dock{bottom:calc(88px + env(safe-area-inset-bottom))}
}
/* A two-up row left with one panel spans the full width. */
.prep-grid > :only-child,.ty-two > :only-child{grid-column:1 / -1}
