/* ============================================================
   PREDATOR ZIP LINES, "next" preview build
   One family (Archivo), width used for hierarchy. One accent (ember).
   Night for the experience, bone for the practical section.
   ============================================================ */
:root{
  --night:#08080A; --night-2:#131217;
  --ember:#FF6A00; --ember-ink:#B14200;
  --bone:#F4ECDF; --dim:rgba(244,236,223,.70); --faint:rgba(244,236,223,.46); --rule:rgba(244,236,223,.16);
  --ink:#15120E; --ink-dim:#5A5246; --ink-rule:rgba(21,18,14,.18);
  --wrap:1180px; --gut:clamp(20px,4.6vw,56px);
  --nav-h:92px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:var(--night);color-scheme:dark;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.6;color:var(--bone);background:var(--night);
  -webkit-font-smoothing:antialiased;overflow-x:clip}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:fixed;left:12px;top:-60px;z-index:100;background:var(--bone);color:var(--ink);padding:10px 16px;border-radius:8px;font-weight:600}
.skip:focus{top:12px}

/* ---------- type ---------- */
.d{font-stretch:125%;font-weight:700;letter-spacing:-.022em;line-height:1.04;text-wrap:balance}
h1.d{font-size:clamp(34px,5.6vw,80px)}
h2.d{font-size:clamp(28px,3.9vw,52px)}
h3{font-stretch:112%;font-weight:650;font-size:20px;line-height:1.25;letter-spacing:-.01em}
.lede{font-size:clamp(17px,1.5vw,20px);color:var(--dim);max-width:56ch}
.link{font-weight:600;text-decoration:underline;text-decoration-color:var(--ember);text-decoration-thickness:2px;text-underline-offset:5px}
.link:hover{color:var(--ember)}
section[id],footer[id]{scroll-margin-top:72px}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding-inline:var(--gut);transition:height .3s,background-color .3s,border-color .3s;border-bottom:1px solid transparent}
.nav::before{content:"";position:absolute;inset:0 0 -40px 0;background:linear-gradient(rgba(8,8,10,.72),rgba(8,8,10,0));pointer-events:none;transition:opacity .3s;z-index:-1}
.nav.stuck,.sub .nav{height:68px;background:rgba(8,8,10,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--rule)}
.nav.stuck::before,.sub .nav::before{opacity:0}
.nav-links{display:flex;gap:clamp(18px,2.4vw,36px);align-items:center;font-size:15px;font-weight:550;font-stretch:108%}
.nav-links a{padding:8px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.nav-links a:hover{border-color:var(--ember)}
.nav-right{justify-content:flex-end}
.nav-tel{font-variant-numeric:tabular-nums}
.logo{grid-column:2;justify-self:center;display:flex;align-items:center}
.logo video{height:72px;width:auto;border-radius:6px;transition:height .3s}
.nav.stuck .logo video,.sub .logo video{height:52px}
.burger{display:none;grid-column:3;justify-self:end;width:48px;height:48px;border-radius:8px;border:1px solid var(--rule);background:rgba(8,8,10,.5);
  flex-direction:column;align-items:center;justify-content:center;gap:6px}
.burger span{display:block;width:20px;height:2px;background:var(--bone);transition:transform .25s,opacity .2s}
.burger.x span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.pz-menu{position:fixed;inset:0;z-index:49;background:var(--night);display:flex;flex-direction:column;justify-content:center;gap:4px;
  padding:110px var(--gut) 130px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.pz-menu.open{opacity:1;visibility:visible}
.pz-menu a{font-stretch:118%;font-weight:700;font-size:clamp(26px,7.4vw,40px);letter-spacing:-.02em;line-height:1.1;padding:12px 0;border-bottom:1px solid var(--rule)}
.pz-menu a.menu-tel{border:0;margin-top:18px;font-size:19px;font-stretch:108%;font-weight:600;color:var(--dim)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--night)}
.hero-media{position:absolute;inset:0;background:#0b0b0d center/cover no-repeat}
.hero-media video{width:100%;height:100%;object-fit:cover}
/* fine film grain over the footage: it hides what is left of the compression and makes the soft source look deliberate */
.hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;mix-blend-mode:overlay;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-shade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(8,8,10,.94) 0%,rgba(8,8,10,.72) 26%,rgba(8,8,10,.18) 58%,rgba(8,8,10,0) 72%)}
.hero-copy{position:relative;padding-bottom:132px;padding-top:calc(var(--nav-h) + 40px)}
.hero h1{max-width:13em}
.hero-sub{margin-top:20px;font-size:clamp(16px,1.45vw,20px);line-height:1.5;color:rgba(244,236,223,.9);max-width:50ch}
.facts{display:flex;flex-wrap:wrap;gap:0;margin-top:30px;border-top:1px solid rgba(244,236,223,.28);max-width:760px}
.facts div{padding:14px 28px 0 0;margin-right:28px;border-right:1px solid rgba(244,236,223,.2)}
.facts div:last-child{border-right:0;margin-right:0;padding-right:0}
.facts dt{font-size:13px;color:var(--dim);line-height:1.3}
.facts dd{font-stretch:112%;font-weight:650;font-size:19px;line-height:1.3;font-variant-numeric:tabular-nums}
.facts dd small{font-stretch:100%;font-weight:400;font-size:13px;color:var(--dim)}
.sound{margin-top:26px;display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600;padding:6px 0}
.sound i{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--bone);display:grid;place-items:center}
.sound i::after{content:"";border-left:8px solid var(--bone);border-block:5px solid transparent;margin-left:2px}
.sound:hover{color:var(--ember)}
.sound:hover i{border-color:var(--ember)}
.sound:hover i::after{border-left-color:var(--ember)}

