@font-face{font-family:"Bricolage";src:url(/assets/fonts/bricolage-grotesque-latin.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage";src:url(/assets/fonts/bricolage-grotesque-latin-ext.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Onest";src:url(/assets/fonts/onest-latin.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";src:url(/assets/fonts/onest-latin-ext.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JBMono";src:url(/assets/fonts/jbmono-700-latin.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}
@font-face{font-family:"JBMono";src:url(/assets/fonts/jbmono-700-latin-ext.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-02BA,U+1E00-1EFF}
:root{--ink:#1B1147;--night:#120A33;--violet:#3D2C93;--violet2:#5A45C4;--lilac:#EDE8FF;--magenta:#D3267A;--sun:#FF8A2B;--amber:#FFC247;--cream:#FFF6EA;--sand:#FBE9D2;--text:#251B52;--muted:#655C8A;--line:#E6DDEE;--white:#fff;--d:"Bricolage",system-ui,sans-serif;--s:"Onest",system-ui,sans-serif;--m:"JBMono",ui-monospace,monospace;--r:24px;--sunset:linear-gradient(100deg,#FFC247,#FF8A2B)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.i18n-wait body{visibility:hidden}
body{margin:0;background:var(--cream);color:var(--text);font:400 17px/1.6 var(--s);overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--d);line-height:1.05;letter-spacing:-.025em;margin:0;text-wrap:balance}
h2{font-size:clamp(34px,5vw,62px);font-weight:800}
h3{font-size:22px;font-weight:700;letter-spacing:-.015em;line-height:1.2}
p{margin:0;text-wrap:pretty}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.eye{display:inline-flex;align-items:center;gap:8px;font:700 13px/1 var(--m);letter-spacing:.12em;text-transform:uppercase;color:var(--magenta);margin-bottom:16px}
.eye::before{content:"";width:22px;height:2px;background:currentColor}
.sec{padding:clamp(72px,10vw,128px) 0}
.reveal{transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal:not(.in){opacity:0;transform:translateY(26px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border:0;border-radius:999px;font:700 17px/1 var(--s);cursor:pointer;text-decoration:none;transition:transform .18s,box-shadow .18s,filter .18s}
.btn svg{width:20px;height:20px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn--sun,.btn--cyan{background:var(--sunset);color:var(--ink);box-shadow:0 12px 28px -10px rgba(255,138,43,.8)}
.btn--dark{background:var(--ink);color:#fff}
.btn--ghost{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45)}

/* top */
.nav{position:absolute;inset:18px 0 auto;z-index:20}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px}
.nav__logo img{width:172px;height:auto}
.nav__r{display:flex;align-items:center;gap:10px}
.langs{display:flex;padding:4px;border-radius:999px;background:rgba(18,10,51,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.langs a{min-width:38px;height:34px;display:grid;place-items:center;border-radius:999px;color:#fff;font:700 13px/1 var(--m);text-decoration:none}
.langs a.on{background:#fff;color:var(--ink)}
.nav__tel{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;background:rgba(18,10,51,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-weight:600;font-size:15px;text-decoration:none}
.nav__tel svg{width:17px;height:17px}

/* hero */
.hero{position:relative;isolation:isolate;min-height:100svh;padding:112px 0 64px;display:flex;align-items:center;color:#fff;overflow:clip;background:var(--night)}
.hero__bg{position:absolute;inset:0;z-index:-2}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 72%;animation:drift 22s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.1) translateY(-1.5%)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 80% at 8% 6%,rgba(61,44,147,.8),transparent 60%),linear-gradient(180deg,rgba(18,10,51,.4),rgba(18,10,51,.05) 48%,rgba(18,10,51,.7))}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center}
.hero__eye{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);font:700 13px/1 var(--m);letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero__eye i{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 rgba(255,194,71,.7);animation:ping 2.2s infinite}
@keyframes ping{to{box-shadow:0 0 0 12px rgba(255,194,71,0)}}
.hero h1{font-size:clamp(34px,5vw,68px);font-weight:800;line-height:1.02;letter-spacing:-.03em}
.hero h1 em{font-style:normal;background:linear-gradient(95deg,#FFD577,#FF9B45 60%,#FF6FA8);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__sub{margin-top:20px;font-size:clamp(18px,1.6vw,21px);line-height:1.45;max-width:58ch;color:#F4EEFF}
.ticks{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:26px 0 0;padding:0;list-style:none}
.ticks li{display:flex;gap:10px;align-items:center;font-weight:600;font-size:15.5px}
.ticks svg{width:20px;height:20px;color:var(--amber);flex:none}

/* boarding pass form */
.pass{position:relative;scroll-margin-top:14px;background:#fff;color:var(--text);border-radius:var(--r);box-shadow:0 34px 70px -24px rgba(9,4,34,.75);filter:drop-shadow(0 1px 0 rgba(255,255,255,.2))}
.pass__head{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 22px;border-radius:var(--r) var(--r) 0 0;background:linear-gradient(100deg,var(--violet),var(--magenta));color:#fff;font:700 13px/1.2 var(--m);letter-spacing:.06em}
.pass__head b{font-size:20px;letter-spacing:.02em}
.pass__head svg{width:20px;height:20px;transform:rotate(90deg)}
.pass__route{display:flex;align-items:center;gap:10px;min-width:0}
.pass__tear{position:relative;height:0;border-top:2px dashed var(--line);margin:0 18px}
.pass__body{padding:20px 22px 20px}
.formcard__head{margin-bottom:16px}
.formcard__title{font:800 23px/1.15 var(--d);letter-spacing:-.02em;text-wrap:balance}
.formcard__title span{display:block;margin-top:4px;font:500 14px/1.3 var(--s);letter-spacing:0;color:var(--muted)}
.lf-prog{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.lf-prog span{font-size:13px;font-weight:600;color:var(--muted);padding-top:9px;border-top:4px solid var(--line);transition:border-color .25s,color .25s}
.lf-prog span.on{border-color:var(--magenta);color:var(--text)}
.lf-step{border:0;margin:0;padding:0;min-width:0}
.is-wiz .lf-step{display:none}
.is-wiz .lf-step.is-on{display:block;animation:stepIn .3s ease}
@keyframes stepIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.lf-step legend{font-size:15.5px;font-weight:700;margin-bottom:12px;padding:0}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lf-grid .full{grid-column:1/-1}
.field{min-width:0}
.field label{display:block;font-size:13px;font-weight:600;line-height:1.3;color:#3F3568;margin-bottom:6px}
.field label small{font-weight:500;color:var(--muted);font-size:inherit}
.field input,.field textarea,.tp-btn{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:#FBF8FF;font:500 16px/1.3 var(--s);color:var(--text);-webkit-appearance:none;appearance:none}
.field input[type=date]{display:block;min-width:0}
.field input::-webkit-date-and-time-value{text-align:left}
.field textarea{min-height:76px;resize:vertical}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--violet2);background:#fff;box-shadow:0 0 0 4px rgba(90,69,196,.16)}
.field input[aria-invalid=true]{border-color:#D13A3A;background:#FFF4F4}
.lf-actions{display:flex;gap:10px;margin-top:16px}
.lf-actions .btn{flex:1;white-space:nowrap;padding:0 18px}
.lf-back{flex:0 0 auto!important;background:#fff;color:#3F3568;box-shadow:inset 0 0 0 1.5px var(--line);padding:0 20px}
.lf-err{display:none;margin-top:12px;padding:10px 14px;border-radius:12px;background:#FFF1F1;color:#B02323;font-size:14px;font-weight:500}
.lf-err.on{display:block}
.lf-consent{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px;border-radius:12px;border:1.5px solid transparent;font-size:13.5px;color:#3F3568;line-height:1.45;cursor:pointer}
.lf-consent input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--violet)}
.lf-consent a{color:var(--violet);font-weight:600}
.lf-consent.attention{border-color:#D13A3A;background:#FFF4F4}
.lf-note{margin-top:12px;font-size:13.5px;color:var(--muted);text-align:center}
.lf-note a{color:var(--violet);font-weight:700;text-decoration:none}
.lf-price{margin-top:12px;padding:12px 15px;border-radius:14px;background:var(--lilac)}
.lf-price[hidden]{display:none}
.lf-price__lbl{font-size:13px;line-height:1.4;color:var(--muted)}
.lf-price__lbl b{color:var(--violet)}
.lf-price__val{margin-top:3px;font-size:15.5px}
.lf-price__val b{font:800 21px/1 var(--d)}
.tp{position:relative}
.tp-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;text-align:left}
.tp-btn svg{width:18px;height:18px;flex:none;color:#3F3568}
.tp-val{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp-val.is-ph{color:var(--muted);font-weight:400}
.tp-btn:focus-visible,.tp-btn[aria-expanded=true]{outline:0;border-color:var(--violet2);box-shadow:0 0 0 4px rgba(90,69,196,.16)}
.tp input[aria-invalid=true]+.tp-btn{border-color:#D13A3A;background:#FFF4F4}
.tp-pop{position:absolute;z-index:1000;padding:14px;border-radius:18px;background:#fff;box-shadow:0 22px 48px -14px rgba(18,10,51,.45);border:1px solid var(--line)}
.tp-cols{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:12px}
.tp-col{flex:1;display:flex;flex-direction:column;align-items:center;border-radius:12px;outline:0}
.tp-col:focus-visible{box-shadow:0 0 0 3px rgba(90,69,196,.3)}
.tp-num{font:700 30px/1.2 var(--m);color:var(--ink);padding:4px 0;user-select:none}
.tp-sep{font:700 28px/1 var(--m);color:var(--muted);padding-bottom:4px}
.tp-arr{display:grid;place-items:center;width:100%;max-width:78px;height:38px;border:0;border-radius:12px;background:var(--lilac);color:var(--violet);cursor:pointer}
.tp-arr svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.tp-ok{width:100%}
.tp-title{display:none}
.tp-backdrop{position:fixed;inset:0;z-index:999;background:rgba(18,10,51,.5)}
.tp-pop.is-sheet{position:fixed;left:0;right:0;bottom:0;border-radius:24px 24px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom))}
.tp-pop.is-sheet .tp-title{display:block;text-align:center;font:600 15px/1.3 var(--s);color:#3F3568;margin-bottom:10px}
.tp-pop.is-sheet .tp-num{font-size:36px}
.tp-pop.is-sheet .tp-arr{height:48px;max-width:96px}

/* departure board */
.board{background:var(--night);padding:26px 0;position:relative}
.board__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.flap{padding:14px 18px;border-radius:14px;background:linear-gradient(180deg,#23175C 49.5%,#1A1148 50.5%);color:#fff}
.flap b{display:block;font:700 clamp(28px,3.4vw,42px)/1.05 var(--m);color:var(--amber);letter-spacing:.01em;white-space:nowrap}
.flap span{display:block;margin-top:4px;font-size:13.5px;line-height:1.3;color:#CFC6F2}

/* calculator */
.calc__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,84px);align-items:center}
.calc__sub{margin-top:16px;font-size:19px;color:#4A4170;max-width:48ch}
.calc{padding:clamp(22px,3vw,36px);border-radius:32px;background:var(--ink);color:#fff;box-shadow:0 34px 60px -30px rgba(27,17,71,.7)}
.calc__top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.calc__lbl{font-size:14px;color:#CFC6F2}
.calc__days{font:800 clamp(38px,5vw,54px)/1 var(--d);letter-spacing:-.03em}
.calc__days small{font:600 19px/1 var(--s);letter-spacing:0;margin-left:6px}
.calc__total{text-align:right}
.calc__total b{display:block;font:800 clamp(52px,8vw,84px)/.95 var(--d);letter-spacing:-.04em;background:var(--sunset);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.calc input[type=range]{--fill:0%;width:100%;height:44px;margin:18px 0 6px;background:none;-webkit-appearance:none;appearance:none;cursor:grab}
.calc input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:9px;background:linear-gradient(90deg,var(--amber) var(--fill),rgba(255,255,255,.18) var(--fill))}
.calc input[type=range]::-moz-range-track{height:10px;border-radius:9px;background:linear-gradient(90deg,var(--amber) var(--fill),rgba(255,255,255,.18) var(--fill))}
.calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:38px;height:38px;margin-top:-14px;border:0;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231B1147'%3E%3Cpath d='M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5z' transform='rotate(90 12 12)'/%3E%3C/svg%3E") center/22px no-repeat;box-shadow:0 8px 18px rgba(0,0,0,.4)}
.calc input[type=range]::-moz-range-thumb{width:38px;height:38px;border:0;border-radius:50%;background:#fff}
.calc__rows{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:6px}
.calc__row{padding:9px 4px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font:500 13px/1.2 var(--s);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.calc__row b{display:block;margin-top:2px;font:700 15px/1 var(--m)}
.calc__row.on{background:var(--amber);color:var(--ink);transform:translateY(-3px)}
.calc__ex{display:grid;gap:8px;margin-top:16px}
.chk{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:14px;background:rgba(255,255,255,.08);font-size:15px;line-height:1.3;cursor:pointer}
.chk input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--amber)}
.calc .btn{width:100%;margin-top:16px}
.calc__note{margin-top:12px;font-size:13.5px;line-height:1.45;color:#CFC6F2;text-align:center}
.calc__long{margin-top:18px;font-size:15px;color:#4A4170}

/* journey */
.route{position:relative;color:#fff;background:radial-gradient(70% 90% at 90% 0,rgba(211,38,122,.5),transparent 60%),linear-gradient(170deg,#2B1D78,#1B1147 70%);overflow:clip}
.route .eye{color:var(--amber)}
.route h2{max-width:18ch}
.rt{--p:0;position:relative;margin-top:60px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding-top:44px}
.rt__line{position:absolute;left:0;right:0;top:10px;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 10px,transparent 10px 20px)}
.rt__fill{position:absolute;left:0;top:10px;height:3px;width:calc(var(--p)*100%);background:var(--sunset)}
.rt__plane{position:absolute;top:-4px;left:calc(var(--p)*100%);width:32px;height:32px;margin-left:-16px;color:var(--amber)}
.rt__plane svg{width:32px;height:32px;transform:rotate(90deg)}
.rt-stop{padding:22px;border-radius:22px;background:rgba(255,255,255,.07);transition:background .4s,transform .4s}
.rt-stop.lit{background:rgba(255,255,255,.14);transform:translateY(-4px)}
.rt-stop i{display:block;font:700 13px/1 var(--m);font-style:normal;color:var(--amber);margin-bottom:12px}
.rt-stop h3{margin-bottom:8px}
.rt-stop p{font-size:15.5px;line-height:1.5;color:#DDD6F7}

/* reel */
.reel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,34vw);gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:0 max(20px,calc((100vw - 1200px)/2)) 6px;-ms-overflow-style:none;scrollbar-width:none;cursor:grab}
.reel::-webkit-scrollbar{display:none}
.reel.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.reel img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:22px;scroll-snap-align:center;pointer-events:none}
.reelwrap{overflow:clip;background:var(--ink);padding-bottom:56px}

/* find us */
.spot__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,64px);align-items:center}
.spot__pic{position:relative}
.spot__pic img{width:100%;border-radius:28px;aspect-ratio:16/9;object-fit:cover;object-position:60% 80%}
.spot__badge{position:absolute;left:16px;bottom:16px;padding:9px 14px;border-radius:999px;background:var(--ink);color:#fff;font:700 13px/1.2 var(--m)}
.spot p{margin-top:14px;font-size:18px;color:#4A4170}
.spot__addr{display:inline-flex;gap:10px;margin-top:18px;font:800 22px/1.2 var(--d);color:var(--violet)}
.spot__addr svg{width:24px;height:24px;color:var(--magenta);flex:none}
.map{margin-top:26px;border-radius:24px;overflow:hidden;background:var(--lilac)}
.map iframe{display:block;width:100%;height:clamp(240px,34vw,340px);border:0}

/* night */
.night{position:relative;isolation:isolate;min-height:72svh;display:flex;align-items:flex-end;color:#fff;overflow:clip;background:var(--night)}
.night img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.night::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,10,51,.1) 30%,rgba(18,10,51,.88))}
.night .wrap{padding:90px 0 60px}
.night h2{max-width:17ch}
.night p{margin-top:14px;max-width:52ch;font-size:19px;color:#EDE8FF}

/* stamps */
.stamps{background:var(--sunset);color:var(--ink)}
.stamps .eye{color:var(--ink)}
.stamps__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(28px,5vw,64px);align-items:center}
.stamps p{margin-top:14px;font-size:19px}
.scard{padding:clamp(20px,3vw,32px);border-radius:28px;background:#fff;box-shadow:0 26px 48px -26px rgba(120,50,0,.6)}
.scard__row{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(6px,1.3vw,12px)}
.stamp{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:0;border:2px dashed #D9CDEB;border-radius:50%;background:none;font:700 clamp(14px,2vw,18px)/1 var(--m);color:#B7ABCF;cursor:pointer;transition:transform .2s}
.stamp svg{position:absolute;inset:18%;width:64%;height:64%;color:#fff;opacity:0;transform:scale(2) rotate(-24deg);transition:opacity .22s,transform .22s cubic-bezier(.3,1.6,.5,1)}
.stamp.on{background:var(--violet);border:2px solid var(--violet);color:transparent}
.stamp.on svg{opacity:1;transform:rotate(90deg)}
.stamp--free{border-color:var(--magenta);color:var(--magenta);font-size:13px;letter-spacing:-.04em}
.stamp--free.on{background:var(--magenta);border-color:var(--magenta)}
.scard__msg{margin-top:16px;min-height:26px;font-weight:600;font-size:16px;text-align:center}
.scard__msg b{color:var(--magenta)}

/* reviews */
.rev__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.rev__score{display:flex;align-items:center;gap:14px}
.rev__score b{font:800 64px/1 var(--d);letter-spacing:-.04em;color:var(--violet)}
.rev__score span{display:block;font-size:14.5px;color:var(--muted)}
.stars{color:var(--sun);letter-spacing:2px;font-size:17px}
.rev__nav{display:flex;gap:8px}
.rev__nav button{width:48px;height:48px;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:20px;cursor:pointer}
.revs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(290px,31%);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 8px;scrollbar-width:none;cursor:grab}
.revs::-webkit-scrollbar{display:none}
.revc{display:flex;flex-direction:column;gap:14px;margin:0;padding:24px;border-radius:24px;background:#fff;box-shadow:0 1px 0 var(--line);scroll-snap-align:start}
.revc blockquote{margin:0;flex:1;font-size:17px;line-height:1.5}
.revc figcaption{font-size:14.5px;color:var(--muted)}
.revc figcaption b{display:block;color:var(--text)}

/* faq */
.faq{background:#fff}
.faq__grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,5vw,72px);align-items:start}
.faq details{border-bottom:1.5px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:19px 0;font:700 18px/1.3 var(--d);letter-spacing:-.01em;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--lilac);color:var(--violet);font:700 20px/1 var(--s);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 44px 20px 0;font-size:16.5px;color:#4A4170}

/* final + foot */
.final{position:relative;isolation:isolate;padding:clamp(90px,13vw,160px) 0;color:#fff;text-align:center;overflow:clip;background:var(--night)}
.final img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.final::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(61,44,147,.72),rgba(18,10,51,.62))}
.final h2{max-width:19ch;margin-inline:auto}
.final p{margin:14px auto 0;max-width:48ch;font-size:19px}
.final__row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:28px}
.final__or{margin-top:22px;font-size:15px;color:#E5DEFF}
.final__or a,.foot__links a{white-space:nowrap}
.foot{background:var(--night);color:#CFC6F2;padding:40px 0 calc(40px + env(safe-area-inset-bottom));font-size:15px}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px 40px;align-items:flex-start}
.foot img{width:150px;margin-bottom:10px}
.foot a{color:#fff;text-decoration:none}
.foot__links{display:grid;gap:6px}
.foot__legal{width:100%;font-size:13px;opacity:.75}

/* sticky */
.stickybar{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:60;display:none;gap:8px;padding:7px;border-radius:999px;background:rgba(18,10,51,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 18px 38px -14px rgba(18,10,51,.8)}
.stickybar .btn{min-height:48px;padding:0 16px;font-size:16px;white-space:nowrap}
.stickybar .btn--sun{flex:1}
.stickybar .ic{flex:none;width:48px;padding:0;background:rgba(255,255,255,.14);color:#fff}
.stickybar .ic svg{width:21px;height:21px}
@media (min-width:821px){.stickybar{display:none!important}}
@media (max-width:820px){.stickybar.on{display:flex}}

/* thanks + legal */
.subhead{background:linear-gradient(120deg,var(--violet),var(--ink));padding:18px 0}
.subhead .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px}
.subhead img{width:160px}
.thanks{padding:clamp(48px,8vw,90px) 0}
.thanks__card{max-width:760px;margin:auto;padding:clamp(26px,4vw,44px);border-radius:30px;background:#fff;box-shadow:0 30px 60px -36px rgba(27,17,71,.5)}
.thanks__card h1{font-size:clamp(34px,5vw,52px);font-weight:800}
.thanks__card>p{margin-top:12px;font-size:18px;color:#4A4170}
.tsteps{display:grid;gap:14px;margin:28px 0 0;padding:0;list-style:none}
.tsteps li{display:grid;grid-template-columns:44px 1fr;gap:4px 14px}
.tsteps i{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lilac);color:var(--violet);font:700 15px/1 var(--m);font-style:normal}
.tsteps h3{font-size:18px}
.tsteps p{font-size:15.5px;color:#4A4170}
.thanks__prep{margin-top:22px;padding:14px 16px;border-radius:14px;background:var(--cream);font-size:15.5px}
.thanks__row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.is-legal main{padding:48px 0 80px}
.is-legal .doc{width:min(760px,100% - 40px);margin:auto}
.is-legal h1{font-size:clamp(34px,5vw,48px);font-weight:800;margin-bottom:10px}
.is-legal h2{font-size:24px;margin:32px 0 10px;letter-spacing:-.015em}
.is-legal p,.is-legal li{font-size:16.5px;color:#3F3568}
.is-legal p{margin:10px 0}
.legal__box{padding:4px 16px;border-radius:14px;background:var(--lilac)}
.eyebrow{font:700 13px/1 var(--m);letter-spacing:.1em;text-transform:uppercase;color:var(--magenta)}
.legal__meta{color:var(--muted)}

@media (max-width:980px){
 .hero{min-height:0;padding:80px 0 34px}
 .hero__grid,.calc__grid,.spot__grid,.stamps__grid,.faq__grid{grid-template-columns:1fr}
 .hero__left{display:contents}.hero__eye{display:none}.hero h1{order:1}.hero__sub{order:2;margin-top:-14px}.pass{order:3}.ticks{order:4;margin-top:0}
 .pass{max-width:640px;width:100%;margin-inline:auto}
 .rt{grid-template-columns:1fr;gap:14px;padding:0 0 0 44px;margin-top:40px}
 .rt__line{left:14px;right:auto;top:0;bottom:0;width:3px;height:auto;background:repeating-linear-gradient(180deg,rgba(255,255,255,.35) 0 10px,transparent 10px 20px)}
 .rt__fill{left:14px;top:0;width:3px;height:calc(var(--p)*100%)}
 .rt__plane{left:0;top:calc(var(--p)*100%);margin:-16px 0 0}
 .rt__plane svg{transform:rotate(180deg)}
 .board__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 body{font-size:16.5px}
 .nav{inset:12px 0 auto}
 .nav__logo img{width:128px}
 .nav__tel{display:none}
 .hero__bg img{animation:none}
 .nav__logo{display:flex;align-items:center;min-height:44px}
 .langs a{height:44px}
 .foot__links a{display:flex;align-items:center;min-height:44px}
 .foot__links{gap:0}

 .langs a{min-width:34px}
 .hero__sub{font-size:17.5px}
 .ticks{grid-template-columns:1fr;gap:8px}.ticks li{font-size:15px}
 .lf-grid{grid-template-columns:1fr 1fr;gap:10px}
 .lf-grid .field{grid-column:1/-1}
 .lf-actions .btn{font-size:16px;padding:0 14px}
 .lf-back{padding:0 16px!important}
 .pass__body{padding:16px}
 .pass__head{padding:13px 16px}
 .pass__tear{margin:0 12px}
 .calc__rows{grid-template-columns:repeat(3,1fr)}
 .reel{grid-auto-columns:82vw}
 .revs{grid-auto-columns:84%}
 .rev__nav{display:none}
 .faq details p{padding-right:0}
 .final .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
