:root{--ink:#16123a;--ink2:#2a2366;--coral:#ff5a3c;--sun:#ffc94a;--mint:#2fd4a7;--paper:#fff6ea;--mute:#6b6688;--r:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.55 "DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden}
h1,h2,h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:800;line-height:1.02;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(44px,8vw,92px)}h2{font-size:clamp(30px,4.6vw,52px)}h3{font-size:22px}
h1 em,h2 em{font-style:normal;color:var(--sun)}h1 s{text-decoration-color:var(--coral);text-decoration-thickness:.12em}
a{color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 22px}.narrow{max-width:760px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--coral);color:#fff;border:0;border-radius:999px;padding:14px 26px;font:700 17px "DM Sans";text-decoration:none;cursor:pointer;box-shadow:0 6px 0 #c13a20;transition:transform .12s,box-shadow .12s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 0 #c13a20}.btn:active{transform:translateY(4px);box-shadow:0 2px 0 #c13a20}
.btn.big{font-size:19px;padding:18px 32px;min-height:60px}.btn.sm{padding:9px 18px;font-size:15px;box-shadow:0 4px 0 #c13a20}.btn.wide{width:100%}
.btn.light{background:var(--sun);color:var(--ink);box-shadow:0 6px 0 #c99a1e}.btn.ghost{background:#fff;color:var(--ink);box-shadow:0 6px 0 #d8d2c4}
.link{background:none;border:0;color:var(--mute);text-decoration:underline;font:inherit;cursor:pointer;margin-top:14px;padding:10px}
.top{position:absolute;inset:0 0 auto;z-index:5}.bar{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 22px "Bricolage Grotesque";color:#fff}.brand b{color:var(--coral)}
.top nav{display:flex;gap:22px;align-items:center}.top nav a:not(.btn){color:#fff;text-decoration:none;font-weight:500;opacity:.85}
@media(max-width:640px){.top nav a:not(.btn){display:none}}
.hero{background:radial-gradient(1200px 600px at 85% 10%,#3a2b9c 0,transparent 60%),radial-gradient(800px 500px at 0 100%,#5b1f5e 0,transparent 60%),var(--ink);color:#fff;padding:120px 0 80px;overflow:hidden;position:relative}
.hero.slim{padding:130px 0 70px}.hgrid{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:center}
@media(max-width:900px){.hgrid{grid-template-columns:1fr}.hero .art{order:-1;max-width:260px;margin:-10px auto -20px}}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:700;color:var(--sun);display:flex;align-items:center;gap:10px}.eyebrow.dark{color:var(--coral)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 var(--mint);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px transparent}}
.lead{font-size:clamp(18px,2.2vw,22px);opacity:.92;max-width:40ch}.hint{font-size:14px;opacity:.7;margin-top:14px}
.picker{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;width:min(680px,100%);gap:12px;align-items:end;background:#fff;color:var(--ink);padding:14px;border-radius:28px;box-shadow:0 30px 60px -20px #000a;margin-top:30px}
.picker label{display:block}.picker label span{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);padding:4px 12px}
.picker select{width:100%;border:0;background:var(--paper);border-radius:16px;padding:14px;font:600 17px "DM Sans";color:var(--ink);min-height:56px;text-overflow:ellipsis;appearance:none}
.picker .arrow{font-size:26px;color:var(--coral);padding-bottom:14px}
@media(max-width:760px){.picker{grid-template-columns:1fr}.picker .arrow{display:none}}
.shake{animation:shake .4s}@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.stamps{width:100%;height:auto;font-family:"Bricolage Grotesque",sans-serif}.st{transform-origin:center;transform-box:fill-box}
.s1{animation:spin 60s linear infinite}.s2{animation:thump 4s ease-in-out infinite}.s3{animation:float 6s ease-in-out infinite}
.route{animation:dash 20s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes thump{0%,100%{transform:rotate(-14deg) scale(1)}50%{transform:rotate(-10deg) scale(1.05)}}@keyframes float{50%{transform:translateY(-10px) rotate(12deg)}}@keyframes dash{to{stroke-dashoffset:-400}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
.strip{background:var(--coral);color:#fff;overflow:hidden;padding:16px 0}.marquee{display:flex;gap:44px;white-space:nowrap;font:800 22px "Bricolage Grotesque";animation:mq 30s linear infinite;max-width:none}
.marquee span:after{content:"✈";margin-left:44px;color:var(--sun)}@keyframes mq{to{transform:translateX(-50%)}}
.sec{padding:90px 22px}.sec.dark{background:var(--ink);color:#fff}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.steps{grid-template-columns:1fr}}
.steps article{background:#fff;border-radius:var(--r);padding:26px;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.steps b{font:800 44px "Bricolage Grotesque";color:var(--coral)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}@media(max-width:800px){.tiles{grid-template-columns:1fr 1fr}}
.tile{border-radius:var(--r);padding:26px;min-height:170px;color:var(--ink)}.tile h3{font-size:28px}
.t1{background:var(--sun)}.t2{background:var(--coral);color:#fff}.t3{background:var(--mint)}.t4{background:#c9b8ff}.t5{background:#fff}.t6{background:#ffb3c7}
.story{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}@media(max-width:860px){.story{grid-template-columns:1fr}}
.card{background:#fff;border-radius:var(--r);padding:24px;border:2px solid var(--ink);margin:14px 0}
.promise{transform:rotate(-1.5deg);box-shadow:8px 8px 0 var(--mint);position:relative}.stampmini{display:inline-block;border:3px solid var(--coral);color:var(--coral);font:800 13px "Bricolage Grotesque";letter-spacing:.2em;padding:4px 10px;border-radius:8px;transform:rotate(-4deg);margin-bottom:12px}
.cta2{background:var(--sun);text-align:center}
.foot{background:var(--ink);color:#d9d5f0;padding:60px 0 30px}.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.foot a{display:block;text-decoration:none;margin:6px 0;opacity:.85}.foot .brand{display:flex}
.legal{font-size:13px;opacity:.6;margin-top:40px}.legal a{display:inline}
@media(max-width:700px){.fgrid{grid-template-columns:1fr 1fr}}
.pill{display:inline-block;background:var(--mint);color:var(--ink);font-weight:700;border-radius:999px;padding:4px 14px;font-size:16px;margin-right:8px}
.small{font-size:14px;color:var(--mute)}details summary{font-weight:700;cursor:pointer;font-size:19px}
.ptbl{display:grid;gap:12px}.ptbl div{background:#fff;border:2px solid var(--ink);border-radius:16px;padding:18px}
.nf{text-align:center}.nf .lead{margin:0 auto 24px}.art.small{max-width:220px;margin:0 auto}
/* funnel */
.funnel{position:fixed;inset:0;z-index:50;background:radial-gradient(900px 500px at 100% 0,#3a2b9c,transparent 60%),var(--ink);color:#fff;display:flex;flex-direction:column;animation:fin .3s ease}
@keyframes fin{from{opacity:0;transform:translateY(20px)}}
.fbar{display:flex;align-items:center;gap:14px;padding:16px 18px;max-width:680px;width:100%;margin:0 auto}
.fx{width:46px;height:46px;border-radius:50%;border:0;background:#ffffff1f;color:#fff;font-size:22px;cursor:pointer}
.prog{flex:1;height:10px;background:#ffffff22;border-radius:9px;overflow:hidden}.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--sun),var(--coral));border-radius:9px;transition:width .4s}
.fbody{flex:1;overflow:auto;padding:10px 20px 40px}.card-in{max-width:600px;margin:0 auto;animation:fin .35s ease}
.card-in h2{font-size:clamp(30px,6vw,46px)}.kicker{color:var(--sun);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
input.big{width:100%;font:600 22px "DM Sans";padding:18px 20px;border-radius:18px;border:3px solid transparent;background:#fff;color:var(--ink);margin:10px 0;min-height:64px}
input.big:focus{outline:0;border-color:var(--sun)}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two label{font-weight:700;font-size:14px}
@media(max-width:480px){.two{grid-template-columns:1fr}}
.err{color:var(--sun);min-height:24px;font-weight:700}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 10px}.chip{display:flex;align-items:center;gap:12px;text-align:left;padding:18px;min-height:68px;border-radius:18px;border:3px solid #ffffff2a;background:#ffffff12;color:#fff;font:700 18px "DM Sans";cursor:pointer;transition:.15s}
.chip i{font-style:normal;font-size:26px}.chip:hover{border-color:#ffffff66}.chip.on{background:var(--sun);color:var(--ink);border-color:var(--sun);transform:scale(1.02)}
@media(max-width:420px){.chips{grid-template-columns:1fr}}
.stamp-res{display:inline-flex;flex-direction:column;align-items:center;border:5px solid var(--mint);color:var(--mint);border-radius:20px;padding:12px 26px;transform:rotate(-6deg);margin:20px 0 24px;font:800 14px "Bricolage Grotesque";letter-spacing:.15em;animation:stamp .5s cubic-bezier(.2,1.6,.4,1)}
.stamp-res b{font-size:54px;line-height:1}.stamp-res.mid{border-color:var(--sun);color:var(--sun)}.stamp-res.hard{border-color:var(--coral);color:var(--coral)}
@keyframes stamp{from{transform:rotate(-20deg) scale(2.4);opacity:0}}
.ticket{background:var(--paper);color:var(--ink);border-radius:22px;padding:22px;margin:20px 0;position:relative;box-shadow:0 20px 40px -20px #000}
.trow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:2px dashed #16123a22}.trow span{color:var(--mute)}.trow.tot{border:0;font-size:22px}.trow.tot b{font:800 32px "Bricolage Grotesque";color:var(--coral)}
.huge{font:800 40px "Bricolage Grotesque";color:var(--coral)}
.checks{list-style:none;padding:0;margin:12px 0}.checks li{padding:6px 0;font-weight:500}.checks i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--mint);font-style:normal;margin-right:10px;font-size:14px}
.promise-in{background:#ffffff12;border-radius:18px;padding:16px 18px;margin-top:20px;font-size:15px}.promise-in p{margin:6px 0;opacity:.85}.promise-in a{color:var(--sun)}
.next{padding-left:20px}.next li{margin:10px 0}
.resume{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:40;background:#fff;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:18px;padding:12px 16px;display:flex;gap:14px;align-items:center;width:max-content;max-width:92vw;font-weight:600}
[hidden]{display:none!important}
/* v3 */
:root{--sp:clamp(56px,9vw,112px)}
.sec{padding:var(--sp) 22px}.wrap.sec{padding-left:22px;padding-right:22px}
.hero.v3{padding:112px 0 72px;background:var(--ink);isolation:isolate}
.hbg{position:absolute;inset:0;z-index:-1}.hbg img{width:100%;height:100%;object-fit:cover;opacity:.9}
.hero.v3:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,#100c2bf2 0,#16123ad0 45%,#16123a40 100%),linear-gradient(0deg,#16123a 0,transparent 30%)}
.hero.v3 h1{font-size:clamp(42px,7vw,84px)}
.picker select{transition:background .2s}body:not(.ready) .picker select{background:linear-gradient(90deg,#f3ece0 25%,#fff 50%,#f3ece0 75%);background-size:200% 100%;animation:sk 1.2s infinite;color:transparent}
@keyframes sk{to{background-position:-200% 0}}
.live{background:#fffdf8;color:var(--ink);border-radius:24px;padding:22px;box-shadow:0 30px 60px -20px #000a,0 0 0 1px #ffffff22;max-width:380px;justify-self:end;width:100%;position:relative;transform:rotate(2deg);transition:transform .3s}
.live:before{content:"";position:absolute;left:0;right:0;top:64px;border-top:2px dashed #e4dccd}
.lv-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font:800 18px "Bricolage Grotesque";padding-bottom:22px}.lv-top span{flex:1}.lv-d{text-align:right}.lv-plane{flex:0!important;color:var(--coral);font-size:22px}
.lv-body{min-height:96px;padding:18px 0 6px}.lv-body b{font:800 28px/1.1 "Bricolage Grotesque";display:block;margin-bottom:6px}.lv-body p{margin:0;color:var(--mute);font-size:15px}
.skel i{display:block;height:16px;border-radius:8px;margin:8px 0;background:linear-gradient(90deg,#eee6d8 25%,#f8f3ea 50%,#eee6d8 75%);background-size:200% 100%;animation:sk 1.4s infinite}.skel i:first-child{height:26px;width:70%}.skel .s{width:50%}
.lv-foot{display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);font-weight:700;border-top:1px solid #eee6d8;padding-top:12px}
.live.on #lvtag{color:#0d8a68}.live.mid #lvtag{color:#9a6a00}.live.hard #lvtag{color:#c13a20}.live.pop{animation:pop .45s ease}
@keyframes pop{40%{transform:rotate(0) scale(1.03)}}
@media(max-width:900px){.hero.v3{padding:96px 0 48px}.live{justify-self:stretch;max-width:none;transform:none;order:2}.hero.v3 .hgrid{gap:22px}}
.trust{background:#fff;border-bottom:1px solid #eee6d8}.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:26px 22px}.tgrid div{display:flex;flex-direction:column}.tgrid b{font:800 34px "Bricolage Grotesque";color:var(--ink)}.tgrid span{color:#555070;font-size:14px}
@media(max-width:700px){.tgrid{grid-template-columns:1fr 1fr}}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}.shead h2{margin:0}
.dests{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.dcard{position:relative;border:0;padding:0;border-radius:20px;overflow:hidden;cursor:pointer;aspect-ratio:3/4;background:#2a2366;text-align:left;transition:transform .25s,box-shadow .25s}
.dcard img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.dcard span{position:absolute;inset:auto 0 0;padding:40px 16px 14px;background:linear-gradient(0deg,#0d0a24e6,transparent);color:#fff}.dcard b{display:block;font:800 22px "Bricolage Grotesque"}.dcard i{font-style:normal;font-size:13px;opacity:.85}
.dcard:hover,.dcard:focus-visible{transform:translateY(-4px);box-shadow:0 18px 30px -12px #16123a88}.dcard:hover img{transform:scale(1.06)}
@media(max-width:900px){.dests{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -22px;padding:0 22px 8px}.dcard{flex:0 0 62%;scroll-snap-align:start}}
.tile i{font-style:normal;font-size:30px;display:block;margin-bottom:10px}
.small{color:#555070}
.sticky{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--paper) 60%,transparent);z-index:30;transform:translateY(110%);transition:transform .3s}.sticky.show{transform:none}
@media(min-width:900px){.sticky{display:none}}
.wa{position:fixed;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;background:#1fa855;display:grid;place-items:center;box-shadow:0 10px 24px -6px #0007;z-index:31;transition:transform .2s}.wa:hover{transform:scale(1.08)}
@media(max-width:899px){.wa{bottom:96px}}
body.lock .wa,body.lock .sticky{display:none}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.dcard,.dcard *{font-family:"DM Sans",system-ui,sans-serif}.dcard b{font-family:"Bricolage Grotesque",system-ui}