/* ---------- the flight (3D course ride) ---------- */
.flight{position:relative;background:var(--night);padding-block:clamp(64px,9vw,120px)}
.flight-stage{display:none}
/* .live is added by script when the browser can run the 3D ride; without it the section is a short still block */
.flight.live{height:calc(100svh + 2000px);padding-block:0}
.flight.live .flight-stage{display:block;position:sticky;top:0;height:100svh;overflow:hidden}
.flight.live .flight-static{display:none}
.flight-canvas,.flight-canvas canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.flight-canvas{opacity:0;transition:opacity .9s}
.flight.ready .flight-canvas{opacity:1}
.flight-fade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom,var(--night) 0,var(--night) 68px,rgba(8,8,10,.35) 13%,rgba(8,8,10,0) 22%,rgba(8,8,10,0) 54%,rgba(8,8,10,.8) 86%,var(--night) 100%)}
.flight-head{position:absolute;inset:calc(68px + 4.5vh) 0 auto 0;transition:opacity .5s,transform .5s}
.flight-head h2{max-width:15em}
.flight-head p{margin-top:12px;color:var(--dim);font-size:15px}
.flight .when-ready,.flight.ready .when-loading{display:none}
.flight.ready .when-ready{display:inline}
.flight.riding .flight-head{opacity:0;transform:translateY(-12px);pointer-events:none}
.flight-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.flabel{position:absolute;left:0;top:0;opacity:0;transition:opacity .45s;will-change:transform;white-space:nowrap}
.flabel.on{opacity:1}
.flabel span{display:block;transform:translate(-50%,-100%);padding-bottom:46px;font-stretch:118%;font-weight:700;font-size:clamp(15px,1.5vw,19px);letter-spacing:-.01em;
  text-shadow:0 1px 14px rgba(8,8,10,.9);background:linear-gradient(var(--bone),var(--bone)) 50% 100%/1.5px 38px no-repeat}
