@font-face{font-family:"Nunito";src:url(/fonts/nunito-latin-wght-normal.woff2) format("woff2");font-weight:200 1000;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}

:root{
  --cream:#F4EFEA; --cream-2:#FBF7F3; --paper:#FFFDFB;
  --ink:#1C1918; --ink-2:#6F6864; --ink-3:#A39B96; --line:rgba(28,25,24,.08);
  --night:#141110; --night-2:#1E1A19; --night-3:#2A2524;
  --coral:#FF8A78; --coral-2:#F66F5C; --coral-bg:#F7907E;
  --green:#1F7A4D; --purple:#9B6BF5; --blue:#1B66AE; --orange:#EE8B30; --magenta:#B2346D; --red:#C83B3C;
  --display:"Nunito",ui-rounded,system-ui,sans-serif;
  --text:"Inter",system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --gutter:clamp(16px,4vw,64px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--night)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;overflow-anchor:none;background:var(--cream);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.is-loading{overflow:hidden;height:100vh}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
img,video,canvas{display:block;max-width:100%}
::selection{background:var(--coral);color:#fff}

/* grain */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1s steps(4) infinite}
@keyframes grain{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}100%{transform:translate(1%,3%)}}

/* cursor */
.cursor{position:fixed;left:0;top:0;z-index:200;pointer-events:none;display:none}
@media (hover:hover) and (pointer:fine){ .cursor{display:block} body, a, button{cursor:none} }
.cursor-dot{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--coral)}
.cursor-ring{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:40px;border:1.5px solid rgba(255,138,120,.55);display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s}
.cursor-label{font:600 12px/1 var(--text);letter-spacing:.02em;color:#fff;opacity:0;white-space:nowrap;transition:opacity .2s}
.cursor.is-hover .cursor-ring{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(255,138,120,.14);border-color:rgba(255,138,120,.8)}
.cursor.has-label .cursor-ring{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--coral);border-color:var(--coral)}
.cursor.has-label .cursor-label{opacity:1}
.cursor.has-label .cursor-dot{opacity:0}

/* mascot */
.mascot{position:relative;display:block;aspect-ratio:1}
.mascot svg{width:100%;height:100%;overflow:visible;display:block;stroke:none}
.mascot .eye{transform-box:fill-box;transform-origin:center}
.mascot .eyes-happy{opacity:0}
.mascot.happy .eyes-open{opacity:0}
.mascot.happy .eyes-happy{opacity:1}

