@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap");

:root { --ink:#0b2347; --ink-deep:#061833; --aqua:#13bec4; --aqua-pale:#dff9f7; --paper:#f6f5f0; --white:#fff; --muted:#62718a; --line:#d8ddd8; --warm:#e9e6db; --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,system-ui,sans-serif; font-size:16px; -webkit-font-smoothing:antialiased; }
body,input,button { font:inherit; } a { color:inherit; text-decoration:none; }
.shell { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.skip-link { position:fixed; top:12px; left:12px; z-index:100; padding:10px 14px; transform:translateY(-150%); background:var(--white); border-radius:8px; box-shadow:0 4px 16px rgb(6 24 51 / 15%); }.skip-link:focus { transform:translateY(0); }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.site-header { position:relative; z-index:10; }.nav-shell { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:28px; border-bottom:1px solid var(--line); }.logo img { display:block; width:auto; height:27px; }.main-nav { display:flex; gap:30px; margin-left:auto; }.main-nav a,.footer-layout>a:last-child { color:var(--muted); font-size:.88rem; font-weight:700; transition:color 160ms ease; }.main-nav a:hover,.footer-layout>a:last-child:hover { color:var(--aqua); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; border:0; cursor:pointer; font-size:.88rem; font-weight:800; letter-spacing:-.01em; transition:transform 140ms var(--ease-out),background-color 160ms ease,color 160ms ease; }.button:active,.waitlist-form button:active { transform:scale(.97); }.button-quiet { min-height:44px; padding:0 16px; border:1px solid var(--line); color:var(--ink); background:transparent; }.button-quiet:hover { border-color:var(--ink); }.button-solid { padding:16px 20px; color:var(--ink-deep); background:var(--aqua); }.button-solid:hover { background:#24d1d4; transform:translateY(-2px); }

.hero { overflow:hidden; }.hero-layout { display:grid; grid-template-columns:1fr minmax(410px,.86fr); gap:clamp(48px,8vw,132px); align-items:center; padding:clamp(64px,10vw,126px) 0 clamp(68px,9vw,108px); }.kicker { display:flex; align-items:center; gap:9px; margin:0 0 22px; color:var(--aqua); font-family:"DM Mono",monospace; font-size:.7rem; font-weight:500; letter-spacing:.095em; }.status-dot { width:7px; height:7px; border-radius:50%; background:var(--aqua); box-shadow:0 0 0 5px rgb(19 190 196 / 12%); }.hero h1,.section-intro h2,.benefits h2,.waitlist h2 { margin:0; font-size:clamp(3.25rem,6vw,5.45rem); font-weight:800; line-height:.97; letter-spacing:-.075em; }.hero-intro { max-width:500px; margin:28px 0 0; color:var(--muted); font-size:1.08rem; line-height:1.75; }.hero-actions { display:flex; align-items:center; gap:28px; margin-top:36px; }.text-link { display:inline-flex; align-items:center; gap:10px; color:var(--ink); font-size:.88rem; font-weight:800; transition:color 160ms ease,gap 160ms var(--ease-out); }.text-link:hover { color:var(--aqua); gap:14px; }.hero-note { max-width:330px; margin:28px 0 0; color:#7c8797; font-size:.73rem; line-height:1.6; }.hero-rule { height:1px; background:var(--line); }.hero-rule span { display:block; width:30%; height:1px; background:var(--aqua); }

.arrival-scene { position:relative; min-height:454px; display:grid; place-items:center; }.scene-glow { position:absolute; inset:13% -20% -10% 8%; background:var(--aqua-pale); border-radius:50% 50% 44% 50%; transform:rotate(-7deg); }.arrival-card { position:relative; width:min(100%,432px); padding:24px; background:var(--white); box-shadow:0 30px 60px rgb(6 24 51 / 13%),0 4px 14px rgb(6 24 51 / 7%); }.card-topline,.event-heading,.departure-panel,.friends-row { display:flex; align-items:center; }.card-topline { justify-content:space-between; padding-bottom:20px; border-bottom:1px solid #e8ebea; }.card-topline p,.live-label { margin:0; font-family:"DM Mono",monospace; font-size:.61rem; font-weight:500; letter-spacing:.07em; }.live-label { display:flex; align-items:center; gap:5px; color:#1b8891; }.live-label i { width:6px; height:6px; border-radius:50%; background:var(--aqua); }.event-heading { gap:13px; padding:20px 0 18px; }.event-mark { display:grid; place-items:center; width:37px; height:37px; border-radius:50%; color:var(--white); background:var(--ink); font-size:.75rem; font-weight:800; }.event-heading h2 { margin:0; font-size:.98rem; letter-spacing:-.03em; }.event-heading p { margin:4px 0 0; color:var(--muted); font-size:.72rem; }
.route-map { position:relative; height:146px; overflow:hidden; background:#eef5f3; }.route-map svg { width:100%; height:100%; }.route-map path { fill:none; stroke:#d3dfdd; stroke-width:2; }.route-map .route-line { stroke:var(--aqua); stroke-width:3.5; stroke-linecap:round; stroke-dasharray:1 9; }.route-map circle { stroke:var(--white); stroke-width:3; }.route-map .start-dot { fill:var(--ink); }.route-map .end-dot { fill:var(--aqua); }.map-label { position:absolute; padding:4px 6px; background:rgb(255 255 255 / 88%); color:var(--muted); font-family:"DM Mono",monospace; font-size:.53rem; }.map-label-one { left:6%; bottom:15%; }.map-label-two { right:6%; top:23%; }.departure-panel { justify-content:space-between; margin-top:12px; padding:13px 14px; background:var(--ink); color:var(--white); }.departure-panel p { margin:0 0 3px; color:#a7c5d7; font-size:.58rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }.departure-panel strong { font-size:1.23rem; letter-spacing:-.04em; }.journey-meta { display:flex; gap:8px; color:#bcd0dd; font-size:.62rem; }.arrival-time { color:var(--aqua); font-family:"DM Mono",monospace; font-size:.68rem; line-height:1.1; text-align:right; }.arrival-time small { color:#a7c5d7; font-size:.5rem; }.friends-row { gap:9px; padding:16px 2px 2px; }.avatars { display:flex; }.avatars span { display:grid; place-items:center; width:22px; height:22px; margin-left:-5px; border:2px solid var(--white); border-radius:50%; background:#e8b17b; color:var(--ink); font-size:.52rem; font-weight:800; }.avatars span:first-child { margin-left:0; background:#b5d9d3; }.avatars span:nth-child(2) { background:#b8b3dc; }.avatars span:nth-child(3) { background:#e9d699; }.avatars span:last-child { background:var(--ink); color:var(--white); }.friends-row p { margin:0; color:var(--muted); font-size:.66rem; }.chevron { margin-left:auto; color:var(--muted); font-size:1.25rem; }.time-chip { position:absolute; right:-29px; bottom:28px; z-index:2; padding:12px 15px; color:var(--ink); background:var(--aqua); box-shadow:0 12px 26px rgb(6 24 51 / 13%); font-family:"DM Mono",monospace; font-size:.67rem; font-weight:500; }.time-chip span { display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:50%; background:var(--ink); }

.proof { padding:32px 0; background:var(--ink); color:var(--white); }.proof-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); align-items:center; gap:36px; }.proof-intro { margin:0; color:#bdcad7; font-size:.87rem; line-height:1.7; }.proof-intro strong { color:var(--white); font-weight:700; }.proof-item { min-height:62px; padding-left:15px; border-left:1px solid #38506c; }.proof-item span { display:block; color:var(--aqua); font-family:"DM Mono",monospace; font-size:.6rem; }.proof-item p { margin:5px 0 0; font-size:.76rem; line-height:1.5; }
.how-it-works { padding:clamp(96px,13vw,172px) 0; }.section-intro { max-width:800px; }.section-intro h2 { font-size:clamp(2.5rem,5vw,4.6rem); }.steps { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:0; margin-top:75px; border-top:1px solid var(--line); }.step { position:relative; min-height:450px; padding:26px 28px 0 0; border-right:1px solid var(--line); }.step+.step { padding-left:28px; }.step:last-child { border-right:0; }.step-number { color:var(--aqua); font-family:"DM Mono",monospace; font-size:.68rem; }.step-copy { margin-top:92px; }.step-copy h3 { max-width:220px; margin:0; font-size:1.25rem; line-height:1.14; letter-spacing:-.045em; }.step-copy p { max-width:260px; margin:14px 0 0; color:var(--muted); font-size:.82rem; line-height:1.72; }
.calendar-mini { position:absolute; right:18px; bottom:4px; width:min(90%,286px); padding:18px; background:var(--white); box-shadow:0 18px 36px rgb(6 24 51 / 7%); transform:rotate(-3deg); }.calendar-bar { display:flex; justify-content:space-between; margin-bottom:15px; color:var(--ink); font-family:"DM Mono",monospace; font-size:.58rem; }.calendar-days,.calendar-dates { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; text-align:center; }.calendar-days { color:var(--muted); font-size:.45rem; }.calendar-dates { margin:8px 0 15px; }.calendar-dates i { display:grid; place-items:center; height:22px; font-style:normal; font-size:.55rem; }.calendar-dates .active { border-radius:50%; background:var(--aqua); }.mini-event { display:flex; align-items:center; gap:7px; padding:9px; background:#edf8f7; font-size:.56rem; }.mini-event b { width:5px; height:22px; background:var(--aqua); }.route-mini { position:absolute; bottom:54px; left:28px; right:28px; height:136px; overflow:hidden; background:#ebf3f1; }.route-start,.route-end { position:absolute; top:42px; width:13px; height:13px; border:3px solid var(--white); border-radius:50%; }.route-start { left:17%; background:var(--ink); }.route-end { right:14%; background:var(--aqua); }.route-path { position:absolute; top:49px; left:21%; width:63%; border-top:3px dashed var(--aqua); transform:rotate(-9deg); }.route-mini strong { position:absolute; right:13%; bottom:21px; color:var(--ink); font-family:"DM Mono",monospace; font-size:.85rem; }.people-mini { position:absolute; bottom:70px; left:28px; display:flex; align-items:flex-end; min-height:123px; }.person { display:grid; place-items:center; width:52px; height:52px; margin-right:-11px; border:3px solid var(--paper); border-radius:50%; color:var(--ink); font-size:.72rem; font-weight:800; }.person-a { background:#eccda1; transform:translateY(15px); }.person-b { background:#a9d8d1; }.person-c { background:#d6c8e3; transform:translateY(11px); }.person-d { background:#e4d477; transform:translateY(25px); }.people-mini span { position:absolute; right:-17px; bottom:-19px; color:var(--aqua); font-family:"DM Mono",monospace; font-size:.57rem; }

.benefits { padding:clamp(76px,11vw,148px) 0; background:var(--warm); }.benefits-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(64px,13vw,176px); align-items:start; }.benefits h2 { max-width:540px; font-size:clamp(2.55rem,4.7vw,4.4rem); }.benefits-copy>p:not(.kicker) { max-width:460px; margin:26px 0; color:var(--muted); font-size:.96rem; line-height:1.75; }.benefit-list { margin:0; border-top:1px solid #c8c8bf; }.benefit-list div { padding:23px 0; border-bottom:1px solid #c8c8bf; }.benefit-list dt { font-size:1rem; font-weight:800; letter-spacing:-.025em; }.benefit-list dd { margin:8px 0 0; color:var(--muted); font-size:.8rem; line-height:1.6; }
.waitlist { padding:clamp(78px,11vw,140px) 0; background:var(--ink); color:var(--white); }.waitlist-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(60px,15vw,230px); }.kicker-light { color:var(--aqua); }.waitlist h2 { font-size:clamp(3rem,5.8vw,5.2rem); }.waitlist-form-wrap>p:first-child { max-width:430px; margin:8px 0 29px; color:#b6c7d5; font-size:.95rem; line-height:1.75; }.waitlist-form { display:flex; border-bottom:1px solid #7991a6; }.waitlist-form input { min-width:0; flex:1; padding:14px 0; color:var(--white); border:0; outline:0; background:transparent; font-size:.94rem; }.waitlist-form input::placeholder { color:#8da0b1; }.waitlist-form input:focus { box-shadow:0 2px 0 var(--aqua); }.waitlist-form button { display:inline-flex; align-items:center; gap:9px; padding:0 0 0 12px; color:var(--aqua); border:0; background:transparent; cursor:pointer; font-size:.83rem; font-weight:800; transition:color 160ms ease,transform 140ms var(--ease-out); }.waitlist-form button:hover { color:#50e0e2; }.waitlist-note { margin:17px 0 0; color:#8296a9; font-size:.68rem; line-height:1.6; }.form-success { display:none; margin:18px 0 0; color:var(--aqua); font-size:.84rem; font-weight:700; }.form-success.visible { display:block; }
.site-footer { padding:25px 0; background:var(--ink-deep); color:#90a4b7; }.footer-layout { display:flex; align-items:center; justify-content:space-between; gap:20px; }.footer-layout .logo img { height:22px; }.footer-layout p { margin:0; font-size:.68rem; }
.reveal { opacity:0; transform:translateY(14px); transition:opacity 480ms var(--ease-out),transform 480ms var(--ease-out); }.reveal.is-visible { opacity:1; transform:translateY(0); }.reveal-delay { transition-delay:90ms; }
@media (hover:hover) and (pointer:fine) { .arrival-card { transition:transform 220ms var(--ease-out),box-shadow 220ms var(--ease-out); }.arrival-card:hover { transform:translateY(-4px); box-shadow:0 36px 66px rgb(6 24 51 / 16%),0 4px 14px rgb(6 24 51 / 7%); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.reveal,.reveal.is-visible { opacity:1; transform:none; transition:opacity 180ms ease; }.button,.text-link,.waitlist-form button,.arrival-card { transition-duration:120ms; }.button:hover { transform:none; } }
@media (max-width:850px) { .main-nav { display:none; }.hero-layout,.benefits-layout,.waitlist-layout { grid-template-columns:1fr; }.hero-layout { gap:54px; }.arrival-scene { max-width:440px; min-height:415px; margin:0 auto; }.proof-grid { grid-template-columns:1fr 1fr; }.proof-intro { grid-column:1/-1; }.steps { grid-template-columns:1fr; margin-top:50px; }.step,.step+.step { min-height:332px; padding:25px 0; border-right:0; border-bottom:1px solid var(--line); }.step-copy { margin-top:42px; }.calendar-mini { right:2px; bottom:20px; }.route-mini { left:auto; right:0; bottom:24px; width:min(65%,310px); }.people-mini { left:auto; right:42px; bottom:50px; }.benefits-layout,.waitlist-layout { gap:54px; } }
@media (max-width:540px) { .shell { width:min(100% - 32px,1180px); }.nav-shell { min-height:74px; }.nav-shell .button-quiet { padding:0; border:0; font-size:.78rem; }.logo img { height:23px; }.hero-layout { padding-top:56px; }.hero h1 { font-size:clamp(3rem,15vw,4.2rem); }.hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }.arrival-scene { min-height:360px; }.arrival-card { padding:17px; }.time-chip { right:-6px; bottom:8px; }.proof { padding:28px 0; }.proof-grid { grid-template-columns:1fr; gap:18px; }.proof-item { min-height:0; }.section-intro h2,.benefits h2 { letter-spacing:-.065em; }.route-mini { width:74%; }.people-mini { right:24px; }.waitlist-form { gap:12px; }.waitlist-form button { font-size:.73rem; }.footer-layout { align-items:flex-start; flex-direction:column; } }