.flight-bottom{position:absolute;inset:auto 0 0 0;padding-bottom:104px}
.flight-step{font-stretch:122%;font-weight:700;font-size:clamp(24px,3.1vw,42px);letter-spacing:-.02em;line-height:1.08;max-width:17em;text-wrap:balance}
.flight-note{margin-top:10px;color:var(--dim);max-width:46ch;min-height:3.2em}
.flight-step,.flight-note{transition:opacity .28s}
.flight-bottom.swap .flight-step,.flight-bottom.swap .flight-note{opacity:0}
.flight-track{position:relative;display:flex;justify-content:space-between;margin-top:22px;max-width:720px}
.flight-track::before{content:"";position:absolute;left:6px;right:6px;top:6px;height:1.5px;background:rgba(244,236,223,.28)}
.flight-track i{position:absolute;left:6px;top:6px;height:1.5px;width:calc(100% - 12px);background:var(--ember);transform-origin:left;transform:scaleX(0)}
.flight-track button{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;color:var(--faint);padding:0 0 6px;min-width:13px;transition:color .25s}
.flight-track button::before{content:"";width:13px;height:13px;border-radius:50%;background:var(--night);border:1.5px solid rgba(244,236,223,.5);transition:background-color .25s,border-color .25s}
.flight-track button.done::before{background:var(--ember);border-color:var(--ember)}
.flight-track button.on{color:var(--bone)}
.flight-track button.on::before{background:var(--ember);border-color:var(--ember);box-shadow:0 0 0 5px rgba(255,106,0,.22)}
.flight-track button:hover{color:var(--bone)}
.flight-meta{display:flex;gap:22px;align-items:center;margin-top:14px;font-size:13px;color:var(--faint)}
.flight-meta a{color:var(--dim);text-decoration:underline;text-underline-offset:4px}
.flight-meta a:hover{color:var(--bone)}
/* still version: no WebGL, reduced motion, data saver, or script off */
.flight-static{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.flight-static img{border-radius:4px;aspect-ratio:4/3;object-fit:cover;width:100%}
.flight-static p{margin-top:16px;color:var(--dim)}
.flight-static ul{margin-top:22px;border-top:1px solid var(--rule)}
.flight-static li{padding:11px 0;border-bottom:1px solid var(--rule);font-weight:600}

/* ---------- sections ---------- */
.sec{padding-block:clamp(72px,10vw,136px)}
.tours{border-top:1px solid var(--rule)}
.feature{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.feature figure{position:relative}
.feature img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.feature p{margin-top:18px}
.spec{margin-top:28px;border-top:1px solid var(--rule)}
.spec div{display:grid;grid-template-columns:8.5em 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--rule)}
.spec dt{color:var(--dim);font-size:15px}
.spec dd{font-weight:600;font-variant-numeric:tabular-nums}
.spec dd b{font-stretch:118%;font-weight:700;font-size:26px;letter-spacing:-.02em;line-height:1.1}
.hint{margin-top:22px;font-size:15px;color:var(--dim);padding-left:16px;border-left:2px solid var(--ember)}
.more{margin-top:clamp(56px,7vw,96px)}
.rows{margin-top:18px;border-top:1px solid var(--rule)}
.rows li{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(90px,.5fr) auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--rule)}
.rows p{color:var(--dim);font-size:15.5px;margin-top:4px;max-width:58ch}
.rows .amt{font-stretch:112%;font-weight:650;font-size:19px;font-variant-numeric:tabular-nums}
.btn-line{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border:1.5px solid rgba(244,236,223,.5);border-radius:8px;font-weight:600;font-size:15px;white-space:nowrap;transition:border-color .2s,background-color .2s,color .2s}
.btn-line:hover{border-color:var(--ember);background:var(--ember);color:var(--night)}

