/* Group travel, Privacy, Waitlist: heroes built around each page's intent */
.xhero{position:relative;overflow:hidden;background:#F2EEE7;padding:0 0 120px}
.xhero .hdr{padding-top:24px}
.xhero .k{color:var(--sea-text,#356466)}
.xhero h1{font-weight:400;letter-spacing:-1.2px;color:#1C1F24;margin:16px 0 20px;text-wrap:balance}
.xhero .lead{color:#3A4452;font-size:20px;line-height:31px;margin:0;max-width:520px}
.xhero::after{content:"";position:absolute;inset:0;background:url(/assets/img/contour-tall.svg) center/cover;opacity:.05;pointer-events:none;-webkit-mask:radial-gradient(ellipse at 70% 40%,transparent 20%,#000 75%);mask:radial-gradient(ellipse at 70% 40%,transparent 20%,#000 75%)}
.xhero .wrap{position:relative;z-index:1}

/* GROUP: a trip that is being planned right now */
.g-hero .grid{display:grid;grid-template-columns:1fr 480px;gap:64px;align-items:center;padding-top:72px}
.g-hero h1{font-size:76px;line-height:78px}
.g-hero .faces{display:flex;align-items:center;gap:14px;margin-top:32px;font-size:15px;color:#5C636E}
.av{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;font:600 14px/1 ui-rounded,-apple-system,system-ui;border:2px solid #FFF;flex:none;transition:transform .5s cubic-bezier(.3,1.6,.5,1),opacity .4s}
.av+.av{margin-left:-10px}
.av.y{background:#3A4452;color:#FBF9F5}.av.s{background:#74ADB0;color:#1C1F24}.av.a{background:#E4D9C6;color:#1C1F24}.av.m{background:#24393B;color:#96D0D3}
.av.pop{transform:scale(0);opacity:0}
.livetrip{position:relative;background:#FFF;border-radius:28px;box-shadow:0 30px 80px rgba(28,31,36,.16),0 0 0 1px rgba(28,31,36,.06);padding:26px 26px 18px}
.livetrip .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.livetrip .top b{display:block;font-size:19px;font-weight:600;margin-top:4px}
.livetrip .live{display:inline-flex;align-items:center;gap:8px;font:600 12px/16px -apple-system,system-ui;letter-spacing:.08em;text-transform:uppercase;color:#356466}
.livetrip .live i{width:8px;height:8px;border-radius:50%;background:#74ADB0;box-shadow:0 0 0 0 rgba(116,173,176,.6);animation:ping 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(116,173,176,0)}100%{box-shadow:0 0 0 0 rgba(116,173,176,0)}}
.lstops{position:relative;display:flex;flex-direction:column}
.lstop{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #EEE8DE;transition:background .5s,transform .7s cubic-bezier(.2,.7,.2,1)}
.lstop .t{font:600 15px/20px ui-rounded,-apple-system,system-ui;color:#1C1F24;font-variant-numeric:tabular-nums}
.lstop .n{font-size:16px;font-weight:600;color:#1C1F24}.lstop .n small{display:block;font-weight:400;font-size:13px;color:#5C636E;margin-top:2px}
.lstop.flash{background:linear-gradient(90deg,rgba(116,173,176,.16),rgba(116,173,176,0));border-radius:12px}
.lstop .who{display:flex}
.lstop .who .av{width:30px;height:30px;font-size:12px}
.toasts{position:absolute;left:24px;right:24px;bottom:-30px;height:58px;pointer-events:none}
.toast{position:absolute;inset:0;display:flex;align-items:center;gap:12px;padding:0 16px;border-radius:16px;background:#24393B;color:#F2EEE7;font-size:15px;box-shadow:0 14px 40px rgba(28,31,36,.3);opacity:0;transform:translateY(16px) scale(.98);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.toast.on{opacity:1;transform:none}
.toast .av{width:28px;height:28px;font-size:12px;border-color:#24393B}
.toast span{color:#96D0D3;margin-left:auto;font-size:13px}
.pack-split{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pack-split div{background:rgba(255,255,255,.06);border-radius:14px;padding:14px}
.pack-split p{margin:0 0 8px;font:600 12px/16px -apple-system,system-ui;letter-spacing:.08em;text-transform:uppercase;color:#96D0D3}
.pack-split li{list-style:none;font-size:14px;line-height:22px;color:#F2EEE7;display:flex;gap:8px;align-items:center}
.pack-split ul{margin:0;padding:0}
.pack-split li::before{content:"";width:12px;height:12px;border-radius:4px;border:1.5px solid #5E7A7C;flex:none}
.pack-split li.d::before{background:#74ADB0;border-color:#74ADB0}

/* PRIVACY: calm, type-led, one diagram */
.p-hero{background:#FBF9F5;padding-bottom:96px}
.p-hero h1{font-size:96px;line-height:96px;max-width:900px;margin-top:96px}
.p-hero h1 em{font-style:italic;color:#356466}
.p-hero .lead{max-width:620px}
.p-diagram{margin-top:72px;background:#FFF;border-radius:28px;border:1px solid #E7E1D6;padding:48px;display:grid;grid-template-columns:360px 1fr;gap:0;align-items:center;position:relative}
.p-phone{position:relative;width:300px;border-radius:44px;border:2px solid #1C1F24;padding:36px 22px 26px;background:#FBF9F5}
.p-phone::before{content:"";position:absolute;top:12px;left:50%;width:84px;height:22px;border-radius:12px;background:#1C1F24;transform:translateX(-50%)}
.p-phone p.k{margin:0 0 12px;color:#356466}
.p-phone li{list-style:none;display:flex;gap:10px;align-items:center;font-size:15px;line-height:20px;padding:9px 0;border-top:1px solid #EEE8DE;color:#1C1F24}
.p-phone li::before{content:"";width:9px;height:9px;border-radius:50%;background:#74ADB0;flex:none}
.p-phone ul{margin:0;padding:0}
.p-phone .plock{margin-top:14px;display:flex;align-items:center;gap:8px;font-size:13px;color:#5C636E}
.p-out{position:relative;height:100%}
.p-out svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}
.p-out svg path{fill:none;stroke:#7D8590;stroke-width:1.2;stroke-dasharray:4 6}
.p-out .exits{position:relative;display:flex;flex-direction:column;justify-content:space-around;height:100%;min-height:380px;padding-left:46%}
.p-out .exit{background:#FFF;position:relative}
.p-out .exit b{display:block;font-size:16px;font-weight:600;color:#1C1F24}
.p-out .exit span{font-size:14px;line-height:21px;color:#5C636E}
.p-out .exit::before{content:"";position:absolute;left:-14px;top:7px;width:7px;height:7px;border-radius:50%;border:1.5px solid #7D8590;background:#FFF}
.p-out .nothing{position:absolute;left:46%;bottom:-36px;font:600 12px/16px -apple-system,system-ui;letter-spacing:.08em;text-transform:uppercase;color:#356466}
.p-diagram .draw path{stroke-dashoffset:300;transition:stroke-dashoffset 2.2s ease}
.p-diagram.in .draw path{stroke-dashoffset:0}

/* WAITLIST: a boarding pass that fills in as you type */
.w-hero .grid{display:grid;grid-template-columns:1fr 520px;gap:64px;align-items:start;padding-top:72px}
.w-hero h1{font-size:72px;line-height:76px}
.w-hero .grid>div:last-child{position:sticky;top:110px}
.w-hero form.card{margin-top:36px;max-width:520px}
.pass{position:relative;margin-top:24px;background:#FFF;border-radius:24px;box-shadow:0 30px 80px rgba(28,31,36,.16),0 0 0 1px rgba(28,31,36,.06);overflow:hidden;transform:rotate(1.5deg);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pass:hover{transform:rotate(0)}
.pass .ph{height:190px;position:relative}
.pass .ph img{width:100%;height:100%;object-fit:cover}
.pass .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,18,21,.35),rgba(16,18,21,0) 50%)}
.pass .ph b{position:absolute;left:24px;top:20px;z-index:1;color:#FFF;font-family:ui-serif,"New York",Newsreader,Georgia,serif;font-weight:400;font-size:28px}
.pass .ph small{position:absolute;right:24px;top:26px;z-index:1;color:rgba(255,255,255,.85);font:600 12px/16px -apple-system,system-ui;letter-spacing:.1em;text-transform:uppercase}
.pass .row{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;padding:24px 24px 20px}
.pass .row p{margin:0;font:600 11px/14px -apple-system,system-ui;letter-spacing:.1em;text-transform:uppercase;color:#7D8590}
.pass .row div b{display:block;margin-top:4px;font-size:20px;line-height:26px;font-weight:600;color:#1C1F24;min-height:26px;overflow-wrap:anywhere}
.pass .row .serif-v b{font-family:ui-serif,"New York",Newsreader,Georgia,serif;font-weight:400;font-size:26px}
.pass .row .code b{font-family:ui-monospace,Menlo,monospace;letter-spacing:.12em;color:#356466}
.pass .perf{position:relative;height:0;border-top:2px dashed #E7E1D6;margin:0 18px}
.pass .perf::before,.pass .perf::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:#F2EEE7}
.pass .perf::before{left:-30px}.pass .perf::after{right:-30px}
.pass .stub{display:flex;justify-content:space-between;align-items:center;padding:16px 24px 20px;font-size:14px;color:#5C636E}
.pass .bars{height:34px;width:150px;background:repeating-linear-gradient(90deg,#1C1F24 0 2px,transparent 2px 4px,#1C1F24 4px 5px,transparent 5px 9px,#1C1F24 9px 12px,transparent 12px 14px);opacity:.8}
.pass .pending{color:#B4ADA2}
.pass .wstamp{position:absolute;right:26px;top:150px;z-index:2;width:118px;height:118px;border-radius:50%;border:2.5px solid #356466;color:#356466;display:grid;place-items:center;text-align:center;font:700 13px/16px -apple-system,system-ui;letter-spacing:.1em;background:rgba(255,255,255,.88);opacity:0;transform:scale(2.2) rotate(-24deg)}
.pass .wstamp span{display:block;font-weight:500;letter-spacing:0;font-size:12px}
.pass.joined .wstamp{animation:wland .55s cubic-bezier(.3,1.4,.5,1) forwards}
@keyframes wland{to{opacity:1;transform:scale(1) rotate(-12deg)}}
.pass-note{margin:16px 4px 0;font-size:14px;color:#5C636E}
.handoff{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.minipass{background:#2F4749;border-radius:18px;padding:18px 20px;color:#F2EEE7;transform:rotate(-2deg);box-shadow:0 18px 40px rgba(0,0,0,.25);max-width:320px;margin:24px 0 0 auto}
.minipass p{margin:0;font:600 11px/14px -apple-system,system-ui;letter-spacing:.1em;text-transform:uppercase;color:#96D0D3}
.minipass b{display:block;font-family:ui-serif,"New York",Newsreader,Georgia,serif;font-weight:400;font-size:24px;margin:6px 0 10px}
.minipass .ln{border-top:1.5px dashed #5E7A7C;padding-top:10px;font-size:13px;color:#B7CBCC}

@media (max-width:1000px){
 .g-hero .grid,.w-hero .grid{grid-template-columns:1fr;gap:56px;padding-top:40px}
 .g-hero h1,.w-hero h1{font-size:52px;line-height:56px}
 .p-hero h1{font-size:60px;line-height:62px;margin-top:56px}
 .p-diagram{grid-template-columns:1fr;padding:28px 20px;gap:28px;justify-items:center}
 .p-out svg{display:none}
 .p-out .exits{padding-left:0;min-height:0;gap:16px}
 .p-out .exit{padding-left:18px}.p-out .exit::before{left:0}
 .p-out .nothing{position:static;display:block;margin-top:16px}
 .handoff{grid-template-columns:1fr}
 .minipass{margin:0}
}
@media (max-width:640px){
 .xhero{padding-bottom:88px}
 .g-hero h1,.w-hero h1{font-size:42px;line-height:46px}
 .p-hero h1{font-size:46px;line-height:48px}
 .xhero .lead{font-size:18px;line-height:28px}
 .livetrip{padding:20px 18px 14px}
 .lstop{grid-template-columns:52px 1fr auto}
 .pack-split{grid-template-columns:1fr}
 .p-phone{width:100%;max-width:300px;box-sizing:border-box}
 .pass .row{grid-template-columns:1fr}
 .pass .wstamp{width:92px;height:92px;font-size:11px;top:110px;right:14px}
 .w-hero .grid>div:last-child{position:static}
 .pass .ph{height:150px}
}
@media (prefers-reduced-motion:reduce){
 .toast,.lstop,.av,.pass{transition:none}
 .livetrip .live i{animation:none}
 .p-diagram .draw path{stroke-dashoffset:0;transition:none}
 .pass.joined .wstamp{animation:none;opacity:1;transform:rotate(-12deg)}
}
.toast .av.m{background:#96D0D3;color:#1C1F24}
@media (max-width:1000px){.p-out{padding-bottom:12px}}
