.sz-logo{--sz-text:#F4F2EE;--sz-sub:rgba(244,242,238,.5);--sz-mark:url(#szG);--sz-glow:#F2662B;--sz-line:rgba(255,255,255,.22);--sz-hot:#FF8650;--sz-e:cubic-bezier(.16,1,.3,1);--px:0;--py:0;position:relative;width:min(100%,920px);display:block}
.sz-logo[data-theme="light"]{--sz-text:#5C3418;--sz-sub:#5C3418;--sz-mark:#5C3418;--sz-glow:#C98A5B;--sz-line:rgba(92,52,24,.25);--sz-hot:#F2662B}
.sz-svg{display:block;width:100%;height:auto;overflow:visible}
.sz-logo[data-mark-only] .sz-svg{margin-bottom:-38%}
.sz-logo[data-mark-only] .sz-txt,.sz-logo[data-mark-only] .sz-sub,.sz-logo[data-mark-only] .sz-hz,.sz-logo[data-mark-only] .sz-sun{display:none}
.sz-mtn,.sz-tri,.sz-sw,.sz-pl{fill:var(--sz-mark);fill-rule:evenodd}
.sz-txt{fill:var(--sz-text);fill-rule:evenodd}
.sz-sub{fill:var(--sz-sub);fill-rule:evenodd}
.sz-hz{stroke:var(--sz-line);stroke-width:1.5}
.sz-svg *{transform-box:fill-box}
.sz-par{transition:transform .9s var(--sz-e)}
.sz-p1{transform:translate(calc(var(--px)*6px),calc(var(--py)*4px))}
.sz-p2{transform:translate(calc(var(--px)*10px),calc(var(--py)*6px))}
.sz-p3{transform:translate(calc(var(--px)*14px),calc(var(--py)*8px))}
.sz-p4{transform:translate(calc(var(--px)*22px),calc(var(--py)*12px))}
/* start state */
.sz-sun{opacity:0;transform:translateY(120px)}
.sz-hz{opacity:0;transform:scaleX(0);transform-origin:center}
.sz-mtn{transform:translateY(260px)}
.sz-tri{transform:translateY(200px)}
.sz-sw{clip-path:inset(0 100% 0 0)}
.sz-pl{opacity:0}
.sz-pl-in{cursor:pointer}
.szl{transform:translateY(150px);transition:fill .3s}
.szl.lift{fill:var(--sz-hot)}
.szu{opacity:0;transform:translateX(var(--dx))}
/* play */
.sz-logo.play .sz-hz{animation:szHz 2.6s var(--sz-e) forwards}
.sz-logo.play .sz-sun{animation:szUp 1.4s var(--sz-e) forwards}
.sz-logo.play .sz-mtn{animation:szUp 1.3s var(--sz-e) forwards}
.sz-logo.play .sz-tri{animation:szUp 1.2s var(--sz-e) .2s forwards}
.sz-logo.play .sz-sw{animation:szWipe .95s cubic-bezier(.65,0,.35,1) .55s forwards}
.sz-logo.play .sz-pl{animation:szFly 1.25s var(--sz-e) .85s forwards}
.sz-logo.play .szl{animation:szLetter .9s var(--sz-e) calc(1.15s + var(--i)*.06s) forwards}
.sz-logo.play .szu{animation:szSub 1s var(--sz-e) 1.75s forwards}
.sz-logo.play.done .sz-pl-in{animation:szBob 3.2s ease-in-out infinite}
.sz-logo.refly .sz-pl{animation:szRefly 1.9s cubic-bezier(.45,0,.2,1) forwards}
.sz-logo.done .szl{animation:none;transform:translateY(var(--lift,0px));transition:transform .45s var(--sz-e),fill .3s}
@keyframes szHz{0%{opacity:0;transform:scaleX(0)}25%{opacity:1}55%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1)}}
@keyframes szUp{to{opacity:1;transform:none}}
@keyframes szWipe{to{clip-path:inset(0 0 0 0)}}
@keyframes szFly{0%{opacity:1;transform:translate(-560px,300px) rotate(22deg)}45%{transform:translate(-200px,150px) rotate(14deg)}100%{opacity:1;transform:none}}
@keyframes szRefly{0%{opacity:1;transform:none}38%{opacity:1;transform:translate(620px,-420px) rotate(-8deg)}39%{opacity:0;transform:translate(620px,-420px)}40%{opacity:0;transform:translate(-620px,330px) rotate(22deg)}41%{opacity:1}70%{transform:translate(-220px,160px) rotate(14deg)}100%{opacity:1;transform:none}}
@keyframes szLetter{to{transform:none}}
@keyframes szSub{to{opacity:1;transform:none}}
@keyframes szBob{0%,100%{transform:none}50%{transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.sz-logo *{animation:none!important;transition:none!important}.sz-sun,.sz-mtn,.sz-tri,.szl,.szu{opacity:1;transform:none}.sz-sw{clip-path:none}.sz-pl{opacity:1}.sz-hz{opacity:0}}

.sz-logo[data-theme="sky"]{--sz-text:#0B2A45;--sz-sub:rgba(11,42,69,.55);--sz-mark:url(#szG);--sz-glow:#3B9EE8;--sz-line:rgba(11,42,69,.22);--sz-hot:#1A6DB5}
.sz-logo.static *{animation:none!important}
.sz-logo.static .sz-sun,.sz-logo.static .sz-mtn,.sz-logo.static .sz-tri,.sz-logo.static .szu{opacity:1;transform:none}
.sz-logo.static .sz-sun{opacity:.6}
.sz-logo.static .sz-sw{clip-path:none}
.sz-logo.static .sz-pl{opacity:1}
.sz-logo.static .sz-hz{opacity:0}
.sz-logo.static.refly .sz-pl{animation:szRefly 1.9s cubic-bezier(.45,0,.2,1) forwards!important}
.sz-logo.no-sub .sz-sub{display:none}

:root{
  --bg:#F4F9FD;--sky:#E6F2FB;--sky2:#CFE6F7;--sky3:#A9D3F2;--blue:#3B9EE8;--blue-d:#1A6DB5;--blue-dd:#14558E;
  --navy:#0B2A45;--mist:rgba(11,42,69,.72);--dim:rgba(11,42,69,.6);
  --line:rgba(11,42,69,.1);--line2:rgba(11,42,69,.18);--sun:#FFB547;--ok:#16895B;--ok-soft:#E0F4EA;
  --display:'Bricolage Grotesque','Arial Narrow',system-ui,sans-serif;--serif:'Instrument Serif',Georgia,serif;--ui:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);--gut:clamp(16px,4vw,40px);
}
*{box-sizing:border-box}
html{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--navy);font-family:var(--ui);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.intro-on{overflow:hidden}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--blue);color:#fff}
:focus-visible{outline:2px solid var(--blue-d);outline-offset:3px;border-radius:12px}
[hidden]{display:none!important}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 24px;border-radius:999px;border:1px solid transparent;text-decoration:none;font:800 15px var(--ui);white-space:nowrap;cursor:pointer;box-shadow:0 10px 22px -12px rgba(11,42,69,.5);transition:background .25s,color .25s,transform .35s var(--ease);overflow:hidden}
.btn.sm{height:40px;padding:0 16px;font-size:13.5px}
.btn svg{width:17px;height:17px;flex:none;transition:transform .35s var(--ease)}
.btn:hover svg.ar{transform:translateX(3px)}
.b-blue{background:var(--blue-d);color:#fff}.b-blue:hover{background:var(--blue-dd)}
.b-white{background:#fff;color:var(--navy);border-color:var(--line)}.b-white:hover{background:var(--sky)}
.b-glass{background:rgba(255,255,255,.62);color:var(--navy);border-color:rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none}.b-glass:hover{background:#fff}
.b-blue::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:shine 3.8s ease-in-out 2s infinite}
@keyframes shine{40%,100%{transform:translateX(120%)}}

/* intro */
.intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 40%,#E9F5FE 0%,#CDE7FA 55%,#B7DCF7 100%);transition:opacity .7s ease,visibility .7s}
.intro.out{opacity:0;visibility:hidden;pointer-events:none}
.intro .sz-logo{width:min(560px,78vw);transform-origin:0 0;transition:transform 1s cubic-bezier(.7,0,.2,1)}
.intro-skip{position:absolute;right:20px;bottom:20px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.7);font:800 13px var(--ui);cursor:pointer}
.intro-bar{position:absolute;left:50%;bottom:44px;width:160px;height:3px;margin-left:-80px;border-radius:3px;background:rgba(11,42,69,.1);overflow:hidden}
.intro-bar i{display:block;height:100%;background:var(--blue-d);transform-origin:left;animation:ibar 3s linear forwards}
@keyframes ibar{from{transform:scaleX(0)}}

/* nav */
.nav{position:fixed;left:0;right:0;top:14px;z-index:80;padding:0 12px;transition:transform .5s var(--ease)}
.nav.hide{transform:translateY(-130%)}
.nav-in{max-width:1180px;margin:0 auto;height:64px;display:flex;align-items:center;gap:10px;padding:0 8px 0 18px;border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.85);box-shadow:0 18px 40px -24px rgba(11,42,69,.5)}
.nav-logo{display:block;width:118px;flex:none;text-decoration:none;margin-top:-2px}
.nav-logo .sz-logo{width:118px}
.nav-logo.hold{visibility:hidden}
.links{display:flex;gap:2px;margin:0 auto}
.links a{text-decoration:none;font-size:14px;font-weight:700;color:var(--mist);padding:9px 14px;border-radius:999px;transition:background .2s,color .2s}
.links a:hover{background:rgba(11,42,69,.07);color:var(--navy)}
.nav-cta{display:flex;gap:8px;align-items:center;margin-left:auto}
.links ~ .nav-cta{margin-left:0}

/* ================= HERO: orbit + earth ================= */
.hero{position:relative;height:100vh;height:100svh;min-height:740px;overflow:hidden;isolation:isolate;background:radial-gradient(130% 80% at 50% 0%,#E8F4FD 0%,#CFE7FA 45%,#B5DAF6 100%);cursor:grab;touch-action:pan-y;user-select:none}
.hero.dragging{cursor:grabbing}
.stars{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:radial-gradient(rgba(26,109,181,.18) 1px,transparent 1.5px);background-size:28px 28px;-webkit-mask:radial-gradient(ellipse 60% 50% at 50% 30%,#000,transparent 75%);mask:radial-gradient(ellipse 60% 50% at 50% 30%,#000,transparent 75%)}
.cloud{position:absolute;z-index:1;border-radius:50%;background:#fff;filter:blur(26px);opacity:.75;pointer-events:none;animation:drift var(--t,70s) linear infinite alternate}
@keyframes drift{to{transform:translateX(var(--dx,120px))}}
#earth{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
/* interactive photo background: frosted veil with a cursor lens */
.bgp{position:absolute;inset:-4%;z-index:0;pointer-events:none;transform:translate3d(calc(var(--pmx,0) * -18px),calc(var(--pmy,0) * -12px),0);transition:transform .9s ease-out}
.bgp img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1.3s ease,transform 8s ease-out}
.bgp img.on{opacity:1;transform:scale(1)}
.veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(232,244,253,.86) 0%,rgba(214,235,251,.78) 48%,rgba(190,223,247,.62) 100%);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);
  -webkit-mask:radial-gradient(circle var(--lr,170px) at var(--lx,72%) var(--ly,42%),transparent 0,transparent 62%,#000 100%);mask:radial-gradient(circle var(--lr,170px) at var(--lx,72%) var(--ly,42%),transparent 0,transparent 62%,#000 100%)}
.lens{position:absolute;left:0;top:0;z-index:1;width:calc(var(--lr,170px) * 1.24);height:calc(var(--lr,170px) * 1.24);margin:calc(var(--lr,170px) * -.62) 0 0 calc(var(--lr,170px) * -.62);border-radius:50%;border:1.5px solid rgba(255,255,255,.75);box-shadow:0 0 0 8px rgba(255,255,255,.12),inset 0 0 40px rgba(255,255,255,.25);transform:translate3d(var(--lxp,70vw),var(--lyp,40vh),0);pointer-events:none}
.lens span{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);white-space:nowrap;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.88);color:var(--navy)}
#clouds{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}


/* orbit cards */
.orbit{position:absolute;inset:0;z-index:auto;pointer-events:none}
.oc{position:absolute;left:0;top:0;width:var(--cw,190px);height:var(--chh,246px);margin:calc(var(--chh,246px) / -2) 0 0 calc(var(--cw,190px) / -2);padding:7px 7px 34px;border:0;border-radius:20px;background:#fff;box-shadow:0 30px 50px -28px rgba(11,42,69,.6);cursor:pointer;pointer-events:auto;will-change:transform,opacity;transition:box-shadow .3s;text-align:left;color:var(--navy);opacity:0}
.ready .oc{opacity:var(--o,1)}
.oc .im{display:block;width:100%;height:100%;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,var(--sky2),var(--sky3))}
.oc img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.oc b{position:absolute;left:12px;right:12px;bottom:8px;font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oc small{position:absolute;right:12px;bottom:10px;font-size:10.5px;font-weight:800;color:var(--blue-d)}
.oc .tg{position:absolute;left:14px;top:14px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--navy);opacity:0;transition:opacity .3s}
.oc:hover,.oc.front{box-shadow:0 40px 70px -26px rgba(11,42,69,.7),0 0 0 3px var(--sun)}
.oc:hover img{transform:scale(1.08)}
.oc:hover .tg,.oc.front .tg{opacity:1}

/* centre copy */
.copy{position:absolute;left:0;right:0;top:clamp(104px,12.5vh,140px);margin:0 auto;width:min(980px,92vw);text-align:center;pointer-events:none}
.copy > *{pointer-events:auto}
.hr{opacity:0}
.ready .hr{animation:up 1s var(--ease) both;animation-delay:var(--d,0s)}
@keyframes up{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
.eyebrow{position:relative;z-index:20;display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 8px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.95);backdrop-filter:blur(10px);font-size:13px;font-weight:700;color:var(--mist)}
.eyebrow b{padding:4px 10px;border-radius:999px;background:var(--blue-d);color:#fff;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:#3DD68C;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,214,140,.6)}70%{box-shadow:0 0 0 8px rgba(61,214,140,0)}}
.h1{position:relative;z-index:20;margin:20px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(46px,7vw,112px);line-height:.92;letter-spacing:-.055em;color:var(--navy);text-shadow:0 2px 30px rgba(232,244,253,.9)}
.h1 .w{display:inline-block;opacity:0}
.ready .h1 .w{animation:wordin 1s var(--ease) both;animation-delay:calc(var(--i) * 90ms + 150ms)}
@keyframes wordin{from{opacity:0;transform:translateY(40%) rotate(4deg);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.rot{display:block;position:relative;height:1em;margin-top:.04em;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--blue-d)}
.rot > span{position:absolute;left:50%;top:0;transform:translateX(-50%);white-space:nowrap}
.rot .ch{display:inline-block;transition:transform .6s var(--ease),opacity .45s,filter .45s}
.rot .ch.o{opacity:0;transform:translateY(55%);filter:blur(6px)}
.rot .ch.gone{opacity:0;transform:translateY(-55%);filter:blur(6px)}
.rot u{position:absolute;left:0;bottom:-.04em;height:.06em;border-radius:99px;background:var(--sun);text-decoration:none;transition:width .6s var(--ease)}
.lead{position:relative;z-index:20;margin:22px auto 0;max-width:560px;font-size:clamp(15.5px,1.2vw,18px);line-height:1.6;color:var(--mist);text-shadow:0 1px 16px rgba(232,244,253,.95)}
.ctas{position:relative;z-index:60;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}

/* now-arriving dock */
.dock{position:absolute;left:max(var(--gut),calc((100vw - 1240px) / 2 + 40px));bottom:22px;z-index:70;display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid rgba(255,255,255,.95);box-shadow:0 24px 50px -26px rgba(11,42,69,.6);white-space:nowrap;cursor:default}
.dk-b{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;transition:background .25s,transform .3s var(--ease)}
.dk-b:hover{background:var(--sky);transform:scale(1.06)}
.dk-b svg{width:16px;height:16px}
.dk-i{display:flex;align-items:center;gap:10px;padding:0 6px;min-width:250px;cursor:pointer;border-radius:999px}
.dk-i .ph{width:42px;height:42px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--sky2),var(--sky3));flex:none}
.dk-i .ph img{width:100%;height:100%;object-fit:cover}
.dk-i small{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-d)}
.dk-i b{display:block;font-size:15.5px;font-weight:800}
.dk-i span.m{display:block;font-size:12px;font-weight:700;color:var(--dim)}
.dk-i.swap{animation:sw .45s var(--ease)}
@keyframes sw{from{opacity:.2;transform:translateY(6px)}}
.dock .btn{height:42px}
.hint{position:absolute;right:max(var(--gut),calc((100vw - 1240px) / 2 + 40px));bottom:80px;z-index:70;display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);opacity:.6;pointer-events:none}
.hint svg{width:18px;height:18px}
.ppause{position:absolute;right:max(var(--gut),calc((100vw - 1240px) / 2 + 40px));bottom:28px;z-index:70;height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.6);backdrop-filter:blur(8px);font:800 12.5px var(--ui);display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.ppause svg{width:14px;height:14px}
canvas.spark{position:absolute;inset:0;width:100%;height:100%;z-index:75;pointer-events:none}

/* modal */
.scrim{position:fixed;inset:0;z-index:90;background:rgba(11,42,69,.45);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .35s}
.scrim.open{opacity:1;pointer-events:auto}
.modal{position:fixed;left:50%;top:50%;z-index:95;width:min(500px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:#fff;border-radius:30px;box-shadow:0 60px 100px -40px rgba(11,42,69,.5);transform:translate(-50%,-46%) scale(.96);opacity:0;pointer-events:none;transition:all .45s var(--ease)}
.modal.open{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}
.md-top{position:relative;height:170px;overflow:hidden;background:linear-gradient(135deg,var(--sky2),var(--sky3))}
.md-top img{width:100%;height:100%;object-fit:cover}
.md-top::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(11,42,69,.8))}
.md-top .t{position:absolute;left:22px;right:22px;bottom:14px;z-index:1;color:#fff}
.md-top .t b{display:block;font-family:var(--display);font-weight:800;font-size:32px;letter-spacing:-.04em;line-height:1}
.md-top .t span{display:block;margin-top:4px;font-size:13px;font-weight:700;opacity:.85}
.md-x{position:absolute;right:14px;top:14px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:#fff;display:grid;place-items:center;cursor:pointer}
.md-x svg{width:17px;height:17px}
.md-b{padding:18px 22px 22px}
.md-m{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}
.md-m div{padding:10px 12px;border-radius:14px;background:var(--sky)}
.md-m small{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.md-m b{display:block;margin-top:2px;font-size:14.5px}
.fld{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.fld label{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.fld input,.fld select{height:50px;padding:0 16px;border-radius:16px;border:1px solid var(--line2);background:var(--bg);font:700 15.5px var(--ui);outline:none}
.fld input:focus,.fld select:focus{border-color:var(--blue-d);box-shadow:0 0 0 4px rgba(59,158,232,.15)}
.fld input.bad{border-color:#D93B3B}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.md-b .btn{width:100%;margin-top:16px}
.md-n{margin:10px 0 0;font-size:12.5px;font-weight:700;color:var(--dim);text-align:center}
.ok{text-align:center;padding:8px 4px 2px}
.ok .ck{width:72px;height:72px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok)}
.ok .ck svg{width:34px;height:34px}
.ok h3{margin:14px 0 0;font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.035em}
.ok p{margin:8px auto 0;max-width:34ch;font-size:15px;line-height:1.55;color:var(--mist)}
.next{padding:120px var(--gut);text-align:center;color:var(--dim);font-weight:700}

@media (max-width:1100px){.links{display:none}.hint{display:none}}
@media (max-width:640px){
  .hero{min-height:760px}
  .nav-cta .b-white{display:none}
  .nav-logo,.nav-logo .sz-logo{width:96px}
  .h1{font-size:clamp(42px,12.5vw,64px)}
  .lead{font-size:15px;max-width:340px}
  .ctas{flex-wrap:nowrap;gap:8px}
  .ctas .btn{height:46px;padding:0 16px;font-size:14px}
  .ctas .btn svg{display:none}
  .copy{top:120px}
  .dock{left:12px;right:12px;transform:none;bottom:14px}
  .dk-i{min-width:0;flex:1}
  .dock .btn{display:none}
  .ppause{display:none}
  .hero{--lr:120px}
  .lens span{display:none}
  .oc small,.oc .tg{display:none}
  .oc b{font-size:14px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hr,.h1 .w,.ready .oc{opacity:1}}

/* ================= LOCAL EXPERTS SECTION ================= */
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}
.loc{position:relative;z-index:5;margin-top:-44px;padding:clamp(100px,10vw,150px) 0 clamp(80px,9vw,130px);border-radius:44px 44px 0 0;background:linear-gradient(180deg,#E3F1FC 0%,var(--bg) 22%);box-shadow:0 -24px 50px -30px rgba(11,42,69,.45)}
.loc::before{content:"";position:absolute;left:50%;top:14px;width:54px;height:5px;margin-left:-27px;border-radius:9px;background:var(--sky3);opacity:.7}
.ey{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-d)}
.ey::before{content:"";width:22px;height:2px;background:var(--blue)}
.h2{margin:16px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(38px,5.2vw,78px);line-height:.95;letter-spacing:-.05em}
.h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.015em;color:var(--blue-d)}
.loc-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;align-items:end}
.loc-head p{margin:0;max-width:44ch;font-size:16.5px;line-height:1.6;color:var(--mist)}
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform 1s var(--ease)}
.rv.in{opacity:1;transform:none}

.loc-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:clamp(28px,4vw,44px)}
.ltabs{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border-radius:999px;background:#fff;box-shadow:0 8px 20px -14px rgba(11,42,69,.4)}
.ltabs button{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 5px;border:0;border-radius:999px;background:transparent;font:800 14px var(--ui);cursor:pointer;transition:background .3s,color .3s}
.ltabs button span{width:34px;height:34px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--sky2),var(--sky3))}
.ltabs button img{width:100%;height:100%;object-fit:cover}
.ltabs button:hover{background:var(--sky)}
.ltabs button.on{background:var(--navy);color:#fff}
.loc-bar .btn{height:50px}

/* before / after slider */
.cmp{position:relative;margin-top:16px;height:clamp(520px,58vw,600px);border-radius:34px;overflow:hidden;background:var(--navy);box-shadow:0 50px 90px -50px rgba(11,42,69,.7);touch-action:pan-y;user-select:none;--pos:50%}
.cl{position:absolute;inset:0}
.cl .bg{position:absolute;inset:-2%;background-size:cover;background-position:center;transition:opacity .6s}
.cl-t .bg{filter:grayscale(1) contrast(.9) brightness(.85) blur(1.5px)}
.cl-t::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,52,64,.86) 0%,rgba(40,52,64,.55) 55%,rgba(40,52,64,.3) 100%)}
.cl-l{clip-path:inset(0 0 0 var(--pos))}
.cl-l::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(11,42,69,.88) 0%,rgba(11,42,69,.5) 50%,rgba(11,42,69,.1) 100%)}
.cl .bg.fade{opacity:0}
.side{position:absolute;top:0;bottom:0;z-index:2;width:min(44%,460px);padding:28px 30px;display:flex;flex-direction:column;color:#fff}
.cl-t .side{left:0}
.cl-l .side{right:0}
.chip{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px 0 6px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.chip i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center}
.chip svg{width:13px;height:13px}
.cl-t .chip{background:rgba(255,255,255,.14);color:rgba(255,255,255,.85)}
.cl-t .chip i{background:rgba(255,255,255,.2)}
.cl-l .chip{background:var(--sun);color:var(--navy);align-self:flex-end}
.cl-l .chip i{background:rgba(11,42,69,.12)}
.side h3{margin:16px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(24px,2.4vw,32px);letter-spacing:-.035em;line-height:1.05}
.cl-l .side h3{text-align:right}
.cl-l .side h3 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--sun)}
.tlist{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.tlist li{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:16px;font-size:14.5px;line-height:1.45;font-weight:600;animation:tin .5s var(--ease) both;animation-delay:calc(var(--i) * 70ms)}
@keyframes tin{from{opacity:0;transform:translateY(10px)}}
.tlist time{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.01em}
.cl-t .tlist li{background:rgba(255,255,255,.07);color:rgba(255,255,255,.72)}
.cl-t .tlist time{color:rgba(255,255,255,.55)}
.cl-t .tlist li span{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.35)}
.cl-l .tlist li{background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.18)}
.cl-l .tlist time{color:var(--sun)}
.side .foot{margin-top:auto;padding-top:16px;font-size:13px;font-weight:700}
.cl-t .foot{color:rgba(255,255,255,.6)}
.cl-l .foot{color:rgba(255,255,255,.85);text-align:right}
.cl-l .foot b{color:var(--sun)}
.place{position:absolute;left:50%;top:22px;z-index:3;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--navy);font-size:13px;font-weight:800;box-shadow:0 10px 24px -12px rgba(0,0,0,.5);pointer-events:none;white-space:nowrap}
.place i{width:8px;height:8px;border-radius:50%;background:var(--sun)}
.handle{position:absolute;top:0;bottom:0;left:var(--pos);z-index:4;width:0;cursor:ew-resize}
.handle::before{content:"";position:absolute;top:0;bottom:0;left:-1.5px;width:3px;background:#fff;box-shadow:0 0 20px rgba(255,255,255,.6)}
.knob{position:absolute;top:50%;left:0;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(0,0,0,.55);border:0;cursor:ew-resize;transition:transform .3s var(--ease)}
.knob:hover,.cmp.drag .knob{transform:scale(1.1)}
.knob svg{width:26px;height:26px}
.knob::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(255,255,255,.6);animation:kp 2.2s ease-out infinite}
@keyframes kp{to{transform:scale(1.5);opacity:0}}
.cmp.drag .knob::after{animation:none;opacity:0}
.mtog{display:none}

/* why-local flip cards */
.why3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.wl{position:relative;perspective:1300px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.wl-in{display:grid;transform-style:preserve-3d;transition:transform .9s var(--ease);transform:rotateY(var(--f,0deg))}
.wl.on{--f:180deg}
.wl:focus-visible .face{box-shadow:0 0 0 3px var(--blue),0 22px 50px -26px rgba(11,42,69,.35)}
.face{grid-area:1/1;position:relative;min-height:272px;padding:24px;border-radius:28px;display:flex;flex-direction:column;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 22px 50px -26px rgba(11,42,69,.35)}
.wf{background:#fff}
.wl .ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--sky);color:var(--blue-d)}
.wl .ic svg{width:24px;height:24px}
.wl h4{margin:18px 0 0;font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.03em;line-height:1.1}
.wf p{margin:8px 0 0;font-size:15px;line-height:1.55;color:var(--mist)}
.fh{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:var(--blue-d)}
.fh svg{width:16px;height:16px;transition:transform .6s var(--ease)}
.wl:hover .fh svg{transform:rotate(180deg)}
.wl.hi .wf{background:var(--blue-d);color:#fff}
.wl.hi .wl.hi .ic{background:rgba(255,255,255,.16);color:#fff}
.wl.hi .wf p{color:rgba(255,255,255,.82)}
.wl.hi .fh{color:var(--sun)}
.wb{transform:rotateY(180deg);color:#fff;background:var(--navy)}
.wb::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,42,69,.55) 0%,rgba(11,42,69,.92) 70%),var(--wimg,none) center/cover,linear-gradient(135deg,var(--blue-d),var(--navy));transition:opacity .4s}
.wb>*{position:relative}
.wb-k{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.wb-k i{width:7px;height:7px;border-radius:50%;background:var(--sun)}
.wb-k b{color:var(--sun)}
.wb .tip-t{margin:18px 0 0;font-family:var(--display);font-weight:700;font-size:21px;line-height:1.3;letter-spacing:-.02em}
.wb-f{margin-top:auto;padding-top:16px;display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.75)}
.wb-f .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--sun);color:var(--navy)}
.wb-f .av svg{width:14px;height:14px}

/* tourist chip: red cross */
.cl-t .chip i{background:#E5484D;color:#fff;box-shadow:0 0 0 3px rgba(229,72,77,.25)}
.cl-t .tlist li span{text-decoration-color:rgba(255,110,110,.75)!important}

/* auto-advance progress on the active tab */
.ltabs button{position:relative;overflow:hidden}
.ltabs button.on::after{content:"";position:absolute;left:46px;right:16px;bottom:6px;height:2px;border-radius:2px;background:var(--sun);transform-origin:left;transform:scaleX(var(--p,0))}

@media (max-width:900px){
  .loc-head{grid-template-columns:minmax(0,1fr)}
  .why3{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .cmp{height:640px}
  .side{width:100%;padding:76px 18px 64px}
  .cl-t .side,.cl-l .side{left:0;right:0}
  .cl-l .chip,.cl-l .side h3,.cl-l .foot{align-self:flex-start;text-align:left}
  .place{top:auto;bottom:16px}
  .mtog{display:flex;position:absolute;left:50%;top:16px;z-index:5;transform:translateX(-50%);padding:4px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
  .mtog button{height:36px;padding:0 14px;border:0;border-radius:999px;background:transparent;font:800 13px var(--ui);cursor:pointer;white-space:nowrap}
  .mtog button.on{background:var(--navy);color:#fff}
  .loc-bar .btn{width:100%}
  .ltabs{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .ltabs::-webkit-scrollbar{display:none}
  .ltabs button{flex:0 0 auto;padding:0 12px 0 4px;font-size:13px}
  .loc{margin-top:-28px;border-radius:28px 28px 0 0}
  .handle{display:none}
  .cmp{touch-action:auto}
  .cl-l{clip-path:none}
  .cl{transition:opacity .45s var(--ease)}
  .cmp.show-t .cl-l,.cmp:not(.show-t) .cl-t{opacity:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}.wl-in{transition:none}}

/* ================= TRAVEL EXPERTS (auto-scrolling) ================= */
.exs{position:relative;overflow:hidden;margin:0 clamp(0px,1vw,14px);padding:clamp(90px,9vw,130px) 0 clamp(70px,7vw,100px);border-radius:44px;color:#fff;isolation:isolate;
  background:radial-gradient(70% 60% at 12% 0%,rgba(59,158,232,.42),transparent 60%),radial-gradient(55% 45% at 92% 100%,rgba(255,181,71,.14),transparent 60%),linear-gradient(180deg,#0F3A5F 0%,var(--navy) 100%)}
.exs::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent);mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent)}
.exs-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:end}
.exs .ey{color:var(--sky3)}
.exs .ey::before{background:var(--sky3)}
.exs .h2{color:#fff}
.exs .h2 em{color:var(--sky3)}
.exs-head p{margin:0;max-width:44ch;font-size:16.5px;line-height:1.6;color:rgba(255,255,255,.72)}

.exs-stage{margin-top:clamp(36px,5vw,56px);perspective:1500px}
.exs-3d{display:flex;flex-direction:column;gap:6px;transform-style:preserve-3d;transform:rotateX(var(--tx,9deg)) rotateY(var(--ty,0deg));transition:transform .9s var(--ease)}
.mq{position:relative;overflow:hidden;padding:16px 0 18px;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
.mq.drag{cursor:grabbing}
.mq-t{display:flex;width:max-content;will-change:transform}

.ag{flex:0 0 auto;width:316px;margin-right:16px;display:grid;grid-template-columns:58px minmax(0,1fr) 22px;grid-template-rows:auto auto auto;column-gap:14px;row-gap:3px;align-items:center;padding:16px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;text-align:left;font:inherit;cursor:inherit;
  transition:background .35s,color .35s,border-color .35s,transform .5s var(--ease),box-shadow .5s var(--ease)}
.ag:hover,.ag:focus-visible{background:#fff;color:var(--navy);border-color:#fff;transform:translateY(-8px) translateZ(30px);box-shadow:0 30px 50px -24px rgba(0,0,0,.7);outline:none}
.ag:focus-visible{box-shadow:0 0 0 3px var(--sun),0 30px 50px -24px rgba(0,0,0,.7)}
.ag-logo{grid-row:1/3;grid-column:1;width:58px;height:58px;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:#fff;color:var(--navy);font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.04em;box-shadow:0 8px 18px -10px rgba(0,0,0,.5)}
.ag-logo img{width:100%;height:100%;object-fit:contain;padding:7px}
.ag-logo.mono{background:linear-gradient(135deg,var(--c1),var(--c2));color:#fff}
.ag-n{grid-row:1;grid-column:2;align-self:end;font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.025em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-b{grid-row:2;grid-column:2;align-self:start;display:flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-b svg{flex:0 0 auto;width:12px;height:12px}
.ag-v{grid-row:1/3;grid-column:3;width:22px;height:22px;color:var(--sky3);transition:color .35s}
.ag:hover .ag-v{color:var(--blue)}
.ag-t{grid-row:3;grid-column:1/-1;display:flex;align-items:center;gap:6px;margin-top:12px;min-width:0}
.ag-t i{font-style:normal;font-size:11.5px;font-weight:800;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.1);white-space:nowrap;transition:background .35s,color .35s}
.ag:hover .ag-t i{background:var(--sky);color:var(--blue-d)}
.ag-go{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;white-space:nowrap;color:var(--blue-d);opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .4s var(--ease)}
.ag-go svg{width:13px;height:13px}
.ag:hover .ag-go,.ag:focus-visible .ag-go{opacity:1;transform:none}

.exs-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.exs-hint svg{width:15px;height:15px}

@media (max-width:900px){.exs-head{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){
  .exs{margin:0;border-radius:28px}
  .exs-3d{--tx:0deg}
  .ag{width:268px;margin-right:12px;padding:14px;grid-template-columns:50px minmax(0,1fr) 20px}
  .ag-logo{width:50px;height:50px;border-radius:15px;font-size:18px}
  .ag-go{display:none}
  .exs-hint{font-size:10.5px}
}

/* ================= TRIP TYPES (kept from v3, renamed) ================= */
.vsec{padding:clamp(90px,9vw,130px) 0}
.vsec-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;align-items:end}
.vsec-head p{margin:0;max-width:44ch;font-size:16.5px;line-height:1.6;color:var(--mist)}
.vibes{display:flex;gap:12px;height:540px;margin-top:clamp(28px,4vw,48px)}
.vb{position:relative;flex:1;min-width:0;border-radius:30px;overflow:hidden;cursor:pointer;background:linear-gradient(135deg,var(--sky2),var(--sky3));transition:flex .8s var(--ease);border:0;padding:0;text-align:left;color:#fff}
.vb.on{flex:4.2;cursor:default}
.vb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.vb:hover img{transform:scale(1.05)}
.vb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(11,42,69,.85));pointer-events:none}
.vb-v{position:absolute;left:50%;bottom:28px;z-index:2;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.03em;white-space:nowrap;transition:opacity .4s}
.vb.on .vb-v{opacity:0}
.vb-c{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(20px,2.4vw,32px);opacity:0;transform:translateY(20px);transition:opacity .4s,transform .6s var(--ease);pointer-events:none}
.vb.on .vb-c{opacity:1;transform:none;transition-delay:.25s;pointer-events:auto}
.vb-c small{font-size:11.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--sun)}
.vb-c h3{margin:8px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(30px,3.4vw,48px);letter-spacing:-.045em;line-height:.98}
.vb-c h3 em{font-family:var(--serif);font-style:italic;font-weight:400}
.vb-c p{margin:10px 0 0;max-width:44ch;font-size:15.5px;line-height:1.55;color:rgba(255,255,255,.88)}
.vb-c .tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px}
.vb-c .tags span,.vb-c .tags button{border:0;color:#fff;font-family:inherit;cursor:pointer;transition:background .25s,color .25s;font-size:12.5px;font-weight:800;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px)}

.vb-c .tags button:hover{background:#fff;color:var(--navy)}
.vb-c .btn svg{width:17px;height:17px}
.vb.on img{animation:vbz 9s ease-out both}
@keyframes vbz{from{transform:scale(1.12)}to{transform:scale(1)}}
@media (max-width:900px){.vsec-head{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){
  .vibes{flex-direction:column;height:auto}
  .vb{flex:none;height:96px;transition:height .7s var(--ease)}
  .vb.on{height:440px;flex:none}
  .vb-v{writing-mode:horizontal-tb;transform:none;left:22px;bottom:auto;top:50%;translate:0 -50%}
}
@media (prefers-reduced-motion:reduce){.vb.on img{animation:none}}

/* ================= TRIP MATCH QUIZ (from v2) ================= */
.qsec{--fg:#fff;--fdim:rgba(255,255,255,.62);padding:0 0 clamp(90px,9vw,130px)}
.qsec-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;align-items:end}
.qsec-head p{margin:0;max-width:44ch;font-size:16.5px;line-height:1.6;color:var(--mist)}
.quiz{margin-top:clamp(28px,4vw,48px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);border-radius:36px;background:#fff;box-shadow:0 40px 80px -50px rgba(11,42,69,.45);overflow:hidden;min-height:520px}
.qz-l{padding:clamp(22px,3vw,40px);display:flex;flex-direction:column}
.qz-prog{display:flex;gap:6px}
.qz-prog i{flex:1;height:6px;border-radius:999px;background:var(--sky);overflow:hidden;position:relative}
.qz-prog i::after{content:"";position:absolute;inset:0;background:var(--blue-d);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.qz-prog i.done::after{transform:scaleX(1)}
.qz-n{margin-top:22px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-d)}
.qz-q{margin:8px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(28px,3vw,40px);letter-spacing:-.04em;line-height:1.02;animation:qin .5s var(--ease) both}
@keyframes qin{from{opacity:0;transform:translateX(24px)}}
.qz-o{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.qo{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 16px;border-radius:20px;border:1px solid var(--line2);background:#fff;text-align:left;cursor:pointer;transition:all .25s;animation:qin .5s var(--ease) both;animation-delay:calc(var(--i) * 60ms)}
.qo:hover{border-color:var(--blue-d);background:var(--sky);transform:translateY(-2px)}
.qo.on{border-color:var(--navy);background:var(--navy);color:#fff}
.qo .qi{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--sky);color:var(--blue-d);flex:none}
.qo.on .qi{background:rgba(255,255,255,.15);color:#fff}
.qo .qi svg{width:21px;height:21px}
.qo b{display:block;font-size:15.5px}
.qo small{display:block;margin-top:2px;font-size:12.5px;font-weight:600;color:var(--dim)}
.qo.on small{color:var(--fdim)}
.qz-f{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:24px}
.qz-back{border:0;background:none;font:800 14px var(--ui);color:var(--mist);cursor:pointer;padding:10px 0}
.qz-back:disabled{opacity:.3;cursor:default}
.qz-r{position:relative;background:var(--navy);color:var(--fg);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:12px;overflow:hidden;isolation:isolate}
.qz-r::before{content:"";position:absolute;right:-140px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(59,158,232,.45),transparent 65%);z-index:-1}
.qz-r h4{margin:0;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--sky3)}
.qz-ans{display:flex;flex-direction:column;gap:8px}
.qz-ph{margin-top:auto;font-size:14px;line-height:1.55;color:var(--fdim)}
.res{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.rc{position:relative;border-radius:24px;overflow:hidden;min-height:300px;background:linear-gradient(135deg,var(--sky2),var(--sky3));color:#fff;animation:qrin .7s var(--ease) both;animation-delay:calc(var(--i) * 120ms)}
.rc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,42,69,.1),rgba(11,42,69,.86))}
.rc-in{position:absolute;inset:0;z-index:1;padding:16px;display:flex;flex-direction:column;justify-content:space-between}
.ring{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--sun) calc(var(--p) * 1%),rgba(255,255,255,.25) 0);transition:--p 1s}
@keyframes qrin{from{opacity:0;transform:translateY(24px) scale(.97)}}
.qo{font:inherit;color:var(--navy)}
.qz-ans button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1px solid transparent;border-radius:16px;background:rgba(255,255,255,.06);font:inherit;font-size:14px;color:#fff;text-align:left;cursor:pointer;transition:background .25s,border-color .25s}
.qz-ans button:hover{background:rgba(255,255,255,.12)}
.qz-ans button.cur{border-color:rgba(141,208,247,.5);background:rgba(59,158,232,.18)}
.qz-ans button.set b{color:var(--sun);animation:qin .4s var(--ease) both}
.qz-ans button:disabled{cursor:default}
.qz-ans span{color:var(--fdim);font-weight:700}
.qz-ans b{text-align:right}
.qz-tip{font-size:13px;font-weight:700;color:var(--dim)}
.res:empty{display:none}
.rc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rc-tag{padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);font-size:11.5px;font-weight:800;white-space:nowrap}
.rc .btn{border:0}
.ring span{color:#fff}
@media (max-width:900px){.qsec-head{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.quiz{grid-template-columns:minmax(0,1fr)}.res{grid-template-columns:minmax(0,1fr)}.rc{min-height:260px}}
@media (max-width:560px){.qz-o{grid-template-columns:minmax(0,1fr)}.qo{min-height:66px}.qz-tip{display:none}}
.ring span{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(11,42,69,.85);font-family:var(--display);font-weight:800;font-size:17px}
.rc h3{margin:0;font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.035em}
.rc p{margin:6px 0 12px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.88)}

/* ================= SAFARZING AI ITINERARY ================= */
.ai{position:relative;padding:clamp(90px,9vw,130px) 0;background:radial-gradient(60% 50% at 85% 10%,rgba(59,158,232,.16),transparent 70%),linear-gradient(180deg,var(--bg),#E8F3FC 60%,var(--bg))}
.ai-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:end}
.ai-hr p{margin:0 0 18px;max-width:46ch;font-size:16.5px;line-height:1.6;color:var(--mist)}
.ai-hr .btn svg{width:17px;height:17px}

.ai-app{position:relative;margin-top:clamp(32px,4vw,48px);border-radius:32px;background:#fff;box-shadow:0 1px 0 #fff inset,0 50px 100px -50px rgba(11,42,69,.5),0 0 0 1px rgba(11,42,69,.06);overflow:hidden}
.ai-bar{display:flex;align-items:center;gap:14px;height:50px;padding:0 16px;background:linear-gradient(180deg,#F7FBFE,#EEF6FC);border-bottom:1px solid var(--line)}
.ai-bar .dots{display:flex;gap:6px}
.ai-bar .dots i{width:11px;height:11px;border-radius:50%;background:#FF6B5F}
.ai-bar .dots i:nth-child(2){background:#FFBE3B}.ai-bar .dots i:nth-child(3){background:#2BCB55}
.ai-url{flex:1;max-width:340px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:6px;height:30px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:700;color:var(--mist)}
.ai-url svg{width:12px;height:12px;color:var(--ok)}
.ai-replay{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:#fff;font:800 12.5px var(--ui);color:var(--navy);cursor:pointer;transition:background .2s}
.ai-replay:hover{background:var(--sky)}
.ai-replay svg{width:13px;height:13px}

/* stepper */
.ai-steps{list-style:none;margin:0;padding:18px clamp(16px,3vw,36px);display:flex;align-items:center;border-bottom:1px solid var(--line)}
.ai-steps li{flex:1;display:flex;align-items:center;min-width:0}
.ai-steps li:last-child{flex:0 0 auto}
.ai-steps li:not(:last-child)::after{content:"";flex:1;height:3px;margin:0 16px;border-radius:3px;background:linear-gradient(var(--blue-d),var(--blue-d)) left/0% 100% no-repeat,var(--line);transition:background-size .8s var(--ease)}
.ai-steps li.done:not(:last-child)::after{background-size:100% 100%}
.ai-steps button{display:flex;align-items:center;gap:12px;border:0;background:none;padding:0;font:inherit;cursor:pointer;text-align:left;color:inherit}
.ai-steps .n{position:relative;width:50px;height:50px;flex:none;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line2);background:#fff;color:rgba(11,42,69,.45);font-family:var(--display);font-weight:800;font-size:20px;transition:all .45s var(--ease)}
.ai-steps .t{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}
.ai-steps small{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(11,42,69,.45);transition:color .3s}
.ai-steps strong{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em;color:rgba(11,42,69,.45);transition:color .3s}
.ai-steps li.on .n{border-color:var(--blue-d);background:var(--blue-d);color:#fff;box-shadow:0 0 0 6px rgba(59,158,232,.18)}
.ai-steps li.on small{color:var(--blue-d)}
.ai-steps li.on strong{color:var(--navy)}
.ai-steps li.done .n{border-color:var(--sky2);background:var(--sky);color:var(--blue-d)}
.ai-steps li.done .n b{display:none}
.ai-steps li.done .n::after{content:"";width:16px;height:9px;margin-top:-4px;border:solid var(--blue-d);border-width:0 0 3px 3px;transform:rotate(-45deg)}
.ai-steps li.done strong{color:var(--navy)}

.ai-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);height:600px}
.ai-in{position:relative;border-right:1px solid var(--line);overflow:hidden}
.pn{position:absolute;inset:0;padding:clamp(22px,2.6vw,34px);display:flex;flex-direction:column;opacity:0;transform:translateX(30px);pointer-events:none;transition:opacity .45s,transform .6s var(--ease)}
.pn.on{opacity:1;transform:none;pointer-events:auto}
.pn.out{transform:translateX(-30px)}
.pn h3{margin:0 0 18px;font-family:var(--display);font-weight:800;font-size:clamp(24px,2.3vw,30px);letter-spacing:-.035em}
.pn h4{margin:22px 0 10px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}

.fx{display:block;margin-bottom:12px;padding:10px 16px 12px;border-radius:18px;border:1.5px solid var(--line2);background:#fff;transition:border-color .3s,box-shadow .3s}
.fx:first-of-type{border-color:var(--blue);box-shadow:0 0 0 4px rgba(59,158,232,.14)}
.fx-l{display:block;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.fx-v{display:flex;align-items:center;gap:8px;margin-top:4px;min-height:26px;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.02em}
.fx-v svg{width:17px;height:17px;color:var(--blue-d);flex:none}
.caret{width:2px;height:20px;background:var(--blue-d);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.pn[data-p="0"].picked .caret{display:none}
.sug{list-style:none;margin:-4px 0 14px;padding:6px;border-radius:18px;background:#fff;box-shadow:0 20px 40px -20px rgba(11,42,69,.35),0 0 0 1px var(--line);opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .4s var(--ease)}
.sug.show{opacity:1;transform:none}
.sug li{display:flex;align-items:baseline;gap:4px;padding:10px 12px;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--mist)}
.sug li b{color:var(--navy)}
.sug li small{margin-left:auto;font-size:12px;font-weight:700;color:var(--blue-d)}
.sug li.hit{background:var(--sky)}
.sug li.hit.tap{background:var(--blue-d);color:#fff}.sug li.hit.tap b,.sug li.hit.tap small{color:#fff}

.cal{border-radius:20px;border:1px solid var(--line);padding:14px}
.cal-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.cal-h b{font-family:var(--display);font-size:17px;letter-spacing:-.02em}
.cal-h span{font-size:12px;font-weight:700;color:var(--blue-d)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px 0;text-align:center}
.cal-g .wd{font-size:11px;font-weight:800;color:var(--dim);padding-bottom:4px}
.cal-g .d{position:relative;height:36px;display:grid;place-items:center;font-size:13.5px;font-weight:700;color:var(--navy);z-index:0}
.cal-g .d.past{color:rgba(11,42,69,.3)}
.cal-g .d.r::before{content:"";position:absolute;inset:3px 0;background:var(--sky);z-index:-1}
.cal-g .d.s::before{left:50%}.cal-g .d.e::before{right:50%}
.cal-g .d.s::after,.cal-g .d.e::after{content:"";position:absolute;width:34px;height:34px;border-radius:50%;background:var(--blue-d);z-index:-1}
.cal-g .d.s,.cal-g .d.e{color:#fff}
.cal-g .d.r{animation:qin .3s var(--ease) both}
.cal-s{margin:14px 0 0;font-weight:800;font-size:15px;color:var(--blue-d)}

.bud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bud button{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:14px 12px;border-radius:18px;border:1.5px solid var(--line2);background:#fff;font:inherit;text-align:left;cursor:default;transition:all .3s}
.bud b{font-family:var(--display);font-size:17px;letter-spacing:-.02em;color:var(--navy)}
.bud small{font-size:12px;font-weight:700;color:var(--dim)}
.bud button.on{border-color:var(--blue-d);background:var(--blue-d)}
.bud button.on b,.bud button.on small{color:#fff}
.sty{display:flex;flex-wrap:wrap;gap:8px}
.sty span{padding:9px 14px;border-radius:999px;border:1.5px solid var(--line2);font-size:13.5px;font-weight:700;transition:all .3s}
.sty span.on{border-color:var(--blue-d);background:var(--sky);color:var(--blue-d)}

.rvw{margin:0;border-radius:20px;border:1px solid var(--line);overflow:hidden}
.rvw div{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;font-size:14px;animation:qin .5s var(--ease) both}
.rvw div:nth-child(2){animation-delay:.06s}.rvw div:nth-child(3){animation-delay:.12s}.rvw div:nth-child(4){animation-delay:.18s}.rvw div:nth-child(5){animation-delay:.24s}
.rvw div+div{border-top:1px solid var(--line)}
.rvw dt{font-weight:700;color:var(--dim)}
.rvw dd{margin:0;font-weight:800;text-align:right}
.gen{position:relative;margin-top:16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--blue-dd));color:#fff;font:800 15.5px var(--ui);overflow:hidden;cursor:default;box-shadow:0 14px 30px -14px rgba(26,109,181,.8);transition:transform .2s}
.gen svg{width:18px;height:18px}
.gen.tap{transform:scale(.96)}
.gen.busy::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);animation:shim 1.1s linear infinite}
@keyframes shim{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.load{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.load li{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;color:var(--dim);opacity:0;transform:translateY(6px);transition:opacity .3s,transform .4s var(--ease),color .3s}
.load li::before{content:"";width:16px;height:16px;flex:none;border-radius:50%;border:2px solid var(--sky2);border-top-color:var(--blue-d);animation:spin .8s linear infinite}
.load li.show{opacity:1;transform:none}
.load li.ok{color:var(--navy)}
.load li.ok::before{animation:none;border:0;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/10px no-repeat}
@keyframes spin{to{transform:rotate(360deg)}}

.pn-done{justify-content:center}
.pn-done .ok{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--ok);color:#fff;margin-bottom:16px;box-shadow:0 0 0 8px var(--ok-soft)}
.pn-done .ok svg{width:28px;height:28px}
.pn-done.on .ok{animation:pop .6s var(--ease) both}
@keyframes pop{from{transform:scale(.3);opacity:0}}
.pn-done p{margin:0;font-size:15.5px;line-height:1.55;color:var(--mist)}
.pn-done p b{color:var(--navy)}
.got{list-style:none;margin:16px 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.got li{padding:7px 12px;border-radius:999px;background:var(--sky);font-size:12.5px;font-weight:800;color:var(--blue-d)}
.pn-done .btn{align-self:flex-start}
.pn-done .btn svg{width:17px;height:17px}

/* itinerary sheet */
.ai-sheet{position:relative;overflow-y:auto;overscroll-behavior:auto;padding:18px;background:#F6FAFD;scrollbar-width:thin;scrollbar-color:var(--sky3) transparent;outline:none}
.sh-empty{position:absolute;inset:18px;display:flex;flex-direction:column;gap:12px;transition:opacity .4s}
.sh-empty span{border-radius:18px;background:linear-gradient(90deg,#EAF3FB 0%,#F4F9FD 50%,#EAF3FB 100%);background-size:200% 100%;animation:skel 1.6s linear infinite}
.sh-empty span:nth-child(1){height:180px}.sh-empty span:nth-child(2){height:80px;width:80%}.sh-empty span:nth-child(3){height:120px}
@keyframes skel{to{background-position:-200% 0}}
.sh-empty p{margin:auto 0 0;text-align:center;font-size:13px;font-weight:700;color:var(--dim)}
.ai-sheet.has .sh-empty{opacity:0;pointer-events:none}
.sh-b{display:none;margin-bottom:12px;padding:16px;border-radius:20px;background:#fff;box-shadow:0 10px 24px -18px rgba(11,42,69,.35)}
.sh-b.show{display:block;animation:shin .7s var(--ease) both}
@keyframes shin{from{opacity:0;transform:translateY(18px) scale(.98)}}
.sh-b h5{margin:0 0 6px;display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d)}
.sh-b h4{margin:0;font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.025em}
.sh-b p{margin:6px 0 0;font-size:13.5px;line-height:1.55;color:var(--mist)}
.sh-cover{position:relative;padding:0;height:170px;overflow:hidden}
.cv-img{position:absolute;inset:0;background:linear-gradient(135deg,#F2B27A,#B5432A);background-size:cover;background-position:center}
.sh-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,42,69,.05),rgba(11,42,69,.78))}
.cv-t{position:absolute;left:18px;right:18px;bottom:14px;z-index:1;color:#fff}
.cv-t h3{margin:0;font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-.045em}
.cv-t p{margin:2px 0 0;font-size:13.5px;font-weight:700;color:rgba(255,255,255,.88)}
.cv-t p.dt{animation:qin .5s var(--ease) both}
.wx-s{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
.wx-s div{padding:8px 10px;border-radius:12px;background:var(--bg)}
.wx-s small,.fc small{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.wx-s b{font-size:14.5px}
.fc-r{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}
.fc{padding:8px;border-radius:12px;background:var(--bg);text-align:center;animation:qin .45s var(--ease) both;animation-delay:calc(var(--i) * 70ms)}
.fc svg{display:block;width:20px;height:20px;margin:4px auto;color:var(--blue)}
.fc b{font-size:13px}
.note{margin-top:10px;padding:10px 12px;border-radius:12px;background:#FFF6E6;border:1px solid #FFD89B;font-size:12.5px;font-weight:700;line-height:1.45;color:#8A5A00}
.stays{list-style:none;margin:8px 0 0;padding:0}
.stays li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:14px;font-weight:700;animation:qin .45s var(--ease) both;animation-delay:calc(var(--i) * 90ms)}
.stays li+li{border-top:1px dashed var(--line2)}
.stays span{color:var(--blue-d);white-space:nowrap}
.sh-days{padding:0;background:none;box-shadow:none}
.dy{margin-bottom:8px;border-radius:18px;background:#fff;box-shadow:0 10px 24px -18px rgba(11,42,69,.35);overflow:hidden;animation:dyin .75s var(--ease) both;animation-delay:calc(var(--i) * 160ms)}
@keyframes dyin{0%{opacity:0;transform:translate(var(--dx,40px),var(--dy,-20px)) rotate(var(--dr,6deg)) scale(.9)}100%{opacity:1;transform:none}}
.dy-h{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:inherit}
.dy-b{flex:none;width:58px;padding:6px 0;border-radius:12px;background:var(--blue-d);color:#fff;text-align:center;line-height:1.1}
.dy-b small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.1em}
.dy-b b{font-size:14px}
.dy-t{flex:1;min-width:0}
.dy-t strong{display:block;font-family:var(--display);font-size:16px;letter-spacing:-.02em}
.dy-t span{font-size:12px;font-weight:800;color:var(--blue-d)}
.dy-c{width:20px;height:20px;flex:none;color:var(--dim);transition:transform .4s var(--ease)}
.dy.open .dy-c{transform:rotate(180deg)}
.dy-x{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.dy.open .dy-x{grid-template-rows:1fr}
.dy-x>div{overflow:hidden}
.dy-x ol{list-style:none;margin:0;padding:0 14px 6px 82px}
.dy-x li{position:relative;padding:6px 0 6px;font-size:13.5px;line-height:1.45}
.dy-x li::before{content:"";position:absolute;left:-17px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--sky3)}
.dy-x li::after{content:"";position:absolute;left:-14px;top:22px;bottom:-8px;width:2px;background:var(--sky)}
.dy-x li:last-child::after{display:none}
.dy-x li small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.dy-x .tip{margin:2px 14px 14px;padding:9px 12px;border-radius:12px;background:#FFF6E6;font-size:12.5px;font-weight:700;color:#8A5A00}
.bt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0 12px}
.bt div{padding:8px 10px;border-radius:12px;background:var(--bg)}
.bt small{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.bt b{font-size:13.5px}
.bar{margin-top:9px}
.bar p{margin:0 0 4px;display:flex;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:700;color:var(--navy)}
.bar p span{color:var(--dim);white-space:nowrap}
.bar i{display:block;height:7px;border-radius:9px;background:var(--bg);overflow:hidden}
.bar i::after{content:"";display:block;height:100%;width:var(--w);border-radius:9px;background:var(--c);transform-origin:left;animation:grow 1s var(--ease) both;animation-delay:calc(var(--i) * 80ms)}
@keyframes grow{from{transform:scaleX(0)}}
.pk{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pk span{padding:7px 11px;border-radius:999px;background:var(--bg);font-size:12.5px;font-weight:700;animation:qin .4s var(--ease) both;animation-delay:calc(var(--i) * 50ms)}

.ai-cur{position:absolute;left:0;top:0;z-index:10;width:26px;height:26px;pointer-events:none;opacity:0;transition:transform .8s var(--ease),opacity .3s;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.ai-cur.show{opacity:1}
.ai-cur svg{width:100%;height:100%}
.ai-cur::after{content:"";position:absolute;left:-9px;top:-9px;width:24px;height:24px;border-radius:50%;background:rgba(59,158,232,.45);transform:scale(0);opacity:0}
.ai-cur.clk::after{animation:clk .5s ease-out}
@keyframes clk{0%{transform:scale(.2);opacity:1}100%{transform:scale(1.8);opacity:0}}
.ai-note{margin:14px 4px 0;font-size:12.5px;font-weight:600;color:var(--dim)}

@media (max-width:900px){.ai-head{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){
  .ai-body{grid-template-columns:minmax(0,1fr);height:auto}
  .ai-in{height:470px;border-right:0;border-bottom:1px solid var(--line)}
  .ai-sheet{height:520px}
  .ai-steps li:not(:last-child)::after{margin:0 8px}
  .ai-steps .t{display:none}
  .ai-steps li.on .t{display:flex}
  .ai-steps .n{width:40px;height:40px;font-size:16px}
  .ai-steps strong{font-size:15px}
  .ai-cur{display:none}
}
@media (max-width:480px){
  .ai-url{font-size:12px}
  .ai-replay{padding:0 10px}
  .bud{grid-template-columns:minmax(0,1fr)}
  .bud button{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 14px}
  .dy-x ol{padding-left:40px}
  .wx-s{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fc-r{grid-template-columns:repeat(5,minmax(58px,1fr));overflow-x:auto;scrollbar-width:none}
  .fc{padding:7px 4px}.fc b{font-size:12px;white-space:nowrap}.fc small{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){.ai *{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---- AI section: warm orange "AI" palette (only inside .ai) ---- */
.ai{--blue:#F2845C;--blue-d:#E0603F;--blue-dd:#B5432A;--sky:#FFEEE6;--sky2:#FFDCCB;--sky3:#FFB998;--bg:#FFF8F4;
  background:radial-gradient(55% 45% at 88% 6%,rgba(255,140,90,.24),transparent 70%),radial-gradient(45% 40% at 4% 96%,rgba(255,170,110,.2),transparent 70%),linear-gradient(180deg,#F4F9FD 0%,#FFF4ED 16%,#FFF2EA 84%,#F4F9FD 100%)}
.ai .ey{color:#D2532F}
.ai .ey::before{background:linear-gradient(90deg,#FFA45B,#E0603F)}
.ai .h2 em{padding-right:.08em;background:linear-gradient(90deg,#FF9A4D 0%,#E0603F 55%,#D94F6B 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ai .b-blue{background:linear-gradient(135deg,#FF9A4D,#E0603F 60%,#D2463F);box-shadow:0 14px 28px -14px rgba(224,96,63,.8)}
.ai .b-blue:hover{background:linear-gradient(135deg,#F48A3C,#C9502F 60%,#B83A33)}
.ai-app{box-shadow:0 1px 0 #fff inset,0 50px 100px -50px rgba(181,67,42,.38),0 0 0 1px rgba(181,67,42,.08)}
.ai-bar{background:linear-gradient(180deg,#FFFAF7,#FFF1EA);border-bottom-color:rgba(181,67,42,.1)}
.ai-steps li.on .n{box-shadow:0 0 0 6px rgba(224,96,63,.18)}
.ai .fx:first-of-type{box-shadow:0 0 0 4px rgba(224,96,63,.14)}
.ai .gen{background:linear-gradient(135deg,#FFA45B,#E0603F 60%,#D2463F);box-shadow:0 14px 30px -14px rgba(224,96,63,.8)}
.ai-cur::after{background:rgba(224,96,63,.45)}
.ai-sheet{background:#FFF9F6;scrollbar-color:#FFB998 transparent}
.ai .sh-empty span{background:linear-gradient(90deg,#FFEDE4 0%,#FFF8F4 50%,#FFEDE4 100%);background-size:200% 100%}
.ai .sh-b{box-shadow:0 10px 24px -18px rgba(181,67,42,.35)}
.ai .dy{box-shadow:0 10px 24px -18px rgba(181,67,42,.35)}
.ai .dy-b{background:linear-gradient(135deg,#F2845C,#E0603F)}
.ai .pn-done .ok{background:linear-gradient(135deg,#FFA45B,#E0603F);box-shadow:0 0 0 8px #FFE6DA}


/* ---- AI demo stage: darker backdrop so the app screen stands out ---- */
.ai-stage{--p:1;--mx:50%;--my:30%;--dx:0;--dy:0;position:relative;margin-top:clamp(32px,4vw,52px);padding:0 clamp(14px,3.2vw,44px) clamp(18px,3.2vw,44px);border-radius:clamp(28px,3.4vw,44px);
  background:radial-gradient(40% 55% at 85% 0%,rgba(255,138,76,.38),transparent 70%),radial-gradient(45% 60% at 0% 100%,rgba(217,79,107,.32),transparent 70%),linear-gradient(160deg,#2A1222 0%,#45182A 38%,#6E2A24 72%,#8E3D20 100%);
  box-shadow:0 40px 70px -40px rgba(110,32,24,.6),0 0 0 1px rgba(255,255,255,.06) inset;isolation:isolate;
  transform:translateY(calc((1 - var(--p)) * 60px)) scale(calc(.93 + var(--p) * .07));transform-origin:50% 0;opacity:calc(.35 + var(--p) * .65)}
.ai-stage::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,180,120,.22),transparent 60%),radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.6px) 0 0/22px 22px;
  -webkit-mask:linear-gradient(#000,#000);mask:linear-gradient(#000,#000)}
.ai-sbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:clamp(56px,6vw,74px);color:#fff}
.ai-live{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.ai-live i{position:relative;width:9px;height:9px;border-radius:50%;background:#FF8A4C}
.ai-live i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #FF8A4C;animation:aiPing 1.8s ease-out infinite}
@keyframes aiPing{from{transform:scale(.5);opacity:1}to{transform:scale(1.8);opacity:0}}
.ai-trk{display:flex;gap:6px}
.ai-trk span{height:6px;width:22px;border-radius:6px;background:rgba(255,255,255,.18);transition:background .4s,width .4s var(--ease)}
.ai-trk span.on{width:40px;background:linear-gradient(90deg,#FFB25B,#FF7A4C)}
.ai-trk span.done{background:rgba(255,178,91,.75)}
.ai-float{position:relative;z-index:2;transform:perspective(1400px) rotateX(calc(var(--dy) * -1.6deg)) rotateY(calc(var(--dx) * 2deg));transition:transform .6s var(--ease)}
.ai-stage .ai-app{margin-top:0;box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.12)}
.ai-chips{display:flex;gap:8px;flex-wrap:nowrap;min-width:0}
.ai-stk{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:14px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.75);font-size:13px;font-weight:800;white-space:nowrap;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transform:translate(calc(var(--dx) * var(--d,4px)),calc(var(--dy) * var(--d,4px))) rotate(var(--r,0deg)) scale(var(--s,1));transition:transform .5s var(--ease),background .4s,color .4s,box-shadow .4s}
.ai-stk b{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:rgba(255,255,255,.12);color:#FFB25B;flex:none;transition:background .4s,color .4s}
.ai-stk b svg{width:14px;height:14px}
.ai-stk small{display:block;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.65;line-height:1.1}
.ai-stk:hover{--s:1.06}
.ai-stk.lit{--s:1.06;--r:-2deg;background:#fff;color:#2A1222;box-shadow:0 0 0 4px rgba(255,178,91,.35),0 16px 30px -12px rgba(255,122,76,.75);animation:aiWig .6s var(--ease)}
.ai-stk.lit b{background:linear-gradient(135deg,#FFA45B,#E0603F);color:#fff}
.ai-stk.k2{--d:-4px}.ai-stk.k4{--d:-3px}
@keyframes aiWig{30%{rotate:-5deg}60%{rotate:4deg}}
.ai-plane{position:absolute;right:clamp(90px,14vw,220px);top:12px;z-index:1;width:60px;height:46px;color:#FFB25B;pointer-events:none;
  transform:translate(calc(var(--dx) * -18px),calc(var(--dy) * -10px));transition:transform .8s var(--ease)}
.ai-plane svg{width:100%;height:100%;overflow:visible}
.ai-plane path.trail{stroke-dasharray:4 6;animation:aiDash 1.4s linear infinite}
@keyframes aiDash{to{stroke-dashoffset:-20}}
.ai-spk{position:absolute;z-index:1;width:14px;height:14px;color:#FFD08A;pointer-events:none;animation:aiTw 2.6s ease-in-out infinite}
.ai-spk svg{width:100%;height:100%}
@keyframes aiTw{0%,100%{opacity:.25;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(45deg)}}
.ai-stage + .ai-note{text-align:center}
@media (max-width:1100px){.ai-stk:not(.lit){padding:6px}.ai-stk:not(.lit)>span{display:none}}
@media (max-width:900px){.ai-plane{display:none}}
@media (max-width:560px){.ai-stk:not(.lit){display:none}.ai-live{font-size:11.5px}}
@media (max-width:560px){.ai-trk{display:none}.ai-stage{padding:0 10px 12px}.ai-sbar{min-height:58px}}
@media (hover:none){.ai-float{transform:none}}
@media (prefers-reduced-motion:reduce){.ai-stage{transform:none;opacity:1}.ai-float,.ai-stk{transform:rotate(var(--r,0deg))}}


/* scroll fix: page scrolls from anywhere; only the founders' badges grab touch */
.co .badge{touch-action:none}

/* ================= TRIP TYPE PAGES (#/t/<type>) · one themed page per trip type ================= */
.tp{--t-bg:#F4F9FD;--t-bg2:#F4F9FD;--t-ink:#0B2A45;--t-mute:rgba(11,42,69,.68);--t-acc:#1A6DB5;--t-acc2:#0B2A45;--t-soft:#E6F2FB;--t-card:#fff;--t-line:rgba(11,42,69,.1);
  --t-hfont:var(--display);--t-hw:800;--t-hcase:none;--t-hls:-.045em;--t-xfont:var(--serif);--t-xstyle:italic;--t-xw:400;--t-frame:28px;--t-btn:var(--t-acc);
  position:relative;padding-top:clamp(96px,12vh,112px);overflow:clip;color:var(--t-ink);
  background:linear-gradient(180deg,var(--t-bg) 0%,var(--t-bg2) 55%,var(--t-bg2) 85%,var(--bg) 100%)}
.tp--couples{--t-bg:#FFF1F4;--t-bg2:#FFE4EB;--t-ink:#3D0F1F;--t-mute:rgba(61,15,31,.7);--t-acc:#D6336C;--t-acc2:#8E1B3A;--t-soft:#FFD3DF;--t-line:rgba(142,27,58,.14);
  --t-hfont:'Instrument Serif',Georgia,serif;--t-hw:400;--t-hls:-.02em;--t-xfont:'Great Vibes','Instrument Serif',cursive;--t-xstyle:normal;--t-frame:999px 999px 26px 26px;--t-btn:#C2255C}
.tp--families{--t-bg:#FFF4E6;--t-bg2:#FFF9F1;--t-ink:#1F3A33;--t-mute:rgba(31,58,51,.72);--t-acc:#E2603A;--t-acc2:#2F6B4F;--t-soft:#FCE1D2;--t-line:rgba(31,58,51,.12);
  --t-hfont:'Fraunces',Georgia,serif;--t-hw:600;--t-hls:-.025em;--t-xfont:'Fraunces',Georgia,serif;--t-xstyle:italic;--t-xw:500;--t-frame:30px;--t-btn:#E2603A;
  background:radial-gradient(50% 360px at 82% 140px,rgba(255,200,140,.45),transparent 70%),linear-gradient(180deg,#FFE9D2 0%,#FFF3E4 30%,#FFF9F1 60%,#F7F4EC 100%)}
.tp--friends{--t-bg:#1B1140;--t-bg2:#2A1552;--t-ink:#FFF1E6;--t-mute:rgba(255,241,230,.74);--t-acc:#FF7A59;--t-acc2:#FFD23F;--t-soft:rgba(255,210,63,.16);--t-card:#2B1A57;--t-line:rgba(255,241,230,.14);
  --t-hfont:var(--display);--t-hw:800;--t-hls:-.04em;--t-xfont:var(--serif);--t-xstyle:italic;--t-xw:400;--t-frame:6px;--t-btn:#FF6A4D;
  background:radial-gradient(70% 420px at 50% 760px,rgba(255,122,89,.45),transparent 70%),radial-gradient(40% 300px at 85% 120px,rgba(123,97,255,.35),transparent 70%),linear-gradient(180deg,#140C33 0%,#24124A 40%,#2A1552 100%)}
.tp--adventure{--t-bg:#0D1A16;--t-bg2:#18291F;--t-ink:#F3EBDD;--t-mute:rgba(243,235,221,.72);--t-acc:#FF7A1A;--t-acc2:#E9D3A6;--t-soft:rgba(255,122,26,.16);--t-card:#172821;--t-line:rgba(243,235,221,.14);
  --t-hfont:'Anton',Impact,'Arial Narrow',sans-serif;--t-hw:400;--t-hcase:uppercase;--t-hls:.005em;--t-xfont:'Anton',Impact,sans-serif;--t-xstyle:normal;--t-frame:6px;--t-btn:#FF7A1A;
  background:linear-gradient(180deg,#0D1A16 0%,#16261F 60%,#1B2C24 100%)}
.tp--spiritual{--t-bg:#FFF5D6;--t-bg2:#FFE4AE;--t-ink:#4A1410;--t-mute:rgba(74,20,16,.72);--t-acc:#E8590C;--t-acc2:#9C1C1C;--t-soft:#FFD98A;--t-line:rgba(156,28,28,.16);
  --t-hfont:'Yatra One','Instrument Serif',serif;--t-hw:400;--t-hls:0;--t-xfont:'Yatra One',serif;--t-xstyle:normal;--t-frame:999px 999px 20px 20px;--t-btn:#D9480F}

.tp .wrap{position:relative;z-index:2}
.tp-decor{position:absolute;left:0;right:0;top:0;height:min(980px,100%);z-index:1;pointer-events:none;overflow:hidden}
.tp-decor svg{position:absolute;overflow:visible}
.tp-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--t-mute)}
.tp-crumb a{color:inherit;text-decoration:none}.tp-crumb a:hover{color:var(--t-acc)}
.tp-crumb span[aria-hidden]{opacity:.5}

/* hero */
.tp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(28px,5vw,56px) 0 clamp(40px,6vw,80px)}
.tp-ey{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--t-acc)}
.tp-ey::before{content:"";width:28px;height:2px;border-radius:2px;background:currentColor}
.tp-h1{margin:14px 0 0;font-family:var(--t-hfont);font-weight:var(--t-hw);text-transform:var(--t-hcase);letter-spacing:var(--t-hls);font-size:clamp(46px,7.2vw,104px);line-height:.95;text-wrap:balance}
.tp-h1 em{font-family:var(--t-xfont);font-style:var(--t-xstyle);font-weight:var(--t-xw);color:var(--t-acc);letter-spacing:0}
.tp--couples .tp-h1 em{font-size:1.18em;line-height:.8;padding-right:.05em}
.tp--friends .tp-h1 em{font-size:1.08em;line-height:.9;text-transform:none;letter-spacing:-.01em;color:var(--t-acc2);text-shadow:0 0 30px rgba(255,210,63,.4)}
.tp--friends .tp-h1{text-transform:uppercase;font-size:clamp(46px,7vw,100px);line-height:.92}
.tp--adventure .tp-h1{font-size:clamp(52px,8.4vw,124px);line-height:.92}
.tp--spiritual .tp-h1{line-height:1.05}
.tp-lead{margin:20px 0 0;max-width:50ch;font-size:clamp(16px,1.4vw,18px);line-height:1.65;color:var(--t-mute)}
.tp-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.tp-stats div{padding:10px 16px;border-radius:16px;background:color-mix(in srgb,var(--t-card) 70%,transparent);box-shadow:inset 0 0 0 1px var(--t-line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tp-stats b{display:block;font-family:var(--t-hfont);font-weight:var(--t-hw);font-size:22px;letter-spacing:-.01em;line-height:1.1}
.tp-stats small{font-size:12px;font-weight:700;color:var(--t-mute)}
.tp-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.tp .tp-go{background:var(--t-btn);color:#fff;box-shadow:0 16px 30px -16px var(--t-btn)}
.tp .tp-go:hover{filter:brightness(.94)}
.tp .tp-ghost{background:color-mix(in srgb,var(--t-card) 85%,transparent);color:var(--t-ink);border-color:var(--t-line)}
.tp .btn svg{width:17px;height:17px}

/* ===== hero photos: magazine covers, photo prints, and a small Safarzing mark on every photo ===== */
.tp-ph{container-type:size}
.tp-ph .szb{position:absolute;z-index:4;right:10px;top:10px;display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 6px;border-radius:999px;background:rgba(11,42,69,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font:800 9.5px var(--ui);letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
.tp-ph .szb svg{width:16px;height:auto;color:#8DD0F7}
/* magazine cover base */
.mg{position:absolute;inset:0;z-index:3;pointer-events:none;color:#fff}
.mg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 58%,rgba(0,0,0,.55) 100%)}
.mg>*{position:absolute;z-index:1}
.mg .mgh{left:5%;right:5%;display:block}
.mg .mgh svg{display:block;width:100%;height:auto;overflow:visible}
.mg .mgh text{fill:currentColor}
.mg .mgb{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 5px 3px;background:#fff;color:#111;font:800 6.5px var(--ui);letter-spacing:.1em}
.mg .mgb i{display:block;width:44px;height:20px;background:repeating-linear-gradient(90deg,#111 0 1px,transparent 1px 3px,#111 3px 5px,transparent 5px 6px,#111 6px 7px,transparent 7px 9px)}
.tp--couples .tp-ph.mgc figcaption,.tp--adventure .tp-ph.mgc figcaption{display:none}
.tp-ph.mgc .szb{display:none}
/* couples: a glossy honeymoon issue */
.tp--couples .tp-ph.mgc{border-radius:6px}
.mg--c .mgh{top:4cqh;color:#fff;filter:drop-shadow(0 2px 12px rgba(80,0,30,.35))}
.mg--c .mgh text{font:600 20px 'Fraunces',Georgia,serif;letter-spacing:.06em}
.mg--c .mgi{top:calc(4cqh + 19cqw);left:0;right:0;text-align:center;font:800 2.6cqw var(--ui);letter-spacing:.3em;text-transform:uppercase;opacity:.95}
.mg--c .mgl{left:5cqw;max-width:42cqw;font:700 3.4cqw/1.25 var(--ui);text-shadow:0 1px 8px rgba(0,0,0,.45)}
.mg--c .mgl em{display:block;font:400 9cqw/1 'Great Vibes',cursive;color:#FFD3E0;margin-bottom:.5cqw}
.mg--c .l1{top:36cqh}
.mg--c .l3{right:5cqw;left:auto;top:52cqh;text-align:right;max-width:34cqw}
.mg--c .mgb{right:5cqw;bottom:5cqh}
.mg--c .mgp{right:5cqw;top:36cqh;width:16cqw;height:16cqw;border-radius:50%;display:grid;place-items:center;text-align:center;background:#E0306E;font:800 2.5cqw/1.1 var(--ui);transform:rotate(10deg);box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
.mg--c .mgp b{display:block;font:700 4cqw/1 'Fraunces',serif}
/* couples: the small pictures become photo prints */
.tp--couples .tp-ph.pt{border-radius:3px;background:#FFFDFB;box-shadow:0 30px 50px -26px rgba(80,0,30,.5),0 0 0 1px rgba(0,0,0,.04)}
.tp--couples .tp-ph.pt i{inset:9px 9px 36px;border-radius:1px}
.tp--couples .tp-ph.pt figcaption{left:12px;right:auto;bottom:4px;padding:0;background:none;text-align:left;font:400 22px/1 'Great Vibes',cursive;color:#7A1236}
.tp--couples .tp-ph.pt .szb{top:auto;bottom:11px;right:10px;padding:0;background:none;backdrop-filter:none;color:#B5174E;font-size:7.5px}
.tp--couples .tp-ph.pt .szb svg{width:12px;color:#E0306E}
/* adventure: the outdoor issue */
.tp--adventure .tp-ph.mgc::before{inset:12px}
.mg--a::before{background:linear-gradient(180deg,rgba(10,20,15,.55) 0%,rgba(10,20,15,0) 34%,rgba(10,20,15,0) 55%,rgba(10,20,15,.7) 100%)}
.mg--a .mgk{top:5cqh;left:7cqw;font:800 2.7cqw var(--ui);letter-spacing:.32em;text-transform:uppercase;color:#FF8A2A}
.mg--a .mgh{top:calc(5cqh + 5cqw);color:#F3EBDD}
.mg--a .mgh text{font:400 20px 'Anton',Impact,'Arial Narrow',sans-serif}
.mg--a .mgl{left:7cqw;top:calc(5cqh + 24cqw);max-width:60cqw;font:400 8.5cqw/.92 'Anton',Impact,sans-serif;text-transform:uppercase;color:#fff}
.mg--a .mgl small{display:block;margin-top:1.4cqw;font:700 3cqw/1.3 var(--ui);text-transform:none;color:#E9D3A6}
.mg--a .mgt{right:7cqw;top:56cqh;padding:1.2cqw 2cqw;background:#FF7A1A;font:800 2.6cqw var(--ui);letter-spacing:.16em;text-transform:uppercase;transform:rotate(-4deg)}
.mg--a .mga{right:7cqw;top:calc(56cqh + 8cqw);text-align:right;font:400 6cqw/1 'Anton',sans-serif;color:#fff}
.mg--a .mga small{display:block;font:700 2.4cqw var(--ui);letter-spacing:.14em;color:#E9D3A6}
.mg--a .mgb{right:7cqw;bottom:6cqh}
/* friends: a tiny mark under each polaroid caption */
.tp--friends .tp-ph .szb{top:auto;bottom:3px;right:8px;padding:0;background:none;backdrop-filter:none;color:#7B61FF;font-size:7px;letter-spacing:.12em}
.tp--friends .tp-ph .szb svg{width:11px;color:#FF7A59}
.tp--families .tp-ph .szb{background:rgba(36,80,63,.6)}
.tp--families .tp-ph .szb svg,.tp--spiritual .tp-ph .szb svg{color:#FFD9A8}
.tp--spiritual .tp-ph .szb{background:rgba(107,20,20,.6)}
.tp--adventure .tp-ph .szb{right:auto;left:18px;top:18px;border-radius:2px;background:rgba(15,32,26,.7)}
.tp--adventure .tp-ph .szb svg{color:#FF8A2A}

/* v2: minimal mark (white, see-through, logo only) everywhere except adventure */
.tp:not(.tp--adventure) .tp-ph .szb{top:14px;right:14px;bottom:auto;left:auto;padding:0;gap:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:0;letter-spacing:0;color:#fff;opacity:.72;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.tp:not(.tp--adventure) .tp-ph .szb svg{width:34px;color:#fff}
.tp--friends .tp-ph .szb,.tp--couples .tp-ph.pt .szb{top:18px;right:18px;bottom:auto;color:#fff}
.tp--friends .tp-ph .szb svg,.tp--couples .tp-ph.pt .szb svg{width:28px;color:#fff}
/* yatra: framed temple prints instead of arches */
.tp--spiritual .tp-ph{border-radius:10px;padding:10px;background:#FFF8EA;box-shadow:0 34px 60px -30px rgba(107,20,20,.45),0 0 0 1px rgba(194,65,12,.18)}
.tp--spiritual .tp-ph i{inset:10px;border-radius:4px}
.tp--spiritual .tp-ph::before{content:"";position:absolute;inset:5px;z-index:2;border:1.5px solid #E8A33D;border-radius:7px;pointer-events:none}
.tp--spiritual .tp-ph::after{content:"";position:absolute;inset:14px;z-index:2;border:1px solid rgba(255,248,234,.7);border-radius:2px;pointer-events:none}
.tp--spiritual .tp-ph figcaption{left:50%;right:auto;bottom:22px;transform:translateX(-50%);z-index:3;padding:7px 16px;border-radius:999px;background:linear-gradient(135deg,#F59F00,#E8590C);color:#fff;font-family:'Yatra One','Fraunces',serif;font-weight:400;font-size:14px;letter-spacing:.02em;white-space:nowrap;box-shadow:0 8px 18px -8px rgba(194,65,12,.7)}
.tp--spiritual .tp-ph.p1{transform:rotate(-1.5deg)}
.tp--spiritual .tp-ph .szb{top:20px;right:20px}
@media (max-width:560px){.tp-ph .szb{font-size:8px;padding:3px 6px 3px 5px}.tp-ph .szb svg{width:13px}.tp--couples .tp-ph.pt figcaption{font-size:18px}}

/* families: infinite photo spiral (cards always face you; depth = size, blur and shade) */
.tp-hx{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;overflow:visible;}
.tp-hx.drag{cursor:grabbing}
.tp-hx .hx-st{position:absolute;left:50%;top:50%;width:0;height:0}
.tp-hx .hx-c{position:absolute;left:0;top:0;width:var(--cw);height:var(--cw);margin:calc(var(--cw) * -.5) 0 0 calc(var(--cw) * -.5);border-radius:16px;background:var(--g,#e9d8c8) center/cover;box-shadow:0 24px 40px -22px rgba(70,40,20,.55);will-change:transform,opacity,filter}

/* one headline style on every trip page: serif + script, like Honeymoons & getaways */
.tp.tp--couples,.tp.tp--families,.tp.tp--friends,.tp.tp--adventure,.tp.tp--spiritual{--t-hfont:'Instrument Serif',Georgia,serif;--t-hw:400;--t-hcase:none;--t-hls:-.02em;--t-xfont:'Great Vibes','Instrument Serif',cursive;--t-xstyle:normal;--t-xw:400}
.tp .tp-h1,.tp--friends .tp-h1,.tp--adventure .tp-h1,.tp--spiritual .tp-h1{text-transform:none;font-size:clamp(46px,7.2vw,104px);line-height:.95}
.tp .tp-h1 em,.tp--friends .tp-h1 em{font-size:1.18em;line-height:.8;padding-right:.05em;text-transform:none;letter-spacing:0}
/* adventure: light Spiti palette, sand browns and high-altitude blue */
.tp.tp--adventure{--t-bg:#DCEAF4;--t-bg2:#F2E7D8;--t-ink:#3A2617;--t-mute:rgba(58,38,23,.74);--t-acc:#B4531E;--t-acc2:#2E6E9E;--t-soft:#F6DFC8;--t-card:#FFFAF2;--t-line:rgba(58,38,23,.14);--t-btn:#B4531E;
  background:radial-gradient(60% 420px at 80% 80px,rgba(255,255,255,.7),transparent 70%),linear-gradient(180deg,#CFE4F3 0%,#E6EEF2 30%,#F2E7D8 62%,#EBDCC7 100%)}
.tp--adventure .tp-end{background:radial-gradient(60% 140% at 100% 0%,rgba(110,170,215,.45),transparent 60%),linear-gradient(135deg,#4A2C17,#9A4A1D)}
.tp--adventure .tp-k small{color:#FFD9B8}

/* adventure: Spiti valley colours (deep sky blue, snow, rust ridges, grey river) */
.tp.tp--adventure{--t-bg:#BFD8EE;--t-bg2:#F1E4D6;--t-ink:#2B1D15;--t-mute:rgba(43,29,21,.74);--t-acc:#C0582B;--t-acc2:#2D6FB4;--t-soft:#F5DCC8;--t-card:#FFFAF4;--t-line:rgba(43,29,21,.13);--t-btn:#B9502A;
  background:radial-gradient(45% 260px at 22% 120px,rgba(255,255,255,.85),transparent 70%),radial-gradient(40% 220px at 78% 60px,rgba(255,255,255,.7),transparent 70%),linear-gradient(180deg,#8FB9E2 0px,#C4DCF0 300px,#E4ECF1 620px,#F1E4D6 980px,#EFDFCC 100%)}
.tp.tp--adventure .tp-end{background:radial-gradient(55% 150% at 100% 0%,rgba(143,185,226,.55),transparent 62%),linear-gradient(135deg,#3A2418 0%,#8E3F22 55%,#C0582B 100%)}
.tp.tp--adventure .tp-end h2 em{color:#CFE6FA}
/* friends: lighter sky at the top */
.tp.tp--friends{background:radial-gradient(70% 420px at 50% 760px,rgba(255,122,89,.42),transparent 70%),radial-gradient(45% 320px at 85% 120px,rgba(160,140,255,.4),transparent 70%),linear-gradient(180deg,#5B43A6 0%,#45308A 26%,#331C66 60%,#2A1552 100%)}
.tp-decor .bub{position:absolute;animation:tpBob 5s ease-in-out infinite;animation-delay:var(--dl,0s)}
@keyframes tpBob{50%{transform:translateY(-10px) rotate(var(--r,0deg))}}
/* end band: same layout on every trip page; keep its bottom margin inside the page colour */
.tp{display:flow-root}
.tp>.wrap{display:flow-root}
.tp-end{align-items:center}
.tp-end>div:not(.btns){flex:1 1 420px;min-width:0}
.tp-end h2{max-width:none;text-wrap:balance}
.tp-end .btns{flex:0 0 auto}
@media (max-width:700px){.tp-end>div:not(.btns){flex-basis:100%}.tp-end .btns{width:100%}.tp-end .btns .btn{flex:1 1 0;min-width:0;padding:0 12px}}
/* phone: hero buttons side by side */
@media (max-width:560px){.tp .tp-cta{flex-wrap:nowrap;gap:8px}.tp .tp-cta .btn{flex:1 1 0;min-width:0;height:50px;padding:0 12px;font-size:14px;gap:6px}.tp .tp-cta .btn span{white-space:nowrap}.tp .tp-cta .btn svg{width:15px;height:15px}}

/* boarding-pass stats */
.tp-tix{--stub:118px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--stub);max-width:540px;margin-top:24px;border-radius:18px;
  background:color-mix(in srgb,var(--t-card) 88%,transparent);box-shadow:inset 0 0 0 1px var(--t-line),0 22px 40px -28px rgba(0,0,0,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  -webkit-mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at calc(100% - var(--stub)) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
  mask:radial-gradient(circle 11px at calc(100% - var(--stub)) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at calc(100% - var(--stub)) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
  transition:transform .4s var(--ease)}
.tp-tix:hover{transform:translateY(-3px) rotate(-.4deg)}
.tx-main{padding:13px 16px 15px;min-width:0}
.tx-k{display:flex;align-items:center;gap:7px;font:800 10px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--t-acc)}
.tx-k svg{width:14px;height:14px;transform:rotate(45deg)}
.tx-row{display:flex;margin-top:9px}
.tx-row>div{flex:1 1 auto;min-width:0;padding-right:12px}
.tx-row>div+div{padding-left:12px;border-left:1px dashed var(--t-line)}
.tx-row small,.tx-stub small{display:block;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--t-mute);white-space:nowrap}
.tx-row b{display:block;margin-top:3px;font-family:var(--t-hfont);font-weight:var(--t-hw);font-size:25px;line-height:1;white-space:nowrap;color:var(--t-ink)}
.tx-stub{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:12px 14px;border-left:2px dashed var(--t-line)}
.tx-stub b{font-family:var(--t-xfont);font-weight:400;font-size:24px;line-height:1;color:var(--t-acc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-stub i{display:block;height:16px;margin-top:4px;opacity:.55;background:repeating-linear-gradient(90deg,var(--t-ink) 0 1px,transparent 1px 3px,var(--t-ink) 3px 5px,transparent 5px 6px,var(--t-ink) 6px 7px,transparent 7px 9px)}
@media (max-width:560px){.tp-tix{--stub:94px}.tx-main{padding:11px 12px 12px}.tx-row>div{padding-right:8px}.tx-row>div+div{padding-left:8px}.tx-row b{font-size:19px}.tx-row small,.tx-stub small{font-size:8.5px}.tx-stub{padding:10px}.tx-stub b{font-size:17px;overflow:visible}.tx-k{font-size:8.5px}}
/* themed elements all the way down + hover */
.tp-fx{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.tp-fx .tfx{position:absolute;transform:translate(var(--px,0px),var(--py,0px)) scale(var(--ps,1));transition:transform .5s var(--ease),opacity .4s,filter .4s}
.tp-fx .tfx svg{display:block;width:100%;height:100%;overflow:visible;animation:tpFloat var(--t,8s) ease-in-out infinite;animation-delay:var(--dl,0s)}
.tp--families .tp-fx svg{filter:drop-shadow(0 8px 12px rgba(190,120,70,.28))}
.tp-fx .tfx.hot{--ps:1.45;opacity:1!important;filter:drop-shadow(0 0 10px var(--gl,rgba(255,255,255,.8)))}
.tp-fx .tr{position:absolute;width:var(--s,14px);height:var(--s,14px);margin:calc(var(--s,14px) / -2) 0 0 calc(var(--s,14px) / -2);animation:tpTrail .9s ease-out forwards}
.tp-fx .tr svg{display:block;width:100%;height:100%;overflow:visible}
@keyframes tpTrail{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:translate(var(--dx,0px),-38px) scale(1) rotate(var(--rr,20deg))}}
.tp-decor{transform:translate(calc(var(--mx,0) * 10px),calc(var(--my,0) * 6px));transition:transform .8s var(--ease)}
.tp-decor .str{transform-origin:50% 0}
@media (prefers-reduced-motion:reduce){.tp-fx .tfx svg{animation:none}.tp-decor{transform:none}}

/* photo collage */
.tp-col{position:relative;height:clamp(380px,40vw,540px)}
.tp-ph{position:absolute;margin:0;overflow:hidden;border-radius:var(--t-frame);background:var(--g,linear-gradient(160deg,#cfd8e3,#7b8aa0)) center/cover;box-shadow:0 40px 70px -36px rgba(0,0,0,.5),0 0 0 6px var(--t-card);transition:transform .7s var(--ease)}
.tp-ph i{position:absolute;inset:0;background-position:center;background-size:cover}
.tp-ph figcaption{position:absolute;left:12px;bottom:12px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:#0B2A45;font-size:12px;font-weight:800}
.tp-ph.p1{left:14%;top:0;width:58%;height:78%;z-index:2}
.tp-ph.p2{left:0;bottom:2%;width:38%;height:46%;z-index:3;transform:rotate(-5deg)}
.tp-ph.p3{right:0;bottom:8%;width:36%;height:44%;z-index:1;transform:rotate(5deg)}
.tp-col:hover .tp-ph.p2{transform:rotate(-8deg) translate(-8px,6px)}
.tp-col:hover .tp-ph.p3{transform:rotate(8deg) translate(8px,6px)}
.tp--friends .tp-ph{padding:10px 10px 38px;background:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.tp--friends .tp-ph i{inset:10px 10px 38px;border-radius:2px}
.tp--friends .tp-ph figcaption{left:0;right:0;bottom:8px;background:none;text-align:center;font-family:'Permanent Marker','Caveat',cursive;font-size:17px;font-weight:400;color:#24124A}
.tp--friends .tp-ph::after{content:"";position:absolute;top:-8px;left:50%;width:70px;height:22px;margin-left:-35px;background:rgba(255,122,89,.8);transform:rotate(3deg)}
.tp--friends .tp-ph.p2::after{background:rgba(255,210,63,.85);transform:rotate(-6deg)}
.tp--friends .tp-ph.p3::after{background:rgba(123,97,255,.75)}
.tp--friends .tp-ph.p1{transform:rotate(2deg)}
.tp--families .tp-ph{box-shadow:0 36px 60px -34px rgba(70,40,20,.45),0 0 0 8px #FFFDF8}
.tp--families .tp-ph::after{content:"";position:absolute;top:-4px;left:50%;width:78px;height:22px;margin-left:-39px;background:rgba(242,170,130,.75);transform:rotate(-4deg)}
.tp--families .tp-ph figcaption{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:500}
.tp--families .tp-k h3,.tp--families .tp-perk h3{letter-spacing:-.015em}
.tp--families .tp-k small{color:#FFD9C2}
.tp--adventure .tp-ph{box-shadow:0 40px 70px -30px rgba(0,0,0,.8),0 0 0 1px rgba(243,235,221,.2)}
.tp--adventure .tp-ph::before{content:"";position:absolute;z-index:2;inset:10px;border:2px solid transparent;border-image:linear-gradient(var(--t-acc),var(--t-acc)) 1;clip-path:polygon(0 0,22px 0,22px 2px,2px 2px,2px 22px,0 22px,0 0,100% 0,100% 22px,calc(100% - 2px) 22px,calc(100% - 2px) 2px,calc(100% - 22px) 2px,calc(100% - 22px) 0,100% 0,100% 100%,calc(100% - 22px) 100%,calc(100% - 22px) calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) calc(100% - 22px),100% calc(100% - 22px),100% 100%,0 100%,0 calc(100% - 22px),2px calc(100% - 22px),2px calc(100% - 2px),22px calc(100% - 2px),22px 100%,0 100%)}
.tp--adventure .tp-ph figcaption{background:var(--t-acc);color:#fff;border-radius:2px;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.tp--couples .tp-ph,.tp--spiritual .tp-ph{box-shadow:0 40px 70px -36px rgba(0,0,0,.45),0 0 0 6px var(--t-card),0 0 0 7px var(--t-line)}
.tp-note{position:absolute;z-index:4;font-family:'Caveat',cursive;font-size:24px;font-weight:600;color:var(--t-acc2);white-space:nowrap}
.tp-note svg{display:block;width:70px;height:40px;margin:2px 0 0 30px;color:var(--t-acc2)}

/* section heads */
.tp-sec{position:relative;padding:clamp(36px,5vw,64px) 0}
.tp-sh{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px 32px;margin-bottom:clamp(20px,3vw,32px)}
.tp-sh h2{margin:10px 0 0;font-family:var(--t-hfont);font-weight:var(--t-hw);text-transform:var(--t-hcase);letter-spacing:var(--t-hls);font-size:clamp(32px,4.2vw,56px);line-height:1;text-wrap:balance}
.tp-sh h2 em{font-family:var(--t-xfont);font-style:var(--t-xstyle);font-weight:var(--t-xw);color:var(--t-acc);letter-spacing:0}
.tp--couples .tp-sh h2 em{font-size:1.2em}
.tp--friends .tp-sh h2 em{color:var(--t-acc2)}
.tp--friends .tp-k small{color:var(--t-acc2)}
.tp--friends .tp-perk i{color:var(--t-acc2)}
.tp--friends .tp-ey{color:var(--t-acc2)}
.tp-sh p{margin:0;max-width:44ch;font-size:15.5px;line-height:1.6;color:var(--t-mute)}

/* kinds of trips */
.tp-kinds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tp-k{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:340px;padding:18px;border-radius:calc(var(--t-frame) / 1);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;
  background:var(--g,#334) center/cover;box-shadow:0 30px 50px -34px rgba(0,0,0,.6);transition:transform .5s var(--ease)}
.tp--couples .tp-k,.tp--spiritual .tp-k{border-radius:999px 999px 24px 24px;padding-top:120px}
.tp--friends .tp-k{border-radius:14px}
.tp-k i{position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;transition:transform 1s var(--ease)}
.tp-k::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.72))}
.tp-k:hover{transform:translateY(-6px)}.tp-k:hover i{transform:scale(1.07)}
.tp-k small{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--t-soft)}
.tp--adventure .tp-k small{color:var(--t-acc)}
.tp-k h3{margin:6px 0 0;font-family:var(--t-hfont);font-weight:var(--t-hw);text-transform:var(--t-hcase);letter-spacing:var(--t-hls);font-size:clamp(22px,2vw,28px);line-height:1.05}
.tp-k p{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.88)}

/* where to go */
.tp-where{display:flex;flex-wrap:wrap;gap:10px}
.tp-where a{display:inline-flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:999px;background:var(--t-card);color:var(--t-ink);text-decoration:none;box-shadow:inset 0 0 0 1px var(--t-line),0 14px 24px -20px rgba(0,0,0,.4);transition:transform .35s var(--ease),box-shadow .3s}
.tp-where a:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 2px var(--t-acc),0 18px 28px -18px rgba(0,0,0,.4)}
.tp-where span{width:44px;height:44px;border-radius:50%;background:var(--g) center/cover;flex:none}
.tp-where b{display:block;font-size:15px;font-weight:800}
.tp-where small{display:block;font-size:12px;font-weight:700;color:var(--t-mute)}

/* packages */
.tp-pks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.tp-pks .pkc{animation:none}
.tp--adventure .tp-pks .pkc{box-shadow:0 30px 50px -30px rgba(0,0,0,.7)}
.tp-none{grid-column:1/-1;padding:24px;border-radius:20px;background:var(--t-card);color:var(--t-mute);font-weight:700}

/* perks */
.tp-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tp-perk{padding:22px;border-radius:24px;background:color-mix(in srgb,var(--t-card) 78%,transparent);box-shadow:inset 0 0 0 1px var(--t-line)}
.tp-perk i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--t-soft);color:var(--t-acc2)}
.tp--adventure .tp-perk i{color:var(--t-acc)}
.tp-perk i svg{width:22px;height:22px}
.tp-perk h3{margin:14px 0 0;font-family:var(--t-hfont);font-weight:var(--t-hw);text-transform:var(--t-hcase);letter-spacing:var(--t-hls);font-size:22px;line-height:1.1}
.tp-perk p{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--t-mute)}

/* end band */
.tp-end{position:relative;margin:clamp(30px,5vw,60px) 0 clamp(60px,8vw,100px);padding:clamp(30px,5vw,56px);border-radius:34px;overflow:hidden;isolation:isolate;color:#fff;
  background:var(--t-end,linear-gradient(135deg,var(--t-acc2),var(--t-acc)));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.tp--adventure .tp-end{background:linear-gradient(135deg,#2B1A0C,#FF7A1A)}
.tp-end h2{margin:0;max-width:20ch;font-family:var(--t-hfont);font-weight:var(--t-hw);text-transform:var(--t-hcase);letter-spacing:var(--t-hls);font-size:clamp(30px,3.8vw,50px);line-height:1.02}
.tp-end h2 em{font-family:var(--t-xfont);font-style:var(--t-xstyle);font-weight:var(--t-xw);color:var(--t-endem,#FFE3B3)}
.tp--couples{--t-end:radial-gradient(60% 140% at 100% 0%,rgba(255,143,177,.45),transparent 60%),linear-gradient(135deg,#6E0F2E,#B5174E);--t-endem:#FFC2D4}
.tp--families{--t-end:radial-gradient(55% 140% at 100% 100%,rgba(242,165,130,.4),transparent 60%),radial-gradient(40% 120% at 0% 0%,rgba(140,197,176,.3),transparent 60%),#24503F;--t-endem:#FFC9A8}
.tp--friends{--t-end:radial-gradient(60% 160% at 50% 120%,rgba(255,122,89,.55),transparent 65%),linear-gradient(180deg,#3B1C6E,#24124A);--t-endem:#FFD23F}
.tp--spiritual{--t-end:radial-gradient(55% 140% at 100% 0%,rgba(253,126,20,.45),transparent 60%),linear-gradient(135deg,#6B1414,#A3260F);--t-endem:#FFD43B}
.tp--friends .tp-end{box-shadow:inset 0 0 0 1px rgba(255,241,230,.14)}
.tp-end p{margin:10px 0 0;font-size:15px;color:rgba(255,255,255,.85)}
.tp-end .btns{display:flex;flex-wrap:wrap;gap:10px}
.tp-end .btn{background:#fff;color:#0B2A45}
.tp-end .btn.ol{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.tp-end svg.dec{position:absolute;right:clamp(-40px,-2vw,0px);bottom:-30px;z-index:-1;width:240px;height:240px;opacity:.16;color:#fff}
.tp-end .btn.ol:hover{background:rgba(255,255,255,.12)}

/* decor animations */
@keyframes tpFloat{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-16px) rotate(calc(var(--r,0deg) + 6deg))}}
@keyframes tpFall{0%{transform:translate(0,-60px) rotate(0)}100%{transform:translate(var(--dx,60px),1000px) rotate(540deg)}}
@keyframes tpSpin{to{transform:rotate(360deg)}}
@keyframes tpRise{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-260px) translateX(var(--dx,10px));opacity:0}}
@keyframes tpFlick{0%,100%{transform:scale(1) rotate(-2deg);opacity:1}50%{transform:scale(1.12,1.2) rotate(3deg);opacity:.85}}
@keyframes tpSway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes tpDrift{from{transform:translateX(0)}to{transform:translateX(60px)}}
@keyframes tpTw{0%,100%{opacity:1}50%{opacity:.35}}
.tp-decor .tw{animation:tpTw 2.4s ease-in-out infinite;animation-delay:var(--dl,0s)}
.tp-decor .fl{animation:tpFloat var(--t,7s) ease-in-out infinite;animation-delay:var(--dl,0s)}
.tp-decor .fa{top:0;animation:tpFall var(--t,12s) linear infinite;animation-delay:var(--dl,0s)}
.tp-decor .sp{animation:tpSpin 90s linear infinite}
.tp-decor .ri{animation:tpRise var(--t,4s) ease-out infinite;animation-delay:var(--dl,0s)}
.tp-decor .fk{transform-origin:50% 100%;animation:tpFlick 1.4s ease-in-out infinite;animation-delay:var(--dl,0s)}
.tp-decor .sw{transform-origin:50% 0;animation:tpSway 5s ease-in-out infinite}
.tp-decor .dr{animation:tpDrift 18s ease-in-out infinite alternate}

@media (max-width:1000px){.tp-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-pks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
  .tp-hero{grid-template-columns:minmax(0,1fr)}
  .tp-col{height:360px;max-width:520px;width:100%;margin:0 auto}
  .tp-perks{grid-template-columns:minmax(0,1fr)}
  .tp-note{display:none}
}
@media (max-width:560px){
  .tp-kinds{grid-template-columns:minmax(0,1fr)}.tp-k{min-height:260px}
  .tp--couples .tp-k,.tp--spiritual .tp-k{border-radius:160px 160px 22px 22px;padding-top:90px}
  .tp-pks{grid-template-columns:minmax(0,1fr)}
  .tp-col{height:300px}
  .tp-where a{padding-right:14px}
  .tp-end{border-radius:26px}
}
.tp .pkc,.tp .pkq{color:#0B2A45}
.tp--spiritual .tp-crumb,.tp--friends .tp-crumb{margin-top:78px}
body.tp-dark .zn:not(.solid) .zn-logo,body.tp-dark .zn:not(.solid) .zn-lk,body.tp-dark .zn:not(.solid) .zn-line{color:#F3EBDD}
body.tp-dark .zn:not(.solid) .zn-line{box-shadow:inset 0 0 0 1px rgba(243,235,221,.35)}
body.tp-dark .zn:not(.solid) .zn-logo svg,body.tp-dark .zn:not(.solid) .zn-logo img{filter:brightness(0) invert(.93)}
@media (max-width:560px){.tp-stats{flex-wrap:nowrap;gap:8px}.tp-stats div{padding:8px 11px;min-width:0}.tp-stats b{font-size:18px}.tp-stats small{font-size:11px}.tp--spiritual .tp-crumb,.tp--friends .tp-crumb{margin-top:64px}}
@media (prefers-reduced-motion:reduce){.tp-decor *{animation:none!important}}

/* ================= WHEN TO GO · SEASON DIAL + FOLDER ================= */
.wsec{padding:clamp(90px,9vw,130px) 0;overflow:hidden}
.wsec-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;align-items:end}
.wsec-head p{margin:0;max-width:44ch;font-size:16.5px;line-height:1.6;color:var(--mist)}
.sd{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(28px,4vw,48px)}

/* dial */
.dial-tilt{perspective:1100px}
.dial{position:relative;width:min(470px,100%);aspect-ratio:1;margin:0 auto;touch-action:pan-y;user-select:none;-webkit-user-select:none;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .5s var(--ease)}
.dial svg{display:block;width:100%;height:100%;overflow:visible;border-radius:50%;filter:drop-shadow(0 30px 40px rgba(11,42,69,.2));cursor:grab;-webkit-tap-highlight-color:transparent}
.dial.drag svg{cursor:grabbing}
.dial svg:focus{outline:none}
.dial svg:focus-visible .ring-bg{stroke:var(--blue);stroke-width:3}
.seg-g{cursor:pointer}
.lab{font:800 13px var(--ui);fill:var(--navy);opacity:.45;pointer-events:none;transition:fill .3s}
.seg-g:hover .lab{fill:var(--blue-d)}
.seg-g.on .lab{fill:var(--blue-d)}
.heat{fill:#fff;stroke:rgba(26,109,181,.45);stroke-width:1.5;pointer-events:none}
.plane{fill:#1A6DB5}
.dial.drag .mk-glow{opacity:1}
.dial-c{position:absolute;inset:30.5%;border-radius:50%;background:radial-gradient(circle at 35% 25%,#fff 0%,#F4F9FD 100%);box-shadow:0 1px 0 #fff inset,0 24px 50px -24px rgba(11,42,69,.45),0 0 0 6px rgba(255,255,255,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;transform:translateZ(40px)}
.dial-c small{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.dial-c b{font-family:var(--display);font-weight:800;font-size:clamp(24px,3vw,38px);letter-spacing:-.04em;line-height:1;margin-top:4px}
.dial-c span{margin-top:6px;max-width:84%;font-size:12px;line-height:1.25;font-weight:800;color:var(--blue-d)}
.dial-c.pv b{color:var(--blue-d)}
.dial-c b.flip{animation:mflip .45s var(--ease)}
.dial-c.bump{animation:cbump .45s var(--ease)}
@keyframes mflip{from{opacity:0;transform:translateY(10px) scale(.96)}}
@keyframes cbump{40%{transform:translateZ(40px) scale(1.04)}}
.dial-h{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;text-align:center;font-size:13px;font-weight:700;color:var(--dim)}
.dial-h svg{width:15px;height:15px}

/* folder */
.sd-r h3{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(26px,2.6vw,36px);letter-spacing:-.035em}
.fold-stage{position:relative;height:480px;display:flex;align-items:flex-end;justify-content:center;perspective:1300px;margin-top:6px}
.fold{--fw:360px;--fh:250px;--pw:156px;--ph:188px;position:relative;width:var(--fw);height:var(--fh);margin-bottom:10px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transform-style:preserve-3d;transition:transform .6s var(--ease)}
.fold::after{content:"";position:absolute;left:8%;right:8%;bottom:-16px;height:30px;border-radius:50%;background:rgba(11,42,69,.28);filter:blur(14px);z-index:-1}
.fold:hover{transform:translateY(-4px)}
.fold:focus-visible .fold-front{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--blue)}
.fold-back{position:absolute;inset:22px 0 0;border-radius:6px 18px 18px 18px;background:linear-gradient(180deg,#2B83D3,#14558E);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.fold-tab{position:absolute;left:0;top:-22px;height:24px;min-width:38%;padding:0 16px;display:flex;align-items:center;border-radius:12px 14px 0 0;background:#2B83D3;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.fold-tab::after{content:"";position:absolute;right:-14px;bottom:0;width:16px;height:16px;background:radial-gradient(circle at 100% 0,transparent 15px,#2B83D3 16px)}
.fold-papers{position:absolute;inset:0;z-index:2}
.pp{position:absolute;left:50%;bottom:18px;width:var(--pw);height:var(--ph);margin-left:calc(var(--pw) / -2);padding:6px 6px 0;border:0;border-radius:14px;background:#fff;color:var(--navy);text-align:left;font:inherit;cursor:pointer;box-shadow:0 1px 0 rgba(11,42,69,.06),0 10px 24px -12px rgba(11,42,69,.45);transition:transform .8s var(--ease),box-shadow .4s,opacity .4s;transition-delay:var(--dl,0s);-webkit-tap-highlight-color:transparent}
.pp .pi{display:block;height:calc(var(--ph) - 58px);border-radius:10px;overflow:hidden;background:linear-gradient(135deg,var(--sky2),var(--sky3))}
.pp img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.pp b{display:block;margin:7px 4px 0;font-family:var(--display);font-weight:800;font-size:16px;letter-spacing:-.025em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pp small{display:block;margin:1px 4px 0;font-size:11.5px;font-weight:700;color:var(--dim)}
.pp i{position:absolute;right:10px;top:10px;display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;background:var(--navy);color:#fff;font-style:normal;font-size:11px;font-weight:800;opacity:0;transform:translateY(-4px);transition:opacity .25s,transform .3s var(--ease)}
.fold.open .pp:hover,.fold.open .pp:focus-visible{box-shadow:0 30px 50px -20px rgba(11,42,69,.6);outline:none}
.fold.open .pp:hover img{transform:scale(1.07)}
.fold.open .pp:hover i,.fold.open .pp:focus-visible i{opacity:1;transform:none}
.fold-front{position:absolute;left:0;right:0;bottom:0;height:70%;z-index:3;border-radius:16px;background:linear-gradient(180deg,#6CBCF3 0%,#3B9EE8 38%,#1F79C9 100%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),0 -6px 18px -10px rgba(11,42,69,.35);transform-origin:50% 100%;transform:rotateX(var(--fa,0deg));transition:transform .75s var(--ease);display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:18px 20px;color:#fff;overflow:hidden}
.ff-gl{position:absolute;inset:0;background:radial-gradient(120% 70% at 20% 0%,rgba(255,255,255,.35),transparent 55%);pointer-events:none}
.ff-t{position:relative;display:flex;flex-direction:column}
.ff-t b{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.03em}
.ff-t small{font-size:12.5px;font-weight:700;color:rgba(255,255,255,.85)}
.ff-ic{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.2);transition:transform .6s var(--ease)}
.ff-ic svg{width:20px;height:20px}
.fold.open .ff-ic{transform:rotate(180deg)}
.fold:not(.open) .ff-ic{animation:nudge 2.2s ease-in-out infinite}
@keyframes nudge{50%{transform:translateY(-4px)}}
.fold:hover:not(.open){--fa:-14deg}
.fold.open{--fa:-62deg}
.fold.open:hover{transform:none}

.good{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.good button{font:800 13px var(--ui);padding:7px 12px;border-radius:999px;border:0;background:#fff;color:var(--navy);cursor:pointer;box-shadow:0 6px 14px -10px rgba(11,42,69,.4);transition:background .2s,transform .3s var(--ease)}
.good button:hover{background:var(--sky);transform:translateY(-2px)}
.good em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--dim);padding:7px 0}
.fold-tip{position:absolute;left:50%;top:24%;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;margin:0;transform:translateX(-50%);font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.2vw,28px);color:var(--blue-d);white-space:nowrap;pointer-events:none;transition:opacity .4s,transform .6s var(--ease)}
.fold-tip svg{width:26px;height:26px;animation:nudge 1.6s ease-in-out infinite}
.fold-stage.opened .fold-tip{opacity:0;transform:translate(-50%,-14px)}
.fold-empty{position:absolute;left:50%;bottom:120px;transform:translateX(-50%);width:80%;text-align:center;font-weight:700;color:var(--mist)}

@media (max-width:900px){.wsec-head{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.sd{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .fold{--fw:280px;--fh:190px;--pw:104px;--ph:136px}
  .fold-stage{height:470px;transition:height .6s var(--ease)}
  .fold-stage:not(.opened){height:300px}
  .fold-tip{top:4%}
  .pp b{font-size:13.5px}.pp small{font-size:10.5px}
  .ff-t b{font-size:18px}
  .lab{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.pp,.fold-front,.dial{transition:none!important}.ff-ic{animation:none!important}}

.pkx{position:relative;padding:clamp(90px,9vw,130px) 0}
.pkx-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:end}
.pkx-head p{margin:0;max-width:44ch;font-size:16.5px;line-height:1.6;color:var(--mist)}

/* control bar */
.pkx-bar{position:sticky;top:12px;z-index:30;margin-top:clamp(28px,4vw,44px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 #fff inset,0 18px 40px -24px rgba(11,42,69,.45),0 0 0 1px var(--line)}
.pkx-tog{position:relative;display:flex;padding:4px;border-radius:999px;background:var(--sky)}
.pkx-tog button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px;border:0;border-radius:999px;background:none;font-weight:800;font-size:14.5px;color:var(--mist);cursor:pointer;transition:color .35s;white-space:nowrap}
.pkx-tog button.on{color:#fff}
.pkx-tog button svg{width:17px;height:17px}
.pkx-tog button small{min-width:24px;height:22px;padding:0 7px;border-radius:999px;display:grid;place-items:center;background:rgba(11,42,69,.08);font-size:11.5px;font-weight:800;transition:background .35s}
.pkx-tog button.on small{background:rgba(255,255,255,.2)}
.pkx-pill{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:var(--navy);box-shadow:0 8px 18px -10px rgba(11,42,69,.7);transition:transform .55s var(--ease),width .55s var(--ease)}
.pkx-search{position:relative;display:flex;align-items:center;height:52px;border-radius:999px;background:#fff;border:1.5px solid var(--line2);transition:border-color .25s,box-shadow .25s}
.pkx-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(59,158,232,.15)}
.pkx-search svg{flex:none;width:19px;height:19px;margin:0 6px 0 18px;color:var(--blue-d)}
.pkx-search input{flex:1;min-width:0;height:100%;border:0;outline:none;background:none;font-size:15.5px;font-weight:600}
.pkx-search input::placeholder{color:rgba(11,42,69,.45)}
.pkx-search input::-webkit-search-cancel-button,.pkx-search input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.pkx-kbd{margin-right:10px;padding:3px 8px;border-radius:7px;border:1px solid var(--line2);font-size:11.5px;font-weight:800;color:var(--dim)}
.pkx-clr{display:none;width:34px;height:34px;margin-right:9px;border:0;border-radius:50%;background:var(--sky);cursor:pointer;place-items:center}
.pkx-clr svg{width:14px;height:14px;margin:0;color:var(--navy)}
.pkx-search.has .pkx-clr{display:grid}
.pkx-search.has .pkx-kbd{display:none}
.pkx-sug{position:absolute;left:0;right:0;top:calc(100% + 8px);padding:6px;border-radius:20px;background:#fff;box-shadow:0 24px 50px -20px rgba(11,42,69,.45),0 0 0 1px var(--line);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s,transform .3s var(--ease)}
.pkx-sug.show{opacity:1;transform:none;pointer-events:auto}
.pkx-sug button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:14px;background:none;text-align:left;font-size:14px;font-weight:700;cursor:pointer}
.pkx-sug button:hover,.pkx-sug button.act{background:var(--sky)}
.pkx-sug button i{margin-left:auto;font-style:normal;font-size:12px;font-weight:800;color:var(--blue-d)}
.pkx-sug .pin{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--sky);color:var(--blue-d);flex:none}
.pkx-sug .pin svg{width:15px;height:15px;margin:0}
.pkx-sort{position:relative}
.pkx-sort select{appearance:none;-webkit-appearance:none;height:52px;padding:0 42px 0 18px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font-weight:800;font-size:14px;cursor:pointer}
.pkx-sort::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;margin-top:-6px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none}

/* meta */
.pkx-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;font-size:14px;font-weight:700;color:var(--mist)}
.pkx-meta b{color:var(--navy)}
.pkx-x{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:0;background:#FFF4E2;color:#8A5A00;font-weight:800;font-size:13px;cursor:pointer}
.pkx-x:hover{background:#FFE9C4}

/* grid + cards */
.pkx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}
.pkc{position:relative;display:flex;flex-direction:column;border-radius:26px;background:#fff;overflow:hidden;cursor:pointer;box-shadow:0 1px 0 #fff inset,0 20px 44px -28px rgba(11,42,69,.45),0 0 0 1px var(--line);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--ty,0px));transition:transform .5s var(--ease),box-shadow .4s;animation:pkin .6s var(--ease) both;animation-delay:calc(var(--i) * 45ms);outline:none}
@keyframes pkin{from{opacity:0;transform:translateY(22px) scale(.97)}}
.pkc:hover,.pkc:focus-visible{--ty:-6px;box-shadow:0 1px 0 #fff inset,0 34px 60px -30px rgba(11,42,69,.55),0 0 0 1px var(--line)}
.pkc:focus-visible{box-shadow:0 0 0 3px var(--blue),0 34px 60px -30px rgba(11,42,69,.55)}
.pkc-im{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,var(--sky2),var(--blue-d))}
.pkc-im img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),opacity .4s}
.pkc:hover .pkc-im img{transform:scale(1.07)}
.pkc-im::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,42,69,0) 55%,rgba(11,42,69,.55))}
.pkc-fb{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.04em;color:rgba(255,255,255,.9)}
.pkc-d{position:absolute;left:12px;top:12px;z-index:1;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.92);font-size:12px;font-weight:800;color:var(--navy)}
.pkc-t{position:absolute;right:12px;top:12px;z-index:1;padding:6px 11px;border-radius:999px;background:rgba(11,42,69,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:11.5px;font-weight:800;color:#fff}
.pkc-p{position:absolute;left:14px;bottom:12px;z-index:1;color:#fff;font-size:12px;font-weight:700}
.pkc-p b{display:block;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.03em;line-height:1}
.pkc-b{flex:1;display:flex;flex-direction:column;padding:14px 16px 16px}
.pkc-b small{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d)}
.pkc-b h3{margin:5px 0 0;font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.03em;line-height:1.15}
.pkc-r{margin:5px 0 0;font-size:13px;font-weight:600;line-height:1.45;color:var(--dim)}
.pkc-h{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.pkc-h li{display:flex;align-items:flex-start;gap:7px;font-size:13px;font-weight:600;line-height:1.4}
.pkc-h li::before{content:"";flex:none;width:14px;height:14px;margin-top:2px;border-radius:50%;background:var(--ok-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316895B' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/8px no-repeat}
.pkc-f{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:14px}
.pkc-inc{display:flex;gap:5px}
.pkc-inc span{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--sky);color:var(--blue-d)}
.pkc-inc svg{width:15px;height:15px}
.pkc-go{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;background:var(--navy);color:#fff;font-size:12.5px;font-weight:800;transition:background .25s}
.pkc-go svg{width:14px;height:14px;transition:transform .3s var(--ease)}
.pkc:hover .pkc-go{background:var(--blue-d)}
.pkc:hover .pkc-go svg{transform:translateX(3px)}
mark{background:#FFE7A8;color:inherit;border-radius:4px;padding:0 2px}

.pkx-empty{grid-column:1/-1;padding:46px 20px;border-radius:26px;background:#fff;text-align:center;box-shadow:0 0 0 1px var(--line)}
.pkx-empty b{display:block;font-family:var(--display);font-size:24px;letter-spacing:-.03em}
.pkx-empty p{margin:8px 0 18px;color:var(--mist);font-weight:600}
.pkx-more{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:26px}
.pkx-more small{font-size:12.5px;font-weight:700;color:var(--dim)}
.pkx-note{margin:14px 4px 0;font-size:12.5px;font-weight:600;color:var(--dim)}

/* quick view */
.pkq-scrim{position:fixed;inset:0;z-index:200;background:rgba(11,42,69,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .35s}
.pkq-scrim.open{opacity:1;pointer-events:auto}
.pkq{position:fixed;left:50%;top:50%;z-index:201;width:min(860px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);border-radius:30px;background:#fff;box-shadow:0 60px 120px -40px rgba(11,42,69,.6);opacity:0;pointer-events:none;transform:translate(-50%,-46%) scale(.97);transition:opacity .35s,transform .5s var(--ease)}
.pkq.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.pkq-im{position:relative;min-height:100%;background:linear-gradient(135deg,var(--sky2),var(--blue-d))}
.pkq-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pkq-im::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,42,69,.05),rgba(11,42,69,.7))}
.pkq-im div{position:absolute;left:22px;right:22px;bottom:20px;z-index:1;color:#fff}
.pkq-im small{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}
.pkq-im h3{margin:6px 0 0;font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.04em;line-height:1.05}
.pkq-im p{margin:6px 0 0;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.88)}
.pkq-b{padding:26px 24px 22px;display:flex;flex-direction:column}
.pkq-x{position:absolute;right:14px;top:14px;z-index:3;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px -8px rgba(11,42,69,.5)}
.pkq-x svg{width:16px;height:16px}
.pkq-st{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-right:52px}
.pkq-st div{padding:10px 12px;border-radius:14px;background:var(--bg)}
.pkq-st small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.pkq-st b{font-size:15px}
.pkq-st b i{margin-left:3px;font-style:normal;font-size:12px;font-weight:700;color:var(--dim)}
.pkq-b h4{margin:18px 0 8px;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.pkq-days{list-style:none;margin:0;padding:0;counter-reset:d}
.pkq-days li{position:relative;padding:0 0 12px 34px;font-size:14px;font-weight:600;line-height:1.45;counter-increment:d}
.pkq-days li::before{content:counter(d);position:absolute;left:0;top:-2px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--blue-d);color:#fff;font-size:11.5px;font-weight:800}
.pkq-days li::after{content:"";position:absolute;left:11px;top:24px;bottom:0;width:2px;background:var(--sky2)}
.pkq-days li:last-child::after{display:none}
.pkq-inc{display:flex;flex-wrap:wrap;gap:6px}
.pkq-inc span{padding:7px 12px;border-radius:999px;background:var(--ok-soft);color:var(--ok);font-size:12.5px;font-weight:800}
.pkq-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.pkq-cta p{margin:0;font-size:12.5px;font-weight:700;color:var(--dim)}
.pkq-cta p b{display:block;font-family:var(--display);font-size:24px;letter-spacing:-.03em;color:var(--navy)}
.pkq-form{display:grid;gap:8px;margin-top:14px}
.pkq-form input{height:48px;padding:0 16px;border-radius:14px;border:1.5px solid var(--line2);background:var(--bg);font-weight:700;outline:none}
.pkq-form input:focus{border-color:var(--blue)}
.pkq-ok{margin-top:14px;padding:14px;border-radius:16px;background:var(--ok-soft);color:var(--ok);font-weight:800;font-size:14px}

@media (max-width:1100px){.pkx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  .pkx-head{grid-template-columns:minmax(0,1fr)}
  .pkx-bar{grid-template-columns:minmax(0,1fr) auto;border-radius:28px}
  .pkx-tog{grid-column:1/-1;width:100%}
  .pkx-tog button{flex:1;justify-content:center}
  .pkx-kbd{display:none}
}
@media (max-width:820px){.pkx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pkq{grid-template-columns:minmax(0,1fr)}.pkq-im{min-height:220px}}
@media (max-width:560px){
  .pkx-bar{position:static;grid-template-columns:minmax(0,1fr);padding:8px;border-radius:26px}
  .pkx-tog{width:100%}
  .pkx-tog button{flex:1;justify-content:center;padding:0 10px;font-size:13.5px}
  .pkx-sort select{width:100%}
  .pkx-kbd{display:none}
  .pkx-grid{grid-template-columns:minmax(0,1fr)}
  .pkq-st{grid-template-columns:repeat(2,minmax(0,1fr));padding-right:0}
}
@media (prefers-reduced-motion:reduce){.pkc{animation:none}.pkx-pill{transition:none}}

.ts{position:relative;padding:clamp(90px,9vw,130px) 0;overflow:hidden;background:radial-gradient(50% 45% at 85% 40%,rgba(59,158,232,.16),transparent 70%),radial-gradient(40% 40% at 5% 90%,rgba(255,181,71,.10),transparent 70%)}
.ts-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.ts-l{min-width:0}
.ts-story{position:relative;margin-top:clamp(26px,3vw,40px);min-height:300px}
.ts-mark{position:absolute;right:0;top:-70px;font-family:var(--serif);font-size:180px;line-height:1;color:var(--sky2);pointer-events:none;user-select:none;z-index:-1}
.ts-stars{display:flex;gap:3px;color:var(--sun)}
.ts-stars svg{width:18px;height:18px}
.ts-q{margin:14px 0 0;font-family:var(--display);font-weight:600;font-size:clamp(21px,2.1vw,29px);line-height:1.32;letter-spacing:-.025em;color:var(--navy);min-height:5.3em}
.ts-q span{display:inline-block;opacity:0;transform:translateY(10px);filter:blur(4px);animation:tsw .55s var(--ease) forwards;animation-delay:calc(var(--w) * 22ms)}
@keyframes tsw{to{opacity:1;transform:none;filter:none}}
.ts-who{display:flex;align-items:center;gap:12px;margin-top:22px;animation:tsin .6s var(--ease) both .15s}
@keyframes tsin{from{opacity:0;transform:translateY(10px)}}
.ts-av{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;flex:none;color:#fff;font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em;background:linear-gradient(140deg,var(--c1),var(--c2));box-shadow:0 0 0 4px #fff,0 10px 24px -10px rgba(11,42,69,.5)}
.ts-who b{display:block;font-size:16px}
.ts-who small{display:block;font-size:13px;font-weight:700;color:var(--dim)}
.ts-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;animation:tsin .6s var(--ease) both .25s}
.ts-tags span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line),0 6px 14px -10px rgba(11,42,69,.4);font-size:12.5px;font-weight:800}
.ts-tags span svg{width:13px;height:13px;color:var(--blue-d)}
.ts-tags span.exp{background:var(--sky);box-shadow:none;color:var(--blue-d)}

.ts-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.ts-stats{display:flex;gap:28px}
.ts-stats b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(34px,3.4vw,46px);letter-spacing:-.045em;line-height:1;color:var(--navy)}
.ts-stats small{display:block;margin-top:4px;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.ts-add{margin-left:auto;display:inline-flex;align-items:center;gap:12px;padding:8px 20px 8px 8px;border:0;border-radius:999px;background:#fff;text-align:left;cursor:pointer;box-shadow:0 0 0 1px var(--line),0 14px 30px -18px rgba(11,42,69,.5);transition:transform .35s var(--ease),box-shadow .3s}
.ts-add:hover{transform:translateY(-2px);box-shadow:0 0 0 1.5px var(--blue),0 18px 34px -18px rgba(26,109,181,.6)}
.ts-add-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--blue-d);color:#fff;flex:none;transition:transform .4s var(--ease)}
.ts-add:hover .ts-add-ic{transform:rotate(-12deg)}
.ts-add-ic svg{width:19px;height:19px}
.ts-add small{display:block;font-size:12px;font-weight:700;color:var(--dim)}
.ts-add b{display:block;font-size:15px}
.tsr-scrim{position:fixed;inset:0;z-index:200;background:rgba(11,42,69,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .35s}
.tsr-scrim.open{opacity:1;pointer-events:auto}
.tsr{position:fixed;left:50%;top:50%;z-index:201;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:28px 26px 26px;border-radius:28px;background:#fff;box-shadow:0 60px 120px -40px rgba(11,42,69,.6);opacity:0;pointer-events:none;transform:translate(-50%,-46%) scale(.97);transition:opacity .35s,transform .5s var(--ease)}
.tsr.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.tsr-x{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:var(--sky);display:grid;place-items:center;cursor:pointer}
.tsr-x svg{width:16px;height:16px}
.tsr h3{margin:10px 0 0;font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.04em}
.tsr-stars{display:flex;gap:4px;margin:14px 0 6px}
.tsr-stars button{width:40px;height:40px;padding:0;border:0;background:none;cursor:pointer;color:var(--sky2);transition:color .2s,transform .25s var(--ease)}
.tsr-stars button.on{color:var(--sun)}
.tsr-stars button:hover{transform:scale(1.15)}
.tsr-stars svg{width:100%;height:100%}
.tsr label{display:block;margin-top:12px}
.tsr label span{display:block;margin-bottom:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.tsr input,.tsr textarea{font:inherit;width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line2);background:var(--bg);font-weight:600;font-size:15px;outline:none;resize:vertical;transition:border-color .2s,background .2s}
.tsr input:focus,.tsr textarea:focus{border-color:var(--blue);background:#fff}
.tsr-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tsr-up{margin-top:12px}
.tsr-lb{display:block;margin-bottom:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.tsr-lb i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:700}
.tsr-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tsr-drop{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin:0!important;border-radius:16px;border:1.5px dashed var(--sky3);background:var(--bg);color:var(--blue-d);cursor:pointer;text-align:center;transition:background .2s,border-color .2s,transform .3s var(--ease)}
.tsr-drop:hover,.tsr-drop.over{background:var(--sky);border-color:var(--blue);transform:translateY(-2px)}
.tsr-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.tsr-drop svg{width:24px;height:24px}
.tsr-drop b{font-size:12.5px}
.tsr-drop small{font-size:11px;font-weight:700;color:var(--dim)}
.tsr-ph{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--sky);animation:tsph .4s var(--ease) both}
@keyframes tsph{from{opacity:0;transform:scale(.8)}}
.tsr-ph img{width:100%;height:100%;object-fit:cover}
.tsr-ph button{position:absolute;right:5px;top:5px;width:24px;height:24px;border:0;border-radius:50%;background:rgba(11,42,69,.75);color:#fff;display:grid;place-items:center;cursor:pointer}
.tsr-ph button svg{width:11px;height:11px}
.tsr-err{margin:6px 0 0;font-size:12.5px;font-weight:700;color:#C2410C}
.tsr-ok-ph{display:flex;justify-content:center;gap:6px;margin-top:14px}
.tsr-ok-ph img{width:56px;height:56px;border-radius:12px;object-fit:cover;box-shadow:0 6px 14px -8px rgba(11,42,69,.5)}
.tsr .btn{width:100%;margin-top:18px}
.tsr-ok{text-align:center;padding:20px 6px}
.tsr-ok span{width:62px;height:62px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:var(--ok);color:#fff;box-shadow:0 0 0 8px var(--ok-soft)}
.tsr-ok span svg{width:28px;height:28px}
.tsr-ok p{margin:8px 0 0;color:var(--mist);font-weight:600}
.ts-note{margin:18px 0 0;font-size:12px;font-weight:600;color:var(--dim)}

/* card deck */
.ts-r{position:relative;min-width:0}
.ts-stage{position:relative;height:clamp(440px,42vw,540px);perspective:1400px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ts-deck{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--tx,4deg)) rotateY(var(--ty,-6deg));transition:transform .8s var(--ease)}
.ts-c{position:absolute;left:50%;top:50%;width:min(360px,78%);aspect-ratio:3/4;margin:0;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,var(--sky2),var(--blue-d));box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 40px 70px -36px rgba(11,42,69,.6);transform-origin:50% 100%;transition:transform .75s var(--ease),opacity .5s,filter .5s;will-change:transform;cursor:grab}
.ts-c.top{cursor:grab}
.ts-c.drag{transition:none;cursor:grabbing}
.ts-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;transition:opacity .4s}
.ts-c::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,42,69,.05) 40%,rgba(11,42,69,.86))}
.ts-cap{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;color:#fff}
.ts-cap small{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ts-cap b{display:block;margin-top:8px;font-family:var(--display);font-weight:800;font-size:30px;letter-spacing:-.04em;line-height:1}
.ts-cap p{margin:6px 0 0;font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.3;color:rgba(255,255,255,.9)}
.ts-fb{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:36px;letter-spacing:-.04em;color:rgba(255,255,255,.85)}
.ts-hint{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.ts-hint svg{width:16px;height:16px;animation:tsnudge 1.8s ease-in-out infinite}
@keyframes tsnudge{50%{transform:translateX(-5px)}}
.ts-stamp{position:absolute;right:16px;top:16px;z-index:2;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.95);color:var(--navy);font-size:11.5px;font-weight:800;opacity:0;transform:scale(.8) rotate(8deg);transition:opacity .2s,transform .3s var(--ease)}
.ts-c.top .ts-stamp{opacity:1;transform:none}

@media (max-width:900px){
  .ts-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .ts-l{display:contents}
  .ts-l>*:first-child{order:1}
  .ts-r{order:2;margin-top:18px}
  .ts-story{order:3}.ts-foot{order:4}.ts-note{order:5}
  .ts-stage{height:min(480px,118vw)}
  .ts-story{min-height:0}
  .ts-q{min-height:0}
}
@media (max-width:560px){
  .ts-c{width:min(300px,76%)}
  .ts-cap b{font-size:26px}
  .ts-mark{font-size:130px;top:-50px}
  .ts-add{margin-left:0;width:100%}
  .tsr-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.ts *{animation:none!important;transition:none!important}.ts-q span{opacity:1;transform:none;filter:none}}

.fq{padding:clamp(90px,9vw,130px) 0}
.fq-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,60px);align-items:center}
.fq-lead{margin:16px 0 0;max-width:40ch;font-size:16.5px;line-height:1.6;color:var(--mist)}

/* AI box */
.fq-ai{position:relative;margin-top:clamp(24px,3vw,36px);padding:clamp(20px,2.4vw,30px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(16px,3vw,40px);align-items:center;border-radius:26px;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.fq-ai::before{content:"";position:absolute;right:20%;top:-180px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(59,158,232,.55),transparent 65%);z-index:-1}
.fq-ai-top{display:flex;align-items:center;gap:12px}
.fq-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(140deg,#8DD0F7,#3B9EE8 55%,#14558E);flex:none}
.fq-mark svg{width:22px;height:22px}
.fq-ai-top small{display:block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sky3)}
.fq-ai-top b{display:block;font-family:var(--display);font-weight:800;font-size:23px;letter-spacing:-.035em;line-height:1.1}
.fq-ai p{margin:12px 0 0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.66)}
.fq-ai-in{position:relative;display:flex;align-items:center;gap:8px;margin-top:0;padding:6px 6px 6px 18px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);transition:border-color .25s,background .25s}
.fq-ai-in:focus-within{border-color:var(--sky3);background:rgba(255,255,255,.12)}
.fq-ai-in input{flex:1;min-width:0;height:40px;border:0;outline:0;background:none;color:#fff;font-size:14.5px}
.fq-ph{position:absolute;left:18px;right:118px;top:50%;transform:translateY(-50%);font-size:14.5px;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:opacity .2s}
.fq-ph::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--sky3);animation:fqbl .8s steps(1) infinite}
@keyframes fqbl{50%{opacity:0}}
.fq-ai-in button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:999px;border:0;background:#fff;color:var(--navy);font-weight:800;font-size:13.5px;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s}
.fq-ai-in button:hover{background:var(--blue);color:#fff}

/* chat */
.fq-chat{position:relative;display:flex;flex-direction:column;height:min(680px,84vh);border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 50px 90px -46px rgba(11,42,69,.55),0 0 0 1px var(--line)}
.fq-top{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#0F3A5F,var(--navy));color:#fff}
.fq-av{position:relative;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(140deg,#8DD0F7,#3B9EE8 55%,#14558E);flex:none}
.fq-av svg{width:24px;height:24px}
.fq-av::after{content:"";position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;background:#3DD68C;border:2px solid var(--navy)}
.fq-top b{display:block;font-size:15px}
.fq-top small{display:block;font-size:12px;color:rgba(255,255,255,.62);transition:color .2s}
.fq-top small.typing{color:var(--sky3)}
.fq-wa{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12.5px;font-weight:800;text-decoration:none;transition:background .25s,color .25s}
.fq-wa:hover{background:#25D366;color:#0B3B1E}
.fq-wa svg{width:14px;height:14px}
.fq-body{flex:1;overflow-y:auto;overscroll-behavior:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#F7FBFE,#EEF6FC);scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--sky3) transparent}
.fq-day{align-self:center;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#fff;color:var(--dim);box-shadow:0 0 0 1px var(--line)}
.fq-m{position:relative;max-width:78%;padding:11px 14px 8px;border-radius:20px;font-size:14.5px;line-height:1.5;animation:fqpop .45s var(--ease) both}
.fq-m .fq-t{display:block;margin-top:4px;font-size:10.5px;font-weight:700;text-align:right;opacity:.55}
.fq-m.in{align-self:flex-start;margin-left:38px;background:#fff;border-top-left-radius:6px;box-shadow:0 1px 2px rgba(11,42,69,.05),0 10px 24px -18px rgba(11,42,69,.45)}
.fq-m.in::before{content:"";position:absolute;left:-38px;top:0;width:28px;height:28px;border-radius:9px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4c.8 0 1.2.9 1.2 2v3.5l6 3.5v1.8l-6-1.9v3.9l1.9 1.5v1.4L12 19l-3.1.7v-1.4l1.9-1.5v-3.9l-6 1.9v-1.8l6-3.5V6c0-1.1.4-2 1.2-2z' fill='%23fff'/%3E%3C/svg%3E") center/16px no-repeat,linear-gradient(140deg,#8DD0F7,#3B9EE8 55%,#14558E)}
.fq-m.out{align-self:flex-end;max-width:74%;background:var(--blue-d);color:#fff;border-bottom-right-radius:6px}
.fq-m.out .fq-t::after{content:" ✓✓";color:var(--sky3)}
@keyframes fqpop{from{opacity:0;transform:translateY(10px) scale(.96)}}
.fq-dots{align-self:flex-start;display:flex;gap:4px;margin-left:38px;padding:14px 16px;border-radius:20px;border-top-left-radius:6px;background:#fff;box-shadow:0 0 0 1px var(--line)}
.fq-dots i{width:7px;height:7px;border-radius:50%;background:var(--dim);animation:fqbounce 1s infinite}
.fq-dots i:nth-child(2){animation-delay:.15s}.fq-dots i:nth-child(3){animation-delay:.3s}
@keyframes fqbounce{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-5px);opacity:1}}
.fq-opts{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-left:38px;width:calc(100% - 38px);max-width:430px;animation:fqpop .45s var(--ease) both}
.fq-opts.used{display:none}
.fq-op{display:inline-flex;align-items:center;gap:8px;text-align:left;border:0;padding:8px 12px;border-radius:16px;background:#fff;color:var(--navy);font-size:13px;font-weight:700;line-height:1.35;cursor:pointer;text-decoration:none;box-shadow:0 0 0 1px var(--line);transition:background .2s,color .2s,transform .3s var(--ease),box-shadow .2s;animation:fqpop .4s var(--ease) both;animation-delay:calc(var(--k,0) * 50ms)}
.fq-op:hover{background:var(--navy);color:#fff}
.fq-op.back{background:transparent;color:var(--mist)}
.fq-op.wa{background:#E3F6EA;color:#17895A;box-shadow:none}
.fq-op.wa:hover{background:#25D366;color:#0B3B1E}
.fq-tgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.fq-op.tp{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:2px 8px;align-items:center;width:100%;padding:12px 14px;border-radius:16px;box-shadow:0 0 0 1px var(--line),0 8px 18px -14px rgba(11,42,69,.4)}
.fq-op.tp .tp-n{font-size:14px;font-weight:800;line-height:1.2}
.fq-op.tp small{grid-row:2;font-size:11.5px;font-weight:700;color:var(--dim)}
.fq-op.tp i{grid-row:1/3;grid-column:2;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--blue-d);font-style:normal;font-size:13px;transition:background .25s,color .25s,transform .3s var(--ease)}
.fq-op.tp:hover{background:#fff;color:var(--navy);transform:translateY(-2px);box-shadow:0 0 0 1.5px var(--blue),0 12px 22px -14px rgba(59,158,232,.7)}
.fq-op.tp:hover i{background:var(--blue-d);color:#fff;transform:rotate(-45deg)}
.fq-qlist{width:100%;border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--line),0 10px 22px -16px rgba(11,42,69,.4);overflow:hidden}
.fq-op.q{display:grid;grid-template-columns:minmax(0,1fr) 22px;gap:10px;width:100%;border-radius:0;padding:13px 16px;box-shadow:none;background:transparent;font-size:14px;border-top:1px solid var(--line)}
.fq-op.q:first-child{border-top:0}
.fq-op.q i{font-style:normal;color:var(--blue);transition:transform .3s var(--ease)}
.fq-op.q:hover{background:var(--sky);color:var(--navy)}
.fq-op.q:hover i{transform:translateX(3px)}
.fq-op.go{background:var(--blue-d);color:#fff;box-shadow:none}
.fq-op.go:hover{background:var(--blue-dd)}
.fq-in{display:flex;gap:8px;padding:12px 14px 14px;background:#fff;border-top:1px solid var(--line)}
.fq-in input{flex:1;min-width:0;height:48px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line);background:var(--bg);outline:none;font-size:14.5px;transition:border-color .2s,background .2s}
.fq-in input:focus{border-color:var(--blue);background:#fff}
.fq-in button{width:48px;height:48px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--blue-d);color:#fff;cursor:pointer;transition:transform .3s var(--ease),background .25s}
.fq-in button:hover{transform:rotate(-12deg) scale(1.05);background:var(--blue-dd)}
.fq-in button svg{width:18px;height:18px}
@media (max-width:1000px){
  .fq-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .fq-side{display:contents}
  .fq-side>*{order:1}
  .fq-chat{order:2;margin-top:22px;height:580px}
  .fq-ai{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .fq-chat{height:540px;border-radius:24px}
  .fq-wa span{display:none}
  .fq-m{font-size:14px}.fq-m.in{max-width:84%}.fq-m.out{max-width:84%}
  .fq-tgrid{grid-template-columns:1fr}
    .fq-ph{right:96px}
}
@media (prefers-reduced-motion:reduce){.fq *{animation:none!important;transition:none!important}}

.co{--ink:var(--navy);--org:#3B9EE8;--org-2:#8DD0F7;--org-ink:#1A6DB5;--org-soft:#E6F2FB;--org-grad:linear-gradient(140deg,#6CBCF3 0%,#3B9EE8 50%,#1A6DB5 100%);--s2:#F0F6FB;--sh:0 1px 0 rgba(255,255,255,.8) inset,0 18px 44px -22px rgba(11,42,69,.3)}
.co .wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.co .ey{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.co .ey::before{content:"";width:22px;height:2px;background:var(--org)}
.co{padding:clamp(40px,6vw,90px) 0}
.co .head{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr);gap:24px;align-items:end}
.co .h{margin:16px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(40px,5.4vw,80px);line-height:.95;letter-spacing:-.05em}
.co .h em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.015em;color:var(--org)}
.co .head p{margin:0;max-width:44ch;font-size:16.5px;line-height:1.6;color:var(--mist)}
.co .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:clamp(32px,4vw,52px)}
.co .card{position:relative;border-radius:30px;background:#fff;box-shadow:var(--sh);padding:clamp(20px,2.4vw,30px);overflow:hidden}
.co .k{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--org-soft);color:var(--org-ink)}
.co .rn{grid-column:span 7;display:flex;flex-direction:column;justify-content:space-between;gap:26px;background:#0B2A45;color:#fff;min-height:340px;isolation:isolate}
.co .rn::before{content:"";position:absolute;right:-140px;top:-160px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(59,158,232,.42),transparent 65%);z-index:-1}
.co .rn .k{background:rgba(255,255,255,.1);color:#fff}
.co .rn-old{font-size:14px;font-weight:700;color:rgba(255,255,255,.55)}
.co .rn-old s{text-decoration-color:var(--org-2);text-decoration-thickness:2px}
.co .rn-name{margin:8px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(52px,7vw,104px);line-height:.9;letter-spacing:-.05em;white-space:nowrap}
.co .rn-name .gl{color:var(--org-2)}
.co .rn p{margin:0;max-width:46ch;font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.66)}
.co .rn-mark{position:absolute;right:clamp(20px,3vw,34px);top:clamp(20px,3vw,30px);width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.co .ms{grid-column:span 5;display:flex;flex-direction:column;justify-content:space-between;gap:20px;background:var(--org-grad);color:#fff}
.co .ms .k{background:rgba(255,255,255,.2);color:#fff}
.co .ms q{display:block;font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.6vw,36px);line-height:1.12;quotes:none}
.co .ms-n{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.co .ms-n div{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.16)}
.co .ms-n b{display:block;font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.04em;line-height:1}
.co .ms-n small{display:block;margin-top:4px;font-size:12px;font-weight:700;color:rgba(255,255,255,.85)}
.co .jr{grid-column:span 12}
.co .jr-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:22px}
.co .jr-top b{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.03em}
.co .jr-top small{font-size:12.5px;font-weight:700;color:var(--dim)}
.co .jt{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.co .jt::before{content:"";position:absolute;left:10px;right:10px;top:10px;height:2px;background:var(--line)}
.co .jt::after{content:"";position:absolute;left:10px;top:10px;height:2px;width:calc((100% - 20px) * var(--f,0));background:var(--org);transition:width 1.6s var(--ease)}
.co .js{position:relative;padding-top:34px}
.co .js .dot{position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid rgba(11,42,69,.16);transition:background .4s,border-color .4s,transform .5s var(--ease)}
.co .js.lit .dot{background:var(--org);border-color:var(--org);transform:scale(1.1);box-shadow:0 0 0 6px rgba(59,158,232,.15)}
.co .js.next .dot{border-style:dashed}
.co .js b{display:block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.co .js h4{margin:6px 0 0;font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.025em;line-height:1.1}
.co .js p{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--mist)}
.co .js.lit b{color:var(--org-ink)}
.co .fd{grid-column:span 6;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0;padding:0;transition:transform .5s var(--ease)}
.co .fd:hover{transform:translateY(-5px)}
.co .fd-ph{position:relative;min-height:320px;background:#0B2A45;display:grid;place-items:center;overflow:hidden}
.co .fd.alt .fd-ph{background:var(--org-grad)}
.co .fd-mono{position:relative;z-index:1;font-family:var(--display);font-weight:800;font-size:clamp(80px,8vw,120px);letter-spacing:-.06em;color:var(--org-2);transition:transform .7s var(--ease)}
.co .fd.alt .fd-mono{color:#fff}
.co .fd:hover .fd-mono{transform:scale(1.08) rotate(-3deg)}
.co .fd-ring{position:absolute;width:150%;aspect-ratio:1;border-radius:50%;border:1px dashed rgba(255,255,255,.2);animation:cospin 40s linear infinite}
.co .fd-ring::before{content:"";position:absolute;inset:18%;border-radius:50%;border:1px solid rgba(255,255,255,.12)}
@keyframes cospin{to{transform:rotate(360deg)}}
.co .fd-cap{position:absolute;left:12px;bottom:12px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:rgba(255,255,255,.14);color:rgba(255,255,255,.8)}
.co .fd-b{padding:clamp(20px,2.4vw,28px);display:flex;flex-direction:column;gap:10px}
.co .fd-b small{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--org-ink)}
.co .fd-b h3{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.04em;line-height:1}
.co .fd-b p{margin:0;font-size:14.5px;line-height:1.55;color:var(--mist)}
.co .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.co .tags span{font-size:12px;font-weight:700;padding:6px 11px;border-radius:999px;background:var(--s2)}
.co .cd{grid-column:span 12;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);gap:24px;align-items:center}
.co .cd-h b{display:block;margin-top:12px;font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.03em;line-height:1.05}
.co .cd-h small{display:block;margin-top:6px;font-size:13px;color:var(--dim)}
.co .cd-g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}
.co .cf{position:relative;padding:16px 18px;border-radius:20px;background:var(--s2);min-width:0}
.co .cf small{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.co .cf b{display:block;margin-top:8px;font-size:17px;font-weight:800;letter-spacing:-.01em;word-break:break-all}
.co .cf .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15.5px;letter-spacing:.02em}
.co .cf span.sub{display:block;margin-top:3px;font-size:12.5px;color:var(--mist)}
.co .cp{position:absolute;top:12px;right:12px;border:0;height:30px;padding:0 11px;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:800;cursor:pointer;transition:background .25s}
.co .cp.done{background:var(--ok);}
.co .verify{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:800;color:var(--ok)}
.co .verify i{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);font-style:normal;font-size:10px}
@media (max-width:1000px){.co .head{grid-template-columns:minmax(0,1fr)}
.co .rn,.co .ms{grid-column:span 12}
.co .fd{grid-column:span 12}
.co .cd{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){.co .h{font-size:clamp(34px,9.6vw,46px)}
.co .grid{gap:10px}
.co .card{border-radius:24px}
.co .rn{min-height:0}
.co .rn-name{font-size:clamp(44px,13vw,60px)}
.co .rn-mark{display:none}
.co .jr-top small{display:none}
.co .jt{grid-template-columns:minmax(0,1fr);gap:18px;padding-left:34px}
.co .jt::before{left:10px;right:auto;top:0;bottom:0;width:2px;height:auto}
.co .jt::after{left:10px;top:0;width:2px;height:calc(100% * var(--f,0));transition:height 1.6s var(--ease)}
.co .js{padding-top:0}
.co .js .dot{left:-34px}
.co .fd{grid-template-columns:minmax(0,1fr)}
.co .fd-ph{min-height:200px}
.co .cd-g{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.co *{transition:none!important;animation:none!important}
}
.co .jr-top{align-items:flex-end;margin-bottom:34px}
.co .jr-top b{display:block;margin-top:12px;font-size:clamp(24px,2.4vw,34px)}
.co .jv{position:relative;display:flex;flex-direction:column;gap:clamp(28px,4vw,56px);padding:10px 0 20px}
.co .jv-line{position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--line)}
.co .jv-line i{position:absolute;left:0;top:0;width:100%;height:0;background:var(--org)}
.co .jv-line em{position:absolute;left:50%;top:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--org);box-shadow:0 0 0 7px rgba(59,158,232,.18)}
.co .jm{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px)}
.co .jm::before{content:"";position:absolute;left:50%;top:26px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:#fff;border:2px solid rgba(11,42,69,.18);transition:background .4s,border-color .4s,transform .5s var(--ease);z-index:1}
.co .jm.lit::before{background:var(--org);border-color:var(--org);transform:scale(1.15)}
.co .jm.next::before{border-style:dashed}
.co .jm:nth-child(even) .jc{grid-column:1;text-align:right}
.co .jm:nth-child(odd) .jc{grid-column:2}
.co .jc{padding:22px 24px;border-radius:24px;background:var(--s2);opacity:.35;transform:translateY(24px);transition:opacity .6s,transform .8s var(--ease),background .4s}
.co .jm.lit .jc{opacity:1;transform:none}
.co .jc b{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--org-ink)}
.co .jc h4{margin:8px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.035em;line-height:1.05}
.co .jc p{margin:8px 0 0;font-size:14.5px;line-height:1.55;color:var(--mist)}
.co .jc.now{background:#0B2A45;color:#fff}
.co .jc.now b{color:var(--org-2)}
.co .jc.now p{color:rgba(255,255,255,.66)}
.co .jm.next .jc{background:transparent;box-shadow:inset 0 0 0 2px var(--line);border-radius:24px}
.co .jt{display:none}
@media (max-width:760px){.co .jv{padding-left:30px}
.co .jv-line{left:8px}
.co .jm{grid-template-columns:minmax(0,1fr)}
.co .jm::before{left:-22px;margin-left:0;top:24px}
.co .jm:nth-child(even) .jc,.co .jm:nth-child(odd) .jc{grid-column:1;text-align:left}
.co .jc{padding:18px}
}
.co .fds{grid-column:span 12;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);gap:14px}
.co .fp{position:relative;min-height:clamp(440px,40vw,540px);border-radius:30px;overflow:hidden;background:#0B2A45;color:#fff;cursor:pointer;outline:none;box-shadow:var(--sh);transition:transform .6s var(--ease)}
.co .fp:hover,.co .fp:focus-visible{transform:translateY(-6px)}
.co .fp.alt{background:var(--org-grad)}
.co .fp-ph{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(80% 60% at 50% 30%,rgba(255,255,255,.08),transparent)}
.co .fp-mono{font-family:var(--display);font-weight:800;font-size:clamp(120px,13vw,190px);letter-spacing:-.07em;line-height:1;color:var(--org-2);transform:translateY(-14%);transition:transform .8s var(--ease)}
.co .fp.alt .fp-mono{color:rgba(255,255,255,.95)}
.co .fp-cap{position:absolute;left:18px;top:18px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.14);color:rgba(255,255,255,.85)}
.co .fp-ov{position:absolute;left:12px;right:12px;bottom:12px;padding:20px;border-radius:22px;background:rgba(20,20,22,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12)}
.co .fp.alt .fp-ov{background:rgba(10,50,90,.3)}
.co .fp-role{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--org-2)}
.co .fp.alt .fp-role{color:#fff;opacity:.85}
.co .fp h3{margin:6px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(30px,2.8vw,40px);letter-spacing:-.04em;line-height:1}
.co .fp-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.co .fp-more>*{overflow:hidden}
.co .fp-more p{margin:0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.75)}
.co .fp-more .tags{margin-top:0}
.co .fp-in{display:flex;flex-direction:column;gap:12px;padding-top:10px}
.co .fp-in .tags{flex-direction:row}
.co .fp .tags span{background:rgba(255,255,255,.12);color:#fff}
.co .fp:hover .fp-more,.co .fp:focus-visible .fp-more,.co .fp.open .fp-more{grid-template-rows:1fr}
.co .fp:hover .fp-mono,.co .fp.open .fp-mono{transform:translateY(-38%) scale(.82)}
.co .fp-plus{position:absolute;right:18px;top:16px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0B2A45;font-weight:800;font-size:20px;transition:transform .5s var(--ease)}
.co .fp:hover .fp-plus,.co .fp.open .fp-plus{transform:rotate(45deg)}
.co .fd-note{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;padding:clamp(20px,2.4vw,30px);border-radius:30px;background:#fff;box-shadow:var(--sh)}
.co .fd-note .k{align-self:flex-start}
.co .fd-note b{font-family:var(--display);font-weight:800;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.04em;line-height:1}
.co .fd-note p{margin:0;font-size:14.5px;line-height:1.55;color:var(--mist)}
@media (max-width:1000px){.co .fds{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.co .fd-note{grid-column:span 2;order:-1}
}
@media (max-width:640px){.co .fds{grid-template-columns:minmax(0,1fr)}
.co .fd-note{grid-column:auto}
.co .fp{min-height:480px}
.co .fp-more{grid-template-rows:1fr}
.co .fp-mono{font-size:110px;transform:translateY(-70%)}
.co .fp:hover .fp-mono,.co .fp.open .fp-mono{transform:translateY(-70%)}
.co .fp-plus{display:none}
}
.co .lan{grid-column:span 12;background:#0B2A45;color:#fff;padding:clamp(24px,3vw,40px) clamp(20px,3vw,40px) 26px;isolation:isolate}
.co .lan::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 50% at 50% 20%,rgba(59,158,232,.2),transparent 70%),radial-gradient(rgba(141,208,247,.13) 1px,transparent 1.2px) 0 0/26px 26px}
.co .lan-cv{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.co .lan-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(420px circle at var(--gx,-500px) var(--gy,-500px),rgba(59,158,232,.16),transparent 60%)}
.co .lan .k{background:rgba(255,255,255,.1);color:#fff}
.co .lan-h{position:relative;z-index:3;max-width:520px;pointer-events:none;isolation:isolate}
.co .lan-stage{z-index:1}
.co .lan-h h3{margin:14px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(34px,4vw,58px);line-height:.95;letter-spacing:-.05em}
.co .lan-h h3 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--org-2);letter-spacing:-.015em}
.co .lan-h p{margin:12px 0 0;font-size:15px;color:rgba(255,255,255,.6)}
.co .lan-stage{user-select:none;-webkit-user-select:none;position:relative;height:clamp(560px,52vw,640px);margin-top:-110px;touch-action:pan-y}
.co .ly{position:absolute;inset:0;pointer-events:none}
.co .strap{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.co .strap .sb{fill:none;stroke:#1D4E7A;stroke-width:22;stroke-linecap:round;stroke-linejoin:round}
.co .ly[data-s="1"] .strap .sb{stroke:#14558E}
.co .strap .hook{fill:#0B2A45;stroke:#8DD0F7;stroke-width:3}
.co .strap text{font:800 9px var(--ui);letter-spacing:.28em;fill:rgba(255,255,255,.55);dominant-baseline:central}
.co .ly[data-s="1"] .strap text{fill:var(--org-2)}
.co .badge{position:absolute;left:0;top:0;width:230px;height:330px;margin:-14px 0 0 -115px;transform-origin:115px 14px;pointer-events:auto;cursor:grab;perspective:1200px;outline:none;will-change:transform}
.co .badge.drag{cursor:grabbing}
.co .badge:focus-visible .bf{box-shadow:0 0 0 3px var(--org-2)}
.co .clip{position:absolute;left:50%;top:-22px;width:34px;height:26px;margin-left:-17px;border-radius:6px;background:linear-gradient(180deg,#9a9ca3,#55575d);box-shadow:inset 0 1px 0 rgba(255,255,255,.5);z-index:3}
.co .clip::after{content:"";position:absolute;left:50%;bottom:-12px;width:12px;height:16px;margin-left:-6px;border:3px solid #8c8e95;border-top:0;border-radius:0 0 8px 8px}
.co .bf{position:absolute;inset:0;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .8s var(--ease);overflow:hidden;display:flex;flex-direction:column;padding:14px;box-shadow:0 30px 50px -20px rgba(0,0,0,.7)}
.co .front{background:#F7FBFE;color:#0B2A45}
.co .badge.o .front{background:var(--org-grad);color:#fff}
.co .back{background:#12304D;color:#fff;transform:rotateY(180deg);gap:10px}
.co .badge.o .back{background:#0E3A63}
.co .badge.flip .front{transform:rotateY(-180deg)}
.co .badge.flip .back{transform:rotateY(0)}
.co .b-top{display:flex;justify-content:space-between;align-items:center;height:22px}
.co .slot{position:absolute;left:50%;top:14px;width:54px;height:10px;margin-left:-27px;border-radius:999px;background:#0B2A45;box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}
.co .hdl{display:inline-flex;align-items:center;gap:4px;font:700 11px var(--ui);opacity:.8}
.co .hdl .ig{width:13px;height:13px;flex:none}
.co .b-ig{display:flex;justify-content:center;margin-top:10px}
.co .ig-h{padding:4px 10px;border-radius:999px;background:rgba(11,42,69,.07);opacity:1}
.co .badge.o .ig-h{background:rgba(255,255,255,.18)}
.co .front .b-ph{margin-top:8px}
.co .b-ph{position:relative;flex:1;margin:12px 0 10px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(160deg,#E6F2FB,#CFE6F7);overflow:hidden}
.co .badge.o .b-ph{background:linear-gradient(160deg,rgba(255,255,255,.25),rgba(255,255,255,.08))}
.co .mono{font-family:var(--display);font-weight:800;font-size:92px;letter-spacing:-.07em;color:rgba(11,42,69,.82)}
.co .badge.o .mono{color:#fff}
.co .cap{position:absolute;left:8px;bottom:8px;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:3px 7px;border-radius:999px;background:rgba(11,42,69,.12)}
.co .badge.o .cap{background:rgba(255,255,255,.2)}
.co .b-nm b{display:block;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.035em;line-height:1}
.co .b-nm small{display:block;margin-top:4px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.65}
.co .bk-n{margin-top:16px;font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.035em}
.co .back p{margin:0;font-size:13px;line-height:1.5;color:rgba(255,255,255,.7)}
.co .back .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}
.co .back .tags span{font-size:10.5px;font-weight:700;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.1)}
.co .bp-n{margin-top:10px}
.co .bp-n small,.co .bp-route small,.co .bp-row small{display:block;font-size:8.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.55}
.co .bp-n b{display:block;font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.03em;line-height:1.1}
.co .bp-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:6px;padding:10px 0;border-top:1px dashed rgba(255,255,255,.22);border-bottom:1px dashed rgba(255,255,255,.22)}
.co .bp-route b{display:block;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.02em;line-height:1.1}
.co .bp-route .r{text-align:right}
.co .bp-route svg{width:18px;height:18px;margin-bottom:2px;color:#8DD0F7;transform:rotate(90deg)}
.co .bp-row{display:grid;grid-template-columns:1fr auto;gap:6px}
.co .bp-row b{display:block;font-size:12.5px;font-weight:800}
.co .bp-row div:last-child{text-align:right}
.co .bp-m{margin:0;font-family:var(--serif);font-style:italic;font-size:17px!important;line-height:1.25!important;color:#fff!important}
.co .bp-bar{height:22px;margin-top:4px;border-radius:3px;opacity:.55;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 4px,#fff 4px 5px,transparent 5px 8px,#fff 8px 11px,transparent 11px 13px)}
.co .back{gap:8px}
.co .back .b-top{margin-top:14px;height:auto}
@media (max-width:640px){.co .bp-n b{font-size:16px}.co .bp-route b{font-size:12px}.co .bp-m{font-size:14px!important}.co .bp-bar{height:14px}.co .bp-row b{font-size:11px}}
.co .bk-id{font:600 10.5px ui-monospace,Menlo,monospace;opacity:.5}
.co .lan-hint{margin:0;text-align:center;font-size:13px;color:rgba(255,255,255,.5)}
@media (max-width:640px){.co .lan-stage{height:620px;margin-top:-40px}
.co .lan-h::before{content:"";position:absolute;left:-40px;right:-40px;top:-60px;bottom:-34px;z-index:-1;background:linear-gradient(180deg,#0B2A45 0%,rgba(11,42,69,.94) 62%,rgba(11,42,69,0) 100%);pointer-events:none}
.co .badge{width:180px;height:262px;margin-left:-90px;transform-origin:90px 14px}
.co .mono{font-size:70px}
.co .b-nm b{font-size:18px}
.co .back p{font-size:11.5px}
.co .bk-n{font-size:19px;margin-top:10px}
.co .back .tags span{font-size:9.5px}
}
.co .cd{background:#fff}
.co .cd-g{grid-template-columns:1.6fr 1fr 1fr;gap:12px}
.co .cd{grid-template-columns:minmax(0,.7fr) minmax(0,2.3fr)}
.co .cf{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px;border-radius:22px;background:var(--s2);overflow:hidden;transition:transform .45s var(--ease),box-shadow .35s,background .3s}
.co .cf:hover{transform:translateY(-4px);background:#fff;box-shadow:0 0 0 1px var(--line),0 20px 40px -24px rgba(11,42,69,.35)}
.co .cf-top{display:flex;align-items:center;gap:10px}
.co .ci{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#fff;color:var(--org-ink);flex:none;box-shadow:0 0 0 1px var(--line);transition:background .3s,color .3s}
.co .cf:hover .ci{background:var(--org);color:#fff;box-shadow:none}
.co .cf small{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.co .cf b{display:block;margin:0;font-family:var(--display);font-size:24px;font-weight:800;letter-spacing:-.03em}
.co .cf .sub{margin:0;font-size:13px;color:var(--mist)}
.co .cp{position:static;margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:12.5px;font-weight:800;cursor:pointer;transition:background .25s}
.co .cp:hover{background:#14558E}
.co .cp.done{background:var(--ok)}
.co .cf-cin{background:#0B2A45;color:#fff}
.co .cf-cin:hover{background:#0E3354}
.co .cf-cin small{color:rgba(255,255,255,.5)}
.co .cf-cin .ci{background:rgba(255,255,255,.08);color:var(--org-2);box-shadow:none}
.co .cf-cin .cp{background:#F4F9FD;color:var(--ink)}
.co .cf-cin b.mono{display:flex;flex-wrap:wrap;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(15px,1.5vw,19px);font-weight:700;letter-spacing:.04em}
.co .cf-cin b.mono{color:#fff}
.co .cf-cin b.mono span{color:#fff;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.07);transition:background .3s,color .3s}
.co .cf-cin:hover b.mono span:nth-child(3),.co .cf-cin:hover b.mono span:nth-child(4){background:var(--org);color:#fff}
.co .cin-k{display:none}
.co .cf-cin .verify{margin-top:2px;color:#3DD68C}
.co .cf-cin .verify i{background:rgba(61,214,140,.15)}
.co .pin{position:absolute;right:-6px;bottom:-4px;width:130px;color:rgba(11,42,69,.18);pointer-events:none}
.co .pin circle:last-child{transform-origin:75px 30px;animation:coping 2s ease-out infinite}
@keyframes coping{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.co .was{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:800}
.co .was .old{color:var(--dim);text-decoration:line-through;text-decoration-color:var(--org)}
.co .was .ar{color:var(--org);transition:transform .4s var(--ease)}
.co .cf:hover .was .ar{transform:translateX(4px)}
.co .was .new{padding:4px 10px;border-radius:999px;background:var(--org-soft);color:var(--org-ink)}
@media (max-width:1000px){.co .cd-g{grid-template-columns:1fr 1fr}
.co .cf-cin{grid-column:span 2}
}
@media (max-width:640px){.co .cd-g{grid-template-columns:minmax(0,1fr)}
.co .cf-cin{grid-column:auto}
.co .cf b{font-size:21px}
}
.co .cd2{grid-column:span 12;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(24px,3.4vw,48px)}
.co .cd2-l h3{margin:14px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(30px,3.4vw,48px);line-height:.98;letter-spacing:-.045em}
.co .cd2-l h3 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--org);letter-spacing:-.015em}
.co .cd2-l p{margin:14px 0 0;max-width:42ch;font-size:15px;line-height:1.6;color:var(--mist)}
.co .slip{position:relative;perspective:1200px}
.co .slip-in{position:relative;padding:28px 26px 22px;border-radius:18px;overflow:hidden;background:#FBFDFF;background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(11,42,69,.035) 31px 32px);box-shadow:0 1px 0 #fff inset,0 30px 60px -30px rgba(11,42,69,.45),0 0 0 1px rgba(11,42,69,.06);transform:rotate(-1deg);transition:transform .7s var(--ease)}
.co .slip-in::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:6px 6px 0 0;background:var(--org-grad)}
.co .slip:hover .slip-in{transform:rotate(0) translateY(-4px)}
.co .slip-h{display:flex;flex-direction:column;gap:4px;padding-right:90px;padding-bottom:14px;margin-bottom:6px;border-bottom:2px solid var(--ink)}
.co .slip-h span:first-child{font-family:var(--display);font-weight:800;font-size:clamp(18px,1.8vw,22px);letter-spacing:-.03em}
.co .slip-no{font:700 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.co .rw{display:grid;grid-template-columns:auto minmax(16px,1fr) auto;gap:10px;align-items:baseline;padding:11px 0;border-bottom:1px solid rgba(11,42,69,.06)}
.co .rw small{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.co .rw .dl{border-bottom:2px dotted rgba(11,42,69,.18);transform:translateY(-4px)}
.co .rw b{font-size:15.5px;font-weight:800;text-align:right}
.co .rw b s{text-decoration-color:var(--org);text-decoration-thickness:2px;color:var(--mist)}
.co .rw-cin{grid-template-columns:auto minmax(16px,1fr) auto auto}
.co .rw-cin b.mono{font:800 16px var(--ui);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:'zero' 0;letter-spacing:.05em;padding:4px 8px;border-radius:8px;background:var(--org-soft);color:var(--org-ink)}
.co .cp{position:static;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-size:12px;font-weight:800;cursor:pointer;align-self:center;transition:background .25s}
.co .cp.done{background:var(--ok)}
.co .slip-f{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:16px}
.co .slip-f .ok{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:var(--ok)}
.co .slip-f .ok i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);font-style:normal;font-size:10px}
.co .sig{font-family:var(--serif);font-style:italic;font-size:30px;color:var(--ink);opacity:.75;padding:0 6px 2px;border-bottom:1px solid rgba(11,42,69,.25)}
.co .seal{position:absolute;right:-22px;top:-44px;z-index:2;width:128px;height:128px;border-radius:50%;cursor:pointer;filter:drop-shadow(0 12px 18px rgba(59,158,232,.35));transform:rotate(-12deg) scale(.4);opacity:0;transition:transform .7s cubic-bezier(.3,1.6,.5,1),opacity .3s}
.co .slip.stamped .seal{transform:rotate(-12deg) scale(1);opacity:1}
.co .ct{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#6CBCF3,#3B9EE8 45%,#1A6DB5 100%);box-shadow:inset 0 0 0 5px rgba(255,255,255,.12);transition:scale .5s var(--ease)}
.co .ct::after{content:"";position:absolute;inset:24%;border-radius:50%;border:1px dashed rgba(255,255,255,.55)}
.co .ct span{position:absolute;left:50%;top:50%;width:12px;height:14px;margin:-7px 0 0 -6px;display:grid;place-items:center;font:800 10px var(--ui);color:#fff;transform:rotate(var(--a)) translateY(calc(var(--r) * -1))}
.co .seal-c{position:absolute;inset:32%;display:grid;place-items:center;pointer-events:none}
.co .seal-c svg{width:100%;height:100%}
.co .seal:hover .ct{scale:1.08}
@media (max-width:1000px){.co .cd2{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){.co .slip-in{padding:20px 16px 18px;transform:none}
.co .rw{grid-template-columns:minmax(0,1fr) auto;gap:6px}
.co .rw .dl{display:none}
.co .rw-cin{grid-template-columns:minmax(0,1fr) auto}
.co .rw-cin b.mono{grid-column:1 / -1;order:3;justify-self:start;font-size:14px}
.co .rw-cin .cp{grid-row:1;grid-column:2}
.co .seal{width:96px;height:96px;right:-6px;top:-46px}
.co .ct span{font-size:7.5px;width:9px;margin-left:-4.5px}
.co .slip-h{padding-right:70px}
.co .sig{font-size:24px}
}
@media (prefers-reduced-motion:reduce){.co .ct{transition:none}
}
.co .ms-n{grid-template-columns:1fr 1fr}
.co .ms-n .wide{grid-column:span 2;display:flex;align-items:baseline;gap:10px}
.co .ms-n .wide small{margin:0}

.ft{--ink:var(--navy);--org:#3B9EE8;--org-2:#8DD0F7;--org-ink:#1A6DB5;--org-soft:#E6F2FB;--org-grad:linear-gradient(140deg,#6CBCF3 0%,#3B9EE8 50%,#1A6DB5 100%)}
.ft{position:relative;margin:clamp(30px,5vw,70px) clamp(8px,1.2vw,16px) 0;border-radius:clamp(28px,3.4vw,48px) clamp(28px,3.4vw,48px) 0 0;background:#0B2A45;color:#EEF6FC;overflow:hidden;isolation:isolate}
.ft::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(600px circle at var(--mx,80%) var(--my,10%),rgba(59,158,232,.13),transparent 60%)}
.ft .ft-dots{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.ft .ft-wrap{max-width:1240px;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(16px,4vw,40px) 0}
.ft .pass{--sw:clamp(170px,18vw,230px);position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--sw);border-radius:28px;color:#fff}
.ft .pass-main{position:relative;padding:clamp(22px,3vw,40px);min-width:0;background:var(--org-grad);border-radius:28px 0 0 28px;box-shadow:0 40px 80px -40px rgba(59,158,232,.75);
  -webkit-mask:radial-gradient(circle 14px at 100% 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 100% 100%,#0000 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 14px at 100% 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 100% 100%,#0000 98%,#000) bottom/100% 51% no-repeat}
.ft .pass-main::after{content:"";position:absolute;right:0;top:20px;bottom:20px;border-right:2px dashed rgba(255,255,255,.45)}
.ft .pass-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ft .pl svg{display:block;height:30px;width:auto}
.ft .pc{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;opacity:.8;text-align:right}
.ft .route{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin:22px 0 18px}
.ft .route small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.75}
.ft .route b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(20px,2.4vw,32px);letter-spacing:-.035em}
.ft .route .to{text-align:right}
.ft .fly{position:relative;height:22px}
.ft .fly .dash{position:absolute;left:0;right:0;top:50%;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 6px,transparent 6px 12px)}
.ft .fly svg{position:absolute;top:0;left:0;transform:translateX(-50%) rotate(90deg)}
.ft .pass h2{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(32px,4.6vw,68px);line-height:.95;letter-spacing:-.05em}
.ft .pass h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.015em;color:#0B2A45}
.ft .pass-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.ft .pass-meta span{padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.16)}
.ft .pass-meta small{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.ft .pass-meta b{font-size:13.5px}
.ft .stamp{position:absolute;right:clamp(26px,4vw,60px);bottom:clamp(22px,3vw,36px);display:grid;place-items:center;width:128px;height:128px;border-radius:50%;border:3px solid #0B2A45;color:#0B2A45;text-align:center;transform:rotate(-14deg) scale(2.4);opacity:0;pointer-events:none;transition:transform .5s cubic-bezier(.3,1.6,.5,1),opacity .25s}
.ft .stamp::before{content:"";position:absolute;inset:6px;border-radius:50%;border:1.5px dashed #0B2A45}
.ft .stamp b{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;text-transform:uppercase;line-height:1;margin-top:34px}
.ft .stamp small{font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:34px}
.ft .pass.torn .stamp{opacity:.9;transform:rotate(-14deg) scale(1);transition-delay:.35s}
.ft .slot{position:relative;min-width:0}
.ft .stub{position:absolute;inset:0;z-index:2;display:block;padding:0;border:0;background:linear-gradient(150deg,#5DB3F0,#14558E);border-radius:0 28px 28px 0;color:#fff;font:inherit;text-align:left;cursor:grab;touch-action:none;transform-origin:0 100%;will-change:transform;box-shadow:0 40px 80px -40px rgba(59,158,232,.75);
  -webkit-mask:radial-gradient(circle 14px at 0 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 0 100%,#0000 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 14px at 0 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 0 100%,#0000 98%,#000) bottom/100% 51% no-repeat}
.ft .stub:active{cursor:grabbing}
.ft .stub:focus-visible{outline:none}
.ft .stub:focus-visible .stub-t{text-decoration:underline;text-underline-offset:6px}
.ft .stub-in{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:14px;height:100%;padding:clamp(22px,3vw,36px) clamp(18px,2vw,26px)}
.ft .stub-bc{width:100%;height:56px;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px,#fff 5px 6px,transparent 6px 9px,#fff 9px 12px,transparent 12px 14px);opacity:.85;border-radius:3px}
.ft .stub-t{font-family:var(--display);font-weight:800;font-size:clamp(26px,2.6vw,36px);letter-spacing:-.04em;line-height:.95}
.ft .stub-h{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:9px 13px;border-radius:999px;background:#0B2A45}
.ft .stub-h svg{transform:scaleX(-1);color:#8DD0F7}
.ft .stub.nudge .stub-in{animation:ftnudge 1.1s var(--ease)}
@keyframes ftnudge{0%,100%{transform:none}30%{transform:translate(6px,-2px) rotate(3deg)}55%{transform:translate(-1px,0) rotate(-.6deg)}75%{transform:translate(2px,-1px) rotate(1deg)}}
.ft .fib{position:absolute;inset:-60px;width:calc(100% + 120px);height:calc(100% + 120px);pointer-events:none;z-index:3}
.ft .boarded{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:22px;border:2px dashed rgba(255,255,255,.18);border-left:0;border-radius:0 28px 28px 0;opacity:0;transform:translateX(-10px);transition:opacity .4s,transform .6s var(--ease)}
.ft .pass.torn .boarded{opacity:1;transform:none;transition-delay:.45s}
.ft .bd-k{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#3DD68C}
.ft .boarded b{font-family:var(--display);font-weight:800;font-size:clamp(20px,1.9vw,25px);letter-spacing:-.035em;line-height:1.05}
.ft .bd-go{display:inline-flex;align-items:center;gap:8px;margin-top:6px;height:46px;padding:0 18px;border-radius:999px;background:var(--org-grad);color:#fff;font-weight:800;font-size:14.5px;text-decoration:none;transition:transform .35s var(--ease)}
.ft .bd-go:hover{transform:translateY(-2px)}
.ft .bd-re{border:0;background:none;padding:4px 0;color:rgba(238,246,252,.5);font:700 12.5px var(--ui);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ft .bd-re:hover{color:#fff}
.ft .stub.reprint{animation:ftreprint .8s var(--ease) both}
@keyframes ftreprint{from{transform:translateY(-30px);opacity:0;clip-path:inset(0 0 100% 0)}to{transform:none;opacity:1;clip-path:inset(0 0 0 0)}}
.ft .cols{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);padding:clamp(40px,5vw,72px) 0 clamp(10px,2vw,20px)}
.ft .b-logo svg{display:block;height:58px;width:auto;margin-bottom:18px}
.ft .brand p{margin:0;max-width:34ch;font-size:14.5px;line-height:1.6;color:rgba(238,246,252,.6)}
.ft .clock{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:8px 14px 8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-size:13px;font-weight:700;color:rgba(238,246,252,.66);font-variant-numeric:tabular-nums}
.ft .clock i{position:relative;width:8px;height:8px;border-radius:50%;background:#3DD68C}
.ft .clock i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid #3DD68C;animation:ftping 1.8s ease-out infinite}
@keyframes ftping{to{transform:scale(1.9);opacity:0}}
.ft .clock b{color:#fff}
.ft .col{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.ft .col h4{margin:0 0 12px;font-size:11.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(238,246,252,.42)}
.ft .col a{position:relative;padding:6px 0;font-size:15px;font-weight:600;color:rgba(238,246,252,.75);text-decoration:none;transition:color .25s,transform .35s var(--ease);max-width:100%;overflow-wrap:anywhere}
.ft .col a.big{font-family:var(--display);font-weight:700;font-size:17px;color:#fff;letter-spacing:-.01em}
.ft .col a::after{content:"";position:absolute;left:0;bottom:3px;height:2px;width:100%;background:#8DD0F7;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.ft .col a:hover{color:#fff;transform:translateX(4px)}
.ft .col a:hover::after{transform:scaleX(1);transform-origin:left}
.ft .col .tg{display:inline-block;margin-left:6px;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;background:#3B9EE8;color:#fff;vertical-align:2px}
.ft .stage{position:relative;display:flex;flex-direction:column;align-items:center;padding:clamp(10px,3vw,40px) 0 clamp(16px,2vw,26px)}
.ft .lg{display:block;width:min(100%,920px);height:auto;overflow:visible}
.ft .lg .pl-hit{cursor:pointer}
.ft .st-hint{margin-top:6px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(238,246,252,.3);opacity:var(--hint,0);transition:opacity .4s}
.ft .base{display:flex;justify-content:space-between;align-items:center;gap:10px 20px;flex-wrap:wrap;padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.09);font-size:12.5px;color:rgba(238,246,252,.45)}
.ft .legal{display:flex;gap:18px}
.ft .base a{color:inherit;text-decoration:none}
.ft .base a:hover{color:#fff}
.ft .top{border:0;height:38px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-size:13px;font-weight:800;cursor:pointer;transition:background .25s}
.ft .top:hover{background:#3B9EE8}
@media (max-width:1000px){.ft .cols{grid-template-columns:repeat(3,minmax(0,1fr))}
.ft .brand{grid-column:1/-1}
}
@media (max-width:640px){.ft .pass{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 150px}
.ft .pass-main{border-radius:28px 28px 0 0;
    -webkit-mask:radial-gradient(circle 14px at 0 100%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 100%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 14px at 0 100%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 100%,#0000 98%,#000) right/51% 100% no-repeat}
.ft .pass-main::after{right:20px;left:20px;top:auto;bottom:0;border-right:0;border-bottom:2px dashed rgba(255,255,255,.45)}
.ft .pc{max-width:12ch}
.ft .stamp{width:96px;height:96px;right:16px;bottom:14px}
.ft .stamp b{font-size:16px;margin-top:26px}
.ft .stamp small{font-size:8px;margin-bottom:26px}
.ft .stub,.ft .boarded{border-radius:0 0 28px 28px}
.ft .stub{transform-origin:100% 0;
    -webkit-mask:radial-gradient(circle 14px at 0 0,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 0,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 14px at 0 0,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 0,#0000 98%,#000) right/51% 100% no-repeat}
.ft .stub-in{display:grid;grid-template-columns:1fr auto;align-items:center;align-content:center;gap:12px}
.ft .stub-bc{grid-column:1/-1;height:26px}
.ft .boarded{border:2px dashed rgba(255,255,255,.18);border-top:0;padding:16px 20px;gap:6px}
.ft .boarded b{display:none}
.ft .cols{grid-template-columns:1fr 1fr;gap:28px 16px}
.ft .col[aria-label="Contact"]{grid-column:1/-1}
.ft .base{flex-direction:column;align-items:flex-start}
}
.ft .pass h2 em{color:#0B2A45}
.ft .bd-alt{font-size:13px;font-weight:700;color:rgba(238,246,252,.7);text-decoration:underline;text-underline-offset:3px}
.ft .bd-alt:hover{color:#fff}

/* torn: the slot becomes an off-white ticket counterfoil */
.ft .boarded{background:#F6F4EE;color:#0B2A45;border:0!important;box-shadow:inset 0 0 0 1px rgba(11,42,69,.06),0 30px 60px -36px rgba(0,0,0,.6);
  -webkit-mask:radial-gradient(circle 14px at 0 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 0 100%,#0000 98%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 14px at 0 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 14px at 0 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  background-image:radial-gradient(rgba(11,42,69,.05) 1px,transparent 1.2px);background-size:14px 14px}
.ft .bd-k{color:#16895B}
.ft .bd-alt{color:#1A6DB5}.ft .bd-alt:hover{color:#0B2A45}
.ft .bd-re{color:rgba(11,42,69,.5)}.ft .bd-re:hover{color:#0B2A45}
.ft .bd-go{box-shadow:0 12px 24px -12px rgba(26,109,181,.7)}
@media (max-width:640px){.ft .boarded{-webkit-mask:radial-gradient(circle 14px at 0 0,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 0,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 14px at 0 0,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 0,#0000 98%,#000) right/51% 100% no-repeat}}

html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
section[id],footer[id]{scroll-margin-top:96px}
:root{--sec:clamp(76px,8vw,120px)}
/* one even rhythm between every section */
.vsec,.pkx,.qsec,.ai,.wsec,.ts,.fq,.co{padding-top:var(--sec);padding-bottom:var(--sec)}
/* soft tinted bands that fade in and out, so sections flow into each other */
.pkx{background:linear-gradient(180deg,var(--bg) 0%,#EAF4FC 14%,#EAF4FC 86%,var(--bg) 100%)}
.wsec{background:linear-gradient(180deg,var(--bg) 0%,#EEF6FD 18%,#EEF6FD 82%,var(--bg) 100%)}
.fq{background:linear-gradient(180deg,var(--bg) 0%,#EAF4FC 16%,#EAF4FC 84%,var(--bg) 100%)}
.ts{background:radial-gradient(50% 45% at 85% 40%,rgba(59,158,232,.14),transparent 70%),radial-gradient(40% 40% at 5% 90%,rgba(255,181,71,.08),transparent 70%),var(--bg)}
.co{padding-bottom:calc(var(--sec) * .6)}
/* packages filter bar slides under the nav instead of behind it */
.pkx-bar{top:var(--stick,12px);transition:top .5s var(--ease)}
/* home styles a generic ".ok"; keep the company record's tick inline */
.co .slip-f .ok{padding:0;text-align:left}
/* hero: the next section's rounded lip overlaps the hero bottom, so the hero grows by that lip and its bottom controls sit above it */
:root{--lip:44px}
.hero{height:calc(100vh + var(--lip));height:calc(100svh + var(--lip));min-height:calc(740px + var(--lip))}
.dock{bottom:calc(22px + var(--lip))}
.ppause{bottom:calc(28px + var(--lip))}
.hint{bottom:calc(80px + var(--lip))}
@media (max-width:900px){.hero{min-height:calc(760px + var(--lip))}}
@media (max-width:700px){:root{--lip:28px}.dock{bottom:calc(14px + var(--lip))}}
/* AI stepper: on phones show numbers only so labels never run into the next step */
@media (max-width:560px){.ai-steps li .t,.ai-steps li.on .t{display:none}}
/* ===== hero -> Safarzing AI: the AI section slides up over the hero as a rounded sheet ===== */
.loc{margin-top:0;border-radius:0;box-shadow:none;background:var(--bg);padding-top:var(--sec)}
.loc::before{display:none}
.ai{z-index:6;margin-top:calc(var(--lip) * -1);border-radius:44px 44px 0 0;padding-top:calc(var(--sec) + 10px);overflow-x:clip;
  background:linear-gradient(180deg,rgba(244,249,253,0) 0%,rgba(244,249,253,0) 74%,rgba(244,249,253,.75) 88%,#F4F9FD 97%),radial-gradient(50% 220px at 50% 0%,rgba(255,176,124,.32),transparent 75%),radial-gradient(55% 45% at 88% 10%,rgba(255,140,90,.2),transparent 70%),radial-gradient(45% 35% at 4% 62%,rgba(255,170,110,.16),transparent 70%),linear-gradient(180deg,#FFFDFB 0%,#FFF6F0 10%,#FFF0E7 30%,#FFEDE3 64%,#F9F3F1 84%,#F4F9FD 100%);
  box-shadow:0 -30px 60px -34px rgba(110,40,24,.45),inset 0 1px 0 rgba(255,255,255,.95);transform-origin:50% 0;
  transform:translateY(calc((1 - var(--sp,1)) * 60px)) scale(calc(.94 + .06 * var(--sp,1)));
  border-top-left-radius:calc(44px + (1 - var(--sp,1)) * 40px);border-top-right-radius:calc(44px + (1 - var(--sp,1)) * 40px)}
.ai::before{content:"";position:absolute;left:50%;top:14px;width:54px;height:5px;margin-left:-27px;border-radius:9px;background:#FFB998;opacity:.8}
.ai::after{content:"";position:absolute;left:0;right:0;top:-1px;height:120px;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.7),transparent);opacity:calc(1 - var(--sp,1))}
.hero-veil{position:absolute;inset:0;z-index:75;pointer-events:none;background:linear-gradient(180deg,rgba(244,249,253,0) 15%,rgba(255,238,228,.6) 60%,rgba(255,232,220,.95) 100%);opacity:var(--hv,0)}
.hero .copy{opacity:calc(1 - var(--hv,0) * .7);transform:translateY(calc(var(--hv,0) * -40px))}
@media (max-width:700px){.ai{border-radius:28px 28px 0 0;border-top-left-radius:calc(28px + (1 - var(--sp,1)) * 24px);border-top-right-radius:calc(28px + (1 - var(--sp,1)) * 24px)}}
@media (prefers-reduced-motion:reduce){.ai{transform:none}.hero .copy{transform:none}}
/* the footer is the last thing on the page */
.ft{margin-bottom:0}

/* tall section: the stage stays pinned while you scroll through the story */
.mr{position:relative;height:270vh;height:270svh;background:var(--bg)}
.mr-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate;
  background:radial-gradient(900px 600px at 80% 0%,rgba(169,211,242,.45),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(255,214,140,.25),transparent 60%),var(--bg)}
.mr-stick::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(11,42,69,.08) 1px,transparent 1.2px);background-size:26px 26px;-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent)}

/* ---------- the scattered memories ---------- */
.mr-c{position:absolute;left:0;top:0;z-index:10;width:var(--w);container-type:inline-size;will-change:transform;transform-origin:50% 50%;cursor:default}
.mr-c .fr{display:block;padding:3.6cqw 3.6cqw 0;border-radius:max(8px,8cqw);background:#fff;box-shadow:0 22px 40px -24px rgba(11,42,69,.55),0 0 0 1px var(--line)}
.mr-c .im{display:block;border-radius:max(6px,5.5cqw);background:var(--g) center/cover;aspect-ratio:var(--ar,4/5)}
.mr-c .cap{display:flex;justify-content:space-between;align-items:baseline;gap:4px;padding:4cqw 2cqw 4.6cqw}
.mr-c .cap b{font-size:max(9.5px,7.6cqw);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mr-c .cap small{display:inline-flex;align-items:center;gap:4px;font-size:max(8px,6cqw);font-weight:700;color:var(--dim);white-space:nowrap}
.mr-c .cap small i{width:6px;height:6px;border-radius:50%;background:var(--dot,#3B9EE8)}
.mr-c.far .fr{filter:blur(1.5px) saturate(.85);opacity:.8;transition:filter .6s,opacity .6s}
.mr.fly .mr-c.far .fr{filter:none;opacity:1}
/* other kinds of saved stuff: a boarding pass, a note from a friend, a stamp */
.mr-c.pass .fr{padding:7cqw 8cqw;background:var(--navy);color:#fff;border-radius:14px}
.mr-c.pass small{display:block;font-size:max(7px,5.4cqw);font-weight:800;letter-spacing:.16em;color:var(--sun)}
.mr-c.pass .rt{display:flex;align-items:center;justify-content:space-between;margin-top:4cqw;font-family:var(--display);font-weight:800;font-size:14cqw;letter-spacing:-.02em}
.mr-c.pass .rt svg{width:10cqw;height:10cqw;color:var(--sky3)}
.mr-c.pass .pft{display:flex;justify-content:space-between;gap:4px;margin-top:5cqw;padding-top:5cqw;border-top:1px dashed rgba(255,255,255,.25);font-size:max(7px,5.6cqw);white-space:nowrap;font-weight:800;opacity:.75}
.mr-c.nt .fr{padding:8cqw 8cqw 7cqw;background:#FFF2C4;border-radius:4px 4px 14px 4px;box-shadow:0 22px 40px -24px rgba(11,42,69,.5)}
.mr-c.nt p{margin:0;font:600 11.5cqw/1.1 'Caveat',cursive;color:#5A4200}
.mr-c.nt small{display:block;margin-top:5cqw;font-size:max(7.5px,6cqw);font-weight:700;color:rgba(90,66,0,.7)}
.mr-c.stamp .fr{padding:7cqw;border-radius:0;background:#fff;-webkit-mask:radial-gradient(circle 4px,transparent 97%,#000) -4px -4px/12px 12px;mask:radial-gradient(circle 4px,transparent 97%,#000) -4px -4px/12px 12px}
.mr-c.stamp .in{display:block;padding:9cqw 4cqw;border:2px solid #E2725B;color:#C24E37;text-align:center;background:linear-gradient(160deg,#FFF4EC,#FFE2D2)}
.mr-c.stamp b{display:block;font-family:var(--display);font-size:19cqw;letter-spacing:-.02em}
.mr-c.stamp small{display:block;font-size:max(6.5px,8cqw);font-weight:800;letter-spacing:.14em}
.mr-c.fan{cursor:pointer}
.mr-c.fan .fr{box-shadow:0 26px 40px -20px rgba(11,42,69,.6),0 0 0 2px #fff}

/* ---------- the suitcase (built like a folder: back, things inside, front) ---------- */
.mr-sc{position:absolute;left:var(--sx);top:var(--sy);width:var(--sw);height:calc(var(--sw) * .74);pointer-events:none;--u:calc(var(--sw) / 100)}
.mr-sc>*{opacity:0;transition:opacity .6s}
.mr-sc>.fr{transition:opacity .6s,transform .6s var(--ease)}
.mr.bag .mr-sc>*{opacity:1}
.mr-sc>.hint{opacity:0}
/* soft shadow on the floor */
.mr-sc .sh{position:absolute;left:4%;right:4%;bottom:calc(var(--u) * -9);height:calc(var(--u) * 7);z-index:1;border-radius:50%;background:radial-gradient(closest-side,rgba(11,42,69,.35),rgba(11,42,69,0))}
/* telescopic trolley handle */
.mr-sc .tele{position:absolute;left:50%;bottom:96%;z-index:4;width:44%;height:calc(var(--u) * 24);margin-left:-22%;transition:height .6s var(--ease),opacity .6s}
.mr.done .mr-sc .tele{height:calc(var(--u) * 34)}
.mr-sc .tele i{position:absolute;bottom:0;width:calc(var(--u) * 3.4);top:calc(var(--u) * 6);border-radius:3px;background:linear-gradient(90deg,#8D9AA6,#EEF2F6 45%,#A3AFBA)}
.mr-sc .tele i:first-child{left:10%}.mr-sc .tele i:nth-child(2){right:10%}
.mr-sc .tele b{position:absolute;left:4%;right:4%;top:0;height:calc(var(--u) * 8);border-radius:calc(var(--u) * 4);background:linear-gradient(180deg,#1C4E7E,#0B2A45);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 4px 8px -4px rgba(11,42,69,.6)}
.mr-sc .tele b::after{content:"";position:absolute;left:30%;right:30%;top:42%;height:2px;border-radius:2px;background:rgba(255,255,255,.25)}
/* inside of the case: lining */
.mr-sc .bk{position:absolute;inset:0;z-index:5;border-radius:calc(var(--u) * 7);background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.12),transparent 60%),repeating-linear-gradient(135deg,#123F69 0 calc(var(--u) * 2.4),#164A75 calc(var(--u) * 2.4) calc(var(--u) * 4.8))}
/* the shell */
.mr-sc .fr{position:absolute;inset:0;z-index:60;padding:0;border:0;color:inherit;border-radius:calc(var(--u) * 7);transform-origin:50% 100%;transform:perspective(900px) rotateX(calc(var(--open,0) * -22deg));pointer-events:auto;cursor:pointer;overflow:visible;
  background:
    linear-gradient(90deg,transparent 0 21%,rgba(255,255,255,.28) 21% 21.6%,rgba(11,42,69,.14) 21.6% 22.4%,transparent 22.4% 77.6%,rgba(255,255,255,.28) 77.6% 78.4%,rgba(11,42,69,.14) 78.4% 79%,transparent 79%),
    linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 30%,rgba(11,42,69,0) 70%,rgba(11,42,69,.18)),
    linear-gradient(115deg,#6CC2F6 0%,#3B9EE8 38%,#1F7BCB 70%,#1A6DB5 100%);
  box-shadow:inset 0 calc(var(--u) * .8) 0 rgba(255,255,255,.45),inset 0 calc(var(--u) * -1.6) calc(var(--u) * 3) rgba(11,42,69,.28),0 calc(var(--u) * 10) calc(var(--u) * 16) calc(var(--u) * -8) rgba(11,42,69,.55)}
.mr-sc .fr::before{content:"";position:absolute;inset:calc(var(--u) * 2.6);border-radius:calc(var(--u) * 5);border:1.5px dashed rgba(255,255,255,.45);pointer-events:none}
.mr-sc .fr::after{content:"";position:absolute;left:8%;top:5%;width:30%;height:40%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.35),rgba(255,255,255,0));pointer-events:none}
/* corner guards */
.mr-sc .cg{position:absolute;width:calc(var(--u) * 11);height:calc(var(--u) * 11);border:calc(var(--u) * 2.2) solid #0F3A63;pointer-events:none}
.mr-sc .cg.a{left:-1px;top:-1px;border-right:0;border-bottom:0;border-radius:calc(var(--u) * 7) 0 0 0}
.mr-sc .cg.b{right:-1px;top:-1px;border-left:0;border-bottom:0;border-radius:0 calc(var(--u) * 7) 0 0}
.mr-sc .cg.c{left:-1px;bottom:-1px;border-right:0;border-top:0;border-radius:0 0 0 calc(var(--u) * 7)}
.mr-sc .cg.d{right:-1px;bottom:-1px;border-left:0;border-top:0;border-radius:0 0 calc(var(--u) * 7) 0}
/* carry handle on top of the shell + TSA lock */
.mr-sc .ch{position:absolute;left:50%;top:calc(var(--u) * -3.4);width:24%;height:calc(var(--u) * 5);margin-left:-12%;border-radius:calc(var(--u) * 3);background:linear-gradient(180deg,#1C4E7E,#0B2A45);box-shadow:0 2px 4px rgba(11,42,69,.4)}
.mr-sc .lk{position:absolute;right:9%;top:9%;width:calc(var(--u) * 9);height:calc(var(--u) * 6);border-radius:calc(var(--u) * 1.4);background:linear-gradient(180deg,#24384D,#0B1A29);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.mr-sc .lk::before{content:"";position:absolute;left:12%;top:28%;width:46%;height:44%;border-radius:2px;background:repeating-linear-gradient(90deg,#C9D3DC 0 calc(var(--u) * 1),#8D9AA6 calc(var(--u) * 1) calc(var(--u) * 1.4))}
.mr-sc .lk::after{content:"";position:absolute;right:12%;top:30%;width:calc(var(--u) * 1.6);height:calc(var(--u) * 2.4);border-radius:1px;background:#E3B23C}
/* brand plate */
.mr-sc .pl{position:absolute;left:50%;top:11%;width:34%;padding:calc(var(--u) * 1.6) 0 calc(var(--u) * 1.2);margin-left:-17%;border-radius:calc(var(--u) * 2.4);background:linear-gradient(180deg,#FFFFFF,#E7F1F9);box-shadow:0 calc(var(--u) * .8) calc(var(--u) * 2) rgba(11,42,69,.3),inset 0 -1px 0 rgba(11,42,69,.1);display:flex;flex-direction:column;align-items:center}
.mr-sc .pl svg{width:70%;height:auto;display:block}
.mr-sc .pl b{font:800 calc(var(--u) * 3.1) var(--display);letter-spacing:.22em;color:var(--navy);margin-top:calc(var(--u) * .4)}
/* stickers: they stick on one by one as the bag fills */
.mr-sc .st{position:absolute;display:grid;place-items:center;text-align:center;line-height:1;transform:scale(0) rotate(var(--r));transition:transform .5s cubic-bezier(.3,1.6,.5,1);box-shadow:0 calc(var(--u) * .8) calc(var(--u) * 1.6) rgba(11,42,69,.35);pointer-events:none}
.mr-sc .st.on{transform:scale(1) rotate(var(--r))}
.mr-sc .s1{left:6%;top:44%;width:24%;aspect-ratio:1;border-radius:50%;background:var(--sun);color:#5A3A00;font:800 calc(var(--u) * 2.6) var(--ui);letter-spacing:.08em}
.mr-sc .s1::before{content:"";position:absolute;inset:7%;border-radius:50%;border:1.5px dashed rgba(90,58,0,.45)}
.mr-sc .s1 svg{width:calc(var(--u) * 9);height:auto;margin-bottom:calc(var(--u) * .8)}
.mr-sc .s2{left:31%;top:60%;width:22%;height:20%;border-radius:calc(var(--u) * 2);background:linear-gradient(180deg,#FFB547,#E0603F);color:#fff;font:italic 400 calc(var(--u) * 7) var(--serif)}
.mr-sc .s2 i{position:absolute;left:50%;bottom:16%;width:30%;aspect-ratio:2/1;margin-left:-15%;border-radius:999px 999px 0 0;background:rgba(255,236,190,.6)}
.mr-sc .s3{right:6%;top:42%;width:22%;height:24%;border-radius:calc(var(--u) * 2);background:#fff;color:var(--navy);align-content:center;gap:calc(var(--u) * .8)}
.mr-sc .s3 b{font:800 calc(var(--u) * 6.4) var(--display);letter-spacing:-.02em}
.mr-sc .s3 i{width:70%;height:calc(var(--u) * 3);background:repeating-linear-gradient(90deg,var(--navy) 0 1px,transparent 1px 3px,var(--navy) 3px 5px,transparent 5px 6px)}
.mr-sc .s3 small{font:800 calc(var(--u) * 1.9) var(--ui);letter-spacing:.12em;color:var(--blue-d)}
.mr-sc .s4{left:57%;top:66%;width:20%;aspect-ratio:1.5;border-radius:50%;background:#3DD68C;color:#073B22;font:800 calc(var(--u) * 3.4) var(--display);letter-spacing:.06em}
.mr-sc .s5{left:10%;top:76%;width:26%;padding:calc(var(--u) * 1.4) 0;border-radius:calc(var(--u) * 1);background:#fff;border:calc(var(--u) * .6) solid #E0603F;color:#E0603F;font:800 calc(var(--u) * 2.2) var(--ui);letter-spacing:.1em}
/* spinner wheels */
.mr-sc .wh{position:absolute;bottom:calc(var(--u) * -5.5);z-index:59;width:calc(var(--u) * 9);height:calc(var(--u) * 7)}
.mr-sc .wh.l{left:8%}.mr-sc .wh.r{right:8%}
.mr-sc .wh::before{content:"";position:absolute;left:20%;right:20%;top:0;height:45%;border-radius:2px 2px 0 0;background:linear-gradient(90deg,#0B2A45,#24384D)}
.mr-sc .wh::after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:62%;border-radius:999px;background:radial-gradient(circle at 50% 50%,#8D9AA6 0 18%,#0B1A29 20%)}
/* leather luggage tag */
.mr-sc .tag{position:absolute;right:-8%;top:-2%;z-index:61;width:30%;padding:calc(var(--u) * 2.2) calc(var(--u) * 2) calc(var(--u) * 2.4);border-radius:calc(var(--u) * 1.4) calc(var(--u) * 1.4) calc(var(--u) * 1.4) calc(var(--u) * 5);background:linear-gradient(160deg,#C98A5B,#A8693E);box-shadow:0 calc(var(--u) * 2) calc(var(--u) * 4) calc(var(--u) * -1.5) rgba(11,42,69,.55);transform-origin:50% -10%;transform:rotate(14deg);pointer-events:none}
.mr-sc .tag::before{content:"";position:absolute;left:50%;top:calc(var(--u) * -6);width:calc(var(--u) * 1);height:calc(var(--u) * 7.4);margin-left:calc(var(--u) * -.5);border-radius:2px;background:#8A5532}
.mr-sc .tag::after{content:"";position:absolute;left:50%;top:calc(var(--u) * .8);width:calc(var(--u) * 2.2);height:calc(var(--u) * 2.2);margin-left:calc(var(--u) * -1.1);border-radius:50%;background:#E9EEF3;box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.mr-sc .tag span{display:block;margin-top:calc(var(--u) * 2.4);padding:calc(var(--u) * 1.4);border-radius:calc(var(--u) * .8);background:#FFF9EF;font:800 calc(var(--u) * 2) var(--ui);letter-spacing:.14em;color:var(--dim)}
.mr-sc .tag b{display:block;margin-top:calc(var(--u) * .6);font:italic 400 calc(var(--u) * 4) var(--serif);letter-spacing:0;color:var(--blue-d);line-height:1}
.mr.closed .mr-sc .tag{animation:mrswing 1.6s ease-out}
@keyframes mrswing{0%{transform:rotate(-26deg)}30%{transform:rotate(26deg)}55%{transform:rotate(2deg)}75%{transform:rotate(18deg)}100%{transform:rotate(14deg)}}
.mr-sc .mr-hint{position:absolute;left:50%;top:calc(100% + var(--u) * 10);transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;background:#fff;box-shadow:0 12px 24px -16px rgba(11,42,69,.5),0 0 0 1px var(--line);font-size:12px;font-weight:800;white-space:nowrap;transition:opacity .5s}
.mr.done .mr-sc .mr-hint{opacity:1}
.mr.open .mr-sc .mr-hint{opacity:0}

/* ---------- background: clouds, flight routes and a globe behind the bag ---------- */
.mr-bgx{position:absolute;inset:0;z-index:0;pointer-events:none}
.mr-cl{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0));animation:mrcl linear infinite alternate}
@keyframes mrcl{from{transform:translateX(-6vw)}to{transform:translateX(6vw)}}
.mr-rt{position:absolute;inset:0;width:100%;height:100%}
.mr-rt path{fill:none;stroke:rgba(26,109,181,.22);stroke-width:1.6;stroke-dasharray:2 9;stroke-linecap:round}
.mr-rt .pln{fill:var(--blue-d);opacity:.55}
.mr-globe{position:absolute;left:var(--gx,70%);top:var(--gy,55%);width:var(--gs,600px);height:var(--gs,600px);margin:calc(var(--gs,600px) / -2) 0 0 calc(var(--gs,600px) / -2);opacity:.25;transition:opacity 1s var(--ease)}
.mr.bag .mr-globe{opacity:.9}
.mr-globe svg{width:100%;height:100%;overflow:visible}
.mr-globe .g{fill:none;stroke:rgba(26,109,181,.2);stroke-width:1}
.mr-globe .m{transform-origin:0 0;animation:mrspin 18s linear infinite}
.mr-globe .m:nth-child(2){animation-delay:-4.5s}.mr-globe .m:nth-child(3){animation-delay:-9s}.mr-globe .m:nth-child(4){animation-delay:-13.5s}
@keyframes mrspin{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}100%{transform:scaleX(1)}}
.mr-globe .orb{transform-origin:0 0;animation:mrorb 14s linear infinite}
@keyframes mrorb{to{transform:rotate(360deg)}}
.mr-globe .fill{fill:url(#mrGlo)}

/* ---------- the three lines of the story ---------- */
.mr-tx{position:absolute;z-index:200;pointer-events:none}
.mr-tx>*{opacity:0;transform:translateY(30px);filter:blur(8px);transition:opacity .8s var(--ease),transform 1s var(--ease),filter .8s var(--ease)}
.mr-tx.on>*{opacity:1;transform:none;filter:none}
.mr-tx.on>:nth-child(2){transition-delay:.07s}.mr-tx.on>:nth-child(3){transition-delay:.15s}.mr-tx.on>:nth-child(4){transition-delay:.22s}.mr-tx.on>:nth-child(5){transition-delay:.3s}
.mr-tx a,.mr-tx button{pointer-events:auto}
.mr-tx:not(.on) a,.mr-tx:not(.on) button{pointer-events:none}
.mr-a{left:50%;top:50%;width:min(860px,calc(100% - 2 * var(--gut)));transform:translate(-50%,-50%);text-align:center}
.mr-b,.mr-c2{left:max(var(--gut),calc(50% - 600px));top:50%;width:min(560px,46%);transform:translateY(-50%)}
.mr-k{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-d)}
.mr-h{margin:14px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(38px,5.2vw,80px);line-height:.94;letter-spacing:-.05em;text-wrap:balance}
.mr-h em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--blue-d)}
.mr-a .mr-h{font-size:clamp(36px,4.8vw,72px)}
.mr-eb{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:#fff;font-size:13px;font-weight:700;color:var(--mist);box-shadow:0 10px 24px -16px rgba(11,42,69,.45),0 0 0 1px var(--line)}
.mr-eb b{padding:4px 10px;border-radius:999px;background:var(--blue-d);color:#fff;font-size:11px;letter-spacing:.12em}
.mr-p{margin:20px 0 0;max-width:44ch;font-size:clamp(15.5px,1.2vw,18px);line-height:1.6;color:var(--mist)}
.mr-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.mr-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 24px;border-radius:999px;border:1px solid transparent;text-decoration:none;font:800 15px var(--ui);white-space:nowrap;cursor:pointer;box-shadow:0 10px 22px -12px rgba(11,42,69,.5);transition:background .25s,color .25s,transform .35s var(--ease);overflow:hidden;background:var(--blue-d);color:#fff}
.mr-btn:hover{background:var(--blue-dd)}
.mr-btn:active{transform:scale(.97)}
.mr-btn svg{width:17px;height:17px;flex:none;transition:transform .35s var(--ease)}
.mr-btn:hover svg{transform:translateX(3px)}
.mr-btn:not(.ghost)::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);animation:mrshine 3.8s ease-in-out 2s infinite}
@keyframes mrshine{40%,100%{transform:translateX(120%)}}
.mr-btn.ghost{background:#fff;color:var(--navy);border-color:var(--line)}
.mr-btn.ghost:hover{background:var(--sky)}
.mr-trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:24px;font-size:13px;font-weight:700;color:var(--dim)}
.mr-trust span{display:inline-flex;align-items:center;gap:7px}
.mr-trust b{font-family:var(--display);font-size:20px;letter-spacing:-.03em;color:var(--navy)}
.mr-trust i{width:7px;height:7px;border-radius:50%;background:#3DD68C;box-shadow:0 0 0 4px rgba(61,214,140,.2)}
.mr-a .mr-src{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}
.mr-a .mr-src span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:12.5px;font-weight:700;color:var(--mist)}
.mr-a .mr-src i{width:7px;height:7px;border-radius:50%;background:var(--dot)}

/* scroll cue */
.mr-cue{position:absolute;left:50%;bottom:clamp(18px,3.5vh,32px);z-index:80;transform:translateX(-50%);display:inline-flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 14px 30px -18px rgba(11,42,69,.55),0 0 0 1px var(--line);font-size:13px;font-weight:800;white-space:nowrap;transition:opacity .5s,transform .6s var(--ease)}
.mr-cue .ms{position:relative;width:22px;height:34px;border-radius:12px;border:2px solid var(--navy);flex:none}
.mr-cue .ms::after{content:"";position:absolute;left:50%;top:6px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--blue-d);animation:mrms 1.4s var(--ease) infinite}
@keyframes mrms{60%{transform:translateY(8px);opacity:0}100%{opacity:0}}
.mr-cue .bar{display:block;width:130px;height:3px;margin-top:5px;border-radius:3px;background:var(--sky2);overflow:hidden}
.mr-cue .bar i{display:block;height:100%;width:calc(var(--q,0) * 100%);background:var(--blue-d)}
.mr.done .mr-cue{opacity:0;transform:translate(-50%,20px)}

@container (max-width:118px){.mr-c .cap small{display:none}}
@media (max-width:860px){
  .mr-trust{display:none}
  .mr-b,.mr-c2{left:var(--gut);right:var(--gut);width:auto;top:clamp(84px,12vh,110px);transform:none;text-align:center}
  .mr-p{margin-left:auto;margin-right:auto}
  .mr-cta,.mr-trust{justify-content:center}
}
@media (max-width:560px){
  .mr-a .mr-h{font-size:clamp(30px,8.6vw,40px)}
  .mr-a .mr-src span{height:26px;font-size:11px;padding:0 9px}
  .mr-h{font-size:clamp(34px,10vw,44px)}
  .mr-p{font-size:14.5px;margin-top:12px}
  .mr-cta{margin-top:16px;gap:8px}
  .mr-btn{height:50px;font-size:14px}
  .mr-cta{flex-direction:column;align-items:stretch;max-width:340px;margin-left:auto;margin-right:auto}
  .mr-trust{display:none}
  .mr-c2 .mr-eb{display:none}
}
@media (prefers-reduced-motion:reduce){.mr-tx>*{transition:opacity .3s!important;transform:none!important;filter:none!important}.mr-cue .ms::after{animation:none}}

/* the hero sits under the fixed nav: keep its bag clear of the AI sheet that slides over it */
.mr-stick .hero-veil{z-index:300}
@media (max-width:860px){.mr-sc .mr-hint{display:none}}
/* sections drift up into place as you reach them */
.sx-on .sx{opacity:0;transform:translateY(56px) scale(.985);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}
.sx-on .sx.sx-in{opacity:1;transform:none}
.sx-on .sx.sx-done{transition:none}
@media (prefers-reduced-motion:reduce){.sx-on .sx{opacity:1;transform:none;transition:none}}

.zn{position:fixed;left:0;right:0;top:0;z-index:80;pointer-events:none;transition:transform .5s var(--ease)}
.zn.hide{transform:translateY(-130%)}
/* the bar: full width at the top of the page, shrinks into a floating pill once you scroll */
.zn-bar{position:relative;pointer-events:auto;width:100%;max-width:1240px;margin:0 auto;height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;border-radius:0;
  transition:max-width .6s var(--ease),width .6s var(--ease),margin .6s var(--ease),height .5s var(--ease),border-radius .6s var(--ease),background .4s,box-shadow .4s,padding .6s var(--ease)}
.zn.solid .zn-bar{width:calc(100% - 20px);max-width:1160px;margin-top:12px;height:62px;border-radius:999px;padding:0 8px 0 18px;background:rgba(255,255,255,.86);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 0 1px var(--line),0 24px 44px -26px rgba(11,42,69,.55)}
.zn-logo{display:flex;align-items:center;flex:none;color:var(--navy);text-decoration:none}
.zn-logo svg{display:block;height:40px;width:auto;transition:transform .6s var(--ease),height .5s var(--ease)}
.zn.solid .zn-logo svg{height:34px}
.zn-logo:hover svg{transform:translateY(-2px) rotate(-3deg)}
/* links with a sliding highlight */
.zn-links{position:relative;display:flex;gap:2px}
.zn-lk{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 15px;border:0;background:none;border-radius:999px;font:700 14px var(--ui);color:var(--mist);text-decoration:none;cursor:pointer;transition:color .25s}
.zn-lk:hover,.zn-lk.on{color:var(--navy)}
.zn-lk .chev{transition:transform .4s var(--ease)}
.zn-lk[aria-expanded="true"] .chev{transform:rotate(180deg)}
.zn-hl{position:absolute;left:0;top:0;height:40px;width:0;border-radius:999px;background:rgba(26,109,181,.09);opacity:0;pointer-events:none;transition:transform .45s var(--ease),width .45s var(--ease),opacity .25s}
.zn-new{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:linear-gradient(135deg,#FF9A4D,#E0603F);color:#fff}
/* buttons */
.zn-cta{display:flex;align-items:center;gap:8px;flex:none}
.zn-btn{display:inline-flex;align-items:center;gap:10px;height:44px;border-radius:999px;border:0;text-decoration:none;font:800 13.5px var(--ui);white-space:nowrap;cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .35s var(--ease)}
.zn-line{padding:0 16px;color:var(--navy);background:transparent;box-shadow:inset 0 0 0 1px var(--line2)}
.zn-line:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--sky3)}
.zn-line svg{width:15px;height:15px;color:var(--blue-d)}
.zn-go{padding:0 5px 0 18px;background:var(--blue-d);color:#fff;box-shadow:0 10px 20px -10px rgba(26,109,181,.8)}
.zn-go:hover{background:var(--blue-dd)}
.zn-go i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--blue-d);transition:transform .45s var(--ease)}
.zn-go:hover i{transform:rotate(45deg)}
.zn-burger{display:none;position:relative;width:44px;height:44px;border-radius:50%;border:0;background:var(--navy);cursor:pointer;flex:none}
.zn-burger span{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:#fff;transition:transform .45s var(--ease),top .45s var(--ease)}
.zn-burger span:first-child{top:17px}.zn-burger span:last-child{top:25px}
.zn.menu .zn-burger span:first-child{top:21px;transform:rotate(45deg)}
.zn.menu .zn-burger span:last-child{top:21px;transform:rotate(-45deg)}
/* reading progress along the bottom of the pill */
.zn-prog{position:absolute;left:26px;right:26px;bottom:0;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--sky3),var(--blue-d));transform-origin:left;transform:scaleX(var(--p,0));opacity:0;transition:opacity .3s}
.zn.solid .zn-prog{opacity:.9}

/* ---------- morphing dropdown ---------- */
.zn-mega{position:absolute;top:calc(100% + 10px);left:0;width:0;height:0;border-radius:26px;background:#fff;color:var(--navy);box-shadow:0 0 0 1px var(--line),0 40px 80px -30px rgba(11,42,69,.5);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:50% 0;
  transition:opacity .22s,transform .45s var(--ease),width .45s var(--ease),height .45s var(--ease),left .45s var(--ease),visibility 0s linear .25s}
.zn-mega.open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.zn-mega::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.zn-mp{position:absolute;left:0;top:0;display:flex;gap:10px;padding:12px;opacity:0;pointer-events:none;transform:translateX(var(--dx,24px));transition:opacity .25s,transform .45s var(--ease)}
.zn-mp.on{opacity:1;pointer-events:auto;transform:none}
.zn-grid{display:grid;grid-template-columns:repeat(2,236px);gap:2px;align-content:start}
.zn-list{display:flex;flex-direction:column;gap:2px;width:300px}
.zn-it{display:flex;align-items:center;gap:12px;padding:10px;border-radius:16px;text-decoration:none;color:inherit;transition:background .25s,box-shadow .25s}
.zn-it:hover,.zn-it:focus-visible{background:var(--bg);box-shadow:0 0 0 1px var(--line)}
.zn-th{width:46px;height:46px;flex:none;border-radius:13px;background:var(--g) center/cover;box-shadow:0 0 0 1px var(--line);transition:transform .45s var(--ease)}
.zn-it:hover .zn-th{transform:rotate(-5deg) scale(1.06)}
.zn-ic{width:42px;height:42px;flex:none;border-radius:12px;display:grid;place-items:center;background:var(--sky);color:var(--blue-d);transition:background .3s,color .3s,transform .45s var(--ease)}
.zn-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.zn-it:hover .zn-ic{background:var(--blue-d);color:#fff;transform:rotate(-6deg) scale(1.05)}
.zn-it b{display:flex;align-items:center;gap:6px;font-size:14.5px;font-weight:800;letter-spacing:-.01em}
.zn-it small{display:block;margin-top:2px;font-size:12.5px;white-space:nowrap;line-height:1.4;color:var(--dim)}
.zn-more{grid-column:1/-1;display:flex;gap:6px;margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}
.zn-more a{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;background:var(--bg);color:var(--navy);text-decoration:none;font-size:13px;font-weight:800;transition:background .2s}
.zn-more a:hover{background:var(--sky2)}
/* feature card */
.zn-feat{position:relative;display:flex;flex-direction:column;gap:8px;width:230px;padding:20px;border-radius:20px;background:var(--navy);color:#fff;text-decoration:none;overflow:hidden;isolation:isolate}
.zn-feat::before{content:"";position:absolute;right:-70px;top:-70px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(59,158,232,.65),transparent 65%);z-index:-1;transition:transform .7s var(--ease)}
.zn-feat::after{content:"";position:absolute;left:-40px;bottom:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,181,71,.3),transparent 65%);z-index:-1}
.zn-feat:hover::before{transform:scale(1.35)}
.zn-feat-k{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sun)}
.zn-feat b{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.05;letter-spacing:-.035em}
.zn-feat b em{font-family:var(--serif);font-style:italic;font-weight:400;color:#8DD0F7}
.zn-feat small{font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.66)}
.zn-feat-go{margin-top:auto;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;height:38px;padding:0 14px;border-radius:999px;background:#fff;color:var(--navy);font-size:13px;font-weight:800}
.zn-feat-go i{font-style:normal;transition:transform .35s var(--ease)}
.zn-feat:hover .zn-feat-go i{transform:translateX(4px)}
.zn-talk{display:flex;flex-direction:column;gap:4px;width:236px;align-self:flex-start;padding:18px;border-radius:20px;background:var(--navy);color:#fff}
.zn-talk .zn-feat-k{margin-bottom:6px}
.zn-talk a{color:#fff;text-decoration:none;font-family:var(--display);font-weight:700;font-size:16px;padding:4px 0;transition:color .2s}
.zn-talk a:hover{color:#8DD0F7}
.zn-talk .zn-wa{margin-top:8px;align-self:flex-start;font:800 13px var(--ui);padding:9px 14px;border-radius:999px;background:#25D366;color:#0b2e17}
.zn-talk .zn-wa:hover{color:#0b2e17;filter:brightness(1.05)}

/* ---------- phone menu: a full-screen sheet that grows out of the burger ---------- */
.zn-sheet{position:fixed;inset:0;z-index:79;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:100px 20px 26px;color:var(--navy);overflow-y:auto;
  background:radial-gradient(70vw 70vw at 100% 0%,rgba(169,211,242,.7),transparent 60%),radial-gradient(80vw 80vw at 0% 100%,rgba(255,214,140,.35),transparent 60%),var(--bg);
  clip-path:circle(0px at var(--cx,90%) var(--cy,40px));visibility:hidden;transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility 0s linear .7s}
.zn-sheet.open{clip-path:circle(150% at var(--cx,90%) var(--cy,40px));visibility:visible;transition:clip-path .75s cubic-bezier(.7,0,.2,1),visibility 0s}
.zs-nav{display:flex;flex-direction:column}
.zs-i{opacity:0;transform:translateY(26px);transition:opacity .3s,transform .5s var(--ease)}
.zn-sheet.open .zs-i{opacity:1;transform:none;transition:opacity .5s calc(var(--i) * 55ms + 220ms),transform .7s var(--ease) calc(var(--i) * 55ms + 220ms)}
.zs-l{display:flex;align-items:center;gap:14px;width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--navy);text-align:left;text-decoration:none;font-family:var(--display);font-weight:800;font-size:clamp(30px,9vw,40px);letter-spacing:-.045em;line-height:1.05;cursor:pointer}
.zs-l small{font:800 11px var(--ui);letter-spacing:.1em;color:var(--blue-d);width:20px;flex:none}
.zs-l .chev{margin-left:auto;color:var(--dim);transition:transform .45s var(--ease)}
.zs-l[aria-expanded="true"] .chev{transform:rotate(180deg)}
.zs-l .zn-new{font-family:var(--ui);letter-spacing:.06em}
.zs-l:active{color:var(--blue-d)}
.zs-sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.zs-sub>div{overflow:hidden;display:flex;flex-wrap:wrap;gap:8px;padding-left:34px}
.zs-l[aria-expanded="true"]+.zs-sub{grid-template-rows:1fr}
.zs-sub a{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px 0 5px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);color:var(--navy);text-decoration:none;font-size:15px;font-weight:800}
.zs-sub a span{width:32px;height:32px;border-radius:50%;background:var(--g) center/cover}
.zs-sub>div::before,.zs-sub>div::after{content:"";flex-basis:100%;height:6px}
.zs-foot{display:flex;flex-direction:column;gap:10px}
.zs-go{display:flex;align-items:center;justify-content:center;gap:8px;height:56px;border:0;border-radius:999px;background:linear-gradient(140deg,#3B9EE8,#1A6DB5 55%,#14558E);color:#fff;text-decoration:none;font:800 16px var(--ui);cursor:pointer;box-shadow:0 16px 30px -16px rgba(26,109,181,.9)}
.zs-ai{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);color:var(--navy);text-decoration:none;font-weight:800;font-size:15px}
.zs-ai svg{width:16px;height:16px;color:var(--blue-d)}
.zs-contact{display:flex;justify-content:center;gap:18px;margin-top:6px}
.zs-contact a{color:var(--dim);text-decoration:none;font-size:13.5px;font-weight:700}
body.zn-lock{overflow:hidden}

@media (max-width:1100px){.zn-links,.zn-mega{display:none}.zn-burger{display:block}}
@media (min-width:1101px){.zn-sheet{display:none}}
@media (max-width:560px){.zn-line{display:none}.zn-bar{height:68px;padding:0 14px}.zn-logo svg{height:34px}.zn.solid .zn-logo svg{height:30px}}
@media (max-width:370px){.zn-go span{display:none}.zn-go{padding:0 5px}}
@media (prefers-reduced-motion:reduce){.zn *,.zn-sheet,.zn-sheet *{transition:none!important}}

/* site logo inside the new bar: sized by width, shrinks with the pill */
.zn-logo.nav-logo{width:118px;transition:width .5s var(--ease)}
.zn-logo.nav-logo svg{height:auto;width:100%}
.zn-logo.nav-logo:hover svg{transform:none}
.zn.solid .zn-logo.nav-logo{width:112px}
@media (max-width:560px){.zn-logo.nav-logo{width:96px}.zn.solid .zn-logo.nav-logo{width:90px}}

.gm{position:relative;padding:var(--sec,100px) 0;background:radial-gradient(45% 40% at 85% 20%,rgba(59,158,232,.16),transparent 70%),radial-gradient(40% 40% at 8% 85%,rgba(255,181,71,.12),transparent 70%),linear-gradient(180deg,var(--bg) 0%,#EAF4FC 20%,#EAF4FC 80%,var(--bg) 100%)}
.gm-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px 48px;align-items:end}
.gm-head p{margin:0;font-size:clamp(15.5px,1.2vw,17.5px);line-height:1.6;color:var(--mist)}
.gm-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.gm-tags span{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:12.5px;font-weight:800;color:var(--navy)}
.gm-tags i{width:7px;height:7px;border-radius:50%;background:#3DD68C}
.gm-box{position:relative;margin-top:clamp(28px,4vw,44px);height:clamp(560px,80vh,760px);border-radius:32px;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#9FD0F2,#CFE6F7);box-shadow:0 50px 100px -50px rgba(11,42,69,.55),0 0 0 1px rgba(11,42,69,.08)}
.gm-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;pointer-events:none}
.gm-box.live iframe{pointer-events:auto}
/* the gate: lets the page scroll past on phones until you choose to play */
.gm-gate{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding:0 16px 22px;border:0;cursor:pointer;color:#fff;font:inherit;background:linear-gradient(180deg,rgba(11,42,69,0) 60%,rgba(11,42,69,.28));transition:opacity .4s var(--ease),visibility 0s}
.gm-box.live .gm-gate{opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s linear .3s}
/* before the first game the game's own start card is the call to action; the pill only appears after you step away */
.gm-box:not(.played) .gm-gate{background:none}
.gm-box:not(.played) .gm-pill{display:none}
.gm-pill{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 20px 0 8px;border-radius:999px;background:var(--navy);font:800 15px var(--ui);box-shadow:0 18px 34px -16px rgba(11,42,69,.8);transition:transform .4s var(--ease)}
.gm-gate:hover .gm-pill{transform:translateY(-3px)}
.gm-pill i{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--blue)}
.gm-pill i::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(59,158,232,.5);animation:gmping 1.8s ease-out infinite}
.gm-pill svg{width:16px;height:16px;margin-left:2px}
@keyframes gmping{from{transform:scale(.85);opacity:1}to{transform:scale(1.35);opacity:0}}
.gm-load{position:absolute;inset:0;z-index:1;display:grid;place-items:center;font:800 13px var(--ui);color:var(--blue-dd);letter-spacing:.08em}
.gm-box.ready .gm-load{display:none}
.gm-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;font-size:13px;font-weight:700;color:var(--dim)}
.gm-bar kbd{display:inline-block;padding:2px 7px;border-radius:6px;background:#fff;box-shadow:0 0 0 1px var(--line2);font:800 11.5px var(--ui);color:var(--navy)}
.gm-exit{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border:0;border-radius:999px;background:var(--navy);color:#fff;font:800 13.5px var(--ui);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s}
.gm.live .gm-exit{opacity:1;pointer-events:auto}
@media (max-width:860px){.gm-head{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){
  .gm-box{height:min(76svh,640px);border-radius:24px}
  .gm-bar .kb{display:none}
}
@media (prefers-reduced-motion:reduce){.gm-pill i::after{animation:none}}

/* phones: when the itinerary or chat reaches its end, the page carries on scrolling instead of getting stuck */
@media (hover:none),(max-width:860px){.ai-sheet,.fq-body{overscroll-behavior-y:auto}.fq-body{scroll-behavior:auto}.ai-sheet{height:460px}}

.dx{position:relative}
.dx-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px 48px;align-items:end}
.dx-h{margin:14px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(44px,6.4vw,96px);line-height:.92;letter-spacing:-.055em}
.dx-h em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--blue-d)}
.dx-lead{margin:0;font-size:clamp(15.5px,1.2vw,18px);line-height:1.6;color:var(--mist)}

/* the toggle */
.dx-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:clamp(26px,3.5vw,40px)}
.dx-tg{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;padding:6px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line),0 18px 36px -24px rgba(11,42,69,.5)}
.dx-tg i{position:absolute;top:6px;bottom:6px;left:6px;width:calc(50% - 6px);border-radius:999px;background:var(--navy);box-shadow:0 10px 20px -10px rgba(11,42,69,.7);transition:transform .55s var(--ease)}
.dx-tg[data-v="intl"] i{transform:translateX(100%)}
.dx-tg button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 22px;border:0;background:none;border-radius:999px;font:800 15px var(--ui);color:var(--mist);cursor:pointer;transition:color .3s;white-space:nowrap}
.dx-tg button svg{width:18px;height:18px}
.dx-tg button b{min-width:26px;height:24px;padding:0 7px;border-radius:999px;display:grid;place-items:center;font-size:12px;background:var(--sky);color:var(--blue-d);transition:background .3s,color .3s}
.dx-tg button[aria-pressed="true"]{color:#fff}
.dx-tg button[aria-pressed="true"] b{background:rgba(255,255,255,.18);color:#fff}
.dx-count{font-size:14px;font-weight:700;color:var(--dim)}
.dx-count b{color:var(--navy)}

/* grid of places */
.dx-list{padding:clamp(18px,3vw,28px) 0 clamp(50px,7vw,90px)}
.dx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(330px,34vw,420px);gap:14px}
.dx-c{position:relative;display:block;border-radius:30px;overflow:hidden;isolation:isolate;text-decoration:none;color:#fff;background:var(--g);box-shadow:0 30px 60px -40px rgba(11,42,69,.65);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease),box-shadow .4s;opacity:0;animation:dxin .8s var(--ease) forwards;animation-delay:calc(var(--i) * 60ms)}
@keyframes dxin{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1}}
.dx-grid.out .dx-c{animation:dxout .32s ease forwards;animation-delay:calc(var(--i) * 25ms)}
@keyframes dxout{from{opacity:1}to{opacity:0;transform:translateY(-16px) scale(.97)}}
.dx-c.big{grid-column:span 2;grid-row:span 2}
.dx-c:hover{box-shadow:0 40px 70px -36px rgba(11,42,69,.75)}
.dx-ph{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 1.2s var(--ease),opacity .7s}
.dx-ph.b{opacity:0}
.dx-c:hover .dx-ph{transform:scale(1.1)}
.dx-c:hover .dx-ph.b.has{opacity:1}
.dx-c::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,42,69,.28) 0%,rgba(11,42,69,0) 30%,rgba(11,42,69,.1) 50%,rgba(8,32,56,.86) 100%)}
.dx-glare{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.22),transparent 60%);transition:opacity .4s}
.dx-c:hover .dx-glare{opacity:1}
.dx-t{position:absolute;left:16px;right:16px;top:16px;display:flex;justify-content:space-between;gap:8px}
.dx-t span{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.28);font-size:12px;font-weight:800;white-space:nowrap}
.dx-t span i{width:6px;height:6px;border-radius:50%;background:#3DD68C}
.dx-b{position:absolute;left:20px;right:20px;bottom:18px}
.dx-b h3{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(30px,3vw,42px);letter-spacing:-.045em;line-height:.95}
.dx-c.big .dx-b h3{font-size:clamp(44px,5.4vw,80px)}
.dx-b em{display:block;margin-top:6px;font-family:var(--serif);font-size:clamp(17px,1.5vw,21px);color:rgba(255,255,255,.92)}
.dx-c.big .dx-b em{font-size:clamp(20px,2vw,28px)}
.dx-r{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.22)}
.dx-r small{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.dx-r b{font-family:var(--display);font-size:20px;letter-spacing:-.02em}
.dx-r .reg{font-size:13px;font-weight:700;color:rgba(255,255,255,.82);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;display:none}
.dx-c.big .dx-r .reg{display:block}
.dx-go{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);transition:transform .45s var(--ease),background .3s,color .3s}
.dx-go svg{width:18px;height:18px}
.dx-c:hover .dx-go{transform:rotate(-45deg);background:var(--blue);color:#fff}

/* readable text on any photo: a navy blur band rises behind the text, plus a navy text shadow */
.dx-c::after{background:linear-gradient(180deg,rgba(8,32,56,.32) 0%,rgba(8,32,56,.08) 18%,rgba(8,32,56,0) 32%,rgba(8,32,56,.06) 42%,rgba(8,32,56,.18) 52%,rgba(8,32,56,.36) 62%,rgba(8,32,56,.56) 72%,rgba(7,29,51,.74) 82%,rgba(6,26,46,.88) 100%)}
.dx-b::before{display:none}
.dx-b h3{text-shadow:0 2px 0 rgba(8,32,56,.35),0 4px 22px rgba(8,32,56,.85),0 0 2px rgba(8,32,56,.6)}
.dx-b em,.dx-r b,.dx-r small,.dx-r .reg{text-shadow:0 1px 2px rgba(8,32,56,.8),0 2px 14px rgba(8,32,56,.7)}
.dx-b em{color:#fff}
.dx-t span{background:rgba(8,32,56,.48);border-color:rgba(255,255,255,.22);text-shadow:0 1px 2px rgba(8,32,56,.6)}
.dx-r{border-top-color:rgba(255,255,255,.3)}

/* help band */

@media (max-width:1000px){.dx-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(300px,48vw,400px)}.dx-top{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .dx-h{font-size:clamp(40px,12vw,56px)}
  .dx-bar{flex-direction:column;align-items:stretch}
  .dx-tg{display:grid}
  .dx-tg button{padding:0 10px;font-size:14px;height:48px}
  .dx-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:10px}
  .dx-c{border-radius:22px;height:250px}
  .dx-c.big{grid-row:span 1;grid-column:span 2;height:340px}
  .dx-t{left:10px;right:10px;top:10px}
  .dx-t span{height:26px;padding:0 9px;font-size:10.5px}
  .dx-t span+span{display:none}
  .dx-c.big .dx-t span+span{display:inline-flex}
  .dx-b{left:12px;right:12px;bottom:12px}
  .dx-b h3{font-size:24px}
  .dx-b em{font-size:15px}
  .dx-c.big .dx-b h3{font-size:44px}
  .dx-r{margin-top:10px;padding-top:10px}
  .dx-r small{font-size:9.5px}
  .dx-r b{font-size:16px}
  .dx-go{width:36px;height:36px}
  .dx-c:not(.big) .dx-go{display:none}
  }
@media (prefers-reduced-motion:reduce){.dx-c{animation:none;opacity:1}.dx-grid.out .dx-c{animation:none}}

/* in the homepage */
.dx{padding:var(--sec,100px) 0}
.dx-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px 48px;align-items:end}
.dx-head p{margin:0;font-size:clamp(15.5px,1.2vw,17.5px);line-height:1.6;color:var(--mist)}
.dx .dx-bar{margin-top:clamp(22px,3vw,32px)}
.dx .dx-grid{margin-top:clamp(16px,2vw,22px)}
@media (max-width:1000px){.dx-head{grid-template-columns:minmax(0,1fr)}}

body.vp-on [data-home]{display:none!important}
#szPages>[hidden]{display:none!important}
.vp-in{animation:vpin .55s var(--ease) both}
@keyframes vpin{from{opacity:0;transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){.vp-in{animation:none}}

.dd{position:relative;padding-top:clamp(96px,12vh,112px)}
.dd-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--dim)}
.dd-crumb a{text-decoration:none;color:var(--blue-d)}
.dd-crumb a:hover{text-decoration:underline}

/* ---------- hero banner ---------- */
.dd-hero{position:relative;margin-top:14px;height:clamp(440px,68vh,640px);border-radius:36px;overflow:hidden;isolation:isolate;color:#fff;background:var(--g);box-shadow:0 50px 90px -50px rgba(11,42,69,.6)}
.dd-sl{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity 1.2s ease,transform 7s linear}
.dd-sl.on{opacity:1;transform:scale(1)}
.dd-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,32,56,.25) 0%,rgba(8,32,56,0) 35%,rgba(8,32,56,.15) 55%,rgba(8,32,56,.85) 100%),linear-gradient(90deg,rgba(8,32,56,.4),transparent 60%)}
.dd-hin{position:absolute;isolation:isolate;z-index:0;left:clamp(20px,4vw,48px);right:clamp(20px,4vw,48px);bottom:clamp(22px,4vw,44px);display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.dd-chip{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);font-size:12.5px;font-weight:800}
.dd-chip svg{width:15px;height:15px}
.dd-h1{margin:14px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(56px,10vw,150px);line-height:.85;letter-spacing:-.06em;text-shadow:0 10px 40px rgba(0,0,0,.25)}
.dd-h1 span{display:inline-block;animation:ddch .9s var(--ease) both;animation-delay:calc(var(--k) * 40ms + 150ms)}
@keyframes ddch{from{opacity:0;transform:translateY(.3em) rotate(5deg);filter:blur(8px)}}
.dd-tag{margin:10px 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.2vw,30px);color:rgba(255,255,255,.95)}
.dd-reg{margin:6px 0 0;font-size:14px;font-weight:700;color:rgba(255,255,255,.8)}
.dd-hcta{display:flex;flex-direction:column;gap:10px;flex:none}
.dd-hcta .b-glass{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:none}
.dd-hcta .b-glass:hover{background:rgba(255,255,255,.26)}
.dd-dots{position:absolute;right:clamp(20px,4vw,48px);top:clamp(18px,3vw,28px);display:flex;gap:6px}
.dd-dots button{width:26px;height:4px;padding:0;border:0;border-radius:4px;background:rgba(255,255,255,.4);cursor:pointer;overflow:hidden;position:relative}
.dd-dots button i{position:absolute;inset:0;background:#fff;transform-origin:left;transform:scaleX(0)}
.dd-dots button.on i{animation:dddot 6s linear forwards}
.dd-dots button.done i{transform:none}
@keyframes dddot{to{transform:none}}

/* readable text on any photo */
.dd-hero::after{background:linear-gradient(180deg,rgba(8,32,56,.3) 0%,rgba(8,32,56,.05) 20%,rgba(8,32,56,0) 35%,rgba(8,32,56,.12) 50%,rgba(8,32,56,.35) 64%,rgba(7,29,51,.62) 80%,rgba(6,26,46,.85) 100%),linear-gradient(90deg,rgba(8,32,56,.4),rgba(8,32,56,0) 60%)}
.dd-hin::before{display:none}
.dd-h1{text-shadow:0 3px 0 rgba(8,32,56,.3),0 8px 40px rgba(8,32,56,.9),0 0 3px rgba(8,32,56,.6)}
.dd-tag,.dd-reg{text-shadow:0 1px 3px rgba(8,32,56,.85),0 2px 16px rgba(8,32,56,.7)}
.dd-tag{color:#fff}
.dd-chip{background:rgba(8,32,56,.5);border-color:rgba(255,255,255,.25)}
.dd-pk-im::after{background:linear-gradient(180deg,rgba(8,32,56,.25),rgba(8,32,56,0) 35%,rgba(6,26,46,.9))}
.dd-pk-im .pr{text-shadow:0 1px 3px rgba(8,32,56,.85),0 2px 14px rgba(8,32,56,.7)}
.dd-pk-im .tg span{background:rgba(8,32,56,.62)}

/* quick facts */
.dd-facts{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:10px;margin-top:14px}
.dd-f{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px var(--line),0 20px 40px -34px rgba(11,42,69,.5)}
.dd-f i{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--sky);color:var(--blue-d)}
.dd-f i svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dd-f small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.dd-f b{display:block;margin-top:2px;font-size:15px;line-height:1.25}

/* section nav */
.dd-nav{position:sticky;top:var(--stick,12px);z-index:40;margin-top:clamp(36px,5vw,60px);display:flex;justify-content:center;pointer-events:none;transition:top .5s var(--ease)}
.dd-nav nav{position:relative;display:flex;gap:2px;padding:5px;border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 0 0 1px var(--line),0 18px 36px -24px rgba(11,42,69,.5);pointer-events:auto;max-width:100%;overflow-x:auto;scrollbar-width:none}
.dd-nav nav::-webkit-scrollbar{display:none}
.dd-nav a{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;text-decoration:none;font-size:13.5px;font-weight:800;color:var(--mist);transition:color .3s}
.dd-nav a.on{color:#fff}
.dd-nav .hl{position:absolute;top:5px;height:40px;left:0;border-radius:999px;background:var(--navy);transition:transform .45s var(--ease),width .45s var(--ease)}

.dd-sec{padding-top:clamp(50px,6vw,84px);scroll-margin-top:150px}
.dd-sh{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px 40px;align-items:end;margin-bottom:clamp(22px,3vw,34px)}
.dd-sh p{margin:0;font-size:15.5px;line-height:1.6;color:var(--mist)}

/* ---------- about ---------- */
.dd-about{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,70px);align-items:center}
.dd-about .lead{margin:20px 0 0;font-size:clamp(16px,1.3vw,19px);line-height:1.7;color:var(--navy)}
.dd-about .lead+.lead{margin-top:14px;font-size:15.5px;color:var(--mist)}
.dd-vibes{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.dd-vibes span{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:13px;font-weight:800}
.dd-vibes span i{width:7px;height:7px;border-radius:50%;background:var(--blue)}
.dd-stack{position:relative;height:clamp(340px,36vw,460px);cursor:pointer;-webkit-tap-highlight-color:transparent}
.dd-pol{position:absolute;left:50%;top:50%;width:min(76%,340px);padding:10px 10px 0;border-radius:18px;background:#fff;box-shadow:0 30px 60px -30px rgba(11,42,69,.6),0 0 0 1px var(--line);transform:translate(-50%,-50%) translate(var(--x,0),var(--y,0)) rotate(var(--r,0deg)) scale(var(--s,1));transition:transform .7s var(--ease);z-index:var(--z,1)}
.dd-pol .im{display:block;aspect-ratio:4/3;border-radius:12px;background:var(--g) center/cover}
.dd-pol span{display:block;padding:10px 4px 12px;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--navy)}
.dd-hint{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);font-size:12px;font-weight:800;color:var(--dim);white-space:nowrap}

/* ---------- packages ---------- */
.dd-pks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.dd-pk{display:flex;flex-direction:column;border-radius:28px;background:#fff;box-shadow:0 0 0 1px var(--line),0 30px 50px -40px rgba(11,42,69,.55);overflow:hidden;transition:box-shadow .3s}
.dd-pk:hover{box-shadow:0 0 0 1px var(--sky3),0 40px 60px -40px rgba(11,42,69,.6)}
.dd-pk-im{position:relative;height:220px;background:var(--g) center/cover;overflow:hidden}
.dd-pk-im::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,42,69,.1),rgba(11,42,69,0) 40%,rgba(8,32,56,.7))}
.dd-pk-im .n{position:absolute;left:14px;top:14px;z-index:1;height:30px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;background:#fff;font-size:12.5px;font-weight:800}
.dd-pk-im .tg{position:absolute;right:14px;top:14px;z-index:1;display:flex;gap:6px}
.dd-pk-im .tg span{height:30px;padding:0 11px;border-radius:999px;display:inline-flex;align-items:center;background:rgba(11,42,69,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:12px;font-weight:800}
.dd-pk-im .pr{position:absolute;left:16px;bottom:14px;z-index:1;color:#fff}
.dd-pk-im .pr small{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.dd-pk-im .pr b{font-family:var(--display);font-size:28px;letter-spacing:-.03em}
.dd-pk-im .pr b em{font:700 13px var(--ui);opacity:.8}
.dd-pk-b{flex:1;display:flex;flex-direction:column;padding:18px 20px 20px}
.dd-pk-b h3{margin:0;font-family:var(--display);font-size:24px;letter-spacing:-.035em;line-height:1.05}
.dd-pk-b .rt{margin:6px 0 0;font-size:13.5px;font-weight:700;color:var(--dim)}
.dd-pk-b ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:7px}
.dd-pk-b li{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700}
.dd-pk-b li svg{flex:none;width:18px;height:18px;padding:3px;border-radius:50%;background:var(--ok-soft);color:var(--ok)}
.dd-days{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.dd-pk.open .dd-days{grid-template-rows:1fr}
.dd-days>div{overflow:hidden}
.dd-days ol{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px dashed var(--line2)}
.dd-days li{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;padding:6px 0;font-size:14px;font-weight:600;color:var(--mist)}
.dd-days li b{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-d);padding-top:2px}
.dd-days li::before{content:"";position:absolute;left:46px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--sky3)}
.dd-pk-a{display:flex;gap:8px;margin-top:auto;padding-top:18px}
.dd-pk-a .btn{flex:1;height:48px;padding:0 14px;font-size:14px}
.dd-pk-a .tog svg{transition:transform .4s var(--ease)}
.dd-pk.open .dd-pk-a .tog svg{transform:rotate(180deg)}
.dd-none{padding:26px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:15px;color:var(--mist)}
.dd-custom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:18px 20px;border-radius:24px;background:var(--sky);box-shadow:inset 0 0 0 1px rgba(59,158,232,.2)}
.dd-custom b{font-size:15.5px}
.dd-custom span{display:block;margin-top:2px;font-size:13.5px;font-weight:600;color:var(--mist)}

/* ---------- things to do ---------- */
.dd-todo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:td}
.dd-td{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:26px;background:#fff;box-shadow:0 0 0 1px var(--line),0 24px 44px -38px rgba(11,42,69,.5);overflow:hidden;isolation:isolate;transition:transform .45s var(--ease),box-shadow .3s}
.dd-td:hover{transform:translateY(-5px);box-shadow:0 0 0 1px var(--sky3),0 34px 54px -36px rgba(11,42,69,.55)}
.dd-td::after{content:attr(data-n);position:absolute;right:16px;top:6px;z-index:-1;font-family:var(--display);font-weight:800;font-size:84px;letter-spacing:-.06em;color:var(--sky);transition:color .3s,transform .5s var(--ease)}
.dd-td:hover::after{color:var(--sky2);transform:translateY(-4px)}
.dd-td .ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--sky);color:var(--blue-d);transition:background .3s,color .3s,transform .45s var(--ease)}
.dd-td:hover .ic{background:var(--blue-d);color:#fff;transform:rotate(-6deg)}
.dd-td .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dd-td .cat{align-self:flex-start;height:26px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;background:var(--bg);font-size:11.5px;font-weight:800;color:var(--blue-d)}
.dd-td .cat.must{background:#FFF1D6;color:#8A5A00}
.dd-td h3{margin:2px 0 0;font-family:var(--display);font-size:21px;letter-spacing:-.03em;line-height:1.1}
.dd-td p{margin:0;font-size:14px;line-height:1.55;color:var(--mist)}

/* ---------- you may also like ---------- */
.dd-like-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:clamp(20px,3vw,30px)}
.dd-arr{display:flex;gap:8px}
.dd-arr button{width:48px;height:48px;border-radius:50%;border:0;background:#fff;box-shadow:0 0 0 1px var(--line);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.dd-arr button:hover{background:var(--navy);color:#fff}
.dd-arr svg{width:18px;height:18px}
.dd-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,calc((100% - 42px) / 4));gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 10px;margin:-4px -2px 0}
.dd-rail::-webkit-scrollbar{display:none}
.dd-rc{scroll-snap-align:start;position:relative;display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line),0 24px 44px -38px rgba(11,42,69,.5);text-decoration:none;color:inherit;transition:transform .45s var(--ease)}
.dd-rc:hover{transform:translateY(-5px)}
.dd-rc .im{position:relative;height:190px;background:var(--g) center/cover}
.dd-rc .im span{position:absolute;left:12px;top:12px;height:28px;padding:0 11px;border-radius:999px;display:inline-flex;align-items:center;background:#fff;font-size:12px;font-weight:800}
.dd-rc .bd{padding:14px 16px 16px}
.dd-rc small{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-d)}
.dd-rc h3{margin:4px 0 0;font-family:var(--display);font-size:19px;letter-spacing:-.03em;line-height:1.1}
.dd-rc .rt{margin:4px 0 0;font-size:12.5px;font-weight:700;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dd-rc .ft{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.dd-rc .ft b{font-family:var(--display);font-size:18px}
.dd-rc .ft i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--blue-d);font-style:normal;transition:transform .4s var(--ease),background .3s,color .3s}
.dd-rc:hover .ft i{transform:rotate(-45deg);background:var(--blue-d);color:#fff}
.dd-more{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.dd-more a{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 5px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);text-decoration:none;font-size:14px;font-weight:800;transition:background .2s,transform .3s var(--ease)}
.dd-more a:hover{background:var(--sky);transform:translateY(-2px)}
.dd-more a span{width:32px;height:32px;border-radius:50%;background:var(--g) center/cover}

/* packages use the homepage card (.pkc) and quick view (.pkq) */
.pkc-fb[hidden]{display:none}
.dd-pkg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dd-rail .pkc{scroll-snap-align:start}
.dd-rail{grid-auto-columns:minmax(260px,calc((100% - 48px) / 4));gap:16px;padding:6px 4px 16px;margin:-6px -4px 0}
.pkq-go{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13.5px;font-weight:800;color:var(--blue-d);text-decoration:none}
.pkq-go:hover{text-decoration:underline}
@media (max-width:1000px){.dd-pkg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.dd-pkg{grid-template-columns:minmax(0,1fr)}}
/* ---------- closing band ---------- */
.dd-end{margin:clamp(50px,6vw,84px) 0 clamp(40px,6vw,70px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;padding:clamp(24px,3vw,36px);border-radius:32px;background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.dd-end::before{content:"";position:absolute;right:-80px;top:-110px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(59,158,232,.55),transparent 65%);z-index:-1}
.dd-end b{display:block;font-family:var(--display);font-size:clamp(26px,3vw,40px);letter-spacing:-.04em;line-height:1}
.dd-end b em{font-family:var(--serif);font-style:italic;font-weight:400;color:#8DD0F7}
.dd-end p{margin:8px 0 0;font-size:14.5px;color:rgba(255,255,255,.72)}
.dd-end .row{display:flex;flex-wrap:wrap;gap:10px}
.dd-end .b-white{background:#fff}
.dd-end .b-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.3);box-shadow:none}

/* phone: sticky quote bar */
.dd-sticky{display:none}
@media (max-width:1000px){
  .dd-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dd-about{grid-template-columns:minmax(0,1fr)}
  .dd-sh{grid-template-columns:minmax(0,1fr)}
  .dd-todo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dd-rail{grid-auto-columns:minmax(250px,calc((100% - 14px) / 2.3))}
}
@media (max-width:700px){
  .dd-hero{height:min(78svh,560px);border-radius:26px}
  .dd-hin{flex-direction:column;align-items:stretch;left:16px;right:16px;bottom:16px}
  .dd-hcta{flex-direction:row}
  .dd-hcta .btn{flex:1;height:48px;padding:0 12px;font-size:14px}
  .dd-hcta .b-glass{display:none}
  .dd-f{padding:12px;gap:10px;border-radius:18px}
  .dd-f i{width:34px;height:34px}
  .dd-f b{font-size:13.5px}
  .dd-f:last-child:nth-child(odd){grid-column:span 2}
  .dd-pks{grid-template-columns:minmax(0,1fr)}
  .dd-pk-im{height:190px}
  .dd-todo{grid-template-columns:minmax(0,1fr)}
  .dd-td{padding:18px}
  .dd-rail{grid-auto-columns:78%}
  .dd-arr{display:none}
  .dd-nav{justify-content:flex-start;margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);padding:0 var(--gut)}
  .dd-end .row{flex-direction:column;align-items:stretch;width:100%}
  .dd-sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 8px 8px 18px;border-radius:999px;background:var(--navy);color:#fff;box-shadow:0 20px 40px -16px rgba(11,42,69,.8);transform:translateY(130%);transition:transform .5s var(--ease)}
  .dd-sticky.on{transform:none}
  .dd-sticky small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
  .dd-sticky b{font-family:var(--display);font-size:18px}
  .dd-sticky a{height:44px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;background:#fff;color:var(--navy);text-decoration:none;font-size:14px;font-weight:800}
  .dd-end{margin-bottom:96px}
}
@media (prefers-reduced-motion:reduce){.dd-sl{transition:opacity .3s}.dd-h1 span{animation:none}.dd-dots button.on i{animation:none;transform:none}}


.tc{position:relative}
.tc-wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}

/* ---------- page header ---------- */
.tc-hero{position:relative;overflow:hidden;isolation:isolate;padding:clamp(130px,16vh,170px) 0 clamp(40px,6vw,70px);
  background:radial-gradient(900px 520px at 85% -10%,rgba(169,211,242,.75),transparent 60%),radial-gradient(600px 400px at 0% 100%,rgba(255,214,140,.28),transparent 60%),linear-gradient(180deg,#DCEEFB 0%,var(--bg) 100%)}
.tc-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(11,42,69,.08) 1px,transparent 1.2px);background-size:24px 24px;-webkit-mask-image:radial-gradient(60% 70% at 70% 40%,#000,transparent);mask-image:radial-gradient(60% 70% at 70% 40%,#000,transparent)}
.tc-route{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.tc-route path{fill:none;stroke:rgba(26,109,181,.22);stroke-width:1.6;stroke-dasharray:2 9;stroke-linecap:round}
.tc-route .pl{fill:var(--blue-d);opacity:.55}
.tc-crumb{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--dim)}
.tc-crumb a{text-decoration:none;color:var(--blue-d)}
.tc-crumb a:hover{text-decoration:underline}
.tc-hero h1{margin:18px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(46px,7vw,104px);line-height:.92;letter-spacing:-.055em}
.tc-hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--blue-d)}
.tc-lead{max-width:60ch;margin:22px 0 0;font-size:clamp(15.5px,1.25vw,18.5px);line-height:1.65;color:var(--mist)}
.tc-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.tc-meta span{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.85);box-shadow:0 0 0 1px #fff,0 10px 22px -18px rgba(11,42,69,.5);font-size:13px;font-weight:700;color:var(--mist)}
.tc-meta b{color:var(--navy)}
.tc-meta i{width:7px;height:7px;border-radius:50%;background:#3DD68C;box-shadow:0 0 0 4px rgba(61,214,140,.2)}
.tc-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.tc-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 22px;border-radius:999px;border:1px solid transparent;text-decoration:none;font:800 15px var(--ui);white-space:nowrap;cursor:pointer;box-shadow:0 10px 22px -12px rgba(11,42,69,.5);transition:background .25s,color .25s,transform .35s var(--ease);overflow:hidden;background:var(--blue-d);color:#fff}
.tc-btn:hover{background:var(--blue-dd)}
.tc-btn:active{transform:scale(.97)}
.tc-btn svg{width:17px;height:17px;flex:none;transition:transform .35s var(--ease)}
.tc-btn:hover svg{transform:translateY(2px)}
.tc-btn.w{background:#fff;color:var(--navy);border-color:var(--line)}
.tc-btn.w:hover{background:var(--sky)}

/* ---------- the short version ---------- */
.tc-sum{padding:clamp(36px,5vw,64px) 0 0}
.tc-k{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-d)}
.tc-k::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--blue-d)}
.tc-sum h2{margin:12px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(30px,3.6vw,48px);letter-spacing:-.045em;line-height:1}
.tc-sum h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--blue-d);letter-spacing:-.01em}
.tc-sum>.tc-wrap>p{max-width:62ch;margin:14px 0 0;font-size:15px;line-height:1.6;color:var(--mist)}
.tc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
.tc-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px var(--line),0 24px 40px -32px rgba(11,42,69,.5);text-decoration:none;color:inherit;transition:transform .45s var(--ease),box-shadow .3s}
.tc-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--sky3),0 30px 50px -30px rgba(11,42,69,.55)}
.tc-card .ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--sky);color:var(--blue-d);transition:background .3s,color .3s,transform .45s var(--ease)}
.tc-card:hover .ic{background:var(--blue-d);color:#fff;transform:rotate(-6deg)}
.tc-card .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tc-card b{font-family:var(--display);font-size:19px;letter-spacing:-.025em;line-height:1.1}
.tc-card p{margin:0;font-size:14px;line-height:1.55;color:var(--mist)}
.tc-card small{margin-top:auto;font-size:12px;font-weight:800;color:var(--blue-d)}

/* ---------- body: contents rail + sections ---------- */
.tc-body{padding:clamp(40px,6vw,80px) 0 clamp(60px,8vw,110px)}
.tc-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.tc-rail{position:sticky;top:96px;max-height:calc(100vh - 116px);display:flex;flex-direction:column;border-radius:26px;background:#fff;box-shadow:0 0 0 1px var(--line),0 30px 50px -36px rgba(11,42,69,.5);overflow:hidden}
.tc-rail-h{padding:16px 16px 12px;border-bottom:1px solid var(--line)}
.tc-rail-h b{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.tc-rail-h b span{font:800 12px var(--ui);letter-spacing:0;color:var(--blue-d)}
.tc-prog{height:4px;margin-top:10px;border-radius:4px;background:var(--sky);overflow:hidden}
.tc-prog i{display:block;height:100%;width:calc(var(--p,0) * 100%);border-radius:4px;background:linear-gradient(90deg,var(--sky3),var(--blue-d))}
.tc-find{position:relative;margin-top:12px}
.tc-find svg{position:absolute;left:12px;top:50%;width:16px;height:16px;margin-top:-8px;color:var(--dim);pointer-events:none}
.tc-find input{width:100%;height:42px;padding:0 70px 0 36px;border:0;border-radius:12px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:600;outline:none;transition:box-shadow .2s}
.tc-find input:focus{box-shadow:inset 0 0 0 2px var(--blue)}
.tc-find input::-webkit-search-cancel-button{display:none}
.tc-find input{padding-right:96px}
.tc-find .cnt span{min-width:34px;text-align:right}
.tc-find .cnt{position:absolute;right:6px;top:6px;display:flex;align-items:center;gap:2px}
.tc-find .cnt span{font-size:11.5px;font-weight:800;color:var(--dim);margin-right:2px}
.tc-find .cnt button{width:26px;height:30px;border:0;border-radius:8px;background:none;cursor:pointer;color:var(--navy);display:grid;place-items:center}
.tc-find .cnt button:hover{background:var(--sky)}
.tc-find .cnt button svg{position:static;width:14px;height:14px;margin:0;color:currentColor}
.tc-find .cnt[hidden]{display:none}
.tc-toc{list-style:none;margin:0;padding:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sky3) transparent;counter-reset:none}
.tc-toc a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;text-decoration:none;font-size:13.5px;font-weight:700;color:var(--mist);transition:background .2s,color .2s}
.tc-toc a small{flex:none;width:24px;font:800 11px var(--ui);color:var(--dim)}
.tc-toc a:hover{background:var(--bg);color:var(--navy)}
.tc-toc a.on{background:var(--sky);color:var(--navy)}
.tc-toc a.on small{color:var(--blue-d)}
.tc-toc a.dim{opacity:.35}
.tc-toc a.hit::after{content:"";margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--sun)}
/* the sections */
.tc-sec{position:relative;scroll-margin-top:96px;margin-bottom:14px;padding:clamp(22px,3vw,34px);border-radius:28px;background:#fff;box-shadow:0 0 0 1px var(--line),0 24px 44px -38px rgba(11,42,69,.5)}
.tc-sec-h{display:flex;align-items:flex-start;gap:14px}
.tc-num{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--navy);color:#fff;font:800 15px var(--display);letter-spacing:-.02em}
.tc-sec h2{margin:4px 0 0;flex:1;min-width:0;font-family:var(--display);font-weight:800;font-size:clamp(23px,2.3vw,30px);letter-spacing:-.035em;line-height:1.08}
.tc-link{flex:none;width:36px;height:36px;margin-top:2px;border:0;border-radius:50%;background:var(--bg);color:var(--dim);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s,background .2s,color .2s}
.tc-sec:hover .tc-link,.tc-link:focus-visible{opacity:1}
.tc-link:hover{background:var(--sky);color:var(--blue-d)}
.tc-link svg{width:16px;height:16px}
.tc-link.ok{background:var(--ok-soft);color:var(--ok);opacity:1}
.tc-short{display:flex;gap:12px;margin:18px 0 6px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#EEF6FD,#E3F0FB);box-shadow:inset 0 0 0 1px rgba(59,158,232,.18)}
.tc-short b{flex:none;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d);padding-top:2px}
.tc-short p{margin:0;font-size:14.5px;line-height:1.6;color:var(--navy);font-weight:600}
.tc-sec ol.cl{list-style:none;margin:16px 0 0;padding:0;counter-reset:cl}
.tc-sec ol.cl>li{position:relative;padding:12px 0 12px 54px;border-top:1px solid var(--line);font-size:15px;line-height:1.7;color:var(--mist);counter-increment:cl}
.tc-sec ol.cl>li:first-child{border-top:0}
.tc-sec ol.cl>li::before{content:attr(data-n);position:absolute;left:0;top:13px;min-width:40px;font:800 12.5px var(--ui);color:var(--blue-d);letter-spacing:.02em}
.tc-sec ol.cl>li strong{color:var(--navy);font-weight:800}
.tc-sec ul.bl{margin:8px 0 0;padding:0;list-style:none}
.tc-sec ul.bl li{position:relative;padding:3px 0 3px 18px}
.tc-sec ul.bl li::before{content:"";position:absolute;left:2px;top:12px;width:6px;height:6px;border-radius:50%;background:var(--sky3)}
.tc-sec a{color:var(--blue-d);font-weight:700;text-decoration:underline;text-decoration-color:rgba(26,109,181,.35);text-underline-offset:3px}
.tc-sec a:hover{text-decoration-color:var(--blue-d)}
.tc-dl{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:16px}
.tc-dl div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;padding:12px 14px;border-radius:14px;background:var(--bg);font-size:14.5px;line-height:1.6;color:var(--mist)}
.tc-dl dt,.tc-dl b{color:var(--navy);font-weight:800}
.tc-note{display:flex;gap:12px;margin-top:16px;padding:14px 16px;border-radius:16px;background:#FFF6E6;box-shadow:inset 0 0 0 1px #FFD89B;font-size:14px;line-height:1.6;color:#7A5200}
.tc-note svg{flex:none;width:20px;height:20px;margin-top:1px}
/* details still to be filled in by Safarzing */
.tc-fill{display:inline;padding:1px 7px;border-radius:6px;background:#FFF1D6;box-shadow:inset 0 0 0 1px #FFC566;color:#8A5A00;font-weight:800;font-size:.94em;white-space:nowrap}
.tc-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.tc-contact a,.tc-contact div{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:18px;background:var(--bg);text-decoration:none!important;color:var(--navy)!important;transition:background .2s}
.tc-contact a:hover{background:var(--sky)}
.tc-contact small{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.tc-contact b{font-family:var(--display);font-size:17px;letter-spacing:-.02em;word-break:break-word}
/* search highlights */
.tc mark.tc-m{background:#FFE7A8;color:inherit;border-radius:4px;padding:0 1px}
.tc mark.tc-m.cur{background:var(--sun);box-shadow:0 0 0 2px var(--sun)}
.tc-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding:24px;border-radius:28px;background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.tc-end::before{content:"";position:absolute;right:-80px;top:-100px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(59,158,232,.55),transparent 65%);z-index:-1}
.tc-end b{display:block;font-family:var(--display);font-size:clamp(22px,2.4vw,30px);letter-spacing:-.035em;line-height:1.05}
.tc-end b em{font-family:var(--serif);font-style:italic;font-weight:400;color:#8DD0F7}
.tc-end p{margin:6px 0 0;font-size:14px;color:rgba(255,255,255,.7)}
.tc-end .tc-btn{background:#fff;color:var(--navy)}
.tc-end .tc-btn:hover{background:var(--sky)}

.tc-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.tc-jump a{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 16px 0 6px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 0 0 1px #fff,0 12px 24px -18px rgba(11,42,69,.5);text-decoration:none;font-size:14px;font-weight:800;color:var(--navy);transition:background .2s,transform .35s var(--ease)}
.tc-jump a:hover{background:#fff;transform:translateY(-2px)}
.tc-jump b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font:800 13px var(--display)}
/* part dividers */
.tc-part{scroll-margin-top:96px;display:flex;align-items:flex-end;gap:18px;margin:44px 0 16px;padding:26px clamp(20px,3vw,32px);border-radius:28px;background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.tc-part:first-child{margin-top:0}
.tc-part::before{content:"";position:absolute;right:-60px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(59,158,232,.55),transparent 65%);z-index:-1}
.tc-part .lt{flex:none;width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:#fff;color:var(--navy);font:800 30px var(--display)}
.tc-part small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sun)}
.tc-part h2{margin:6px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.04em;line-height:1}
.tc-part h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:#8DD0F7}
.tc-part p{margin:8px 0 0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.72);max-width:60ch}
.tc-toc li.pt{margin:10px 10px 4px;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-d)}
.tc-toc li.pt:first-child{margin-top:4px}
.tc-tbl{width:100%;margin-top:14px;border-collapse:separate;border-spacing:0;font-size:14px;border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.tc-tbl th,.tc-tbl td{padding:11px 14px;text-align:left;border-top:1px solid var(--line);color:var(--mist);vertical-align:top}
.tc-tbl th{background:var(--bg);color:var(--navy);font-size:12px;letter-spacing:.06em;text-transform:uppercase;border-top:0}
.tc-tbl td:first-child{color:var(--navy);font-weight:800;white-space:nowrap}
@media (max-width:640px){.tc-part{flex-direction:column;align-items:flex-start}.tc-tbl{font-size:13px}.tc-tbl th,.tc-tbl td{padding:9px 10px}.tc-tbl td:first-child{white-space:normal}}
/* phone: contents become a pill that opens a sheet */
.tc-pill{display:none}
@media (max-width:1000px){
  .tc-grid{grid-template-columns:minmax(0,1fr)}
  .tc-rail{position:fixed;left:12px;right:12px;bottom:12px;top:auto;z-index:70;max-height:min(72vh,620px);transform:translateY(calc(100% + 30px));transition:transform .55s var(--ease);box-shadow:0 0 0 1px var(--line),0 40px 80px -20px rgba(11,42,69,.55)}
  .tc.toc-open .tc-rail{transform:none}
  .tc-pill{position:fixed;left:50%;bottom:16px;z-index:69;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 8px 0 16px;border:0;border-radius:999px;background:var(--navy);color:#fff;font:800 13.5px var(--ui);cursor:pointer;transform:translate(-50%,0);box-shadow:0 18px 34px -16px rgba(11,42,69,.8);transition:transform .45s var(--ease),opacity .3s;max-width:calc(100vw - 32px)}
  .tc-pill span.t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52vw}
  .tc-pill i{display:grid;place-items:center;height:34px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.16);font-style:normal;font-size:12px}
  .tc.pill-off .tc-pill,.tc.toc-open .tc-pill{transform:translate(-50%,90px);opacity:0}
  .tc-scrim{position:fixed;inset:0;z-index:68;background:rgba(11,42,69,.35);opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s linear .35s}
  .tc.toc-open .tc-scrim{opacity:1;visibility:visible;transition:opacity .35s}
  .tc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tc-body{padding-bottom:110px}
}
@media (max-width:640px){
  .tc-cards{grid-template-columns:minmax(0,1fr)}
  .tc-sec{border-radius:22px}
  .tc-sec ol.cl>li{padding-left:44px;font-size:14.5px}
  .tc-dl div{grid-template-columns:minmax(0,1fr);gap:2px}
  .tc-contact{grid-template-columns:minmax(0,1fr)}
  .tc-acts{flex-direction:column;align-items:stretch}
  .tc-link{opacity:1}
}
@media (min-width:1001px){.tc-scrim{display:none}}

/* print: just the terms */
@media print{
  .zn,.zn-sheet,.tc-rail,.tc-pill,.tc-scrim,.tc-acts,.tc-route,.tc-link,.tc-end{display:none!important}
  body{background:#fff}
  .tc-hero{padding:0 0 20px;background:none}
  .tc-grid{grid-template-columns:1fr}
  .tc-sec{box-shadow:none;border:1px solid #ccc;break-inside:auto;page-break-inside:auto;border-radius:12px}
  .tc-card{box-shadow:none;border:1px solid #ccc}
}

/* fixes inside the combined file */
#szTerms .tc-hero{padding-top:clamp(120px,15vh,160px)}

/* trip-type panels: each one wears its own page's colours and headline fonts (vertical labels stay in the site font) */
.vb{--vt:11,42,69;--va:#FFB547;--vbtn:#fff;--vbtx:#0B2A45}
.vb--couples{--vt:110,15,46;--va:#FFC2D4;--vbtn:#C2255C;--vbtx:#fff}
.vb--families{--vt:36,80,63;--va:#FFC9A8;--vbtn:#E2603A;--vbtx:#fff}
.vb--friends{--vt:36,18,74;--va:#FFD23F;--vbtn:#FF6A4D;--vbtx:#fff}
.vb--adventure{--vt:58,36,24;--va:#CFE6FA;--vbtn:#B9502A;--vbtx:#fff}
.vb--spiritual{--vt:107,20,20;--va:#FFD43B;--vbtn:#D9480F;--vbtx:#fff}
.vb::after{background:linear-gradient(180deg,rgba(var(--vt),0) 25%,rgba(var(--vt),.55) 60%,rgba(var(--vt),.92))}
.vb-c small{color:var(--va)}
.vb-c h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-.02em;line-height:.95;font-size:clamp(34px,3.8vw,56px)}
.vb-c h3 em{font-family:'Great Vibes','Instrument Serif',cursive;font-style:normal;font-weight:400;font-size:1.18em;line-height:.8;color:var(--va);padding-right:.05em}
.vb-c .btn{background:var(--vbtn);color:var(--vbtx);border-color:transparent}
.vb-c .tags span,.vb-c .tags button{background:rgba(255,255,255,.16)}
.vb-v{text-shadow:0 2px 14px rgba(var(--vt),.8)}

@media (max-width:820px){.tp .tp-hx{display:none}}
@media (max-width:560px){.tp .tp-cta .btn{font-size:13px;padding:0 8px;gap:5px}.tp .tp-cta .btn svg{width:14px;height:14px;flex:none}}
@media (max-width:360px){.tp .tp-cta{flex-wrap:wrap}.tp .tp-cta .btn{flex:1 1 100%}}

/* destinations: equal cards, view-all button */
.dx-c.big{grid-column:auto;grid-row:auto}
.dx-more{display:flex;justify-content:center;margin-top:clamp(20px,3vw,30px)}
.dx-more .btn b{display:inline-grid;place-items:center;min-width:26px;height:24px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.2);font-size:12px}
/* explore all destinations page */
.dxa{padding-bottom:clamp(50px,7vw,90px);background:radial-gradient(900px 520px at 85% 0%,rgba(169,211,242,.7),transparent 60%),radial-gradient(700px 500px at 0% 420px,rgba(255,214,140,.16),transparent 65%),linear-gradient(180deg,#DCEEFB 0px,var(--bg) 900px)}
.dxa-hero{position:relative;padding:clamp(110px,14vh,140px) 0 clamp(22px,3vw,32px)}
.dxa-crumb{display:flex;gap:8px;margin-bottom:16px;font-size:13px;font-weight:700;color:var(--dim)}
.dxa-crumb a{color:var(--blue-d);text-decoration:none}
.dxa-h{margin:12px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(42px,6vw,88px);line-height:.94;letter-spacing:-.055em}
.dxa-h em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--blue-d)}
.dxa-p{max-width:56ch;margin:16px 0 0;font-size:clamp(15.5px,1.2vw,18px);line-height:1.6;color:var(--mist)}
.dxa-bar{display:flex;align-items:center;gap:8px;margin-top:clamp(22px,3vw,32px);padding:6px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line),0 18px 36px -24px rgba(11,42,69,.5);max-width:820px}
.dxa-tg{position:relative;display:flex;flex:none}
.dxa-tg i{position:absolute;top:0;bottom:0;left:6px;border-radius:999px;background:var(--navy);box-shadow:0 10px 20px -10px rgba(11,42,69,.7);transition:transform .5s var(--ease),width .5s var(--ease)}
.dxa-tg button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 18px;border:0;background:none;border-radius:999px;font:800 14.5px var(--ui);color:var(--mist);cursor:pointer;white-space:nowrap;transition:color .3s}
.dxa-tg button b{min-width:24px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font-size:11.5px;background:var(--sky);color:var(--blue-d);transition:background .3s,color .3s}
.dxa-tg button[aria-pressed="true"]{color:#fff}
.dxa-tg button[aria-pressed="true"] b{background:rgba(255,255,255,.18);color:#fff}
.dxa-q{flex:1;min-width:0;display:flex;align-items:center;gap:10px;height:48px;padding:0 18px;border-radius:999px;background:var(--bg);color:var(--dim);border-left:0}
.dxa-q svg{width:18px;height:18px;flex:none}
.dxa-q input{flex:1;min-width:0;border:0;outline:0;background:none;font:700 15px var(--ui);color:var(--navy)}
.dxa-q:focus-within{box-shadow:inset 0 0 0 2px var(--blue)}
.dxa-list{padding-top:clamp(10px,2vw,18px)}
.dxa-n{margin:0 0 14px;font-size:14px;font-weight:700;color:var(--dim)}
.dxa-n b{color:var(--navy)}
.dxa-none{padding:28px;border-radius:24px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:15px;color:var(--mist)}
.dxa-none a{color:var(--blue-d);font-weight:800}
@media (max-width:760px){.dxa-bar{flex-direction:column;align-items:stretch;border-radius:26px}.dxa-tg{display:grid;grid-template-columns:repeat(3,1fr)}.dxa-tg button{justify-content:center;padding:0 8px;font-size:13.5px;gap:6px}.dxa-q{flex:none;height:46px}}
@media (max-width:380px){.dxa-tg button b{display:none}}

/* packages: view-all button */
.pkx-all b{display:inline-grid;place-items:center;min-width:26px;height:24px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.2);font-size:12px}
/* all packages page */
.pka-ctl{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:clamp(22px,3vw,32px);padding:8px;border-radius:30px;background:#fff;box-shadow:0 0 0 1px var(--line),0 18px 36px -24px rgba(11,42,69,.5)}
.pka-tg{position:relative;display:grid;grid-template-columns:repeat(3,1fr);padding:5px;border-radius:999px;background:var(--sky)}
.pka-tg i{position:absolute;top:5px;bottom:5px;left:5px;border-radius:999px;background:var(--navy);box-shadow:0 10px 20px -10px rgba(11,42,69,.7);transition:transform .5s var(--ease),width .5s var(--ease)}
.pka-tg button{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 10px;border:0;background:none;border-radius:999px;font:800 15px var(--ui);color:var(--mist);cursor:pointer;white-space:nowrap;transition:color .3s}
.pka-tg button b{min-width:24px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font-size:11.5px;background:#fff;color:var(--blue-d);transition:background .3s,color .3s}
.pka-tg button[aria-pressed="true"]{color:#fff}
.pka-tg button[aria-pressed="true"] b{background:rgba(255,255,255,.18);color:#fff}
.pka-row{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:0 4px 4px}
.pka-ch{min-width:0;display:flex;flex-wrap:wrap;gap:6px}
.pka-ch button{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line2);background:#fff;font:800 13.5px var(--ui);color:var(--navy);cursor:pointer;white-space:nowrap;transition:background .25s,border-color .25s,color .25s,opacity .25s}
.pka-ch button b{font-size:11.5px;color:var(--blue-d);transition:color .25s}
.pka-ch button:hover{border-color:var(--blue);background:var(--sky)}
.pka-ch button[aria-pressed="true"]{background:var(--blue-d);border-color:var(--blue-d);color:#fff}
.pka-ch button[aria-pressed="true"] b{color:rgba(255,255,255,.8)}
.pka-ch button.zero{opacity:.45}
.pka-sr{display:flex;gap:8px;min-width:0}
.pka-sr .pka-q{flex:1}
.pka-q{height:46px;border:1.5px solid transparent}
.pka-sort select{height:46px}
.pka-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.pka-meta .dxa-n{margin:0}
.pka-clr{border:0;background:none;color:var(--blue-d);font:800 13.5px var(--ui);cursor:pointer;padding:6px 4px}
.pka-grid{margin-top:0}
@media (max-width:760px){
  .pka-ctl{border-radius:26px}
  .pka-tg button{font-size:13.5px;gap:6px;height:46px}
  .pka-ch{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -4px;padding:2px 4px;-webkit-mask:linear-gradient(90deg,#000 88%,transparent);mask:linear-gradient(90deg,#000 88%,transparent)}
  .pka-ch::-webkit-scrollbar{display:none}
  .pka-ch button{flex:none;height:38px}
  .pka-sr{flex-direction:column}
  .pka-sort select{width:100%}
}
@media (max-width:380px){.pka-tg button b{display:none}}
/* compact package cards on phone: shorter photo, no tick list */
@media (max-width:560px){
  .pkc-im{aspect-ratio:auto;height:150px}
  .pkc-h{display:none}
  .pkc-b{padding:12px 15px 14px}
  .pkc-b h3{font-size:18px}
  .pkc-r{margin-top:3px}
  .pkc-f{padding-top:10px}
  .pkx-grid{gap:12px}
}

/* hero: group chat */
.mr-c.chat .fr{padding:0;overflow:hidden;border-radius:max(12px,8cqw);background:#EFEAE2}
.mr-c.chat .ch-h{display:flex;align-items:center;gap:4cqw;padding:4.5cqw 5cqw;background:#fff;border-bottom:1px solid rgba(11,42,69,.07)}
.mr-c.chat .ch-av{flex:none;width:15cqw;height:15cqw;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;font-size:max(7px,5.4cqw);font-weight:800}
.mr-c.chat .ch-h b{display:block;font-size:max(9px,6.4cqw);line-height:1.15;white-space:nowrap}
.mr-c.chat .ch-h small{display:block;font-size:max(7px,4.8cqw);font-weight:700;color:var(--dim);white-space:nowrap}
.mr-c.chat .ch-b{display:flex;flex-direction:column;gap:2.6cqw;padding:5cqw 4.5cqw 5.5cqw;background:radial-gradient(circle at 1px 1px,rgba(11,42,69,.06) 1px,transparent 1.5px) 0 0/9px 9px}
.mr-c.chat .bb{position:relative;max-width:84%;padding:2.8cqw 4.4cqw 3cqw;border-radius:5cqw;font-size:max(8.5px,5.9cqw);font-weight:600;line-height:1.3;box-shadow:0 1px 1px rgba(11,42,69,.12)}
.mr-c.chat .bb.in{align-self:flex-start;background:#fff;border-top-left-radius:1.2cqw}
.mr-c.chat .bb.out{align-self:flex-end;background:#D9FDD3;border-top-right-radius:1.2cqw}
.mr-c.chat .bb em{display:block;font-style:normal;font-size:max(7px,4.6cqw);font-weight:800;color:#C2410C}
.mr-c.chat .bb.in+.bb.in em{color:#7C3AED}
.mr-c.chat .bb i{display:block;margin-top:.6cqw;text-align:right;font-style:normal;font-size:max(6.5px,4.2cqw);font-weight:700;color:#53BDEB}
.mr-c.chat .bb.ty{display:flex;gap:1.6cqw;padding:3.6cqw 4.4cqw}
.mr-c.chat .bb.ty s{width:2.6cqw;height:2.6cqw;border-radius:50%;background:#9AA7B3;animation:mrty 1.2s ease-in-out infinite}
.mr-c.chat .bb.ty s:nth-child(2){animation-delay:.15s}.mr-c.chat .bb.ty s:nth-child(3){animation-delay:.3s}
@keyframes mrty{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-1.6cqw);opacity:1}}
/* hero: notes list */
.mr-c.notes .fr{padding:6cqw 7cqw 7cqw;border-radius:max(12px,9cqw);background:#FFFDF6}
.mr-c.notes .nt-top{display:flex;justify-content:space-between;font-size:max(7.5px,6cqw);font-weight:700;color:#D99A00}
.mr-c.notes .nt-t{display:block;margin-top:4cqw;font-size:max(11px,10cqw);letter-spacing:-.02em;line-height:1.05}
.mr-c.notes .nt-d{display:block;margin-top:1cqw;font-size:max(6.5px,5cqw);font-weight:700;color:var(--dim)}
.mr-c.notes .nt-l{display:flex;flex-direction:column;gap:3.4cqw;margin-top:5cqw}
.mr-c.notes .nt-l span{display:flex;align-items:center;gap:4cqw;font-size:max(8px,6.6cqw);font-weight:700;white-space:nowrap}
.mr-c.notes .nt-l span::before{content:"";flex:none;width:7.6cqw;height:7.6cqw;border-radius:50%;border:1.5px solid #C9C2B0}
.mr-c.notes .nt-l .dn{color:var(--dim);text-decoration:line-through}
.mr-c.notes .nt-l .dn::before{border-color:#E0A800;background:#E0A800 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/70% no-repeat}
/* hero: search bar */
.mr-c.sr .fr{padding:2.4cqw;border-radius:max(14px,9cqw);background:#fff}
.mr-c.sr .sr-q{display:flex;align-items:center;gap:3.4cqw;height:18cqw;padding:0 5cqw;border-radius:999px;background:var(--sky);font-size:max(9px,6.4cqw);font-weight:700;white-space:nowrap;overflow:hidden}
.mr-c.sr .sr-q svg{flex:none;width:7.4cqw;height:7.4cqw;color:var(--blue-d)}
.mr-c.sr .sr-k{flex:none;width:1.5px;height:8cqw;margin-left:-2.6cqw;background:var(--blue-d);animation:mrk 1s steps(1) infinite}
@keyframes mrk{50%{opacity:0}}
.mr-c.sr .sr-s{display:flex;flex-direction:column;padding:2.4cqw 4cqw 2cqw;transition:opacity .3s}
.mr-c.sr .sr-s span{display:flex;align-items:center;gap:3.4cqw;padding:2.2cqw 0;font-size:max(8px,5.6cqw);font-weight:600;color:var(--mist);white-space:nowrap}
.mr-c.sr .sr-s span::before{content:"";flex:none;width:5.4cqw;height:5.4cqw;background:currentColor;opacity:.5;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") center/contain no-repeat}
.mr-c.sr.sg-off .sr-s{opacity:.35}
@container (max-width:150px){.mr-c.chat .bb.in+.bb.in{display:none}.mr-c.sr .sr-s span+span{display:none}}
@media (prefers-reduced-motion:reduce){.mr-c.chat .bb.ty s,.mr-c.sr .sr-k{animation:none}}

/* ===== hero: tall cabin suitcase ===== */
.mr-sc{height:calc(var(--sw) * 1.45)}
.mr-sc .sh{left:6%;right:6%;bottom:calc(var(--u) * -15)}
.mr-sc .bk,.mr-sc .fr{border-radius:calc(var(--u) * 11)}
.mr-sc .fr{background:
    linear-gradient(90deg,transparent 0 19%,rgba(255,255,255,.3) 19% 20%,rgba(11,42,69,.16) 20% 21.4%,transparent 21.4% 39%,rgba(255,255,255,.3) 39% 40%,rgba(11,42,69,.16) 40% 41.4%,transparent 41.4% 59%,rgba(255,255,255,.3) 59% 60%,rgba(11,42,69,.16) 60% 61.4%,transparent 61.4% 79%,rgba(255,255,255,.3) 79% 80%,rgba(11,42,69,.16) 80% 81.4%,transparent 81.4%),
    linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 25%,rgba(11,42,69,0) 75%,rgba(11,42,69,.2)),
    linear-gradient(115deg,#6CC2F6 0%,#3B9EE8 38%,#1F7BCB 70%,#1A6DB5 100%)}
.mr-sc .fr::before{inset:calc(var(--u) * 3.4);border-radius:calc(var(--u) * 8)}
.mr-sc .fr::after{left:6%;top:3%;width:18%;height:70%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,255,255,0))}
.mr-sc .cg{width:calc(var(--u) * 13);height:calc(var(--u) * 13);border-width:calc(var(--u) * 2.8)}
.mr-sc .cg.a{border-radius:calc(var(--u) * 11) 0 0 0}.mr-sc .cg.b{border-radius:0 calc(var(--u) * 11) 0 0}
.mr-sc .cg.c{border-radius:0 0 0 calc(var(--u) * 11)}.mr-sc .cg.d{border-radius:0 0 calc(var(--u) * 11) 0}
.mr-sc .ch{width:30%;margin-left:-15%;height:calc(var(--u) * 6);top:calc(var(--u) * -4)}
.mr-sc .lk{display:none}
/* trolley handle */
.mr-sc .tele{width:50%;margin-left:-25%;height:calc(var(--u) * 30)}
.mr.done .mr-sc .tele{height:calc(var(--u) * 42)}
.mr-sc .tele i{width:calc(var(--u) * 4)}
.mr-sc .tele b{height:calc(var(--u) * 10);border-radius:calc(var(--u) * 5)}
/* logo straight on the shell: no plate, no border */
.mr-sc .pl{top:10%;width:54%;margin-left:-27%;padding:0;background:none;box-shadow:none;border-radius:0}
.mr-sc .pl svg{width:74%;filter:drop-shadow(0 calc(var(--u) * .6) calc(var(--u) * 1) rgba(11,42,69,.35))}
.mr-sc .pl svg g{fill:#fff}
.mr-sc .pl b{margin-top:calc(var(--u) * 1.2);font-size:calc(var(--u) * 5.2);letter-spacing:.24em;color:#fff;text-shadow:0 calc(var(--u) * .5) calc(var(--u) * 1.2) rgba(11,42,69,.35)}
/* four stickers */
.mr-sc .s5{display:none}
.mr-sc .s1{left:9%;top:37%;width:33%;font-size:calc(var(--u) * 3.8)}
.mr-sc .s1 svg{width:calc(var(--u) * 12)}
.mr-sc .s3{right:9%;left:auto;top:41%;width:32%;height:19%}
.mr-sc .s3 b{font-size:calc(var(--u) * 9)}.mr-sc .s3 small{font-size:calc(var(--u) * 2.8)}.mr-sc .s3 i{height:calc(var(--u) * 4)}
.mr-sc .s2{left:12%;top:64%;width:36%;height:12%;font-size:calc(var(--u) * 10)}
.mr-sc .s4{left:54%;top:69%;width:32%;font-size:calc(var(--u) * 4.8)}
/* spinner wheels */
.mr-sc .wh{bottom:calc(var(--u) * -9);width:calc(var(--u) * 14);height:calc(var(--u) * 11)}
.mr-sc .wh.l{left:9%}.mr-sc .wh.r{right:9%}
/* small luggage tag hanging off the handle */
.mr-sc .tag{right:-14%;top:1%;width:34%}
.mr-sc .tag b{font-size:calc(var(--u) * 5)}.mr-sc .tag span{font-size:calc(var(--u) * 2.6)}

/* ===== hero: flat yellow cabin suitcase ===== */
.mr-sc .bk{background:linear-gradient(180deg,#C98A12,#A8700C)}
.mr-sc .fr{background:
    linear-gradient(90deg,rgba(150,95,0,.08) 0%,rgba(255,255,255,0) 10%,rgba(255,255,255,0) 88%,rgba(150,95,0,.12) 100%),
    linear-gradient(180deg,#FFCE3A 0%,#FBC22C 100%);
  box-shadow:inset 0 calc(var(--u) * -1.2) 0 rgba(160,100,0,.18),0 calc(var(--u) * 8) calc(var(--u) * 14) calc(var(--u) * -8) rgba(110,72,0,.4)}
.mr-sc .fr::before{display:none}
.mr-sc .fr::after{display:none}
.mr-sc .lk{display:none}
/* dark bumpers at the bottom corners, nothing at the top */
.mr-sc .cg.a,.mr-sc .cg.b{display:none}
.mr-sc .cg.c,.mr-sc .cg.d{width:calc(var(--u) * 22);height:calc(var(--u) * 9);border:0;background:#2E3035;bottom:-1px}
.mr-sc .cg.c{border-radius:0 0 0 calc(var(--u) * 11)}.mr-sc .cg.d{border-radius:0 0 calc(var(--u) * 11) 0}
/* carry handle + long trolley handle with a yellow grip */
.mr-sc .ch{width:28%;margin-left:-14%;background:linear-gradient(180deg,#3B3E44,#26282C);box-shadow:none}
.mr-sc .tele{width:40%;margin-left:-20%;height:calc(var(--u) * 46)}
.mr.done .mr-sc .tele{height:calc(var(--u) * 70)}
.mr-sc .tele i{top:calc(var(--u) * 7);width:calc(var(--u) * 3);border-radius:calc(var(--u) * 1);background:linear-gradient(90deg,#8E949B,#B9BEC4 45%,#9AA0A7)}
.mr-sc .tele i:first-child{left:13%}.mr-sc .tele i:nth-child(2){right:13%}
.mr-sc .tele i::after{content:"";position:absolute;left:calc(var(--u) * -.7);right:calc(var(--u) * -.7);bottom:0;height:52%;border-radius:calc(var(--u) * 1.2) calc(var(--u) * 1.2) 0 0;background:linear-gradient(90deg,#5C6168,#7E848B 45%,#62676E)}
.mr-sc .tele b{left:0;right:0;top:0;height:calc(var(--u) * 9);border-radius:calc(var(--u) * 4.5);background:linear-gradient(180deg,#3B3E44,#26282C);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 calc(var(--u) * .8) calc(var(--u) * 1.6) rgba(0,0,0,.25)}
.mr-sc .tele b::after{display:block;content:"";position:absolute;left:28%;right:28%;top:40%;height:calc(var(--u) * 1.4);border-radius:2px;background:rgba(255,255,255,.14)}
/* the logo, small, printed straight on the shell */
.mr-sc .pl{top:12%;width:44%;margin-left:-22%;padding:0;background:none;box-shadow:none}
.mr-sc .pl img{display:block;width:100%;height:auto;pointer-events:none}
/* stickers: flat vinyl with a white die-cut edge, a soft sheen and a lifted corner */
.mr-sc .st{box-shadow:0 0 0 calc(var(--u) * 1.4) #fff,0 calc(var(--u) * 1) calc(var(--u) * 1.6) calc(var(--u) * .6) rgba(120,80,0,.28);overflow:visible}
.mr-sc .st::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,rgba(255,255,255,.16) 0 16%,rgba(255,255,255,0) 30%);pointer-events:none}
.mr-sc .s1{left:8%;top:44%;width:30%;background:#1F4E79;color:#fff;font-size:calc(var(--u) * 3.4)}
.mr-sc .s1::before{border-color:rgba(255,255,255,.5)}
.mr-sc .s1 svg{width:calc(var(--u) * 11);fill:#FFCB2B}
.mr-sc .s3{right:8%;top:38%;width:30%;height:16%;--r:6deg}
.mr-sc .s3::before{content:"";position:absolute;right:calc(var(--u) * -1.4);top:calc(var(--u) * -1.4);width:calc(var(--u) * 7);height:calc(var(--u) * 7);border-radius:0 calc(var(--u) * 2) 0 0;background:linear-gradient(225deg,#FFCB2B 50%,#F1F1F1 50%,#DADADA);box-shadow:-1px 1px 2px rgba(120,80,0,.3)}
.mr-sc .s2{left:10%;top:72%;width:34%;height:10%;background:#FF6B5B;color:#fff;font-size:calc(var(--u) * 8.4)}
.mr-sc .s2 i{display:none}
.mr-sc .s4{left:57%;top:63%;width:29%;background:#2BB673;color:#fff;font-size:calc(var(--u) * 4.4)}
.mr-sc .s5{display:none}
/* dark spinner wheels */
.mr-sc .wh::before{background:#2E3035}
.mr-sc .wh::after{background:radial-gradient(circle at 50% 50%,#8E949B 0 20%,#1E2023 23%)}
.mr-sc .tag{right:-13%;top:2%}
.mr-sc .sh{background:radial-gradient(closest-side,rgba(120,80,0,.3),rgba(120,80,0,0))}

/* suitcase: only the logo patch and one seal */
.mr-sc .s1,.mr-sc .s2,.mr-sc .s3,.mr-sc .s4,.mr-sc .s5,.mr-sc .tag{display:none}
.mr-sc .s6{left:auto;right:11%;top:61%;width:34%;aspect-ratio:1;border-radius:50%;background:none;box-shadow:0 0 0 calc(var(--u) * 1.4) #fff,0 calc(var(--u) * 1) calc(var(--u) * 1.8) calc(var(--u) * .4) rgba(110,72,0,.3)}
.mr-sc .s6 svg{width:100%;height:100%;display:block}
.mr-sc .s6::after{display:none}
/* stitched seams so the shell reads as a real case */
.mr-sc .fr::before{display:block;content:"";position:absolute;inset:calc(var(--u) * 4);border-radius:calc(var(--u) * 8);border:1.5px dashed rgba(140,88,0,.38);background:none;box-shadow:none;height:auto;top:calc(var(--u) * 4)}
.mr-sc .sz-seam{position:absolute;left:0;right:0;top:50%;height:calc(var(--u) * 1.6);background:rgba(160,100,0,.18);box-shadow:0 1px 0 rgba(255,255,255,.35);pointer-events:none}
.mr-sc .sz-seam::before,.mr-sc .sz-seam::after{content:"";position:absolute;left:calc(var(--u) * 4);right:calc(var(--u) * 4);height:0;border-top:1.5px dashed rgba(140,88,0,.38)}
.mr-sc .sz-seam::before{top:calc(var(--u) * -2.6)}.mr-sc .sz-seam::after{bottom:calc(var(--u) * -2.6)}
/* logo sits on a stitched cream leather patch */
.mr-sc .pl{top:13%;width:56%;margin-left:-28%;padding:calc(var(--u) * 4) calc(var(--u) * 5);border-radius:calc(var(--u) * 3.2);background:#FBF2DF;box-shadow:inset 0 0 0 calc(var(--u) * 1.6) #FBF2DF,inset 0 0 0 calc(var(--u) * 1.9) rgba(120,74,30,.0),0 calc(var(--u) * .8) calc(var(--u) * 1.6) rgba(110,72,0,.25)}
.mr-sc .pl::before{content:"";position:absolute;inset:calc(var(--u) * 1.6);border-radius:calc(var(--u) * 2);border:1.5px dashed rgba(120,74,30,.55);pointer-events:none}
.mr-sc .pl::after{content:"";position:absolute;left:calc(var(--u) * -1.5);right:calc(var(--u) * -1.5);top:50%;height:0}
/* seal: just the black text ring, turning slowly; no disc, no icon */
.mr-sc .s6{background:none!important;box-shadow:none!important;overflow:visible}
.mr-sc .s6::before,.mr-sc .s6::after{display:none!important}
.mr-sc .s6 .holo-spin{transform-box:view-box;transform-origin:50% 50%;animation:sealSpin 14s linear infinite}
@keyframes sealSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.mr-sc .s6 .holo-spin{animation:none}}
/* logo patch: half the size, plainer */
.mr-sc .pl{top:15%;width:28%;margin-left:-14%;padding:calc(var(--u) * 2) calc(var(--u) * 2.5);border-radius:calc(var(--u) * 1.8);box-shadow:0 calc(var(--u) * .5) calc(var(--u) * 1.2) rgba(110,72,0,.2)}
.mr-sc .pl::before{inset:calc(var(--u) * .9);border-radius:calc(var(--u) * 1.2);border:1px dashed rgba(120,74,30,.35)}

/* hero copy: two lines, smaller and calmer buttons */
.mr-c2 .mr-p{max-width:50ch;margin-top:16px}
.mr-c2 .mr-cta{gap:8px;margin-top:22px}
.mr-c2 .mr-btn{height:44px;padding:0 18px;font-size:14px;gap:8px;box-shadow:none}
.mr-c2 .mr-btn svg{width:15px;height:15px}
.mr-c2 .mr-btn:not(.ghost)::after{display:none}
.mr-c2 .mr-btn.ghost{background:transparent;border-color:var(--line2)}
.mr-c2 .mr-btn.ghost:hover{background:rgba(255,255,255,.7)}
@media (max-width:560px){
  .mr-c2 .mr-p{max-width:40ch;font-size:14px}
  .mr-c2 .mr-cta{flex-direction:row;align-items:center;justify-content:center;flex-wrap:nowrap;max-width:none}
  .mr-c2 .mr-btn{height:42px;padding:0 14px;font-size:13px}
}
@media (max-width:360px){.mr-c2 .mr-btn{padding:0 11px;font-size:12.5px}.mr-c2 .mr-btn svg{display:none}}

/* section eyebrow labels removed; the heading that followed moves up into their place */
.ey,.tp-ey,.mr-k,.tc-k{display:none!important}
.ey+*,.tp-ey+*,.mr-k+*,.tc-k+*{margin-top:0!important}

/* traveller stories: numbers as two boarding tickets with a torn stub */
.ts-stats{display:flex;flex-wrap:wrap;gap:16px}
.ts-stats .tk{--stub:62px;position:relative;filter:drop-shadow(0 16px 22px rgba(11,42,69,.22));transform:rotate(var(--tr,0deg));transition:transform .45s var(--ease)}
.ts-stats .tk-a{--tr:-1.6deg}.ts-stats .tk-b{--tr:1.4deg}
.ts-stats .tk:hover{transform:rotate(0) translateY(-4px)}
.ts-stats .tk-in{display:flex;border-radius:18px;color:#fff;
  -webkit-mask:radial-gradient(circle 10px at calc(100% - var(--stub)) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 10px at calc(100% - var(--stub)) 100%,#0000 97%,#000) bottom/100% 51% no-repeat;
          mask:radial-gradient(circle 10px at calc(100% - var(--stub)) 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 10px at calc(100% - var(--stub)) 100%,#0000 97%,#000) bottom/100% 51% no-repeat}
.ts-stats .tk-a .tk-in{background:radial-gradient(120% 140% at 0% 0%,#3B9EE8 0%,#1A6DB5 45%,#0B2A45 100%)}
.ts-stats .tk-b .tk-in{background:radial-gradient(120% 140% at 0% 0%,#FFC266 0%,#F2845C 55%,#D2532F 100%)}
.ts-stats .tk-m{padding:14px 22px 14px 18px;min-width:0}
.ts-stats .tk-l{display:flex;align-items:center;gap:7px;margin:0;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.ts-stats .tk-l svg{width:13px;height:13px;flex:none}
.ts-stats .tk b{display:block;margin-top:6px;font-family:var(--display);font-weight:800;font-size:clamp(36px,3.6vw,50px);letter-spacing:-.045em;line-height:.95;color:#fff}
.ts-stats .tk-s{display:block;margin-top:5px;font-size:12px;font-weight:700;color:rgba(255,255,255,.78)}
.ts-stats .tk-st{position:relative;flex:none;width:var(--stub);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-left:2px dashed rgba(255,255,255,.4);background:rgba(255,255,255,.08)}
.ts-stats .tk-st span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;font-weight:800;letter-spacing:.2em;color:rgba(255,255,255,.75)}
.ts-stats .tk-bc{width:28px;height:22px;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 3px,#fff 3px 4px,transparent 4px 6px,#fff 6px 9px,transparent 9px 10px);opacity:.8}
@media (max-width:560px){.ts-stats{gap:10px;width:100%}.ts-stats .tk{--stub:44px;flex:1 1 0;min-width:0}.ts-stats .tk-m{padding:12px 10px 12px 14px}.ts-stats .tk-l{font-size:9px;letter-spacing:.1em}.ts-stats .tk b{font-size:32px}.ts-stats .tk-bc{width:20px}.ts-stats .tk-s{font-size:11px}}
@media (prefers-reduced-motion:reduce){.ts-stats .tk{transition:none}}
/* tickets sit straight, side by side across the row; the review button gets its own full-width row below */
.ts-foot{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.ts-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.ts-stats .tk,.ts-stats .tk-a,.ts-stats .tk-b{--tr:0deg;transform:none}
.ts-stats .tk:hover{transform:translateY(-3px)}
.ts-stats .tk-in{height:100%}
.ts-stats .tk-m{flex:1}
.ts-add{position:relative;margin-left:0;width:100%;border-radius:18px;padding:8px 52px 8px 8px}
.ts-add::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;margin-top:-5px;border-top:2.4px solid var(--blue-d);border-right:2.4px solid var(--blue-d);transform:rotate(45deg);transition:transform .3s var(--ease)}
.ts-add:hover::after{transform:translateX(3px) rotate(45deg)}

/* ===== reveals: word rise, solid-bar wipe, typewriter, and cards that land before their text ===== */
html.fx .fx-h .w{position:relative;display:inline-block;vertical-align:top;padding:0 .04em .12em;margin:0 -.04em -.12em}
html.fx .fx-h .wi{display:inline-block}
/* 1. word rise: each word climbs out of its own slot */
html.fx .fx-rise .w{overflow:hidden;padding:0 .14em .3em;margin:0 -.14em -.3em}
html.fx .fx-rise.fx-done .w{overflow:visible}
html.fx .fx-rise .wi{transform:translateY(110%);transition:transform 1s cubic-bezier(.2,.9,.1,1);transition-delay:calc(var(--i,0) * 70ms + var(--d0,0ms))}
html.fx .fx-rise.fx-on .wi{transform:none}
/* 3. typewriter */
html.fx .twr{visibility:hidden}
html.fx .tw-caret{display:inline-block;width:.08em;min-width:2px;height:.95em;margin:0 .02em -.08em;background:var(--blue-d);vertical-align:baseline;animation:fxCaret .9s step-end infinite}
@keyframes fxCaret{50%{opacity:0}}
/* intro lines under headings: wipe in from the left, or rise out of a slot */
html.fx .fx-pw{transition:clip-path 1.1s cubic-bezier(.7,0,.2,1);transition-delay:var(--d0,.35s)}
html.fx .fx-pw:not(.fx-on){clip-path:inset(0 100% 0 0)}
html.fx .fx-pr{transition:clip-path .9s cubic-bezier(.2,.9,.1,1),transform .9s cubic-bezier(.2,.9,.1,1);transition-delay:var(--d0,.4s)}
html.fx .fx-pr:not(.fx-on){clip-path:inset(0 0 100% 0);transform:translateY(16px)}
/* cards: the solid card lands first, then its words */
html.fx .fx-card{transition:clip-path .8s cubic-bezier(.75,0,.2,1)}
html.fx .fx-card:not(.fx-on){clip-path:inset(100% 0 0 0 round 26px)}
html.fx .fx-card.fx-on:not(.fx-end){clip-path:inset(0 0 0 0 round 26px)}
html.fx .fx-card:not(.fx-txt) :is(h3,h4,p,small,li,b,strong,button,.pkc-go,.pkc-d,.pkc-t,.pkc-p,.pkc-inc,.tags){visibility:hidden}
@keyframes fxLine{from{clip-path:inset(0 0 100% 0);transform:translateY(8px)}to{clip-path:inset(0 0 0 0);transform:none}}
/* every inner page (destination, all destinations, all packages, trip types, terms) opens the same way */
@keyframes vpin{from{opacity:0;transform:translateY(46px) scale(.985)}to{opacity:1;transform:none}}
.vp-in{animation:vpin .75s var(--ease) both}
@media (prefers-reduced-motion:reduce){.vp-in{animation:none}}

/* founders' ID cards: brand mark, small handle, big first name, role, giant initials and a photo cut-out */
.co .badge{--s:1}
.co .front,.co .badge.o .front{background:#F8FAFC;color:#0B2A45;padding:16px 16px 0}
.co .badge{--acc:#1A6DB5;--acc2:#3B9EE8}
.co .badge.o{--acc:#E0603F;--acc2:#FFA45B}
.co .front .slot{top:12px}
.co .front .b-top{height:auto;margin-top:16px}
.co .b-mark{display:block;width:calc(46px * var(--s));height:auto;fill:var(--acc);opacity:.45}
.co .b-id{position:relative;z-index:3;margin-top:calc(14px * var(--s))}
.co .b-user{display:flex;align-items:center;gap:4px;font:700 calc(10.5px * var(--s)) var(--ui);color:rgba(11,42,69,.6)}
.co .b-user .ig{width:calc(11px * var(--s));height:calc(11px * var(--s));flex:none}
.co .b-first{display:block;margin-top:calc(2px * var(--s));font-family:var(--display);font-weight:800;font-size:calc(40px * var(--s));letter-spacing:-.05em;line-height:.95;color:#0B2A45}
.co .b-role{display:block;margin-top:calc(5px * var(--s));font-size:calc(11px * var(--s));font-weight:800;color:var(--acc)}
.co .b-big{position:absolute;z-index:1;bottom:calc(-26px * var(--s));font-family:var(--display);font-weight:800;font-size:calc(170px * var(--s));line-height:1;letter-spacing:-.08em;
  background:linear-gradient(180deg,var(--acc2),var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9;pointer-events:none}
.co .badge:not(.o) .b-big{right:calc(-14px * var(--s))}
.co .badge.o .b-big{left:calc(-12px * var(--s))}
.co .b-cut{position:absolute;z-index:2;bottom:0;width:72%;height:62%;display:flex;align-items:flex-end;pointer-events:none}
.co .b-cut.l{left:0;justify-content:flex-start}
.co .b-cut.r{right:0;justify-content:flex-end}
.co .b-photo{display:block;height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom;filter:grayscale(1) contrast(1.05)}
.co .b-sil{width:78%;height:auto;fill:#D3DBE5}
.co .badge.o .b-sil{fill:#E6DCD6}
.co .b-photo:not([hidden])+.b-sil{display:none}
@media (max-width:640px){.co .badge{--s:.78}}
.co .b-photo[src]:not([src=""]){display:block!important}
.co .b-photo[src]:not([src=""])+.b-sil{display:none}

/* founders' boarding pass: the quote sits smaller with breathing room */
.co .bp-m{margin:12px 0 12px!important;font-size:14px!important;line-height:1.3!important;opacity:.92}
@media (max-width:640px){.co .bp-m{font-size:12px!important;margin:8px 0!important}}
/* phone header: just the logo and the menu */
@media (max-width:760px){.zn .zn-line,.zn .zn-go{display:none!important}}
/* phone menu: a blue wipe grows from the burger, the sheet follows, rows rise in, a plane crosses the bottom */
.zs-wipe{position:fixed;inset:0;z-index:78;pointer-events:none;background:linear-gradient(160deg,#3B9EE8,#1A6DB5 60%,#14558E);clip-path:circle(0px at var(--cx,90%) var(--cy,40px));transition:clip-path .55s cubic-bezier(.7,0,.2,1) .12s}
.zs-wipe.open{clip-path:circle(150% at var(--cx,90%) var(--cy,40px));transition:clip-path .6s cubic-bezier(.7,0,.2,1)}
@media (min-width:1101px){.zs-wipe{display:none}}
.zn-sheet{justify-content:flex-start;padding-bottom:110px}
.zn-sheet.open{transition:clip-path .8s cubic-bezier(.7,0,.2,1) .14s,visibility 0s}
.zs-i{opacity:0;transform:translateY(34px) rotate(1.5deg);transform-origin:left}
.zn-sheet.open .zs-i{opacity:1;transform:none;transition:opacity .45s calc(var(--i) * 60ms + 380ms),transform .75s cubic-bezier(.2,.9,.1,1) calc(var(--i) * 60ms + 380ms)}
.zs-l{font-size:clamp(26px,7.6vw,34px)}
.zs-l small{transition:color .3s}
.zs-sub>div{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;padding-left:34px}
.zs-sub>div::before,.zs-sub>div::after{display:none}
.zs-sub a{display:flex;align-items:center;justify-content:space-between;height:auto;padding:9px 0;border-radius:0;background:none;box-shadow:none;border-bottom:1px solid var(--line);
  font-family:var(--display);font-weight:600;font-size:clamp(19px,5.4vw,23px);letter-spacing:-.025em;color:rgba(11,42,69,.78)}
.zs-sub a:last-child{border-bottom:0;margin-bottom:6px}
.zs-sub a::after{content:"→";font-family:var(--ui);font-size:16px;font-weight:700;color:var(--blue-d);opacity:.6}
.zs-sub a:active{color:var(--blue-d)}
.zs-flybox{position:absolute;left:0;right:0;bottom:20px;height:90px;pointer-events:none}
.zs-fly{position:absolute;inset:0;width:100%;height:100%;color:rgba(26,109,181,.35);stroke-dashoffset:0}
.zs-plane{position:absolute;left:0;top:0;width:22px;height:22px;color:#1A6DB5;offset-path:path('M-10 70 C 90 10, 190 90, 280 40 S 380 20, 420 30');offset-rotate:auto 90deg;offset-distance:0%;opacity:0}
.zn-sheet.open .zs-plane{animation:zsFly 3.2s cubic-bezier(.45,0,.3,1) .7s both}
.zs-plane svg{width:100%;height:100%}
@keyframes zsFly{0%{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}100%{offset-distance:100%;opacity:0}}
@media (prefers-reduced-motion:reduce){.zs-wipe{transition:none}.zn-sheet.open .zs-plane{animation:none}}
/* footer: grouped like the menu */
.ft .cols{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,.85fr)) minmax(0,1.35fr);gap:clamp(18px,2.4vw,40px)}
.ft .clock{white-space:nowrap}
.ft .col a.big{overflow-wrap:normal;word-break:keep-all}
@media (max-width:1100px){.ft .cols{grid-template-columns:repeat(3,minmax(0,1fr))}.ft .cols .brand{grid-column:1/-1}}
@media (max-width:560px){.ft .cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* hero suitcase: orange shell */
.mr-sc .bk{background:linear-gradient(180deg,#C9531B,#A7400F)}
.mr-sc .fr{background:
    linear-gradient(90deg,rgba(150,50,0,.10) 0%,rgba(255,255,255,0) 10%,rgba(255,255,255,0) 88%,rgba(150,50,0,.14) 100%),
    linear-gradient(180deg,#FF8E42 0%,#F5732E 100%)!important;
  box-shadow:inset 0 calc(var(--u) * -1.2) 0 rgba(160,60,0,.22),0 calc(var(--u) * 8) calc(var(--u) * 14) calc(var(--u) * -8) rgba(140,55,10,.42)!important}
.mr-sc .fr::before{border-color:rgba(130,45,0,.38)!important}
.mr-sc .sz-seam{background:rgba(150,50,0,.2)}
.mr-sc .sz-seam::before,.mr-sc .sz-seam::after{border-top-color:rgba(130,45,0,.38)}
.mr-sc .sh{background:radial-gradient(closest-side,rgba(140,55,10,.3),rgba(140,55,10,0))}

/* ID card initials: tall, ultra-bold condensed letters (same colours as before) */
.co .b-big{font-family:'Anton','Bebas Neue','Oswald',Impact,'Arial Narrow',sans-serif!important;font-weight:400!important;font-size:calc(205px * var(--s))!important;line-height:1.1!important;padding:.08em .04em 0!important;letter-spacing:-.005em!important;text-transform:uppercase;bottom:-.2em!important}
.co .badge:not(.o) .b-big{right:calc(-6px * var(--s))!important}
.co .badge.o .b-big{left:calc(-6px * var(--s))!important}

/* trip pages: boarding-pass stats filled with each theme's own colour, white text (like the stories tickets) */
.tp{--tix:radial-gradient(120% 140% at 0% 0%,#3B9EE8 0%,#1A6DB5 45%,#0B2A45 100%);--tix-em:#BFE3FF}
.tp--couples{--tix:radial-gradient(120% 150% at 0% 0%,#FF8FB1 0%,#E64980 48%,#A61E4D 100%);--tix-em:#FFE0EA}
.tp--families{--tix:radial-gradient(120% 150% at 0% 0%,#F6A57A 0%,#E2603A 50%,#B5441F 100%);--tix-em:#FFE6D6}
.tp--friends{--tix:radial-gradient(120% 150% at 0% 0%,#9B6BFF 0%,#6A3BD6 45%,#3A1A78 100%);--tix-em:#FFD23F}
.tp--adventure{--tix:radial-gradient(120% 150% at 0% 0%,#FFA24C 0%,#FF7A1A 45%,#B84A0B 100%);--tix-em:#FFE3B3}
.tp--spiritual{--tix:radial-gradient(120% 150% at 0% 0%,#FFC14D 0%,#E8590C 50%,#9C1C1C 100%);--tix-em:#FFE8A3}
.tp .tp-tix{background:var(--tix);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#fff}
.tp .tx-k{color:rgba(255,255,255,.88)}
.tp .tx-row small,.tp .tx-stub small{color:rgba(255,255,255,.72)}
.tp .tx-row b{color:#fff}
.tp .tx-row>div+div{border-left-color:rgba(255,255,255,.3)}
.tp .tx-stub{border-left-color:rgba(255,255,255,.42);background:rgba(255,255,255,.08)}
.tp .tx-stub b{color:var(--tix-em)}
.tp .tx-stub b{overflow:visible;text-overflow:clip;font-size:clamp(16px,1.6vw,22px)}
.tp .tx-stub i{opacity:.8;background:repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 3px,#fff 3px 5px,transparent 5px 6px,#fff 6px 7px,transparent 7px 9px)}

@media (max-width:560px){.tp .tx-row small{white-space:normal;line-height:1.15;min-height:2.3em}.tp .tx-row>div{flex:1 1 0}}

/* theme decor: a touch larger, and it leans away and grows a little when the cursor comes near */
.tp-decor>svg:not([style*="width:100%"]){scale:var(--hs,1.12);translate:var(--hx,0) var(--hy,0);transition:scale .5s cubic-bezier(.2,.9,.1,1),translate .6s cubic-bezier(.2,.9,.1,1),opacity .4s}

/* text-fit fixes */
@media (max-width:760px){
  .fc-r{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;overflow:visible!important}
  .fc{padding:7px 1px!important}.fc small{font-size:8.5px!important;letter-spacing:.02em!important}.fc b{font-size:10.5px!important;letter-spacing:-.02em}
}
@media (max-width:640px){
  .co .badge{--s:.66!important;width:152px!important;height:220px!important;margin-left:-76px!important;transform-origin:76px 14px!important}
}
.tp-end .btns{flex-wrap:wrap}
.tp-end .btn{white-space:nowrap;flex:0 0 auto}
@media (max-width:560px){.tp-end .btns{width:100%}#szTrip .tp-end .btns .btn{flex:1 1 100%!important;width:100%}}
#szTrip .tp-end .btns .btn{white-space:nowrap;min-width:max-content}

/* the one quote form: always centred and fully on screen, scrolls inside if the screen is short */
.scrim{z-index:300}
.modal.qf{z-index:301;display:flex;flex-direction:column;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden;border-radius:28px}
.modal.qf .md-top{flex:none;height:150px}
.modal.qf .md-top img{transition:opacity .3s}
.modal.qf .md-b{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 22px 20px}
.modal.qf .two{gap:10px}
.modal.qf .fld{margin-top:11px;min-width:0}
.modal.qf .fld input,.modal.qf .fld select{width:100%;min-width:0;height:48px;font-size:15px;appearance:auto}
.modal.qf .fld input[type=date]{padding-right:10px}
.modal.qf .fld input.bad{border-color:#D93B3B;box-shadow:0 0 0 4px rgba(217,59,59,.12)}
.qf-err{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#FDECEC;color:#B42318;font-size:13.5px;font-weight:700}
.modal.qf .btn{width:100%;margin-top:16px}
.modal.qf .md-n{margin-top:10px;font-size:13px}
.qf-ok{text-align:center;padding:14px 6px 4px}
.qf-ok .ck{width:68px;height:68px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok)}
.qf-ok .ck svg{width:32px;height:32px}
.qf-ok h3{margin:14px 0 0;font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.035em;color:var(--navy)}
.qf-ok p{margin:8px auto 0;max-width:36ch;font-size:15px;line-height:1.55;color:var(--mist)}
.qf-ok .btn{max-width:200px;margin:18px auto 0}
body.qf-lock{overflow:hidden}
@media (max-width:560px){
  .modal.qf{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:24px}
  .modal.qf .md-top{height:118px}
  .modal.qf .md-top .t b{font-size:26px}
  .modal.qf .md-b{padding:10px 16px 18px}
  .modal.qf .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .modal.qf .fld label{font-size:10px;letter-spacing:.1em}
  .modal.qf .fld input,.modal.qf .fld select{height:46px;padding:0 12px;font-size:15px}
}
@media (max-width:360px){.modal.qf .two{grid-template-columns:minmax(0,1fr)}}

.intro{display:none!important}
.nav-logo.hold{visibility:visible!important}
/* header logo: the flight script drives these, so the old css flight stays off */
#navLogo .sz-pl,#navLogo .sz-sw,#navLogo .sz-mtn,#navLogo .sz-tri{animation:none!important;clip-path:none!important}
#navLogo .sz-pl-in{animation:none!important}

/* header: logo and five links only (the menu button stays for phones) */
.zn .zn-line,.zn .zn-go{display:none!important}
.zn .zn-cta{gap:0}

/* terms: the clause list shares the class name "cl" with another section that makes .cl absolute; keep it in normal flow here */
.tc-sec ol.cl{position:static;inset:auto}

/* header logo: no glow behind it */
#navLogo .sz-sun,#zsLogo .sz-sun{display:none!important}
/* menu: a small logo in place of the dotted plane route */
.zs-logo{display:block;width:124px;margin:6px 0 0 4px;text-decoration:none;flex:none}
.zs-logo .sz-logo{width:124px}
#zsLogo .sz-pl,#zsLogo .sz-sw,#zsLogo .sz-mtn,#zsLogo .sz-tri{animation:none!important;clip-path:none!important}

/* ===== HERO · one looping video, words on top ===== */
.vh{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#2A2416;isolation:isolate;color:#fff}
.vh-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:0}
.vh-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(10,10,14,.62) 0%,rgba(10,10,14,.32) 38%,rgba(10,10,14,0) 64%),linear-gradient(180deg,rgba(10,10,14,.4) 0%,rgba(10,10,14,0) 22%,rgba(10,10,14,0) 72%,rgba(10,10,14,.5) 100%)}
.vh-c{position:absolute;z-index:2;left:max(var(--gut),calc(50% - 600px));top:50%;transform:translateY(-50%);width:min(720px,60%)}
.vh-k{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#FFE2A8;opacity:0;animation:vhUp 1s .2s cubic-bezier(.2,.7,.2,1) forwards}
.vh-k::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}
.vh-h{margin:16px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(46px,6vw,96px);line-height:.94;letter-spacing:-.05em;text-shadow:0 6px 40px rgba(0,0,0,.3)}
.vh-l1{display:block;opacity:0;animation:vhUp 1.1s .35s cubic-bezier(.2,.7,.2,1) forwards}
.vh-rot{position:relative;display:block;height:1.12em;margin-top:.06em}
.vh-rot em{position:absolute;left:0;top:0;white-space:nowrap;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:#FFE2A8}
.vh .ch{display:inline-block;white-space:pre;opacity:0;transform:translate3d(0,.45em,0) rotateX(-65deg);filter:blur(8px);transform-origin:50% 100%;transition:opacity .5s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),filter .55s;transition-delay:calc(var(--i) * 16ms)}
.vh .on .ch{opacity:1;transform:none;filter:none}
.vh .out .ch{opacity:0;transform:translate3d(0,-.35em,0) rotateX(55deg);filter:blur(8px);transition-duration:.32s,.4s,.32s;transition-delay:calc(var(--i) * 6ms)}
.vh-h{perspective:600px}
.vh-p{margin:18px 0 0;max-width:44ch;font-size:clamp(15.5px,1.25vw,19px);line-height:1.55;color:rgba(255,255,255,.88);opacity:0;animation:vhUp 1s .7s cubic-bezier(.2,.7,.2,1) forwards}
.vh-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;opacity:0;animation:vhUp 1s .85s cubic-bezier(.2,.7,.2,1) forwards}
.vh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 24px;border-radius:999px;border:1px solid transparent;background:#fff;color:var(--navy);text-decoration:none;font:800 15px var(--ui);cursor:pointer;white-space:nowrap;transition:transform .35s var(--ease),background .25s}
.vh-btn:hover{transform:translateY(-2px)}.vh-btn:active{transform:scale(.97)}
.vh-btn svg{width:16px;height:16px;transition:transform .35s var(--ease)}.vh-btn:hover svg{transform:translateX(3px)}
.vh-btn.ghost{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.vh-btn.ghost:hover{background:rgba(255,255,255,.2)}
.vh-trust{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:26px;font-size:14px;font-weight:600;color:rgba(255,255,255,.82);opacity:0;animation:vhUp 1s 1s cubic-bezier(.2,.7,.2,1) forwards}
.vh-trust span{display:inline-flex;align-items:center;gap:6px}.vh-trust span+span{padding-left:16px;border-left:1px solid rgba(255,255,255,.28)}
.vh-trust b{color:#fff}
.vh-trust i{width:8px;height:8px;border-radius:50%;background:#3DD68C;animation:vhPing 2s infinite}
@keyframes vhPing{0%{box-shadow:0 0 0 0 rgba(61,214,140,.6)}70%,100%{box-shadow:0 0 0 8px rgba(61,214,140,0)}}
@keyframes vhUp{from{opacity:0;transform:translateY(18px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.vh-cue{position:absolute;z-index:3;left:50%;bottom:clamp(16px,3.5vh,30px);transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:12.5px;font-weight:800;text-decoration:none}
.vh-cue .ms{position:relative;width:18px;height:28px;border-radius:10px;border:2px solid rgba(255,255,255,.85)}
.vh-cue .ms::after{content:"";position:absolute;left:50%;top:5px;width:3px;height:6px;margin-left:-1.5px;border-radius:2px;background:#fff;animation:vhMs 1.4s var(--ease) infinite}
@keyframes vhMs{0%{transform:translateY(0);opacity:1}100%{transform:translateY(9px);opacity:0}}
body.asc-dark .zn:not(.solid) .zn-lk{color:#F3F7FB}
body.asc-dark .zn:not(.solid) .sz-txt,body.asc-dark .zn:not(.solid) .sz-sub{fill:#F3F7FB}
body.asc-dark .zn:not(.solid) .zn-burger{background:rgba(255,255,255,.16)}
.ai{margin-top:0!important}
@media (max-width:860px){
  .vh-v{object-position:42% 50%}
  .vh-shade{background:linear-gradient(0deg,rgba(10,10,14,.78) 0%,rgba(10,10,14,.45) 40%,rgba(10,10,14,0) 68%),linear-gradient(180deg,rgba(10,10,14,.4) 0%,rgba(10,10,14,0) 20%)}
  .vh-c{left:var(--gut);right:var(--gut);width:auto;top:auto;bottom:clamp(70px,11vh,100px);transform:none;text-align:center}
  .vh-k{justify-content:center}
  .vh-rot em{left:50%;transform:translateX(-50%)}
  .vh-p{margin-left:auto;margin-right:auto}
  .vh-cta,.vh-trust{justify-content:center}
}
@media (max-width:560px){
  .vh-h{font-size:clamp(38px,11vw,50px)}
  .vh-p{font-size:14.5px;margin-top:12px}
  .vh-cta{margin-top:18px;flex-wrap:nowrap;gap:8px}
  .vh-btn{height:44px;padding:0 15px;font-size:13.5px}
  .vh-trust{display:none}
  .vh-cue{display:none}
}
@media (max-width:360px){.vh-btn{padding:0 11px;font-size:12.5px}.vh-btn svg{display:none}}
@media (prefers-reduced-motion:reduce){.vh *{animation:none!important;opacity:1!important}.vh .ch{transition:none}}
/* centred */
.vh-c{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:min(880px,calc(100% - var(--gut)*2));text-align:center}
.vh-h{margin-top:0}
.vh-rot em{left:50%;transform:translateX(-50%)}
.vh-p{margin-left:auto;margin-right:auto}
.vh-cta,.vh-trust{justify-content:center}
.vh-shade{background:radial-gradient(70% 60% at 50% 50%,rgba(10,10,14,.42),rgba(10,10,14,.12) 70%),linear-gradient(180deg,rgba(10,10,14,.4) 0%,rgba(10,10,14,0) 22%,rgba(10,10,14,0) 72%,rgba(10,10,14,.5) 100%)}
@media (max-width:860px){.vh-c{top:auto;bottom:clamp(70px,11vh,100px);transform:translateX(-50%)}
  .vh-shade{background:linear-gradient(0deg,rgba(10,10,14,.78) 0%,rgba(10,10,14,.45) 40%,rgba(10,10,14,0) 68%),linear-gradient(180deg,rgba(10,10,14,.4) 0%,rgba(10,10,14,0) 20%)}}

.hero-veil{display:none!important}

/* ===== HERO · a 3D Safarzing passport that opens and turns its pages as you scroll ===== */
.ps{position:relative;height:520vh;background:#E9F2FA}
.ps-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate;color:var(--navy)}
.ps-bg{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 70% at 72% 50%,rgba(255,255,255,.85) 0%,rgba(255,255,255,0) 70%),radial-gradient(50% 60% at 0% 100%,rgba(59,158,232,.16),rgba(59,158,232,0) 70%),linear-gradient(180deg,#F1F7FC 0%,#E1ECF7 100%)}
.ps-bg::after{content:"";position:absolute;inset:0;opacity:.3;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .58 0 0 0 0 .68 0 0 0 .25 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ps-in{position:relative;z-index:1;height:100%;max-width:1360px;margin:0 auto;padding:clamp(96px,13vh,130px) var(--gut) clamp(40px,7vh,70px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(20px,3vw,48px)}
.ps-k{display:inline-flex;align-items:center;gap:9px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid rgba(11,42,69,.1);font:800 12px/1 var(--ui);letter-spacing:.06em;box-shadow:0 6px 16px -10px rgba(11,42,69,.35)}
.ps-k i{width:8px;height:8px;border-radius:50%;background:#3DD68C;animation:psPing 2s infinite}
@keyframes psPing{0%{box-shadow:0 0 0 0 rgba(61,214,140,.6)}70%,100%{box-shadow:0 0 0 8px rgba(61,214,140,0)}}
.ps-h{margin:20px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(42px,5vw,84px);line-height:.98;letter-spacing:-.05em}
.ps-h em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--blue-d)}
.ps-h>span{color:var(--blue)}
.ps-p{margin:18px 0 0;max-width:42ch;font-size:clamp(15.5px,1.2vw,18px);line-height:1.55;color:rgba(11,42,69,.72)}
.ps-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ps-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 24px;border-radius:999px;border:1px solid transparent;background:var(--navy);color:#fff;text-decoration:none;font:800 15px var(--ui);cursor:pointer;white-space:nowrap;box-shadow:0 12px 26px -12px rgba(11,42,69,.55);transition:transform .35s var(--ease),background .25s}
.ps-btn:hover{transform:translateY(-2px);background:var(--blue-dd)}.ps-btn:active{transform:scale(.97)}
.ps-btn svg{width:17px;height:17px;transition:transform .35s var(--ease)}.ps-btn:hover svg{transform:translateX(3px)}
.ps-btn.ghost{background:#fff;color:var(--navy);border-color:rgba(11,42,69,.12);box-shadow:0 8px 20px -14px rgba(11,42,69,.45)}
.ps-btn.ghost:hover{border-color:var(--blue);background:#fff}.ps-btn.ghost svg{color:var(--blue-d)}
.ps-bar{margin-top:30px;width:min(320px,80%);height:3px;border-radius:3px;background:rgba(11,42,69,.1);overflow:hidden}
.ps-bar i{display:block;height:100%;width:100%;background:var(--blue-d);transform-origin:0 50%;transform:scaleX(0)}
.ps-cue{position:absolute;z-index:3;left:50%;bottom:clamp(14px,3vh,26px);transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;background:rgba(255,255,255,.75);border:1px solid rgba(11,42,69,.1);font:800 12.5px var(--ui);transition:opacity .4s}
.ps-cue .ms{position:relative;width:18px;height:28px;border-radius:10px;border:2px solid rgba(11,42,69,.7)}
.ps-cue .ms::after{content:"";position:absolute;left:50%;top:5px;width:3px;height:6px;margin-left:-1.5px;border-radius:2px;background:var(--navy);animation:psMs 1.4s var(--ease) infinite}
@keyframes psMs{0%{transform:translateY(0);opacity:1}100%{transform:translateY(9px);opacity:0}}
/* ---------- the passport ---------- */
.ps-scene{position:relative;height:100%;display:grid;place-items:center;perspective:2200px;perspective-origin:50% 40%}
.ps-book{position:relative;width:calc(var(--pw) * 2);height:var(--ph);transform-style:preserve-3d;will-change:transform}
.ps-shadow{position:absolute;left:50%;top:50%;width:calc(var(--pw) * 2.1);height:calc(var(--ph) * .22);margin:calc(var(--ph) * .46) 0 0 calc(var(--pw) * -1.05);border-radius:50%;background:radial-gradient(closest-side,rgba(11,42,69,.32),rgba(11,42,69,0));filter:blur(8px);pointer-events:none;z-index:-1}
/* page block thickness */
.ps-blk{position:absolute;top:1.5%;bottom:1.5%;width:var(--pw);background:repeating-linear-gradient(90deg,#F4EFE3 0 1px,#DCD5C4 1px 2px);border-radius:3px;transform-style:preserve-3d}
.ps-blk.r{left:50%;transform:translateZ(-1px)}
.ps-blk.l{right:50%;transform:translateZ(-1px)}
.ps-back{position:absolute;left:50%;top:0;width:var(--pw);height:100%;border-radius:4px 12px 12px 4px;background:linear-gradient(90deg,#0A2238,#123A5E);transform:translateZ(-3px)}
.ps-leaf{position:absolute;left:50%;top:0;width:var(--pw);height:100%;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform}
.ps-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.ps-face.bk{transform:rotateY(180deg)}
.ps-face::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,var(--sh,0)),rgba(0,0,0,0) 70%);transition:none}
.ps-face.bk::after{background:linear-gradient(270deg,rgba(0,0,0,var(--sh,0)),rgba(0,0,0,0) 70%)}
/* cover */
.ps-cover{border-radius:4px 12px 12px 4px;color:#E9D7A8;
  background:radial-gradient(120% 80% at 70% 20%,rgba(255,255,255,.08),rgba(255,255,255,0) 60%),linear-gradient(90deg,#0A2238 0%,#123A5E 6%,#0F3254 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 6px 0 10px -6px rgba(0,0,0,.6)}
.ps-cover::before{content:"";position:absolute;inset:0;opacity:.55;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='l'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23l)'/%3E%3C/svg%3E")}
.ps-cv{position:absolute;inset:7%;border:1.5px solid rgba(233,215,168,.35);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:9% 6% 8%;text-align:center}
.ps-foil{background:linear-gradient(105deg,#B8964E 0%,#F6E7BD var(--fx,40%),#C9A65E calc(var(--fx,40%) + 18%),#8F7134 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ps-cv .t1{font:800 calc(var(--pw) * .085)/1 var(--display);letter-spacing:.24em;text-transform:uppercase}
.ps-cv .t0{font:700 calc(var(--pw) * .036)/1.4 var(--ui);letter-spacing:.3em;text-transform:uppercase;opacity:.85}
.ps-em{width:48%;aspect-ratio:1;color:#D9BE7A;filter:drop-shadow(0 1px 0 rgba(0,0,0,.4)) drop-shadow(0 -1px 0 rgba(255,255,255,.12))}
.ps-em svg{width:100%;height:100%;display:block}
.ps-cv .t2{font:800 calc(var(--pw) * .07)/1 var(--display);letter-spacing:.32em;text-transform:uppercase}
.ps-chip{width:calc(var(--pw) * .13);height:calc(var(--pw) * .085);border:1.5px solid rgba(233,215,168,.6);border-radius:3px;position:relative}
.ps-chip::before,.ps-chip::after{content:"";position:absolute;inset:28% 30%;border:1.5px solid rgba(233,215,168,.6);border-radius:50%}
.ps-chip::after{inset:44% -1px auto;height:0;border-width:1.5px 0 0;border-radius:0}
.ps-glint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.14) calc(var(--fx,40%) + 0%),rgba(255,255,255,0) calc(var(--fx,40%) + 16%));mix-blend-mode:screen}
/* paper pages */
.ps-pg{color:#2A3B4C;background-color:#F8F5EC;
  background-image:repeating-radial-gradient(circle at 50% 120%,rgba(26,109,181,.07) 0 1px,transparent 1px 9px),repeating-conic-gradient(from 0deg at 50% 50%,rgba(181,67,42,.035) 0 2deg,transparent 2deg 6deg),linear-gradient(180deg,#FBF9F3,#F3EFE3)}
.ps-pg.r{border-radius:2px 10px 10px 2px}.ps-pg.l{border-radius:10px 2px 2px 10px}
.ps-pg .pn{position:absolute;bottom:4%;font:700 calc(var(--pw) * .033)/1 var(--ui);letter-spacing:.14em;color:rgba(42,59,76,.45)}
.ps-pg.r .pn{right:7%}.ps-pg.l .pn{left:7%}
.ps-pg .hd{position:absolute;top:5%;left:8%;right:8%;display:flex;justify-content:space-between;font:800 calc(var(--pw) * .03)/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:rgba(26,109,181,.6)}
.ps-pg .wm{position:absolute;left:50%;top:50%;width:62%;aspect-ratio:1;transform:translate(-50%,-50%);color:rgba(26,109,181,.06)}
/* data page */
.ps-dp{position:absolute;inset:12% 8% 6%;display:flex;flex-direction:column}
.ps-dp .row{display:flex;gap:7%}
.ps-dp .ph{flex:0 0 36%;aspect-ratio:3/4;border-radius:3px;background:linear-gradient(180deg,#DCE8F3,#C3D6E8);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(11,42,69,.12)}
.ps-dp .ph svg{position:absolute;left:10%;right:10%;bottom:0;width:80%;color:rgba(11,42,69,.35)}
.ps-dp dl{margin:0;display:grid;gap:calc(var(--pw) * .025);align-content:start;flex:1}
.ps-dp dt{font:800 calc(var(--pw) * .026)/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:rgba(42,59,76,.5)}
.ps-dp dd{margin:2px 0 0;font:800 calc(var(--pw) * .046)/1.1 var(--ui);color:var(--navy)}
.ps-dp .sig{margin-top:auto;font:italic 400 calc(var(--pw) * .085)/1 var(--serif);color:var(--blue-d)}
.ps-mrz{margin-top:6%;font:600 calc(var(--pw) * .034)/1.45 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.06em;color:rgba(11,42,69,.75);word-break:break-all}
/* destination page */
.ps-ds{position:absolute;inset:11% 9% 9%;display:flex;flex-direction:column}
.ps-ds .pic{position:relative;width:100%;aspect-ratio:4/3;padding:4%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.08),0 10px 18px -10px rgba(0,0,0,.35);transform:rotate(var(--pr,-2deg))}
.ps-ds .pic img{display:block;width:100%;height:100%;object-fit:cover;background:#C9DDEE}
.ps-ds .pic::before{content:"";position:absolute;left:50%;top:-6%;width:34%;height:12%;margin-left:-17%;background:rgba(141,208,247,.6);transform:rotate(-3deg)}
.ps-ds h3{margin:10% 0 0;font:800 calc(var(--pw) * .13)/.9 var(--display);letter-spacing:-.045em;color:var(--navy)}
.ps-ds .ln{margin:4% 0 0;font:italic 400 calc(var(--pw) * .06)/1.15 var(--serif);color:#3E5166}
.ps-ds .mt{margin-top:auto;display:flex;justify-content:space-between;gap:6px;padding-top:5%;border-top:1px dashed rgba(42,59,76,.2);font:700 calc(var(--pw) * .03)/1.3 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:rgba(42,59,76,.5)}
.ps-ds .mt b{display:block;font-size:calc(var(--pw) * .044);letter-spacing:0;text-transform:none;color:var(--navy)}
.ps-go{margin-top:5%;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:calc(var(--pw) * .025) calc(var(--pw) * .045);border-radius:999px;border:0;background:var(--navy);color:#fff;font:800 calc(var(--pw) * .038)/1 var(--ui);cursor:pointer}
.ps-go:hover{background:var(--blue-dd)}
/* ink stamps */
.ps-st{position:absolute;width:calc(var(--pw) * var(--s,.42));aspect-ratio:1;color:var(--ink,#B5432A);mix-blend-mode:multiply;opacity:0;transform:rotate(var(--r,-12deg)) scale(2.2);pointer-events:auto;cursor:pointer}
.ps-st svg{width:100%;height:100%;display:block;opacity:.88}
.ps-st.on{opacity:1;transform:rotate(var(--r,-12deg)) scale(1);transition:transform .32s cubic-bezier(.5,0,.75,0),opacity .12s}
.ps-st.thak{animation:psThak .45s cubic-bezier(.3,0,.3,1)}
@keyframes psThak{0%{transform:rotate(var(--r)) scale(1)}35%{transform:rotate(calc(var(--r) - 6deg)) scale(1.35) translateY(-6%);opacity:.6}70%{transform:rotate(var(--r)) scale(.96)}100%{transform:rotate(var(--r)) scale(1)}}
.ps-book.shake{animation:psShake .3s ease-out}
@keyframes psShake{30%{translate:0 2px}60%{translate:0 -1px}}
.ps-col{position:absolute;inset:14% 8% 10%}
.ps-col .ttl{position:absolute;top:-4%;left:0;font:italic 400 calc(var(--pw) * .07)/1 var(--serif);color:var(--blue-d)}
.ps-col .ps-st{opacity:1;transform:rotate(var(--r)) scale(1)}
.ai{margin-top:0!important}
@media (max-width:980px){
  .ps-in{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-items:start;padding-top:clamp(92px,12vh,116px);gap:10px}
  .ps-c{text-align:center}.ps-cta{justify-content:center}.ps-p{margin-left:auto;margin-right:auto}.ps-bar{margin:18px auto 0}
  .ps-h br{display:none}
}
@media (max-width:560px){
  .ps{height:480vh}
  .ps-h{font-size:clamp(32px,9vw,42px)}
  .ps-p{font-size:14.5px;margin-top:10px}
  .ps-cta{margin-top:16px;flex-wrap:nowrap;gap:8px}
  .ps-btn{height:44px;padding:0 15px;font-size:13.5px}
  .ps-btn.ghost svg{display:none}
  .ps-k{font-size:11px}
  .ps-bar{display:none}
  .ps-cue{display:none}
}
@media (prefers-reduced-motion:reduce){.ps-st{transition:none!important;animation:none!important}}

.hero-veil{display:none!important}

@property --s1{syntax:'<color>';inherits:true;initial-value:#46658A}
@property --s2{syntax:'<color>';inherits:true;initial-value:#24405F}
@property --s3{syntax:'<color>';inherits:true;initial-value:#122A43}
.zp{position:relative;height:300vh;height:300svh;background:var(--bg)}
.zp-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate;color:var(--navy);
  --shd:0 1px 1px rgba(11,42,69,.07),0 6px 12px -4px rgba(11,42,69,.16),0 26px 44px -20px rgba(11,42,69,.38)}

/* sky: soft light, a dot grid, dashed flight paths and a small plane that flies one of them */
.zp-sky{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 50% at 82% 8%,rgba(169,211,242,.55),transparent 70%),radial-gradient(50% 45% at 4% 96%,rgba(255,214,150,.32),transparent 70%),radial-gradient(70% 60% at 50% 50%,#F8FBFE,#EAF4FC 70%,#DFEEFA)}
.zp-routes{position:absolute;inset:0;width:100%;height:100%}
.zp-routes path{fill:none;stroke:rgba(26,109,181,.28);stroke-width:1.4;stroke-dasharray:3 7;stroke-linecap:round;vector-effect:non-scaling-stroke}
.zp-plane{position:absolute;left:0;top:0;width:18px;height:18px;color:var(--blue-d);opacity:.7;offset-path:var(--route);offset-rotate:auto;animation:zpFly 26s linear infinite}
@keyframes zpFly{from{offset-distance:0%}to{offset-distance:100%}}

/* screen 1: the headline in the middle of the mess */
.zp-c1{position:absolute;z-index:3;left:50%;top:50%;width:min(900px,86vw);transform:translate(-50%,-50%);text-align:center;will-change:opacity,transform}
.zp-h1{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(38px,5.3vw,84px);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.zp-h1 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--blue-d)}
.zp-s1{margin:20px auto 0;max-width:46ch;font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:var(--mist)}
.zp-go1{display:inline-flex;align-items:center;gap:12px;margin-top:26px;height:54px;padding:0 22px 0 10px;border-radius:999px;border:1px solid rgba(11,42,69,.1);background:rgba(255,255,255,.9);box-shadow:var(--shd);font:800 15px var(--ui);color:var(--navy);cursor:pointer;transition:transform .35s var(--ease)}
.zp-go1:hover{transform:translateY(-2px)}
.zp-go1 .zms{position:relative;width:34px;height:34px;border-radius:50%;background:var(--navy);display:grid;place-items:center}
.zp-go1 .zms::after{content:"";width:2px;height:10px;border-radius:2px;background:#fff;animation:zpMs 1.5s var(--ease) infinite}
@keyframes zpMs{0%{transform:translateY(-4px);opacity:0}40%{opacity:1}100%{transform:translateY(5px);opacity:0}}

/* screen 2: packed and ready */
.zp-c2{position:absolute;z-index:3;left:max(var(--gut),calc((100vw - 1320px) / 2 + 20px));top:50%;width:min(720px,52vw);transform:translateY(-50%);visibility:hidden}
.zp-c2>*{will-change:opacity,transform}
.zp-k{display:inline-flex;align-items:center;gap:9px;margin:0;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid rgba(11,42,69,.1);font:700 13px/1 var(--ui);color:var(--mist);box-shadow:0 6px 16px -10px rgba(11,42,69,.45)}
.zp-k i{width:8px;height:8px;border-radius:50%;background:#3DD68C;animation:zpPing 2s infinite}
@keyframes zpPing{0%{box-shadow:0 0 0 0 rgba(61,214,140,.6)}70%{box-shadow:0 0 0 8px rgba(61,214,140,0)}}
.zp-h2{margin:20px 0 0;font-family:var(--display);font-weight:800;font-size:clamp(44px,5.8vw,98px);line-height:.94;letter-spacing:-.055em;text-wrap:balance}
.zp-h2 span{display:block}
.zp-h2 em{display:block;margin-top:.04em;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.025em;color:var(--blue-d)}
.zp-p{margin:22px 0 0;max-width:48ch;text-wrap:pretty;font-size:clamp(15.5px,1.2vw,18px);line-height:1.6;color:var(--mist)}
.zp-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.zp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:54px;padding:0 24px;border-radius:999px;border:1px solid transparent;background:var(--blue-d);color:#fff;text-decoration:none;font:800 15px var(--ui);cursor:pointer;white-space:nowrap;box-shadow:0 14px 26px -14px rgba(26,109,181,.9);transition:transform .35s var(--ease),background .25s}
.zp-btn:hover{transform:translateY(-2px);background:var(--blue-dd)}.zp-btn:active{transform:scale(.97)}
.zp-btn svg{width:17px;height:17px;transition:transform .35s var(--ease)}.zp-btn:hover svg{transform:translateX(3px)}
.zp-btn.ghost{background:rgba(255,255,255,.88);color:var(--navy);border-color:rgba(11,42,69,.14);box-shadow:none}
.zp-btn.ghost:hover{background:#fff;border-color:var(--blue)}.zp-btn.ghost svg{color:var(--blue-d)}
.zp-stats{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;margin-top:30px;font-size:14px;font-weight:600;color:var(--mist)}
.zp-stats b{font:800 22px/1 var(--display);letter-spacing:-.03em;color:var(--navy);margin-right:6px}
.zp-stats i{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#3DD68C;box-shadow:0 0 0 3px rgba(61,214,140,.2)}

/* ---------------- the things you collected ---------------- */
.zp-items{position:absolute;inset:0;z-index:4;pointer-events:none;font-size:calc(16px * var(--u,1))}
.zp-it{position:absolute;left:0;top:0;pointer-events:auto;will-change:transform,opacity;transform-origin:50% 50%;touch-action:none}
.zp-it.zgrab{cursor:grab}.zp-it.zdrag{cursor:grabbing;z-index:5}
.zp-fl{animation:zpBob var(--bt,7s) ease-in-out var(--bd,0s) infinite alternate;transition:transform .45s var(--ease),filter .45s}
@keyframes zpBob{from{translate:0 -3px;rotate:-.6deg}to{translate:0 4px;rotate:.8deg}}
.zp-it.zdrag .zp-fl{transform:scale(1.07) translateY(-6px)}
.zp-items.zpacking .zp-fl{animation-play-state:paused}
.zp-obj{display:block;filter:drop-shadow(0 2px 2px rgba(11,42,69,.14)) drop-shadow(0 16px 18px rgba(11,42,69,.22))}
.zp-tagp{display:inline-flex;align-items:center;gap:.35em;font:700 .66em/1 var(--ui);color:var(--dim)}
.zp-tagp i{width:.55em;height:.55em;border-radius:50%;background:var(--c,#E5484D)}

/* polaroid */
.zp-pol{margin:0;width:11.4em;padding:.6em .6em 0;background:#fff;border-radius:.25em;box-shadow:var(--shd)}
.zp-pol .zph{display:block;aspect-ratio:4/4.5;border-radius:.12em;background:var(--img) center/cover,linear-gradient(135deg,var(--sky2),var(--sky3));box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.zp-pol figcaption{display:flex;align-items:center;justify-content:space-between;height:2.6em;padding:0 .2em}
.zp-pol figcaption b{font:600 1.45em/1 'Caveat',cursive;color:#1F3E70}
/* notes */
.zp-note{width:11.2em;padding:.85em 1em 1em;border-radius:.9em;background:#FFFDF7;box-shadow:var(--shd)}
.zp-note .ztop{display:flex;justify-content:space-between;font:700 .62em/1 var(--ui);color:#D99A1E}
.zp-note h4{margin:.5em 0 0;font:800 1.15em/1 var(--display);letter-spacing:-.03em}
.zp-note small{display:block;margin-top:.25em;font-size:.56em;color:var(--dim)}
.zp-note ul{list-style:none;margin:.7em 0 0;padding:0;display:flex;flex-direction:column;gap:.42em;font-size:.7em;font-weight:600}
.zp-note li{display:flex;align-items:center;gap:.55em}
.zp-note li::before{content:"";width:1em;height:1em;flex:none;border-radius:50%;border:1.5px solid rgba(11,42,69,.25)}
.zp-note li.zdone{color:var(--dim);text-decoration:line-through}
.zp-note li.zdone::before{border:0;background:#F2B233 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/70% no-repeat}
/* sticky note */
.zp-stk{position:relative;width:10.6em;min-height:9.4em;padding:1.3em 1em .9em;background:linear-gradient(170deg,#FFF5BC,#FFE98E);box-shadow:0 1px 1px rgba(11,42,69,.08),0 14px 22px -14px rgba(11,42,69,.4);border-radius:.15em .15em .15em 1.4em/.15em .15em .15em .5em}
.zp-stk::before{content:"";position:absolute;left:50%;top:-.55em;width:4.2em;height:1.2em;margin-left:-2.1em;background:rgba(255,255,255,.55);box-shadow:0 1px 2px rgba(0,0,0,.06);transform:rotate(-4deg)}
.zp-stk p{margin:0;font:600 1.32em/1.1 'Caveat',cursive;color:#5A4410}
.zp-stk small{display:block;margin-top:.7em;font:700 .6em/1 var(--ui);color:#8A6D1E}
/* phones */
.zp-phone{position:relative;padding:.26em;border-radius:1.75em;background:linear-gradient(160deg,#FBFCFD,#DCE3EA);box-shadow:var(--shd),inset 0 0 0 1px rgba(11,42,69,.1),inset 0 0 0 .12em #fff}
.zp-phone::before{content:"";position:absolute;left:50%;top:.62em;z-index:3;width:2.1em;height:.56em;margin-left:-1.05em;border-radius:1em;background:#0B1118}
.zp-scr{position:relative;overflow:hidden;border-radius:1.5em}
.zp-reel .zp-scr{width:8.6em;height:15.6em;color:#fff}
.zp-reel .zp-scr::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(11,42,69,.55))}
.zp-reel .zplay{position:absolute;left:50%;top:46%;z-index:1;width:2.2em;height:2.2em;margin:-1.1em 0 0 -1.1em;border-radius:50%;background:rgba(255,255,255,.3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);display:grid;place-items:center}
.zp-reel .zplay::after{content:"";margin-left:.15em;border-left:.6em solid #fff;border-top:.36em solid transparent;border-bottom:.36em solid transparent}
.zp-reel .zrs{position:absolute;right:.6em;bottom:3.1em;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.1em;font:700 .5em/1 var(--ui)}
.zp-reel .zrs svg{width:1.7em;height:1.7em}
.zp-reel .zcap{position:absolute;left:.75em;right:2.2em;bottom:1.1em;z-index:2;font:600 .56em/1.35 var(--ui);color:rgba(255,255,255,.85)}
.zp-reel .zcap b{display:block;font-size:1.2em;font-weight:800;color:#fff}
.zp-reel .zbar{position:absolute;left:.75em;right:.75em;bottom:.6em;z-index:2;height:.14em;border-radius:1em;background:rgba(255,255,255,.35)}
.zp-reel .zbar::after{content:"";position:absolute;left:0;top:0;bottom:0;width:38%;border-radius:inherit;background:#fff}
.zp-chat .zp-scr{width:11.6em;height:14.6em;background:#F3F6F9}
.zp-chat .zhd{display:flex;align-items:center;gap:.5em;padding:1.55em .75em .55em;background:#fff;border-bottom:1px solid rgba(11,42,69,.06)}
.zp-chat .zav{width:1.85em;height:1.85em;flex:none;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#FFC9E0,#C7B8FF);font:800 .62em/1 var(--ui);color:#5B2A6E}
.zp-chat .zhd b{display:flex;align-items:center;gap:.25em;font:800 .72em/1.1 var(--ui)}
.zp-chat .zhd b svg{width:1.05em;height:1.05em}
.zp-chat .zhd small{display:block;margin-top:.1em;font-size:.54em;color:var(--dim)}
.zp-chat .zbb{display:flex;flex-direction:column;gap:.42em;padding:.7em .6em}
.zp-chat .zm{max-width:82%;padding:.45em .65em;border-radius:.3em .9em .9em .9em;background:#fff;font:600 .62em/1.35 var(--ui);box-shadow:0 1px 2px rgba(11,42,69,.07)}
.zp-chat .zm small{display:block;margin-bottom:.12em;font-weight:800;font-size:.86em;color:var(--c)}
.zp-chat .zm.zme{align-self:flex-end;border-radius:.9em .3em .9em .9em;background:var(--blue-d);color:#fff;box-shadow:none}
.zp-chat .zm.zme span{display:block;margin-top:.2em;text-align:right;font-size:.8em;color:rgba(255,255,255,.7)}
.zp-chat .zin2{position:absolute;left:.55em;right:.55em;bottom:.55em;height:1.7em;border-radius:1em;background:#fff;box-shadow:inset 0 0 0 1px rgba(11,42,69,.08);font:600 .56em/3.1em var(--ui);color:rgba(11,42,69,.35);padding-left:1em}
/* postcard, front: the name is filled with the photo */
.zp-pcf{position:relative;width:16em;height:10.6em;padding:.5em;background:#FFFEFB;border-radius:.2em;box-shadow:var(--shd)}
.zp-pcf .zin{position:relative;width:100%;height:100%;overflow:hidden;border-radius:.1em;background:linear-gradient(160deg,#5FA8D8,#1D6E5A)}
.zp-pcf .zin::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,42,69,.1),rgba(11,42,69,.45))}
.zp-pcf .zgf,.zp-pcf .zbig{z-index:2}
.zp-pcf .zgf{position:absolute;left:.55em;top:.35em;font:600 1.35em/1 'Caveat',cursive;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.zp-pcf .zbig{position:absolute;left:0;right:0;bottom:.08em;text-align:center;white-space:nowrap;font:400 4.1em/1 'Anton',var(--display);letter-spacing:.02em;background:var(--img) 50% 30%/260% auto,linear-gradient(180deg,#FFD98C,#F2B24C 55%,#1D7A4C);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:.035em #fff;filter:drop-shadow(0 .06em .08em rgba(0,0,0,.45)) saturate(1.3) brightness(1.15)}
/* postcard, back */
.zp-pcb{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:.9em;width:16em;height:10.6em;padding:.9em;border-radius:.2em;box-shadow:var(--shd);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .4 0 0 0 0 .25 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),#FBF5E9}
.zp-pcb::after{content:"";position:absolute;left:54%;top:1em;bottom:1em;width:1px;background:rgba(90,70,40,.25)}
.zp-pcb p{margin:0;font:600 1.12em/1.12 'Caveat',cursive;color:#1F3E70;transform:rotate(-2deg)}
.zp-pcb .zrt{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:.75em;padding-left:.3em}
.zp-pcb .zln{height:1.1em;border-bottom:1px solid rgba(90,70,40,.3);font:600 1em/1 'Caveat',cursive;color:#1F3E70}
.zp-stamp{position:absolute;right:0;top:0;width:3.6em;height:4.3em;padding:.25em;background:#fff;border:.22em dotted #FBF5E9;outline:1px solid rgba(90,70,40,.08);box-shadow:0 1px 2px rgba(0,0,0,.12);transform:rotate(3deg)}
.zp-stamp span{display:block;width:100%;height:100%;background:var(--img) center/cover}
.zp-pmk{overflow:visible;position:absolute;right:1.6em;top:.9em;width:4.6em;height:4.6em;color:rgba(31,62,112,.55);transform:rotate(-12deg)}
/* boarding pass */
.zp-bp{position:relative;display:flex;width:15.4em;height:6.8em;border-radius:.8em;color:#fff;background:linear-gradient(135deg,#123B62,var(--navy));box-shadow:var(--shd);
  -webkit-mask:radial-gradient(circle at 76.5% 0,transparent .5em,#000 .53em) top/100% 51% no-repeat,radial-gradient(circle at 76.5% 100%,transparent .5em,#000 .53em) bottom/100% 51% no-repeat;
  mask:radial-gradient(circle at 76.5% 0,transparent .5em,#000 .53em) top/100% 51% no-repeat,radial-gradient(circle at 76.5% 100%,transparent .5em,#000 .53em) bottom/100% 51% no-repeat}
.zp-bp .zmn{flex:1;padding:.75em .9em}
.zp-bp .zlb{font:700 .55em/1 var(--ui);color:var(--sun);letter-spacing:.06em}
.zp-bp .zrt{display:flex;align-items:center;gap:.45em;margin-top:.4em;font:800 1.75em/1 var(--display);letter-spacing:-.03em}
.zp-bp .zrt svg{width:.6em;height:.6em;color:var(--sky3)}
.zp-bp .zmt{display:flex;gap:1em;margin-top:.55em;font:600 .52em/1.3 var(--ui);color:rgba(255,255,255,.6)}
.zp-bp .zmt b{display:block;font-size:1.35em;color:#fff}
.zp-bp .zstb{width:23.5%;border-left:1.5px dashed rgba(255,255,255,.3);padding:.75em .55em;display:flex;flex-direction:column;justify-content:space-between}
.zp-bp .zbc{height:3.1em;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 3px,#fff 3px 4px,transparent 4px 7px,#fff 7px 10px,transparent 10px 11px,#fff 11px 12px,transparent 12px 15px);opacity:.9;border-radius:2px}
.zp-bp .zstb small{font:700 .5em/1 var(--ui);color:rgba(255,255,255,.6)}
/* passport */
.zp-pass{position:relative;width:8.4em;height:11.8em}
.zp-pass::before{content:"";position:absolute;left:.3em;top:.3em;right:-.25em;bottom:-.25em;border-radius:.3em .7em .7em .3em;background:repeating-linear-gradient(90deg,#F4EEDD 0 2px,#E4DCC6 2px 3px);box-shadow:var(--shd)}
.zp-pass .ztk{position:absolute;right:.9em;top:-1.4em;width:4.6em;height:2.6em;border-radius:.3em;background:#fff;box-shadow:0 2px 6px rgba(11,42,69,.2);transform:rotate(8deg)}
.zp-pass .ztk::after{content:"DEL  IXL";position:absolute;left:.45em;top:.35em;font:800 .55em/1 var(--display);color:var(--navy);white-space:pre}
.zp-pass .zcv{position:absolute;inset:0;border-radius:.3em .7em .7em .3em;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:1.4em .8em 1.2em;
  background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.06) 6%,transparent 12%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .3 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(160deg,#1F4A78,#123257);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 -6px 10px rgba(0,0,0,.25)}
.zp-gold{background:linear-gradient(180deg,#F7DE9F,#C9993F 60%,#E8C77A);-webkit-background-clip:text;background-clip:text;color:transparent}
.zp-pass .zcv b{font:800 .72em/1 var(--display);letter-spacing:.32em}
.zp-pass .zcv svg{width:3.4em;height:3.4em}
.zp-pass .zcv small{font:700 .5em/1 var(--ui);letter-spacing:.18em}
/* svg objects */
.zp-sun{width:13.5em}
.zp-glv{width:12em}
.zp-cam{width:12.6em}

/* ---------------- the suitcase: a real 3D box with a lid that swings open ---------------- */
.zp-bw{visibility:hidden;--bw:300px;--bh:470px;--bd:126px;position:absolute;left:0;top:0;z-index:2;will-change:transform;perspective:2600px;perspective-origin:50% 20%}
.zp-shadow{position:absolute;left:50%;top:100%;width:150%;height:16%;margin:-2% 0 0 -75%;border-radius:50%;background:radial-gradient(closest-side,rgba(11,42,69,.38),rgba(11,42,69,.12) 55%,transparent);filter:blur(2px);pointer-events:none}
.zp-bag{position:relative;width:var(--bw);height:var(--bh);transform-style:preserve-3d;transform:rotateX(var(--rx,-6deg)) rotateY(var(--ry,-18deg));cursor:pointer;-webkit-tap-highlight-color:transparent;
  --s1:#46658A;--s2:#24405F;--s3:#122A43;--trim:#1E242B;--ln1:#AFC6D9;--ln2:#D3E2EF;transition:--s1 .7s ease,--s2 .7s ease,--s3 .7s ease}
.zp-bag *{box-sizing:border-box}
.zp-bag .zf,.zp-bag .zlid,.zp-bag .zx3{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.zp-bag .zf{left:0;top:0;width:var(--bw);height:var(--bh)}
.zp-bag .zsd{left:calc(50% - var(--bd) / 2);width:var(--bd)}
.zp-bag .ztb{top:calc(50% - var(--bd) / 2);height:var(--bd)}
/* shell surfaces */
.zp-shell{background:
    linear-gradient(90deg,rgba(0,0,0,.16),rgba(255,255,255,0) 10%,rgba(255,255,255,.42) 24%,rgba(255,255,255,0) 40%,rgba(0,0,0,.03) 70%,rgba(0,0,0,.2)),
    linear-gradient(180deg,var(--s1),var(--s2) 70%,var(--s3))}
.zp-bag .zbko{transform:rotateY(180deg) translateZ(calc(var(--bd) / 2));border-radius:calc(var(--bw) * .07)}
.zp-bag .zrgo{transform:rotateY(90deg) translateZ(calc(var(--bw) / 2));background:linear-gradient(90deg,var(--s2),var(--s1) 30%,var(--s2) 52%,var(--trim) 52.5%,#454C55 54%,var(--trim) 55.5%,var(--s2) 56%,var(--s1) 70%,var(--s3));border-radius:calc(var(--bd) * .14)}
.zp-bag .zlfo{transform:rotateY(-90deg) translateZ(calc(var(--bw) / 2));background:linear-gradient(90deg,var(--s3),var(--s2) 44%,var(--trim) 44.5%,#454C55 46%,var(--trim) 47.5%,var(--s2) 48%,var(--s1) 80%,var(--s2));border-radius:calc(var(--bd) * .14)}
.zp-bag .ztpo{transform:rotateX(90deg) translateZ(calc(var(--bh) / 2));background:linear-gradient(180deg,var(--s2),var(--s1) 40%,var(--s1) 55%,var(--s2));border-radius:calc(var(--bd) * .2)}
.zp-bag .zbto{transform:rotateX(-90deg) translateZ(calc(var(--bh) / 2));background:var(--s3)}
/* lining */
.zp-bag .zp-lin{opacity:0;transition:opacity .2s}.zp-bag.zopen .zp-lin{opacity:1}
.zp-lin{background:repeating-linear-gradient(45deg,rgba(11,42,69,.05) 0 1px,transparent 1px 14px),repeating-linear-gradient(-45deg,rgba(11,42,69,.05) 0 1px,transparent 1px 14px),linear-gradient(180deg,var(--ln2),var(--ln1))}
.zp-bag .zbki{transform:translateZ(calc(var(--bd) / -2 + 1px));border-radius:calc(var(--bw) * .07);box-shadow:inset 0 0 0 calc(var(--bw) * .03) rgba(0,0,0,.18),inset 0 0 30px rgba(0,0,0,.45)}
.zp-bag .zbki::before,.zp-bag .zbki::after{content:"";position:absolute;left:12%;right:12%;top:50%;height:7%;margin-top:-3.5%;background:linear-gradient(180deg,#3A4D63,#2A3B4E);box-shadow:0 2px 4px rgba(0,0,0,.3);transform:rotate(32deg)}
.zp-bag .zbki::after{transform:rotate(-32deg)}
.zp-bag .zbki i{position:absolute;left:50%;top:50%;z-index:1;width:16%;height:9%;margin:-4.5% 0 0 -8%;border-radius:3px;background:linear-gradient(180deg,#5B6673,#2B3138);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.zp-bag .zrgi{transform:rotateY(-90deg) translateZ(calc(var(--bw) / -2 + 1px));box-shadow:inset 0 0 24px rgba(0,0,0,.45)}
.zp-bag .zlfi{transform:rotateY(90deg) translateZ(calc(var(--bw) / -2 + 1px));box-shadow:inset 0 0 24px rgba(0,0,0,.45)}
.zp-bag .ztpi{transform:rotateX(-90deg) translateZ(calc(var(--bh) / -2 + 1px));box-shadow:inset 0 0 24px rgba(0,0,0,.5)}
.zp-bag .zbti{transform:rotateX(90deg) translateZ(calc(var(--bh) / -2 + 1px));box-shadow:inset 0 0 24px rgba(0,0,0,.5)}
/* lid: front shell outside, lining with a mesh pocket inside */
.zp-bag .zlid{left:0;top:0;width:var(--bw);height:var(--bh);transform-origin:0 50%;transform:translateZ(calc(var(--bd) / 2)) rotateY(var(--open,0deg));transform-style:preserve-3d;backface-visibility:visible}
.zp-bag .zlout,.zp-bag .zlin{position:absolute;inset:0;border-radius:calc(var(--bw) * .07);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.zp-bag .zlout{box-shadow:inset 0 0 0 calc(var(--bw) * .016) var(--trim),inset 0 0 0 calc(var(--bw) * .022) rgba(255,255,255,.35),inset 0 calc(var(--bh) * -.03) calc(var(--bh) * .05) rgba(0,0,0,.12)}
.zp-bag .zlout::before{content:"";position:absolute;inset:4% 7%;border-radius:calc(var(--bw) * .04);
  background:repeating-linear-gradient(90deg,transparent 0 calc(var(--bw) * .105),rgba(0,0,0,.09) calc(var(--bw) * .105) calc(var(--bw) * .112),rgba(255,255,255,.5) calc(var(--bw) * .112) calc(var(--bw) * .12),transparent calc(var(--bw) * .12) calc(var(--bw) * .14));
  -webkit-mask:linear-gradient(180deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(180deg,transparent,#000 6%,#000 94%,transparent)}
.zp-bag .zlout::after{content:"";position:absolute;left:-30%;top:-10%;width:40%;height:120%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:rotate(12deg) translateX(var(--glint,0%));pointer-events:none}
.zp-bag .zlin{transform:rotateY(180deg);box-shadow:inset 0 0 0 calc(var(--bw) * .03) rgba(0,0,0,.25)}
.zp-bag .zlin::before{content:"";position:absolute;left:8%;right:8%;top:8%;height:55%;border-radius:6px;background:radial-gradient(rgba(11,42,69,.16) 1px,transparent 1.5px) 0 0/6px 6px,rgba(255,255,255,.25);border-bottom:3px solid #2B3138;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.zp-cg{position:absolute;width:15%;height:9%;background:linear-gradient(180deg,#3B424B,var(--trim));box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.zp-cg.zca{left:0;top:0;border-radius:calc(var(--bw) * .07) 0 30% 0}.zp-cg.zcb{right:0;top:0;border-radius:0 calc(var(--bw) * .07) 0 30%}
.zp-cg.zcc{left:0;bottom:0;border-radius:0 30% 0 calc(var(--bw) * .07)}.zp-cg.zcd{right:0;bottom:0;border-radius:30% 0 calc(var(--bw) * .07) 0}
.zp-badge{position:absolute;left:50%;top:9%;width:30%;margin-left:-15%;opacity:.42;fill:#fff;filter:drop-shadow(0 1px 0 rgba(0,0,0,.18))}
.zp-lock{position:absolute;right:9%;top:16%;width:11%;height:5.5%;border-radius:3px;background:linear-gradient(180deg,#4A525C,var(--trim));box-shadow:0 1px 2px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.2)}
.zp-lock::after{content:"";position:absolute;left:18%;right:18%;top:30%;height:40%;border-radius:2px;background:repeating-linear-gradient(90deg,#9AA4AF 0 2px,#5E6772 2px 4px)}
.zp-pull{position:absolute;top:1.2%;width:5%;height:7%;border-radius:2px 2px 40% 40%;background:linear-gradient(90deg,#8E98A4,#E3E8ED 50%,#7C8692);box-shadow:0 2px 3px rgba(0,0,0,.3);transform-origin:50% 0;transform:rotate(var(--pr,4deg))}
.zp-pull.zpl-l{left:calc(9% + var(--zip,0) * 34%)}.zp-pull.zpl-r{right:calc(9% + var(--zip,0) * 34%);--pr:-4deg}
/* stickers stuck on once the bag is packed */
.zp-sk{position:absolute;transform:rotate(var(--r)) scale(var(--k,0));transform-origin:center;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.zp-sk.zs1{left:12%;top:34%;width:30%}.zp-sk.zs2{right:13%;top:52%;width:31%}.zp-sk.zs3{left:16%;top:66%;width:28%}
/* hardware on the box */
.zp-bag .zx3{backface-visibility:visible}
.zp-th{left:34%;top:calc(var(--bh) * -.045);width:32%;height:calc(var(--bh) * .05);border-radius:999px 999px 6px 6px;border:calc(var(--bw) * .03) solid var(--trim);border-bottom:0;transform:translateZ(calc(var(--bd) * .05))}
.zp-tro{left:24%;bottom:100%;width:52%;height:calc(var(--bh) * (.02 + var(--ext,0) * .36));transform:translateZ(calc(var(--bd) * -.28))}
.zp-tro::before,.zp-tro::after{content:"";position:absolute;top:8%;bottom:0;width:7%;background:linear-gradient(90deg,#8C96A1,#F1F4F7 45%,#7A8490);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.zp-tro::before{left:6%}.zp-tro::after{right:6%}
.zp-tro i{position:absolute;left:0;right:0;top:0;height:calc(var(--bh) * .055);border-radius:999px;background:linear-gradient(180deg,#46505B,#1E242B);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 4px 6px -2px rgba(0,0,0,.35);z-index:1}
.zp-whl{width:13%;height:calc(var(--bh) * .085);top:calc(100% - var(--bh) * .012)}
.zp-whl::before{content:"";position:absolute;left:10%;right:10%;top:0;height:38%;border-radius:2px 2px 6px 6px;background:linear-gradient(180deg,#3E454E,#1E242B)}
.zp-whl::after{content:"";position:absolute;left:50%;bottom:0;width:62%;aspect-ratio:1;margin-left:-31%;border-radius:50%;background:radial-gradient(circle,#8F98A3 0 18%,#1A1F25 22% 62%,#2C333B 66%,#14181D);box-shadow:0 2px 3px rgba(0,0,0,.4)}
.zp-whl.zwfl{left:5%;transform:translateZ(calc(var(--bd) * .32))}.zp-whl.zwfr{right:5%;transform:translateZ(calc(var(--bd) * .32))}
.zp-whl.zwbl{left:5%;transform:translateZ(calc(var(--bd) * -.32))}.zp-whl.zwbr{right:5%;transform:translateZ(calc(var(--bd) * -.32))}
/* leather luggage tag on the side handle, swings when the bag moves */
.zp-tag{left:calc(100% - var(--bw) * .02);top:20%;width:calc(var(--bw) * .3);transform:translateZ(calc(var(--bd) * .12)) rotate(var(--sw,0deg));transform-origin:50% 0}
.zp-tag .zst{display:block;width:10%;height:calc(var(--bh) * .07);margin:0 auto;border-radius:3px;background:linear-gradient(90deg,#6E4229,#9A6440,#6E4229)}
.zp-tag .zbd{position:relative;display:flex;flex-direction:column;align-items:center;gap:6%;padding:16% 10% 14%;border-radius:10% 10% 14% 14%;background:linear-gradient(160deg,#A9714A,#7A4A2D);box-shadow:0 6px 10px -4px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.12)}
.zp-tag .zbd::before{content:"";position:absolute;inset:6%;border:1.5px dashed rgba(255,232,200,.45);border-radius:inherit}
.zp-tag .zbd::after{content:"";position:absolute;left:50%;top:5%;width:12%;aspect-ratio:1;margin-left:-6%;border-radius:50%;background:#5B3520;box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}
.zp-tag .zwn{width:100%;padding:12% 8%;border-radius:6%;background:#FBF5E9;box-shadow:inset 0 1px 3px rgba(0,0,0,.25);text-align:center}
.zp-tag .zp-mark{display:block;width:72%;margin:0 auto;fill:#14558E}
.zp-tag .zwn b{display:block;margin-top:6%;font:800 calc(var(--bw) * .03)/1 var(--display);letter-spacing:.12em;color:var(--navy)}
/* colour picker */
.zp-sw{position:absolute;left:50%;top:calc(100% + var(--bh) * .17);transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.95);box-shadow:0 12px 26px -16px rgba(11,42,69,.5);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .5s}
.zp-sw.zon{opacity:1;pointer-events:auto}
.zp-sw button{width:26px;height:26px;padding:0;border-radius:50%;border:2px solid #fff;background:var(--c);box-shadow:0 0 0 1px rgba(11,42,69,.15);cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s}
.zp-sw button:hover{transform:scale(1.12)}
.zp-sw button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--navy)}
.zp-sw span{margin-left:4px;font:700 12.5px/1 var(--ui);color:var(--mist)}

.zp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* entrance after the intro: the mess drifts in, then the headline */
.zp:not(.zin) .zp-it{opacity:0!important}
.zp:not(.zin) .zp-c1{opacity:0}
.zp.zin .zp-c1{animation:zpIn 1.1s var(--ease) .35s both}
@keyframes zpIn{from{opacity:0;translate:0 26px}}


/* photos as real images (with a soft fallback colour) */
.zp-pol .zph{overflow:hidden}
.zp-pol .zph img,.zp-stamp img{display:block;width:100%;height:100%;object-fit:cover}
.zp-items .zbgimg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.zp-reel .zp-scr{background:linear-gradient(180deg,#7FC4E8,#2A8FB8)}
.zp-reel .zbgimg{z-index:0}
/* saved pin */
.zp-pin{position:relative;width:9.8em;padding:.45em .45em .7em;border-radius:1.1em;background:#fff;box-shadow:var(--shd)}
.zp-pimg{display:block;aspect-ratio:3/3.6;border-radius:.8em;overflow:hidden;background:linear-gradient(135deg,#A7D08C,#4E8F5A)}
.zp-pimg img{display:block;width:100%;height:100%;object-fit:cover}
.zp-psv{position:absolute;right:.9em;top:.9em;display:inline-flex;align-items:center;gap:.3em;padding:.35em .6em .35em .45em;border-radius:999px;background:var(--navy);color:#fff;font:800 .58em/1 var(--ui)}
.zp-psv svg{width:1.1em;height:1.1em;color:var(--sun)}
.zp-pin b{display:block;margin:.55em .25em 0;font:800 .78em/1.1 var(--display);letter-spacing:-.02em}
.zp-pin small{display:block;margin:.2em .3em 0;font-size:.58em;color:var(--dim)}
/* saved place on a map */
.zp-map{width:12.4em;border-radius:1em;overflow:hidden;background:#fff;box-shadow:var(--shd)}
.zp-map .mp{display:block;width:100%;height:auto}
.zp-map .mt2{position:relative;padding:.6em .75em .7em}
.zp-map .mt2 b{display:block;font:800 .8em/1.1 var(--display);letter-spacing:-.02em}
.zp-map .mt2 small{display:block;margin-top:.15em;font-size:.58em;color:var(--dim)}
.zp-map .mt2 span{position:absolute;right:.7em;top:.75em;padding:.3em .5em;border-radius:999px;background:#FFF4DA;color:#9A6A12;font:800 .56em/1 var(--ui)}

/* train ticket */
.zp-trn{position:relative;display:flex;width:14em;height:6.4em;border-radius:.6em;background:#FFFDF6;box-shadow:var(--shd);overflow:hidden}
.zp-trn::before{content:"";position:absolute;left:0;top:0;bottom:0;width:.45em;background:linear-gradient(180deg,#1A6DB5,#0B2A45)}
.zp-trn .zl{flex:1;padding:.65em .8em .6em 1.1em}
.zp-trn .zl small{font:700 .52em/1 var(--ui);color:#B07A12}
.zp-trn .zl b{display:block;margin-top:.35em;font:800 1.2em/1 var(--display);letter-spacing:-.02em}
.zp-trn .zl i{display:block;margin-top:.25em;font:600 .56em/1 var(--ui);font-style:normal;color:var(--dim)}
.zp-trn .zr3{display:flex;gap:.9em;margin-top:.55em;font:600 .5em/1.3 var(--ui);color:var(--dim)}
.zp-trn .zr3 b{display:block;font-size:1.35em;margin:0;color:var(--navy)}
.zp-trn .zq{width:3.6em;border-left:1.5px dashed rgba(11,42,69,.2);display:grid;place-items:center}
.zp-trn .zq span{width:2.3em;height:2.3em;background:conic-gradient(var(--navy) 25%,transparent 0 50%,var(--navy) 0 75%,transparent 0) 0 0/.46em .46em;border-radius:.15em;box-shadow:0 0 0 .2em #fff,0 0 0 calc(.2em + 1px) rgba(11,42,69,.15)}
/* stay booking */
.zp-stay{width:11em;padding:.45em;border-radius:1em;background:#fff;box-shadow:var(--shd)}
.zp-stay .zsi{position:relative;display:block;height:6.2em;border-radius:.7em;overflow:hidden;background:linear-gradient(135deg,#7CC5A0,#2F7F6B)}
.zp-stay .zsi img{display:block;width:100%;height:100%;object-fit:cover}
.zp-stay .zok{position:absolute;left:.45em;top:.45em;display:inline-flex;align-items:center;gap:.3em;padding:.3em .55em;border-radius:999px;background:#fff;color:var(--ok);font:800 .5em/1 var(--ui)}
.zp-stay b{display:block;margin:.55em .3em 0;font:800 .76em/1.1 var(--display);letter-spacing:-.02em}
.zp-stay small{display:block;margin:.2em .3em .2em;font-size:.56em;color:var(--dim)}
/* playlist */
.zp-plst{display:flex;gap:.7em;align-items:center;width:13em;padding:.6em;border-radius:1em;background:linear-gradient(160deg,#16395E,#0B2A45);color:#fff;box-shadow:var(--shd)}
.zp-plst .zart{position:relative;width:3.6em;height:3.6em;flex:none;border-radius:.55em;overflow:hidden;background:linear-gradient(180deg,#FFB547,#F2668B)}
.zp-plst .zart::after{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:55%;background:#0B2A45;clip-path:polygon(0 100%,0 60%,25% 20%,42% 55%,62% 5%,85% 50%,100% 35%,100% 100%)}
.zp-plst .zt{flex:1;min-width:0}
.zp-plst .zt b{display:block;font:800 .74em/1.15 var(--display);letter-spacing:-.02em}
.zp-plst .zt small{display:block;margin-top:.15em;font-size:.54em;color:rgba(255,255,255,.6)}
.zp-plst .zpg{display:block;height:.16em;margin-top:.55em;border-radius:1em;background:rgba(255,255,255,.2);overflow:hidden}
.zp-plst .zpg::after{content:"";display:block;width:58%;height:100%;background:var(--sun)}
.zp-plst .zpb{width:1.9em;height:1.9em;flex:none;border-radius:50%;background:#fff;display:grid;place-items:center}
.zp-plst .zpb::after{content:"";margin-left:.12em;border-left:.5em solid var(--navy);border-top:.3em solid transparent;border-bottom:.3em solid transparent}
/* "packed" note under the bag */
.zp-pk{position:absolute;left:50%;top:calc(100% + var(--bh) * .12);display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 12px 26px -16px rgba(11,42,69,.5);font:700 13px/1 var(--ui);color:var(--navy);white-space:nowrap;opacity:0;transform:translateX(-50%);pointer-events:none}
.zp-pk i{width:18px;height:18px;border-radius:50%;background:var(--ok);display:grid;place-items:center}
.zp-pk i::after{content:"";width:7px;height:4px;margin-top:-2px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}

/* shine: a soft gloss that sweeps across every card now and then, and on hover */
.zp-shine{position:absolute;inset:0;z-index:4;border-radius:inherit;overflow:hidden;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 38%),linear-gradient(115deg,transparent 38%,rgba(255,255,255,.55) 49%,rgba(255,255,255,.1) 54%,transparent 62%) 160% 0/260% 100% no-repeat;
  mix-blend-mode:soft-light;animation:zpSweep 9s ease-in-out var(--sd,0s) infinite}
@keyframes zpSweep{0%,70%{background-position:0 0,160% 0}86%,100%{background-position:0 0,-60% 0}}
.zp-gl{filter:saturate(1.05)}
.zp-gl .zp-obj{transition:filter .45s}
.zp-it.zgrab:hover .zp-shine{animation:zpSweepH .9s cubic-bezier(.3,.6,.2,1) both}
@keyframes zpSweepH{from{background-position:0 0,160% 0}to{background-position:0 0,-60% 0}}
.zp-it.zgrab:hover .zp-fl{transform:translateY(-7px) scale(1.06) rotate(calc(var(--hr,0) * 1deg))}
.zp-it.zgrab:hover .zp-fl>:not(svg){box-shadow:0 2px 2px rgba(11,42,69,.08),0 14px 20px -8px rgba(11,42,69,.22),0 40px 60px -26px rgba(11,42,69,.45)}
.zp-it.zgrab:hover .zp-gl .zp-obj,.zp-it.zgrab:hover .zp-obj{filter:drop-shadow(0 4px 3px rgba(11,42,69,.16)) drop-shadow(0 26px 26px rgba(11,42,69,.3)) brightness(1.06)}
.zp-fl>:not(svg){transition:box-shadow .45s var(--ease)}
/* rotating word: what the trips are scattered across */
.zp-rot{display:block;position:relative;height:1.16em;margin-top:.02em;font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;color:var(--blue-d)}
.zr-w{position:absolute;left:50%;top:0;white-space:nowrap;opacity:0;transform:translate(-50%,55%);filter:blur(6px);transition:transform .85s var(--ease),opacity .5s ease,filter .6s ease}
.zr-w.on{opacity:1;transform:translate(-50%,0);filter:none}
.zr-w.out{opacity:0;transform:translate(-50%,-55%);filter:blur(6px)}
.zr-w::after{content:"";position:absolute;left:3%;right:9%;bottom:.06em;height:.065em;border-radius:99px;background:var(--sun);transform:scaleX(0);transform-origin:0 50%;transition:transform .75s var(--ease) .3s}
.zr-w.on::after{transform:scaleX(1)}
.zr-w.out::after{transform-origin:100% 50%;transition-delay:0s}
@media (prefers-reduced-motion:reduce){.zp-shine{animation:none!important}.zr-w{transition:none!important}}

/* sky: a soft sun and a few real-looking clouds that drift very slowly */
.zp-sky{will-change:transform;inset:-70px 0!important}
.zp-sunglow{position:absolute;right:6%;top:-14%;width:min(54vw,720px);aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(255,246,222,.95),rgba(255,226,160,.45) 22%,rgba(255,214,140,.16) 46%,rgba(255,214,140,0) 72%);filter:blur(4px);animation:zpSun 14s ease-in-out infinite alternate}
.zp-sunglow::after{content:"";position:absolute;left:50%;top:50%;width:7%;aspect-ratio:1;margin:-3.5% 0 0 -3.5%;border-radius:50%;background:#FFFBF0;box-shadow:0 0 40px 20px rgba(255,244,214,.8);opacity:.75}
@keyframes zpSun{from{transform:scale(1);opacity:.85}to{transform:scale(1.06);opacity:1}}
.zp-cloud{position:absolute;left:0;top:var(--y);width:var(--w);height:calc(var(--w) * .3);margin-top:calc(var(--w) * -.15);border-radius:50%;opacity:var(--o);pointer-events:none;filter:var(--f);will-change:transform;
  background:radial-gradient(48% 60% at 50% 45%,#fff 0,rgba(255,255,255,.92) 45%,rgba(255,255,255,0) 100%);animation:zpCloud var(--t) linear var(--dl) infinite}
.zp-cloud::after{content:"";position:absolute;left:12%;right:10%;top:52%;height:42%;border-radius:50%;background:radial-gradient(50% 50% at 50% 40%,rgba(176,200,224,.28),rgba(176,200,224,0) 100%)}
@keyframes zpCloud{from{transform:translateX(calc(var(--w) * -1))}to{transform:translateX(100vw)}}
@media (max-width:820px){.zp-cloud{--w:340px!important}.zp-sunglow{width:110vw;right:-30%;top:-20%}}
@media (prefers-reduced-motion:reduce){.zp-cloud{animation:none;transform:translateX(30vw)}.zp-sunglow{animation:none}}
@media (max-width:820px){
  .zp{height:280vh;height:280svh}
  .zp-c1{top:44%}
  .zp-h1{font-size:clamp(30px,8.6vw,46px)}
  .zp-s1{font-size:14.5px;max-width:32ch;margin-top:12px}
  .zp-go1{height:48px;margin-top:16px;font-size:14px}
  .zp-c2{left:var(--gut);right:var(--gut);top:clamp(84px,11vh,100px);width:auto;transform:none;text-align:center}
  .zp-k{font-size:11.5px}
  .zp-h2{margin-top:12px;font-size:clamp(32px,9vw,46px)}
  .zp-h2 span{display:inline}
  .zp-h2 em{display:inline}
  .zp-p{margin:10px auto 0;font-size:14.5px;max-width:36ch}
  .zp-cta{justify-content:center;margin-top:16px;flex-wrap:nowrap;gap:8px}
  .zp-btn{height:46px;padding:0 16px;font-size:14px}
  .zp-btn.ghost svg{display:none}
  .zp-stats{display:none}
  .zp-it.zdk{display:none}
}
@media (max-width:820px) and (max-height:720px){.zp-p{display:none}}
@media (prefers-reduced-motion:reduce){
  .zp-fl,.zp-plane,.zp-k i,.zp-go1 .zms::after{animation:none!important}
  .zp.zin .zp-c1{animation:none}
}

/* section order: the trip-type section now follows the hero and slides up over it */
.zp+.vsec{position:relative;z-index:6;margin-top:calc(var(--lip,44px) * -1);border-radius:44px 44px 0 0;background:var(--bg);box-shadow:0 -24px 50px -30px rgba(11,42,69,.35),inset 0 1px 0 rgba(255,255,255,.95)}
.zp+.vsec::before{content:"";position:absolute;left:50%;top:14px;width:54px;height:5px;margin-left:-27px;border-radius:9px;background:var(--sky3);opacity:.7}
@media (max-width:700px){.zp+.vsec{border-radius:28px 28px 0 0}}

.gm-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin-top:clamp(28px,4vw,44px)}
.gp{position:relative;display:flex;flex-direction:column;gap:0;padding:10px;border:0;border-radius:32px;background:#fff;text-align:left;font:inherit;color:var(--navy);cursor:pointer;
  box-shadow:0 0 0 1px var(--line),0 40px 70px -46px rgba(11,42,69,.55);transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease),box-shadow .4s}
.gp:hover{box-shadow:0 0 0 1px var(--line),0 50px 80px -44px rgba(11,42,69,.65)}
.gp:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.gp-art{position:relative;display:block;aspect-ratio:16/10;border-radius:24px;overflow:hidden;isolation:isolate}
.gp-svg{display:block;width:100%;height:100%;transition:transform 1s var(--ease)}
.gp:hover .gp-svg{transform:scale(1.05)}
.gp-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.gp:hover .gp-img{transform:scale(1.06)}
.gp-art::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(11,42,69,.08);pointer-events:none}
.gp-best{position:absolute;left:12px;top:12px;height:32px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:800 12px var(--ui);letter-spacing:.04em;color:var(--navy)}
.gp-txt{display:flex;flex-direction:column;gap:5px;padding:18px 14px 6px;padding-right:130px}
.gp-txt b{font:800 clamp(24px,2.3vw,32px)/1 var(--display);letter-spacing:-.04em}
.gp-txt span{font-size:15px;font-weight:600;line-height:1.5;color:var(--mist)}
.gp-go{position:absolute;right:20px;bottom:22px;display:inline-flex;align-items:center;gap:8px;height:50px;padding:0 20px;border-radius:999px;background:var(--navy);color:#fff;font:800 15px var(--ui);transition:background .3s,gap .3s}
.gp[data-k="sky"] .gp-go{background:#F2662B}
.gp-go svg{width:18px;height:18px}
.gp:hover .gp-go{gap:12px}
/* little life in the pictures */
.gp-cl{animation:gpcl 9s ease-in-out infinite alternate}.gp-cl.b{animation-duration:12s}
@keyframes gpcl{to{transform:translateX(26px)}}
.gp-drop{animation:gpdrop 2.6s cubic-bezier(.5,0,.2,1) infinite}
@keyframes gpdrop{0%,20%{transform:translateX(-30px)}50%{transform:translateX(20px)}75%,100%{transform:translateX(-6px)}}
.gp-plane{animation:gpfly 2.4s ease-in-out infinite}
@keyframes gpfly{0%,100%{translate:0 0}50%{translate:0 -10px}}
.gp-star{animation:gpfly 2s ease-in-out infinite reverse}
/* full screen player */
.gmx{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;background:#0B2A45;opacity:0;transform:scale(.98);transition:opacity .35s,transform .45s var(--ease)}
.gmx.on{opacity:1;transform:none}
.gmx-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:58px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));padding-top:env(safe-area-inset-top);box-sizing:content-box;color:#fff}
.gmx-bar b{font:800 18px var(--display);letter-spacing:-.02em}
.gmx-x{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:0;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font:800 14px var(--ui);cursor:pointer}
.gmx-x:hover{background:rgba(255,255,255,.24)}
.gmx-stage{position:relative;flex:1;min-height:0}
.gmx-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;opacity:0;transition:opacity .4s}
.gmx.ready iframe{opacity:1}
.gmx-load{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.7);font:800 13px var(--ui);letter-spacing:.08em}
body.gmx-lock{overflow:hidden}
@media (max-width:760px){.gm-picks{grid-template-columns:minmax(0,1fr)}.gp-txt{padding-right:14px;padding-bottom:76px}.gp-go{left:20px;right:20px;justify-content:center}}
@media (prefers-reduced-motion:reduce){.gp-cl,.gp-drop,.gp-plane,.gp-star{animation:none}}

.zmg{position:relative;padding:clamp(90px,9vw,130px) 0;background:radial-gradient(60% 50% at 15% 30%,rgba(169,211,242,.45),transparent 70%),radial-gradient(50% 40% at 90% 80%,rgba(255,214,150,.22),transparent 70%),var(--bg,#F4F9FD);overflow:hidden;color:var(--navy,#0B2A45)}
.zmg-wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut,clamp(16px,4vw,40px))}
.zmg-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:end}
.zmg-head h2{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(38px,5.2vw,78px);line-height:.95;letter-spacing:-.05em}
.zmg-head h2 em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.015em;color:var(--blue-d)}
.zmg-head p{margin:0;max-width:44ch;font-size:16.5px;line-height:1.6;color:var(--mist)}

.zmg-spread{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:center;margin-top:clamp(36px,5vw,60px)}

/* the stack of covers: the front one is the story you are reading, tap the one behind to switch */
.zmg-stack{position:relative;width:min(370px,68%);aspect-ratio:3/4;margin:0 0 0 2%;perspective:1600px}
.zmg-cv{position:absolute;inset:0;border:0;padding:0;border-radius:6px;overflow:hidden;cursor:pointer;background:#1C3550;text-align:left;color:#fff;transform-origin:50% 100%;
  transition:transform .9s var(--ease),filter .6s,box-shadow .6s;box-shadow:0 2px 2px rgba(11,42,69,.1),0 30px 60px -30px rgba(11,42,69,.7);-webkit-tap-highlight-color:transparent}
.zmg-cv[data-pos="0"]{z-index:3;transform:rotate(-2deg) rotateY(var(--ty,0deg)) rotateX(var(--tx,0deg));cursor:default}
.zmg-cv[data-pos="1"]{z-index:2;transform:translate(30%,-2%) rotate(7deg) scale(.92);filter:brightness(.82) saturate(.9)}
.zmg-cv[data-pos="2"]{z-index:1;transform:translate(48%,-4%) rotate(12deg) scale(.86);filter:brightness(.7)}
.zmg-cv[data-pos="1"]:hover{transform:translate(34%,-4%) rotate(9deg) scale(.93);filter:brightness(.92)}
.zmg-cv:focus-visible{outline:3px solid var(--sun,#FFB547);outline-offset:4px}
.zmg-cv .zmg-ph{position:absolute;inset:0;background:var(--fb,linear-gradient(160deg,#3F86C4,#123257))}
.zmg-cv .zmg-ph img{width:100%;height:100%;object-fit:cover;display:block}
.zmg-cv .zmg-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,34,.15),rgba(8,20,34,0) 30%,rgba(8,20,34,.15) 52%,rgba(8,20,34,.85))}
.zmg-cv .zmg-mh{position:absolute;left:0;right:0;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 14px;background:rgba(255,255,255,.94)}
.zmg-cv .zmg-mh img{height:30px;width:auto;display:block}
.zmg-cv .zmg-mh small{font:800 10px/1.25 var(--ui);letter-spacing:.06em;color:#3B4452;text-align:right}
.zmg-cv .zmg-cl{position:absolute;left:18px;right:18px;bottom:20px;z-index:1}
.zmg-cv .zmg-kk{display:inline-block;padding:5px 9px;background:var(--sun,#FFB547);color:#1B1B1B;font:800 10.5px/1 var(--ui);letter-spacing:.08em}
.zmg-cv .zmg-big{display:block;margin-top:10px;font:400 clamp(30px,3.1vw,42px)/.98 var(--serif);letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.zmg-cv .zmg-big em{color:#FFD58A}
.zmg-cv .zmg-sub{display:flex;flex-direction:column;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.4)}
.zmg-cv .zmg-sub span{font:700 12.5px/1.25 var(--ui)}
.zmg-cv .zmg-sub b{color:#FFD58A;font-family:var(--display);font-weight:800;margin-right:5px}
.zmg-cv .zmg-bc{position:absolute;right:14px;top:72px;z-index:1;width:46px;padding:4px 4px 3px;background:#fff;color:#222;font:700 6.5px/1 var(--ui);text-align:center}
.zmg-cv .zmg-bc i{display:block;height:20px;margin-bottom:3px;background:repeating-linear-gradient(90deg,#111 0 1px,transparent 1px 2px,#111 2px 4px,transparent 4px 5px,#111 5px 6px,transparent 6px 8px)}
.zmg-cv::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 46%,transparent 58%) var(--gx,120%) 0/260% 100% no-repeat,linear-gradient(90deg,rgba(0,0,0,.28),transparent 4%,transparent 96%,rgba(255,255,255,.08));transition:background-position .9s var(--ease)}
.zmg-cv[data-pos="0"]:hover::after{--gx:-40%}
.zmg-cv .zmg-peek{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:10px;background:rgba(11,42,69,.85);font:800 12px/1 var(--ui);text-align:center;opacity:0;transition:opacity .3s}
.zmg-cv[data-pos="1"] .zmg-peek{opacity:1}
.zmg-pager{display:flex;align-items:center;justify-content:flex-start;padding-left:2%;gap:10px;margin-top:38px}
.zmg-pager span{font:700 13px/1 var(--ui);color:var(--dim)}
.zmg-next{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(11,42,69,.14);background:#fff;font:800 13.5px var(--ui);color:var(--navy);cursor:pointer;transition:transform .35s var(--ease),border-color .3s}
.zmg-next:hover{transform:translateY(-2px);border-color:var(--blue)}
.zmg-next svg{width:15px;height:15px}
.zmg-shadow{position:absolute;left:8%;right:-6%;bottom:-26px;height:40px;border-radius:50%;background:radial-gradient(closest-side,rgba(11,42,69,.3),transparent);filter:blur(4px);z-index:0}

/* the article page */
.zmg-page{min-width:0}
.zmg-k{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-bottom:14px;border-bottom:1px solid rgba(11,42,69,.14)}
.zmg-k img{height:26px;width:auto;display:block}
.zmg-k span{font:700 13px/1 var(--ui);color:var(--dim)}
.zmg-h{margin:20px 0 0;font:400 clamp(28px,2.9vw,42px)/1.08 var(--serif);letter-spacing:-.01em;text-wrap:balance}
.zmg-sum{margin:14px 0 0;max-width:58ch;font-size:16.5px;line-height:1.65;color:var(--mist)}
.zmg-nums{margin-top:24px;border-top:2px solid var(--navy)}
.zmg-nums h4{margin:10px 0 2px;font:800 11.5px/1 var(--ui);letter-spacing:.12em;color:var(--blue-d)}
.zmg-row{display:grid;grid-template-columns:156px minmax(0,1fr);gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(11,42,69,.12)}
.zmg-row b{white-space:nowrap;font:800 clamp(24px,2.4vw,32px)/1 var(--display);letter-spacing:-.04em;color:var(--navy)}
.zmg-row span{font-size:15px;font-weight:600;line-height:1.4;color:var(--mist)}
.zmg-q{margin:24px 0 0;font:italic 400 clamp(22px,2vw,28px)/1.25 var(--serif);color:var(--blue-d)}
.zmg-q small{display:block;margin-top:6px;font:700 12.5px/1.3 var(--ui);font-style:normal;color:var(--dim)}
.zmg-go{display:inline-flex;align-items:center;gap:10px;margin-top:26px;height:54px;padding:0 6px 0 22px;border-radius:999px;background:var(--navy);color:#fff;text-decoration:none;font:800 15px var(--ui);box-shadow:0 14px 26px -14px rgba(11,42,69,.7);transition:background .25s,transform .35s var(--ease)}
.zmg-go i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);transition:transform .45s var(--ease)}
.zmg-go svg{width:16px;height:16px}
.zmg-go:hover{background:var(--blue-dd,#14558E);transform:translateY(-2px)}
.zmg-go:hover i{transform:rotate(45deg)}
.zmg-swap{animation:mgIn .7s var(--ease) both}
@keyframes mgIn{from{opacity:0;transform:translateY(14px)}}

/* also featured on */
.zmg-also{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:clamp(48px,6vw,72px);padding-top:26px;border-top:1px solid rgba(11,42,69,.1)}
.zmg-also>span{font:700 13px/1 var(--ui);color:var(--dim)}
.zmg-logos{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.zmg-lg{display:inline-flex;align-items:center;height:56px;padding:0 20px;border-radius:16px;background:#fff;border:1px solid rgba(11,42,69,.08);text-decoration:none;filter:grayscale(1);opacity:.7;transition:filter .35s,opacity .35s,transform .35s var(--ease),box-shadow .35s}
.zmg-lg img{height:24px;width:auto;display:block}
.zmg-lg:hover,.zmg-lg:focus-visible{filter:none;opacity:1;transform:translateY(-2px);box-shadow:0 14px 26px -18px rgba(11,42,69,.6)}

@media (max-width:900px){
  .zmg-head,.zmg-spread{grid-template-columns:minmax(0,1fr)}
  .zmg-stack{width:min(300px,64%);margin-left:4%}
  .zmg-cv .zmg-big{font-size:24px}
  .zmg-cv .zmg-sub span:nth-child(n+2){display:none}
  .zmg-cv .zmg-cl{left:14px;right:14px;bottom:14px}
  .zmg-cv .zmg-bc{display:none}
  .zmg-pager{padding-left:4%}
}
@media (max-width:560px){
  .zmg-row{grid-template-columns:112px minmax(0,1fr);gap:12px}
  .zmg-row b{font-size:22px}
  .zmg-cv .zmg-mh small{font-size:8.5px}
  .zmg-cv .zmg-mh img{height:24px}
  .zmg-row span{font-size:14px}
  .zmg-go{width:100%;justify-content:space-between}
  .zmg-cv .zmg-sub span:nth-child(3){display:none}
}
@media (prefers-reduced-motion:reduce){.zmg-cv,.zmg-cv::after,.zmg-go{transition:none}.zmg-swap{animation:none}}

/* page changes: soft fade out, fade in; no slide from below */
html{transition:opacity .45s ease}
html.pg-out{opacity:0;transition:opacity .22s ease}
.vp-in{animation:none!important}
/* inner page headings fade in softly word by word instead of rising from below */
html.fx #szPages .fx-rise .wi{transform:none!important;opacity:0;filter:blur(6px);transition-property:opacity,filter;transition-duration:.8s;transition-timing-function:ease}
html.fx #szPages .fx-rise.fx-on .wi{opacity:1;filter:none}

.tp-pks.tp-cut>.pkc:nth-child(n+7){display:none}
.tp-more{display:flex;justify-content:center;margin-top:22px}
.tp-more-b{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:999px;border:1.5px solid currentColor;background:transparent;color:var(--t-acc,var(--blue-d));font:800 14px var(--ui);cursor:pointer;transition:background .25s,color .25s}
.tp-more-b:hover{background:var(--t-acc,var(--blue-d));color:#fff}
.tp-more-b svg{width:16px;height:16px;transition:transform .35s var(--ease)}
.tp-more-b[aria-expanded="true"] svg{transform:rotate(180deg)}
@keyframes tpMore{from{opacity:0}to{opacity:1}}

.co .b-photo{filter:none!important}

.fq-av-ph{background:#fff;padding:0}.fq-av-ph img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}.fq-m.in::before{background:#E6F2FB url(/assets/img/a0269701df18.webp) center/cover no-repeat!important}

.co .seal-c{inset:26%;transform:rotate(12deg)}

.fq-av-ph,.fq-av-ph img{border-radius:50%!important}.fq-m.in::before{border-radius:50%!important}

.fq-ai{background:linear-gradient(120deg,#C8430F 0%,#DC5A1C 45%,#EE7A2C 100%)}
.fq-ai::before{background:radial-gradient(circle,rgba(255,214,150,.55),transparent 65%)}
.fq-mark{background:#fff;box-shadow:0 8px 18px -10px rgba(120,40,0,.6)}
.fq-mark svg{width:32px;height:auto}
.fq-ai-top small{color:#FFE3C4}
.fq-ai p{color:rgba(255,255,255,.88)}
.fq-ai-in{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35)}
.fq-ai-in:focus-within{border-color:#fff;background:rgba(255,255,255,.22)}
.fq-ai-in input::placeholder,.fq-ph{color:rgba(255,255,255,.8)!important}
.fq-ai-in button{color:#C2410C}
.fq-ai-in button:hover{background:var(--navy);color:#fff}

.tp-sw{display:inline-flex;gap:2px;margin-top:14px;padding:4px;border-radius:999px;background:rgba(255,255,255,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 0 1px rgba(0,0,0,.06);max-width:100%;overflow-x:auto;scrollbar-width:none;position:relative;z-index:5}
.tp-sw::-webkit-scrollbar{display:none}
.tp-sw a{flex:none;height:32px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;font:800 12.5px var(--ui);color:var(--t-mute,#4a5a6a);text-decoration:none;white-space:nowrap;transition:background .25s,color .25s}
.tp-sw a:hover{color:var(--t-acc)}
.tp-sw a.on{background:var(--t-btn,var(--t-acc));color:#fff}
.tp-sw{z-index:400}
.tp .tp-crumb{margin-top:78px!important}
@media (max-width:560px){.tp .tp-crumb{margin-top:64px!important}}
::view-transition-old(root){animation:none}
::view-transition-new(root){animation:vtI .45s cubic-bezier(.4,0,.2,1) both}
@keyframes vtO{to{opacity:0}}@keyframes vtI{from{opacity:0}}
.tp-dark .tp-sw{background:rgba(255,255,255,.12);box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.tp-dark .tp-sw a{color:rgba(255,255,255,.75)}
@media (max-width:560px){.tp-sw{display:flex;width:100%}.tp-sw{gap:0;padding:3px}.tp-sw a{flex:1 1 auto;justify-content:center;padding:0 5px;font-size:11px;height:30px}}@media (max-width:380px){.tp-sw a{padding:0 3px;font-size:10.5px;letter-spacing:-.01em}}

/* the reveal script puts class "fx" on <html>; the AI form also styles .fx as a card, which framed the whole page. undo it on html */
html.fx{display:block;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--bg)!important;transition:opacity .45s ease}
/* trip pages on phones: places as a 2-up grid, trip kinds 2-up, so the page stays short */
@media (max-width:560px){
  .tp-where{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .tp-where a{min-width:0;gap:8px;padding:6px 10px 6px 6px}
  .tp-where span{width:34px;height:34px}
  .tp-where b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tp-where small{font-size:11px;white-space:nowrap}
  .tp-where a>div,.tp-where a>span+span{min-width:0}
  .tp-kinds{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tp-k{min-height:210px!important;padding:14px!important}
  .tp--couples .tp-k,.tp--spiritual .tp-k{border-radius:90px 90px 18px 18px!important;padding-top:70px!important}
  .tp-k h3{font-size:19px!important}
  .tp-k p{font-size:12px!important;line-height:1.4!important}
}
/* destinations toggle on small phones */
@media (max-width:400px){
  .dx-tg{display:grid;width:100%}
  .dx-tg button{padding:0 8px;gap:6px;font-size:13.5px;height:46px}
  .dx-tg button svg{display:none}
  .dx-count{font-size:12.5px}
  .pkx-tog button{padding:0 6px;gap:5px;font-size:13px}.pkx-tog button svg{display:none}
}

.mr-c.mr-hide{visibility:hidden!important}.mr-cue{z-index:300}

.co .cz{width:min(300px,78%);margin:14px 0 0 -4px;cursor:pointer;outline:none}
.co .cz svg{display:block;width:100%;height:auto;overflow:visible}
.co .cz .szl{fill:#fff;transition:none}
.co .cz .szu{fill:rgba(255,255,255,.6);transform:none}
.co .cz .hz{display:none}
#czcsHole{fill:#0B2A45}
.co .cz-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:560px){.co .cz{width:min(240px,82%)}}