/* ---------- the animals up close: a sideways row, drawn by the same 3D scene as the ride ---------- */
.zoo{display:none;position:relative;background:var(--night)}
.flight.live~.zoo{display:block}
.zoo-stage{position:relative;height:min(90svh,880px);min-height:580px;overflow:hidden}
.zoo-canvas,.zoo-canvas canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.zoo-canvas{opacity:0;transition:opacity .9s}
.zoo.ready .zoo-canvas{opacity:1}
.zoo-fade{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to bottom,var(--night) 0,rgba(8,8,10,.5) 12%,rgba(8,8,10,0) 30%,rgba(8,8,10,0) 60%,rgba(8,8,10,.78) 88%,var(--night) 100%)}
.zoo-track{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.zoo-track.drag{cursor:grabbing}
.zoo-slide{position:absolute;inset:0;display:flex;align-items:flex-end;padding-bottom:clamp(64px,9vh,104px);opacity:0;transform:translateY(14px);transition:opacity .35s,transform .35s;pointer-events:none}
.zoo-slide.on{opacity:1;transform:none}
.zoo-slide h3{font-stretch:125%;font-weight:700;font-size:clamp(52px,9.4vw,136px);letter-spacing:-.035em;line-height:.92}
.zoo-slide p{margin-top:14px;color:rgba(244,236,223,.86);max-width:30ch;font-size:clamp(16px,1.4vw,19px)}
.zoo-drag{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;color:var(--dim)}
.zoo-head{position:absolute;inset:clamp(44px,7vh,76px) 0 auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px;pointer-events:none}
.zoo-tabs{display:flex;gap:clamp(14px,2vw,26px);pointer-events:auto}
.zoo-tabs button{font-size:15px;font-weight:600;font-stretch:108%;color:var(--dim);padding:8px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.zoo-tabs button:hover{color:var(--bone)}
.zoo-tabs button.on{color:var(--bone);border-color:var(--ember)}
/* the big left and right arrows: always visible, so nobody has to guess how to reach the next animal */
.zoo-arrow{position:absolute;top:50%;margin-top:-34px;width:68px;height:68px;border-radius:12px;display:grid;place-items:center;color:var(--night);
  background:var(--bone);box-shadow:0 10px 34px rgba(0,0,0,.45);transition:background-color .2s,transform .2s}
.zoo-arrow.prev{left:max(14px,calc(var(--gut) - 14px))}
.zoo-arrow.next{right:max(14px,calc(var(--gut) - 14px))}
.zoo-arrow:hover{background:var(--ember)}
.zoo-arrow.next:hover{transform:translateX(3px)}
.zoo-arrow.prev:hover{transform:translateX(-3px)}

/* ---------- plan your visit (bone) ---------- */
.visit{background:var(--bone);color:var(--ink)}
.visit .lede{color:var(--ink-dim)}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);margin-top:clamp(40px,5vw,64px)}
.visit h3{margin-bottom:14px}
.before{margin-top:clamp(44px,5vw,72px)}
.before-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px);align-items:start}
.before .lists{margin-top:0}
.tbl{width:100%;border-collapse:collapse;border-top:1px solid var(--ink-rule)}
.tbl th,.tbl td{text-align:left;padding:12px 0;border-bottom:1px solid var(--ink-rule);font-weight:400}
.tbl td{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.visit .note{margin-top:16px;color:var(--ink-dim);font-size:15.5px}
.visit .link{text-decoration-color:var(--ember-ink)}
.visit .link:hover{color:var(--ember-ink)}
.lists{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
.lists h4{font-size:15px;font-weight:650;font-stretch:108%;margin-bottom:6px}
.lists li{font-size:15px;color:var(--ink-dim);line-height:1.45;padding:4px 0}
.faq details{border-bottom:1px solid var(--ink-rule)}
.faq details:first-of-type{border-top:1px solid var(--ink-rule)}
.faq summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;font-weight:600;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:0 0 12px;height:12px;background:
  linear-gradient(var(--ink),var(--ink)) 50%/100% 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) 50%/1.5px 100% no-repeat;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 32px 18px 0;color:var(--ink-dim);font-size:16px}
.visit :focus-visible{outline-color:var(--ember-ink)}

/* ---------- reviews and photos ---------- */
.proof-top{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,6vw,96px);align-items:end}
.proof-top p{margin-top:16px}
.stars{display:block;width:118px;height:22px;margin-bottom:18px;background:var(--ember);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 6.6 7 .8-5.2 4.8 1.5 7L12 17.6 5.7 21.2l1.5-7L2 9.4l7-.8z'/%3E%3C/svg%3E") 0 50%/23.6px 22px repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 6.6 7 .8-5.2 4.8 1.5 7L12 17.6 5.7 21.2l1.5-7L2 9.4l7-.8z'/%3E%3C/svg%3E") 0 50%/23.6px 22px repeat-x}
.sites{border-top:1px solid var(--rule)}
.sites a{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule);transition:color .2s}
.sites a:hover{color:var(--ember)}
.sites b{font-stretch:112%;font-weight:650;font-variant-numeric:tabular-nums}
.sites span{color:var(--dim);font-size:15px;font-variant-numeric:tabular-nums;min-width:7.5em;text-align:right}
.rev-widget{margin-top:clamp(32px,4vw,56px);border-radius:6px;overflow:hidden;background:#0f0e12;border:1px solid var(--rule)}
.rev-widget:empty{min-height:1px;margin-top:0;border:0;background:none}/* must keep a box: a hidden element never triggers the lazy load */
.rev-widget iframe{display:block;width:100%;min-width:100%;border:0;min-height:420px;
  /* dark version of the white widget: invert, then turn hues back so the stars stay gold */
  filter:invert(.92) hue-rotate(180deg)}
.photos{margin-top:clamp(64px,8vw,112px)}
.photos-head{display:flex;justify-content:space-between;align-items:end;gap:20px}
.photos-nav{display:flex;gap:8px}
.photos-nav button{width:46px;height:46px;border:1.5px solid rgba(244,236,223,.4);border-radius:8px;display:grid;place-items:center;transition:border-color .2s,background-color .2s}
.photos-nav button:hover{border-color:var(--ember);background:var(--ember)}
.photos-nav button:hover svg{stroke:var(--night)}
.strip{display:flex;gap:12px;margin-top:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);padding-inline:max(var(--gut),calc((100vw - var(--wrap))/2));scrollbar-width:none;-webkit-overflow-scrolling:touch}
.strip::-webkit-scrollbar{display:none}
.strip button{flex:0 0 auto;width:min(78vw,540px);scroll-snap-align:start;text-align:left;cursor:zoom-in}
.strip img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
.strip span{display:block;margin-top:10px;font-size:14px;color:var(--dim)}
.photos-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:30px;align-items:center}