/* loader */
.loader{position:fixed;inset:0;z-index:150;background:var(--night);display:grid;place-items:center;color:#fff}
.loader-stage{position:relative;width:120px;height:160px}
.loader-blob{position:absolute;left:10px;bottom:22px;width:100px}
.loader-shadow{position:absolute;left:25px;bottom:10px;width:70px;height:12px;border-radius:50%;background:rgba(0,0,0,.6);filter:blur(4px)}
.loader-meta{position:absolute;left:var(--gutter);right:var(--gutter);bottom:36px;display:flex;justify-content:space-between;font:600 12px/1 var(--text);letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.loader-count{font:800 64px/1 var(--display);letter-spacing:-.03em;color:#fff;text-transform:none}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--gutter);color:#fff;transition:color .5s var(--ease)}
.nav::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .5s;background:linear-gradient(to bottom,rgba(20,17,16,.55),rgba(20,17,16,0))}
body[data-nav=light] .nav{color:var(--ink)}
body[data-nav=coral] .nav{color:var(--ink)}
.brand{display:flex;align-items:center;gap:10px;font:900 24px/1 var(--display);letter-spacing:-.03em}
.brand-icon{width:34px;height:34px;border-radius:10px;background:var(--cream);display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.brand-icon .mascot{width:22px}
.brand-word i{color:var(--coral);font-style:normal}
.nav-links{display:flex;gap:6px;padding:6px;border-radius:99px;background:rgba(255,255,255,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);transition:background .5s,border-color .5s}
body[data-nav=light] .nav-links,body[data-nav=coral] .nav-links{background:rgba(255,255,255,.55);border-color:rgba(28,25,24,.06)}
.nav-links a{font:500 14px/1 var(--text);padding:10px 14px;border-radius:99px;opacity:.8;transition:opacity .2s,background .2s}
.nav-links a:hover{opacity:1;background:rgba(127,127,127,.14)}
.nav-cta{font:600 14px/1 var(--text);padding:13px 20px;border-radius:99px;background:var(--coral);color:var(--night)}
@media (max-width:900px){.nav-links{display:none}}

/* shared type */
.eyebrow{margin:0 0 20px;display:flex;align-items:center;gap:12px;font:600 12px/1 var(--text);letter-spacing:.26em;text-transform:uppercase;color:var(--ink-3)}
.eb-num{color:var(--coral-2)}
.eb-bar{display:inline-block;width:28px;height:2px;background:var(--coral);border-radius:2px}
.display{margin:0;font:900 clamp(48px,7.4vw,124px)/.92 var(--display);letter-spacing:-.045em}
.display .muted{color:var(--ink-3)}
.dot{color:var(--coral);font-style:normal}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .12em;margin:0 -.02em -.12em}
.split .wi{display:inline-block;will-change:transform}
.split .c{display:inline-block}

/* HERO */
.hero{position:relative;height:100vh;height:100lvh}
.hero-pin{position:relative;height:100vh;height:100lvh;overflow:hidden;background:var(--cream)}
.hero-night{position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 55%,#2a1d1a 0%,var(--night) 70%)}
.hero-dawn{position:absolute;inset:0;opacity:0;background:
  radial-gradient(40% 45% at 80% 15%,rgba(186,168,240,.45),transparent 70%),
  radial-gradient(45% 45% at 15% 85%,rgba(255,170,150,.45),transparent 70%),
  radial-gradient(60% 60% at 50% 50%,#FBF4EF,transparent 80%),var(--cream)}
.hero-orbit{position:absolute;left:50%;top:58%;width:min(1200px,120vw);transform:translate(-50%,-50%);overflow:visible;stroke:rgba(255,138,120,.35);stroke-width:1}
.orbit{fill:none}
.o2{stroke:rgba(255,138,120,.22)}.o3{stroke:rgba(255,138,120,.14);stroke-dasharray:2 10}
.orbit-dots circle{fill:rgba(255,190,170,.8);stroke:none}
.hero-q{position:absolute;left:0;right:0;top:15vh;margin:0;text-align:center;color:#fff;font:900 clamp(40px,6.2vw,104px)/1 var(--display);letter-spacing:-.04em}
.hero-q em{font-style:normal;color:var(--coral)}
.chips{position:absolute;inset:0;pointer-events:none}
.chip{position:relative;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:14px;background:rgba(38,33,31,.92);border:1px solid rgba(255,255,255,.07);box-shadow:0 18px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06);color:#fff;white-space:nowrap;will-change:transform}
.chip-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--c);font-size:16px}
.chip b{display:block;font:600 14px/1.2 var(--text)}
.chip small{display:block;font:400 11.5px/1.3 var(--text);color:rgba(255,255,255,.5)}
.chip .badge{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#E5484D;font:700 11px/20px var(--text);text-align:center;box-shadow:0 0 0 3px var(--night)}
.chip.light{background:rgba(255,255,255,.92);color:var(--ink);border-color:rgba(28,25,24,.05);box-shadow:0 18px 40px rgba(60,30,20,.12)}
.chip.light small{color:var(--ink-2)}
.chip .chip-ok{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:13px;box-shadow:0 0 0 3px var(--cream)}
.chip .chip-ok svg{stroke-width:3}

.hero-blob{position:absolute;left:50%;top:58%;width:clamp(130px,15vw,230px);transform:translate(-50%,-50%)}
.hero-blob-in{width:100%;filter:drop-shadow(0 0 60px rgba(255,138,120,.45))}
.hero-blob-shadow{position:absolute;left:18%;right:18%;bottom:-16%;height:10%;border-radius:50%;background:rgba(0,0,0,.55);filter:blur(8px)}
.hero-meet{position:absolute;left:0;right:0;top:12vh;text-align:center;pointer-events:none}
.meet-small{margin:0;font:800 clamp(26px,3vw,48px)/1 var(--display);color:var(--ink-2);letter-spacing:-.02em}
.meet-big{position:relative;margin:.1em 0 0;display:inline-block;font:1000 clamp(76px,13vw,240px)/.95 var(--display);letter-spacing:-.05em;color:var(--ink)}
.meet-dot{display:inline-block;width:.2em;height:.2em;margin-left:.04em;vertical-align:baseline}
.hero-crew{position:absolute;left:50%;bottom:9vh;transform:translateX(-50%);display:flex;gap:clamp(14px,3vw,44px)}
.crew-mini{display:flex;flex-direction:column;align-items:center;gap:10px}
.crew-mini .mascot{width:clamp(46px,5.4vw,84px)}
.crew-mini span{font:600 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.scroll-cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font:600 11px/1 var(--text);letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.cue-line{width:1.5px;height:44px;background:linear-gradient(rgba(255,138,120,0),var(--coral));animation:cue 1.8s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* FILM */
.film{position:relative;padding:18vh var(--gutter) 16vh;background:var(--cream)}
.film-head{max-width:1400px;margin:0 auto 7vh;display:flex;flex-direction:column}
.film-frame{position:relative;max-width:1600px;margin:0 auto;aspect-ratio:16/9;border-radius:28px;overflow:hidden;background:#000;box-shadow:0 60px 120px -30px rgba(80,40,30,.35),0 0 0 1px rgba(0,0,0,.04);will-change:transform;transform-origin:50% 0}
.film-video{width:100%;height:100%;object-fit:cover}
.film-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.35),transparent 40%);transition:opacity .5s}
.film-play{position:absolute;left:32px;bottom:32px;display:flex;align-items:center;gap:14px;padding:14px 26px 14px 16px;border-radius:99px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);color:var(--ink);font:600 16px/1 var(--text);box-shadow:0 20px 40px rgba(0,0,0,.25);transition:transform .4s var(--ease),opacity .4s}
.film-play svg{width:40px;height:40px;padding:11px;border-radius:50%;background:var(--coral);color:#fff;fill:#fff;stroke:none}
.fp-ring{position:absolute;left:16px;top:14px;width:40px;height:40px;border-radius:50%;border:2px solid var(--coral);animation:ping 2s var(--ease) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.2);opacity:0}}
.film-frame:hover .film-play{transform:scale(1.05)}
.film.is-playing .film-play{opacity:0;pointer-events:none;transform:scale(.8)}
.film.is-playing .film-veil{opacity:0}
.film-ui{position:absolute;left:24px;right:24px;bottom:20px;display:flex;align-items:center;gap:16px;color:#fff;opacity:0;transition:opacity .4s}
.film.is-playing .film-ui{opacity:1}
.film-mute{width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);display:grid;place-items:center;font-size:18px}
.film-mute .ic-mute{display:none}.film.is-muted .film-mute .ic-mute{display:block}.film.is-muted .film-mute .ic-sound{display:none}
.film-bar{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}
.film-bar i{display:block;height:100%;width:100%;background:var(--coral);transform-origin:left;transform:scaleX(0)}
.film-time{font:600 13px/1 var(--text);font-variant-numeric:tabular-nums}

/* ASK */
.ask{position:relative;background:var(--cream)}
.ask-pin{position:relative;height:100vh;height:100lvh;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;padding:0 var(--gutter);overflow:hidden;max-width:1600px;margin:0 auto}
.ask-glow{position:absolute;right:5%;top:10%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(closest-side,rgba(190,170,245,.35),transparent);pointer-events:none}
.ask-copy{position:relative;z-index:2}
.ask-words{position:relative;height:2.05em;font:900 clamp(64px,9vw,160px)/.92 var(--display)}
.ask-w{position:absolute;left:0;top:0;font-size:1em;white-space:nowrap}
.ask-sub{max-width:440px;margin:36px 0 0;font-size:18px;color:var(--ink-2)}
.ask-stage{position:relative;height:100%;display:grid;place-items:center;perspective:1400px}

.phone{position:relative;width:min(340px,76vw);aspect-ratio:9/19.3;border-radius:54px;padding:11px;background:linear-gradient(145deg,#2c2826,#0d0b0b);box-shadow:inset 0 0 0 1.5px #4a4442,0 50px 100px -20px rgba(60,30,20,.45),0 30px 60px -30px rgba(0,0,0,.5)}
.phone::before{content:"";position:absolute;right:-3px;top:26%;width:3px;height:12%;border-radius:0 3px 3px 0;background:#2a2624}
.phone-screen{position:relative;height:100%;border-radius:44px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column}
.p-status{position:relative;display:flex;justify-content:space-between;align-items:center;padding:16px 26px 0;height:48px;font:600 14px/1 var(--text)}
.p-island{position:absolute;left:50%;top:11px;width:104px;height:31px;margin-left:-52px;border-radius:20px;background:#000}
.p-sig{display:flex;align-items:flex-end;gap:2px}
.p-sig i{width:3px;background:currentColor;border-radius:1px}
.p-sig i:nth-child(1){height:4px}.p-sig i:nth-child(2){height:6px}.p-sig i:nth-child(3){height:8px}.p-sig i:nth-child(4){height:10px}
.p-sig b{width:22px;height:11px;margin-left:5px;border-radius:3px;border:1.5px solid currentColor;position:relative}
.p-sig b::after{content:"";position:absolute;inset:1.5px 4px 1.5px 1.5px;background:currentColor;border-radius:1px}
.chat-head{position:relative;display:flex;justify-content:center;padding:6px 0 10px;border-bottom:1px solid var(--line)}
.ch-back{position:absolute;left:16px;top:16px;font-size:22px;color:var(--purple)}
.ch-who{display:flex;flex-direction:column;align-items:center;gap:3px}
.ch-av{width:34px}
.ch-who strong{font:600 13px/1.2 var(--text)}
.ch-state{display:flex;align-items:center;gap:4px;font:500 10.5px/1 var(--text);color:var(--ink-3)}
.ch-state i{width:6px;height:6px;border-radius:50%;background:#34C759}
.chat-body{flex:1;display:flex;flex-direction:column;gap:8px;padding:16px 14px;overflow:hidden}
.bub{max-width:82%;padding:10px 13px;border-radius:18px;font:400 13.5px/1.38 var(--text)}
.bub-me{align-self:flex-end;background:#9B6BF5;color:#fff;border-bottom-right-radius:6px}
.bub-them{align-self:flex-start;background:#F1ECE8;color:var(--ink);border-bottom-left-radius:6px;position:relative}
.bub-meta{align-self:flex-end;font:500 10.5px/1 var(--text);color:var(--ink-3);margin-top:-2px}
.tools{display:flex;flex-direction:column;gap:6px;margin:4px 0}
.tool{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 2px 6px rgba(0,0,0,.03);max-width:86%}
.tool-ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:14px;flex:none}
.tool-ic.g{background:var(--green)}.tool-ic.o{background:var(--orange)}.tool-ic.b{background:var(--blue)}
.tool-t{flex:1;min-width:0}
.tool-t b{display:block;font:600 12px/1.2 var(--text)}
.tool-t small{display:block;font:400 10.5px/1.3 var(--text);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tool-st{position:relative;width:20px;height:20px;flex:none}
.spin{position:absolute;inset:2px;border-radius:50%;border:2px solid rgba(0,0,0,.08);border-top-color:var(--purple);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.tool-st .ok{position:absolute;inset:0;width:20px;height:20px;padding:4px;border-radius:50%;background:var(--green);color:#fff;stroke-width:3.5;opacity:0;transform:scale(.4)}
.typing{display:inline-flex;gap:4px;align-items:center;height:18px}
.typing i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.35;animation:type 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes type{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-4px);opacity:.9}}
.ask-a .ans{display:none}
.ask-a.answered .typing{display:none}.ask-a.answered .ans{display:inline}
.chat-input{display:flex;gap:8px;align-items:center;padding:8px 12px 30px}
.ci-field{position:relative;flex:1;min-height:36px;padding:9px 14px;border-radius:18px;border:1px solid var(--line);background:#fff;font:400 13px/1.35 var(--text);color:var(--ink)}
.ci-ph{color:var(--ink-3)}
.ci-field.has-text .ci-ph{display:none}
.ci-caret{display:none;width:1.5px;height:15px;background:var(--purple);vertical-align:-3px;margin-left:1px;animation:blink 1s steps(2) infinite}
.ci-field.has-text .ci-caret{display:inline-block}
@keyframes blink{50%{opacity:0}}
.ci-send{width:32px;height:32px;border-radius:50%;background:#E6E1DD;color:#fff;display:grid;place-items:center;font-size:16px;transition:background .3s}
.ci-send svg{stroke-width:2.6}
.ci-field.has-text + .ci-send{background:var(--purple)}
.p-home{position:absolute;left:50%;bottom:8px;width:120px;height:4.5px;margin-left:-60px;border-radius:3px;background:var(--ink)}
.p-home.light{background:rgba(255,255,255,.85)}

.float-card{position:absolute;background:rgba(255,255,255,.94);border-radius:20px;box-shadow:0 30px 60px -20px rgba(60,30,20,.25),0 0 0 1px rgba(28,25,24,.04);backdrop-filter:blur(12px)}
.trip-card{left:calc(50% + 130px);top:16%;width:236px;padding:18px}
.fc-eyebrow{margin:0;font:700 10px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--blue)}
.trip-card h4{margin:6px 0 12px;font:900 26px/1 var(--display);letter-spacing:-.02em}
.trip-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.trip-card li{display:flex;align-items:center;gap:10px;font:500 13px/1.2 var(--text)}
.day{width:30px;height:24px;border-radius:7px;display:grid;place-items:center;font:700 10px/1 var(--text);color:#fff}
.day.g{background:var(--green)}.day.o{background:var(--orange)}.day.p{background:var(--purple)}
.fc-pill{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:6px 10px;border-radius:99px;background:rgba(31,122,77,.1);color:var(--green);font:600 11.5px/1 var(--text)}
.fc-pill svg{stroke-width:3}
.table-card{right:calc(50% + 120px);bottom:18%;display:flex;align-items:center;gap:12px;padding:12px 14px 12px 12px}
.tc-ic{width:36px;height:36px;border-radius:11px;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:18px}
.table-card b{display:block;font:600 14px/1.2 var(--text)}
.table-card small{display:block;font:400 12px/1.3 var(--text);color:var(--ink-2)}
.tc-ok{width:24px;height:24px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-size:13px;margin-left:8px}
.tc-ok svg{stroke-width:3.2}

/* REEL */
.reel{position:relative;height:100vh;height:100lvh;overflow:hidden;background:var(--night)}
.reel-track{display:flex;height:100%;width:max-content;will-change:transform}
.panel{position:relative;width:100vw;height:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4vw;padding:0 calc(var(--gutter) + 2vw);overflow:hidden}
.panel[data-theme=dark]{background:var(--night);color:#fff}
.panel[data-theme=light]{background:var(--cream)}
.panel[data-theme=coral]{background:var(--coral-bg)}
.panel-teams{background:radial-gradient(50% 60% at 75% 50%,#2b2220,var(--night)) !important}
.panel-tasks{background:radial-gradient(50% 60% at 72% 45%,#fff5ef,var(--cream)) !important}
.panel-voice{background:radial-gradient(55% 60% at 72% 45%,#FFB1A3,var(--coral-bg)) !important}
.panel-live{background:radial-gradient(45% 60% at 72% 50%,#2b1f3a,var(--night)) !important}
.panel[data-theme=dark] .eyebrow{color:rgba(255,255,255,.45)}
.panel[data-theme=coral] .eyebrow{color:rgba(28,25,24,.55)}
.panel[data-theme=coral] .eb-num{color:#fff}
.panel[data-theme=coral] .dot{color:#fff}
.kword{margin:0;font:1000 clamp(84px,13.5vw,250px)/.9 var(--display);letter-spacing:-.055em;white-space:nowrap}
.kword .kc{display:inline-block}
.panel-sub{max-width:420px;margin:28px 0 0;font-size:18px;color:var(--ink-2)}
.panel[data-theme=dark] .panel-sub{color:rgba(255,255,255,.6)}
.panel[data-theme=coral] .panel-sub{color:rgba(28,25,24,.72)}
.panel-art{position:relative;display:grid;place-items:center;height:100%}

.group-card{width:min(480px,100%);border-radius:26px;background:#211C1B;border:1px solid rgba(255,255,255,.06);box-shadow:0 50px 100px -30px rgba(0,0,0,.7);overflow:hidden}
.gc-head{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.06)}
.gc-avs{display:flex}
.gc-avs .mascot{width:30px;margin-right:-8px;border-radius:50%;box-shadow:0 0 0 3px #211C1B}
.gc-head b{display:block;margin-left:10px;font:600 16px/1.2 var(--text)}
.gc-head small{display:block;margin-left:10px;font:400 12px/1.3 var(--text);color:rgba(255,255,255,.45)}
.gc-body{display:flex;flex-direction:column;gap:14px;padding:20px}
.gm{display:flex;gap:10px;align-items:flex-end}
.gm-me{justify-content:flex-end}
.gm-av{width:28px;flex:none}
.gm-name{display:block;margin:0 0 4px 4px;font:600 11px/1 var(--text)}
.gm-name.g{color:#4CC38A}.gm-name.o{color:#F5A55C}.gm-name.b{color:#6FA8E8}
.bub-dark{background:#2E2826;color:#fff;border-bottom-left-radius:6px;max-width:100%}
.gm .bub{font-size:14.5px}
.gm-me .bub{max-width:78%}

.notif{position:absolute;top:13%;right:4%;width:min(440px,90%);display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:22px;background:rgba(255,255,255,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 30px 60px -20px rgba(60,30,20,.3);z-index:2}
.n-av{width:38px;flex:none}
.n-body{flex:1}
.n-app{display:block;font:600 10px/1 var(--text);letter-spacing:.12em;color:var(--ink-3);margin-bottom:4px}
.n-body b{font:600 14px/1.2 var(--text)}
.n-body p{margin:2px 0 0;font:400 13.5px/1.35 var(--text);color:var(--ink-2)}
.n-time{font:500 12px/1 var(--text);color:var(--ink-3)}
.sched-card{width:min(480px,100%);margin-top:10%;padding:22px 22px 10px;border-radius:26px;background:#fff;box-shadow:0 50px 100px -30px rgba(60,30,20,.3),0 0 0 1px rgba(28,25,24,.04)}
.sc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sc-head b{font:700 18px/1 var(--text)}
.sc-count{padding:5px 10px;border-radius:99px;background:rgba(155,107,245,.12);color:var(--purple);font:600 11.5px/1 var(--text)}
.sc-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.sc-row:first-of-type{border-top:0}
.sc-row .mascot{width:32px;flex:none}
.sc-row span{flex:1}
.sc-row b{display:block;font:600 14.5px/1.2 var(--text)}
.sc-row small{display:block;font:400 12px/1.3 var(--text);color:var(--ink-2)}
.sc-row em{font:600 11px/1 var(--text);font-style:normal;padding:5px 9px;border-radius:99px;background:#F2EEEA;color:var(--ink-2)}
.sc-row em.done{background:rgba(31,122,77,.12);color:var(--green)}

.voice-art{display:flex;flex-direction:column;justify-content:center;align-items:center}
.voice-blob{width:clamp(150px,16vw,240px);filter:drop-shadow(0 30px 40px rgba(120,30,20,.25))}
.wave{width:min(560px,90%);height:auto;margin-top:36px}
.voice-name{margin:18px 0 6px;font:700 11px/1 var(--text);letter-spacing:.3em;text-transform:uppercase;color:rgba(28,25,24,.5)}
.voice-cap{margin:0;max-width:440px;text-align:center;font:600 clamp(18px,1.6vw,24px)/1.35 var(--text);color:#fff;min-height:3em}
.vc-rest{color:rgba(255,255,255,.45)}

.lock-phone{width:min(330px,70vw)}
.lock-screen{background:linear-gradient(180deg,#3B2C8F 0%,#6A4BD8 38%,#B67BC8 72%,#F0A08E 100%);color:#fff;align-items:center}
.lk-island{position:absolute;left:50%;top:11px;height:31px;width:104px;transform:translateX(-50%);border-radius:20px;background:#000;display:flex;align-items:center;justify-content:space-between;padding:0 8px;overflow:hidden;z-index:3}
.lk-isl-av{width:20px;flex:none;opacity:0}
.lk-isl-t{font:600 11px/1 var(--text);opacity:0;white-space:nowrap}
.lk-isl-ring{width:16px;height:16px;border-radius:50%;border:2.5px solid rgba(238,139,48,.3);border-top-color:var(--orange);animation:spin 1s linear infinite;opacity:0;flex:none}
.lk-lock{margin-top:62px;font-size:20px;opacity:.9}
.lk-date{margin:12px 0 0;font:600 17px/1 var(--text);opacity:.9}
.lk-time{margin:4px 0 0;font:700 96px/1 var(--text);letter-spacing:-.04em;opacity:.95}
.la{position:absolute;left:12px;right:12px;bottom:74px;padding:14px;border-radius:24px;background:rgba(20,16,30,.55);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.la-top{display:flex;align-items:center;gap:10px}
.la-av{width:34px;flex:none}
.la-top span{flex:1}
.la-top b{display:block;font:600 14px/1.2 var(--text)}
.la-top small{display:block;font:400 12px/1.3 var(--text);opacity:.75}
.la-eta{flex:none!important;font:600 12px/1 var(--text);opacity:.8}
.la-bar{margin:12px 0 8px;height:5px;border-radius:5px;background:rgba(255,255,255,.18);overflow:hidden}
.la-bar i{display:block;height:100%;width:100%;border-radius:5px;background:linear-gradient(90deg,#C4B1FF,#fff);transform-origin:left;transform:scaleX(.1)}
.la-foot{display:flex;justify-content:space-between;font:500 10.5px/1 var(--text);opacity:.6}

.reel-hud{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;font:700 12px/1 var(--text);letter-spacing:.14em;color:rgba(255,255,255,.7);mix-blend-mode:difference;z-index:5}
.rh-track{width:120px;height:2px;background:rgba(255,255,255,.25);border-radius:2px;overflow:hidden}
.rh-track i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;transform:scaleX(.25)}

/* CREW */
.crew{position:relative;padding:18vh var(--gutter) 12vh;background:var(--cream);overflow:hidden}
.crew-head{max-width:1400px;margin:0 auto}
.crew-sub{max-width:440px;margin:28px 0 0;font-size:18px;color:var(--ink-2)}
.playground{position:relative;max-width:1400px;height:min(62vh,620px);margin:6vh auto 0;border-radius:36px;background:
  radial-gradient(60% 70% at 50% 100%,rgba(255,170,150,.35),transparent 70%),
  linear-gradient(180deg,#FBF6F2,#F6EEE8);box-shadow:inset 0 0 0 1px rgba(28,25,24,.05);overflow:hidden;touch-action:pan-y}
.pg-hint{position:absolute;left:50%;top:28px;transform:translateX(-50%);font:600 11px/1 var(--text);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-3);pointer-events:none}
.pg-body{position:absolute;left:0;top:0;will-change:transform;touch-action:none;cursor:grab}
.pg-body.dragging{cursor:grabbing}
.pg-body .mascot{width:100%;filter:drop-shadow(0 16px 20px rgba(80,40,30,.18))}
.pg-tag{position:absolute;left:50%;top:-34px;transform:translateX(-50%) translateY(6px);padding:6px 10px;border-radius:99px;background:var(--ink);color:#fff;font:600 12px/1 var(--text);white-space:nowrap;opacity:0;transition:.25s var(--ease);pointer-events:none}
.pg-body:hover .pg-tag,.pg-body.dragging .pg-tag{opacity:1;transform:translateX(-50%) translateY(0)}
.crew-roles{max-width:1400px;margin:28px auto 0;display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.role{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:18px;background:rgba(255,255,255,.55);border:1px solid var(--line)}
.role i{width:12px;height:12px;border-radius:50%;background:var(--c);margin-bottom:8px}
.role b{font:800 20px/1 var(--display);letter-spacing:-.01em}
.role span{font-size:13.5px;color:var(--ink-2)}
@media (max-width:900px){.crew-roles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.crew-roles{grid-template-columns:repeat(2,1fr)}}

/* WHERE */
.where{padding:10vh var(--gutter) 18vh;background:var(--cream)}
.where-head{max-width:1400px;margin:0 auto 6vh}
.bento{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:auto auto;gap:18px}
.bx{position:relative;border-radius:30px;background:#fff;padding:28px;overflow:hidden;box-shadow:0 0 0 1px rgba(28,25,24,.04),0 30px 60px -40px rgba(60,30,20,.3);display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:320px}
.bx-copy h4{margin:0 0 6px;font:800 24px/1.1 var(--display);letter-spacing:-.02em}
.bx-copy p{margin:0;font-size:15px;color:var(--ink-2);max-width:360px}
.bx-try{display:inline-block;margin-top:14px;font:600 11px/1 var(--text);letter-spacing:.2em;text-transform:uppercase;color:var(--coral-2)}
.bx-watch{grid-row:span 2;background:var(--night);color:#fff}
.bx-watch .bx-copy p{color:rgba(255,255,255,.6)}
.watch{position:relative;align-self:center;margin-top:20px;width:210px;height:252px;border-radius:58px;padding:12px;background:linear-gradient(145deg,#3a3431,#111);box-shadow:inset 0 0 0 1.5px #555,0 40px 80px rgba(0,0,0,.6)}
.watch::before,.watch::after{content:"";position:absolute;left:34px;right:34px;height:80px;background:linear-gradient(#2a2523,#1c1817);z-index:-1;border-radius:18px}
.watch::before{top:-62px}.watch::after{bottom:-62px}
.watch-crown{position:absolute;right:-9px;top:60px;width:10px;height:42px;border-radius:4px;background:linear-gradient(90deg,#444,#222)}
.watch-screen{position:relative;height:100%;border-radius:46px;background:#000;overflow:hidden;padding:26px 16px 16px}
.ws-top{display:flex;align-items:center;gap:6px;margin:0;font:600 12px/1 var(--text);color:#6FA8E8}
.ws-av{width:18px}
.ws-q{margin:8px 0 2px;font:600 15px/1.25 var(--text)}
.ws-amt{margin:0 0 12px;font:800 28px/1 var(--display)}
.ws-btns{display:flex;gap:8px}
.ws-btns button{flex:1;padding:11px 0;border-radius:99px;font:600 13px/1 var(--text)}
.ws-deny{background:#2a2a2a;color:#fff}
.ws-ok{background:#34C759;color:#000}
.ws-done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;pointer-events:none}
.ws-check{width:64px;height:64px;border-radius:50%;background:#34C759;color:#000;display:grid;place-items:center;font-size:34px}
.ws-check svg{stroke-width:3}
.ws-done p{margin:6px 0 0;font:700 17px/1 var(--text)}
.ws-done small{font:400 12px/1.2 var(--text);color:rgba(255,255,255,.6)}
.tablet{display:grid;grid-template-columns:120px 1fr;height:190px;border-radius:18px;background:var(--cream-2);border:6px solid #1c1918;overflow:hidden}
.tb-side{display:flex;flex-direction:column;gap:6px;padding:12px 8px;background:#F2ECE7;font:500 10px/1.2 var(--text)}
.tb-side b{font:700 13px/1 var(--text);margin:0 0 4px 4px}
.tb-side span{display:flex;align-items:center;gap:6px;padding:6px;border-radius:8px;white-space:nowrap;overflow:hidden}
.tb-side span.on{background:#fff}
.tb-side i{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none}
.tb-main{display:flex;flex-direction:column;gap:8px;padding:14px}
.tb-bub{height:22px;width:62%;border-radius:11px;background:#EDE7E2}
.tb-bub.me{align-self:flex-end;width:48%;background:var(--purple)}
.tb-bub.short{width:36%}
.tb-card{display:flex;flex-direction:column;gap:5px;width:70%;padding:8px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.tb-card i{height:8px;border-radius:4px;background:#EDE7E2}.tb-card i:nth-child(2){width:70%}.tb-card i:nth-child(3){width:45%}
.bx-island{background:linear-gradient(160deg,#FFD9CF,#FFEFE9)}
.island{align-self:center;margin-top:24px;display:flex;align-items:center;gap:12px;height:54px;padding:0 12px;border-radius:30px;background:#000;color:#fff;font:600 15px/1 var(--text);box-shadow:0 20px 40px rgba(0,0,0,.25);width:230px}
.is-av{width:32px;flex:none}
.is-t{flex:1;white-space:nowrap}
.is-ok{width:26px;height:26px;border-radius:50%;background:#34C759;color:#000;display:grid;place-items:center;font-size:14px}
.is-ok svg{stroke-width:3.2}
.gen-card{align-self:center;width:250px;margin-top:10px;padding:16px;border-radius:18px;background:var(--cream-2);border:1px solid var(--line)}
.gen-card p{margin:0 0 10px;font:600 14px/1 var(--text)}
.gen-opts{display:flex;gap:6px}
.gen-opts span{flex:1;padding:9px 0;border-radius:10px;text-align:center;font:600 12px/1 var(--text);background:#fff;border:1px solid var(--line)}
.gen-opts span.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.gen-btn{margin-top:10px;padding:11px;border-radius:12px;background:var(--coral);color:#fff;text-align:center;font:600 13px/1 var(--text)}
@media (max-width:1000px){.bento{grid-template-columns:1fr 1fr}.bx-watch{grid-row:auto;grid-column:span 2}}
@media (max-width:640px){.bento{grid-template-columns:1fr}.bx-watch{grid-column:auto}}

/* PRIVACY */
.privacy{position:relative;padding:12vh 0;background:var(--night);color:#fff;overflow:hidden}
.marquee{overflow:hidden;white-space:nowrap;font:1000 clamp(64px,10vw,180px)/1 var(--display);letter-spacing:-.04em}
.mq-track{display:inline-flex;align-items:center;gap:.4em;will-change:transform}
.mq-track i{display:inline-block;width:.32em;height:.32em;border-radius:50%;background:var(--coral)}
.m1{color:#fff}
.m2{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.28)}
.priv-grid{max-width:1400px;margin:10vh auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.priv-intro{grid-column:span 1;grid-row:span 2;align-self:start}
.privacy .display .muted{color:rgba(255,255,255,.35)}
.privacy .eyebrow{color:rgba(255,255,255,.4)}
.priv-item{padding:28px;border-radius:26px;background:var(--night-2);border:1px solid rgba(255,255,255,.06);transition:transform .5s var(--ease),background .5s}
.priv-item:hover{transform:translateY(-6px);background:#241F1E}
.pi-ic{width:48px;height:48px;border-radius:14px;background:rgba(255,138,120,.14);color:var(--coral);display:grid;place-items:center;font-size:22px;margin-bottom:26px}
.priv-item h4{margin:0 0 8px;font:800 22px/1.15 var(--display);letter-spacing:-.01em}
.priv-item p{margin:0;font-size:15px;color:rgba(255,255,255,.55)}
@media (max-width:1000px){.priv-grid{grid-template-columns:1fr 1fr}.priv-intro{grid-column:span 2;grid-row:auto}}
@media (max-width:600px){.priv-grid{grid-template-columns:1fr}.priv-intro{grid-column:auto}}

/* FINALE */
.finale{position:relative;background:var(--cream)}
.fin-pin{position:relative;height:100vh;height:100lvh;overflow:hidden;background:
  radial-gradient(40% 40% at 50% 50%,rgba(255,180,165,.35),transparent 70%),var(--cream)}
.fin-less{position:absolute;inset:0}
.fin-word{position:absolute;left:0;right:0;top:12vh;margin:0;text-align:center;font:1000 clamp(64px,8vw,140px)/1 var(--display);letter-spacing:-.05em}
.fin-chips{position:absolute;inset:0}
.fin-blob{position:absolute;left:50%;top:56%;width:clamp(110px,11vw,170px);transform:translate(-50%,-50%);filter:drop-shadow(0 0 50px rgba(255,138,120,.5))}
.endcard{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--gutter)}
.ec-lockup{display:flex;align-items:center;gap:clamp(16px,2.4vw,40px)}
.ec-icon{width:clamp(76px,10vw,170px);aspect-ratio:1;border-radius:24%;background:var(--cream-2);box-shadow:0 30px 60px -20px rgba(80,40,30,.35),inset 0 0 0 1px rgba(255,255,255,.7);display:grid;place-items:center}
.ec-icon .mascot{width:60%}
.ec-word{margin:0;white-space:nowrap;font:1000 clamp(60px,14vw,260px)/.9 var(--display);letter-spacing:-.055em}
.ec-tag{margin:clamp(24px,4vh,48px) 0 0;font:600 clamp(20px,2vw,32px)/1.2 var(--text);letter-spacing:-.01em}
.ec-tag span{color:var(--ink-2)}
.ec-ctas{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-flex;align-items:center;gap:12px;height:60px;padding:0 26px;border-radius:99px;font:600 16px/1 var(--text)}
.btn svg{font-size:22px}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark svg{fill:#fff;stroke:none;font-size:26px}
.btn-dark span{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-size:18px}
.btn-dark small{font:500 10.5px/1 var(--text);opacity:.7;letter-spacing:.02em}
.btn-ghost{box-shadow:inset 0 0 0 1.5px rgba(28,25,24,.15)}
.btn-ghost svg{fill:var(--coral);stroke:none;font-size:18px}
.ec-row{position:absolute;left:50%;bottom:9vh;transform:translateX(-50%);display:flex;gap:clamp(12px,2.6vw,40px)}
.ec-row .mascot{width:clamp(44px,6vw,100px);cursor:pointer}
.foot{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:16px;padding:18px var(--gutter);font:500 12px/1.3 var(--text);color:var(--ink-3)}
.foot-co{letter-spacing:.3em;text-transform:uppercase;font-weight:700}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:180;background:rgba(10,8,8,.92);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .5s var(--ease);padding:var(--gutter)}
.lightbox.open{opacity:1;pointer-events:auto}
.lb-video{width:min(1400px,100%);aspect-ratio:16/9;border-radius:18px;background:#000}
.lb-close{position:absolute;top:22px;right:var(--gutter);padding:12px 18px;border-radius:99px;background:rgba(255,255,255,.1);color:#fff;font:600 14px/1 var(--text)}

/* MOBILE */
@media (max-width:820px){
  body{font-size:16px}
  .hero-q{top:13vh;padding:0 16px}
  .hero-blob{top:56%}
  .chip{padding:8px 12px 8px 8px;gap:8px;border-radius:12px}
  .chip-ic{width:26px;height:26px;font-size:14px}
  .chip b{font-size:12.5px}.chip small{font-size:10.5px}
  .hero-meet{top:16vh}
  .hero-crew{bottom:12vh;gap:10px}
  .crew-mini span{font-size:9.5px;letter-spacing:.08em}
  .film{padding:14vh 16px 10vh}
  .film-frame{border-radius:18px}
  .film-play{left:12px;bottom:12px;padding:8px 14px 8px 8px;font-size:13px}
  .film-play svg{width:34px;height:34px;padding:9px}
  .fp-ring{left:8px;top:8px;width:34px;height:34px}
  .ask-pin{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding:12vh 16px 2vh;align-items:start}
  .ask-words{font-size:clamp(48px,14vw,80px)}
  .ask-sub{display:none}
  .ask-stage{align-items:start}
  .ask-phone{width:min(260px,64vw)}
  .ask-phone .bub{font-size:11.5px;padding:8px 10px}
  .ask-phone .tool{padding:6px 8px}
  .trip-card{width:160px;padding:12px;left:auto;right:-4px;top:4%;transform-origin:right top}
  .trip-card h4{font-size:20px}.trip-card li{font-size:11px}.day{width:26px;height:20px}
  .fc-pill{font-size:10px}
  .table-card{right:auto;left:-4px;bottom:12%;padding:8px 10px 8px 8px}
  .table-card b{font-size:12px}.table-card small{font-size:10.5px}.tc-ic{width:30px;height:30px}
  .panel{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start;padding:13vh 20px 8vh;gap:3vh}
  .kword{font-size:clamp(70px,22vw,120px)}
  .panel-sub{font-size:15px;margin-top:14px}
  .panel-art{height:auto;align-self:center}
  .group-card .gc-body{padding:14px;gap:10px}
  .gm .bub{font-size:12.5px}
  .gm-typing{display:none}
  .notif{position:relative;top:auto;right:auto;margin-bottom:12px;width:100%}
  .sched-card{margin-top:0;padding:14px 16px 4px}
  .sc-row{padding:9px 0}.sc-row:nth-child(n+5){display:none}
  .lock-phone{width:min(230px,58vw)}
  .lk-time{font-size:64px}.lk-lock{margin-top:48px}
  .la{bottom:50px;padding:10px}
  .crew{padding:12vh 16px 8vh}
  .playground{height:56vh;border-radius:24px}
  .where{padding:6vh 16px 12vh}
  .ec-row{bottom:11vh}
  .ec-lockup{flex-direction:column;gap:18px}
  .ec-word{font-size:clamp(60px,21vw,110px)}
  .trip-card{display:none}
  .foot{flex-direction:column;align-items:center;gap:4px;text-align:center}
  .foot span:last-child{display:none}
}

@media (prefers-reduced-motion:reduce){
  .grain,.cue-line,.fp-ring{animation:none}
}