/* ---------- creators (home page band) ---------- */
.creators{border-top:1px solid var(--rule)}
.creators-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.creators .lede{margin-top:16px}
.creators .form{max-width:none}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--rule);padding-block:clamp(56px,7vw,88px) 150px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(28px,4vw,56px)}
.foot video{height:92px;width:auto;border-radius:6px}
.foot-brand p{margin-top:18px;color:var(--dim);font-size:15.5px;max-width:34ch}
.foot h3{font-size:15px;color:var(--dim);font-weight:500;font-stretch:100%;margin-bottom:12px;letter-spacing:0}
.foot-col a,.foot-col p{display:block;padding:4px 0;font-size:16px}
.foot-col p{color:var(--dim)}
.foot-col a:hover{color:var(--ember)}
.foot-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(40px,5vw,64px);padding-top:22px;border-top:1px solid var(--rule);font-size:14px;color:var(--faint)}
.foot-bar a:hover{color:var(--bone)}
.foot-bar a{text-decoration:underline;text-underline-offset:4px}

/* ---------- the two always-on controls: Book and Chat ---------- */
.pz-zip{position:fixed;right:24px;bottom:24px;z-index:46}
.pz-zip-btn{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:14px 26px;border-radius:10px;background:var(--ember);color:var(--night);
  font-stretch:112%;font-weight:750;font-size:17px;letter-spacing:-.01em;box-shadow:0 14px 44px rgba(0,0,0,.5);transition:transform .2s,box-shadow .2s,opacity .25s}
.pz-zip-btn small{font-stretch:100%;font-weight:500;font-size:13px;opacity:.78;padding-left:12px;border-left:1.5px solid rgba(8,8,10,.3);font-variant-numeric:tabular-nums}
.pz-zip-btn:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(255,106,0,.35)}
.pz-zip.hide .pz-zip-btn{opacity:0;pointer-events:none}
.pz-chat{position:fixed;left:24px;bottom:24px;z-index:46;display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:10px 22px 10px 16px;border-radius:10px;
  background:rgba(19,18,23,.94);border:1px solid rgba(244,236,223,.24);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 44px rgba(0,0,0,.5);
  font-weight:650;font-stretch:108%;font-size:16px;transition:border-color .2s}
.pz-chat:hover{border-color:var(--ember)}
.pz-chat-ic{position:relative;display:inline-flex}
.pz-chat-dot{position:absolute;top:-4px;right:-5px;width:10px;height:10px;border-radius:50%;background:#2BD576;border:2px solid #131217}
.pz-mbar{position:fixed;inset:auto 0 0 0;z-index:45;display:none;gap:10px;padding:26px 12px calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(rgba(8,8,10,0),rgba(8,8,10,.92) 46%);pointer-events:none}
.pz-mbar>*{pointer-events:auto;min-height:56px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:16px;font-stretch:108%}
.pz-mbar-book{flex:1.35;background:var(--ember);color:var(--night)}
.pz-mbar-chat{flex:1;background:rgba(19,18,23,.96);border:1px solid rgba(244,236,223,.28)}
.pz-lc-host.pz-lc-closed{visibility:hidden!important;pointer-events:none!important}
.pz-chat-open .pz-zip,.pz-chat-open .pz-chat,.pz-chat-open .pz-mbar{opacity:0!important;pointer-events:none!important}

/* ---------- lightbox and video modal ---------- */
.pz-lb,.pz-vm{position:fixed;inset:0;z-index:70;background:rgba(8,8,10,.95);display:flex;align-items:center;justify-content:center;padding:20px}
.pz-lb{cursor:zoom-out}
.pz-lb[hidden],.pz-vm[hidden]{display:none}
.pz-lb img{max-width:100%;max-height:88vh;border-radius:4px}
.pz-lb-x,.pz-vm-x{position:absolute;top:14px;right:16px;width:48px;height:48px;border-radius:8px;background:rgba(8,8,10,.6);font-size:34px;line-height:1;z-index:2}
.pz-vm-box{position:relative;width:min(1100px,100%);aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden}
.pz-vm-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pz-vm-alt{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-size:14px;color:var(--dim)}
.pz-vm-alt a{text-decoration:underline}

/* ---------- sub pages (groups, creators) ---------- */
.sub main{padding-top:68px}
.sub-head{padding-block:clamp(56px,8vw,104px) clamp(32px,4vw,48px)}
.sub-head h1{max-width:15em}
.sub-head .lede{margin-top:18px}
.grp{border-top:1px solid var(--rule)}
.grp li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--rule)}
.grp p{color:var(--dim)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;margin-top:36px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 28px;border-radius:10px;background:var(--ember);color:var(--night);font-weight:750;font-stretch:110%;font-size:17px;transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.form .btn{background:var(--bone)}/* the form's own action is bone, so ember stays reserved for Book */
.btn[disabled]{opacity:.6;transform:none}
.form{max-width:520px}
.field{margin-bottom:18px}
.field label{display:block;font-size:15px;font-weight:600;margin-bottom:7px}
.field input{width:100%;min-height:54px;padding:12px 16px;border-radius:8px;background:var(--night-2);border:1.5px solid rgba(244,236,223,.28);color:var(--bone);font:inherit}
.field input:focus{outline:none;border-color:var(--ember)}
.field input::placeholder{color:var(--faint)}
.fine{margin-top:16px;font-size:14px;color:var(--faint)}
.fine a{text-decoration:underline}
.err{margin-top:16px;padding:14px 16px;border:1.5px solid #E0523A;border-radius:8px;font-size:15px}
.err a{text-decoration:underline}
.thanks{display:none;max-width:520px;padding:28px 0}
.thanks.show{display:block}
.thanks p{margin-top:10px;color:var(--dim)}

/* ---------- responsive ---------- */
@media(max-width:940px){
  :root{--nav-h:88px}
  .nav-links{display:none}
  .burger{display:flex}
  .logo video{height:68px}
  .nav.stuck .logo video,.sub .logo video{height:54px}
  .nav.stuck,.sub .nav{height:70px}
  .feature,.visit-grid,.before-grid,.proof-top,.creators-grid,.flight-static{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media(max-width:820px){
  body{font-size:16.5px}
  .d{font-stretch:112%}
  .pz-zip,.pz-chat{display:none}
  .pz-mbar{display:flex}
  .vm-open{display:none!important}/* Watch with sound stays on desktop only */
  .hero-copy{padding-bottom:112px}
  .hero-shade{background:linear-gradient(to top,rgba(8,8,10,.96) 0%,rgba(8,8,10,.82) 34%,rgba(8,8,10,.2) 62%,rgba(8,8,10,0) 76%)}
  .hero-sub{margin-top:14px}
  .facts{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;row-gap:2px}
  .facts div{margin:0;padding:10px 0 0;border-right:0}
  .facts dd{font-size:17px}
  .flight.live{height:calc(100svh + 1700px)}
  .flight-head{inset:calc(70px + 3vh) 0 auto 0}
  .flight-bottom{padding-bottom:calc(98px + env(safe-area-inset-bottom))}
  .flight-note{font-size:15px;min-height:4.4em}
  .flight-track button span{position:absolute;top:22px;white-space:nowrap;opacity:0}
  .flight-track button.on span{opacity:1}
  .flight-track button:first-child span{left:0}
  .flight-track button:last-of-type span{right:0}
  .flight-track{margin-bottom:26px}
  .flight-meta{margin-top:8px}
  .rows li{grid-template-columns:1fr auto;gap:8px 16px}
  .rows li>div{grid-column:1/-1}
  .rows .amt:empty{display:none}
  .rows .amt:empty+.btn-line{grid-column:1/-1;justify-self:start}
  .zoo-stage{height:min(86svh,760px);min-height:540px}
  .zoo-head{flex-direction:column;align-items:flex-start;gap:14px;inset:36px 0 auto 0}
  .zoo-slide{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .zoo-arrow{width:52px;height:52px;margin-top:-56px}
  .zoo-arrow.prev{left:10px}
  .zoo-arrow.next{right:10px}
  .lists{grid-template-columns:1fr}
  .spec div{grid-template-columns:6.5em 1fr}
  .grp li{grid-template-columns:1fr;gap:4px}
  .foot{padding-bottom:130px}
  .photos-nav{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
