:root{
  --maroon:#890603; --deep:#4e0402; --board:#2c0201; --flap:#470705;
  --white:#fff; --blush:#fbf5f2; --ink:#1d1110; --muted:#6d5c59; --hair:rgba(137,6,3,.2);
  --serif:"Instrument Serif",Georgia,serif; --sans:"Schibsted Grotesk",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  --nav:76px; --gut:clamp(24px,5vw,80px); --wing:clamp(64px,12vw,200px);
}
*{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%}
html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--white);color:var(--ink);font:400 17px/1.6 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,figure,ol,ul{margin:0;padding:0}
ol,ul{list-style:none}
em{font-style:italic}
[hidden]{display:none!important}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip{position:fixed;left:12px;top:-60px;z-index:60;background:var(--maroon);color:#fff;padding:10px 16px}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--maroon);outline-offset:3px}
[data-dark] :focus-visible{outline-color:#fff}
.wrap{position:relative;z-index:2;width:min(1320px,100% - var(--gut)*2);margin-inline:auto}
h2{font:400 clamp(44px,6.2vw,92px)/1 var(--serif);letter-spacing:-.015em}
.eyebrow{font:600 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--maroon);margin-bottom:22px}
.eyebrow.light{color:rgba(255,255,255,.75)}

/* wing-cut buttons, taken from the sweep of the logo */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;font:600 16px/1 var(--sans);text-decoration:none;border:1.5px solid var(--maroon);border-radius:3px 20px 3px 20px;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.btn:hover{transform:translateX(4px)}
.btn.solid{background:var(--maroon);color:#fff}
.btn.solid:hover{background:var(--deep);border-color:var(--deep)}
.btn.ghost{background:transparent;color:var(--maroon)}
.btn.ghost:hover{background:var(--maroon);color:#fff}
.btn.small{min-height:42px;padding:0 22px;font-size:15px}

/* nav */
.nav{position:sticky;top:0;z-index:40;height:var(--nav);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 var(--gut);background:#fff;border-bottom:1px solid var(--hair)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:58px}
.brand span{font:400 25px/1 var(--serif);white-space:nowrap}
.links{display:flex;gap:34px}
.links a{font-size:15.5px;font-weight:500;text-decoration:none;position:relative;padding:6px 0}
.links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--maroon);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.links a:hover::after{transform:scaleX(1)}
.nav-end{display:flex;align-items:center;gap:14px}
.ig{width:42px;height:42px;display:grid;place-items:center;color:var(--maroon);border:1.5px solid var(--hair);border-radius:50%;transition:background .25s,color .25s}
.ig:hover{background:var(--maroon);color:#fff}

/* flight legs */
.leg{position:absolute;left:0;right:0;top:0;height:clamp(150px,22vw,300px);z-index:1;pointer-events:none;overflow:hidden}
.leg svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.leg path{fill:none;stroke-linecap:round}
.leg .vapour{stroke-width:9;opacity:.09}
.leg .line{stroke-width:1.6}
.leg .maroon{stroke:var(--maroon)}
.leg .white{stroke:#fff}
.plane{position:absolute;left:0;top:0;width:var(--pw,96px);aspect-ratio:360/214;margin:calc(var(--pw,96px)*-.297) 0 0 calc(var(--pw,96px)*-.5);background:var(--pc,var(--maroon));-webkit-mask:url(assets/mark.png) center/100% 100% no-repeat;mask:url(assets/mark.png) center/100% 100% no-repeat;will-change:transform}

/* hero */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);min-height:calc(100svh - var(--nav));overflow:hidden;background:#fff}
.hero-copy{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:32px clamp(20px,3vw,48px) 96px var(--gut);translate:0 var(--pin,0);opacity:var(--pop,1)}
.kicker{font:600 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);margin-bottom:20px}
h1{font:400 clamp(60px,min(8.4vw,15.4vh),148px)/.94 var(--serif);letter-spacing:-.02em}
h1 span{display:block;will-change:transform}
h1 .accent{color:var(--maroon)}
.lead{max-width:30em;margin-top:24px;font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.fly-pre{opacity:0}
.hero-photo{position:relative;z-index:2;margin:0;overflow:hidden;border-bottom-left-radius:var(--wing);transform:translateX(16vw);transition:transform 1.5s cubic-bezier(.16,.84,.24,1)}
body.ready .hero-photo{opacity:1;transform:none}
.hero-photo{background:#120605;cursor:pointer}
.hero-photo img{position:absolute;left:0;top:-7%;width:100%;height:114%;object-fit:cover;object-position:58% 50%;translate:0 var(--pbg,0);transform:scale(1.03);opacity:0;transition:opacity .8s}
.hero-photo.fallback img{opacity:1}
.hv{position:absolute;left:0;top:-7%;width:100%;height:114%;object-fit:cover;object-position:50% 50%;translate:0 var(--pbg,0);pointer-events:none}
.hero-photo.fallback .hv{visibility:hidden}
.hero-watch{position:absolute;right:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,28px);display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 18px;font:600 15px/1 var(--sans);text-decoration:none;color:var(--maroon);background:#fff;border-radius:3px 16px 3px 16px;transition:transform .25s}
.hero-watch::after{content:"";position:absolute;inset:-200vmax} /* the whole film is the play button */
.hero-photo:hover .hero-watch{transform:translateX(4px)}
.hero-watch:focus-visible{outline-color:#fff}
#petals{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.leg-hero{height:100%;z-index:5;--pw:clamp(96px,10vw,150px)}
.leg-hero .vapour{stroke-width:12}

/* about */
.about{position:relative;padding:clamp(190px,27vw,350px) 0 clamp(90px,12vw,170px)}
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,120px);align-items:center}
.about-photo{overflow:hidden;border-top-right-radius:var(--wing)}
.about-photo img{width:100%}
.about-copy h2{font-size:clamp(40px,4.7vw,72px);margin-bottom:28px}
.about-copy p:not(.eyebrow):not(.sign){color:var(--muted);margin-top:16px;max-width:36em}
.about-copy .about-text{font-size:clamp(20px,1.75vw,25px);line-height:1.42;color:var(--ink)!important}
.sign{margin-top:34px;font:400 30px/1.05 var(--serif);color:var(--maroon)}
.sign span{display:block;margin-top:8px;font:500 14px/1.3 var(--sans);color:var(--muted)}

/* veil exposure pull */
.veil{position:relative;height:190vh;background:#050303}
.veil-stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.veil-stick img{width:100%;height:100%;object-fit:cover;object-position:42% 42%;filter:brightness(var(--exp,.55))}
.veil-stick::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 42%,rgba(5,3,3,.6) 78%)}
.veil-text{position:absolute;z-index:2;right:var(--gut);top:50%;width:min(520px,44vw);color:#fff;opacity:var(--vt,0);transform:translateY(calc(-50% + (1 - var(--vt,0))*40px))}
.veil-line{font:400 clamp(42px,5vw,78px)/1.02 var(--serif);letter-spacing:-.015em}

/* gallery */
.gallery{position:relative;padding:clamp(180px,25vw,330px) 0 clamp(90px,12vw,170px)}
.gallery-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:56px}
.text-link{color:var(--maroon);font-weight:500;text-underline-offset:5px;white-space:nowrap}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,56px) clamp(20px,2.4vw,32px)}
.film-lead{grid-column:1/-1}
.film figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-top:14px}
.fc-t{font:400 clamp(26px,2.3vw,34px)/1.08 var(--serif)}
.fc-t small{display:block;margin-top:5px;font:400 15.5px/1.35 var(--sans);color:var(--muted)}
.fc-d{font:500 13px/1 var(--mono);color:var(--muted)}
.play{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:var(--board);border-radius:4px}
.play img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.play:hover img{transform:scale(1.025)}
.play-dot{position:absolute;left:clamp(14px,1.6vw,22px);bottom:clamp(14px,1.6vw,22px);width:56px;height:56px;display:grid;place-items:center;padding-left:3px;color:var(--maroon);background:#fff;border-radius:50%;transition:background .25s,color .25s}
.play:hover .play-dot{background:var(--maroon);color:#fff}
.play:focus-visible{outline-offset:3px}

/* fullscreen film player */
.cinema{position:fixed;inset:0;z-index:100;background:#000}
.cinema iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cinema-x{position:absolute;right:16px;top:16px;z-index:2;width:46px;height:46px;display:grid;place-items:center;padding:0;color:#fff;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.4);border-radius:50%;cursor:pointer}
.cinema-x:focus-visible{outline-color:#fff}

/* services */
.services{position:relative;background:var(--blush);padding:clamp(90px,11vw,160px) 0}
.services-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,100px);align-items:start}
.services-head{position:sticky;top:calc(var(--nav) + 48px)}
.service-list li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;padding:34px 0;border-top:1px solid var(--hair)}
.service-list li:last-child{border-bottom:1px solid var(--hair)}
.code{font:600 13px/1 var(--mono);color:var(--maroon);padding-top:13px}
.service-list h3{font:400 clamp(32px,3.4vw,50px)/1.05 var(--serif);margin-bottom:10px}
.service-list p{color:var(--muted);max-width:34em}
.wave{display:flex;align-items:center;gap:6px;height:74px;margin-top:22px}
.wave i{width:3px;height:var(--h);background:var(--maroon);border-radius:2px;animation:wv 1.5s ease-in-out infinite alternate;animation-delay:var(--d);animation-play-state:var(--play,paused)}
@keyframes wv{from{transform:scaleY(.35)}to{transform:scaleY(1)}}

/* departures board */
.where{position:relative;background:var(--maroon);color:#fff;padding:clamp(90px,11vw,160px) 0}
.where-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:30px;align-items:end;margin-bottom:50px}
.where-head p:last-child{color:rgba(255,255,255,.85)}
.board{background:var(--board);padding:clamp(14px,2.4vw,32px);border-radius:6px;box-shadow:0 34px 70px -32px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.08)}
.board-top,.fl-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 170px;gap:24px;align-items:center}
.board-top{font:600 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62);padding-bottom:16px}
.fl-row{padding:6px 0;border-top:1px solid rgba(255,255,255,.07)}
.fl-cells{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:clamp(2px,.4vw,5px);max-width:760px}
.fl{position:relative;aspect-ratio:4/5;display:grid;place-items:center;background:var(--flap);border-radius:3px;font:600 clamp(13px,2.1vw,31px)/1 var(--mono);color:#fff;overflow:hidden}
.fl::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.65)}
.fl-no,.fl-cov{font:600 clamp(13px,1.15vw,16px)/1.2 var(--mono);color:rgba(255,255,255,.9)}

/* packages */
.fares{position:relative;padding:clamp(90px,11vw,160px) 0 0}
.fares-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:30px;align-items:end;margin-bottom:50px}
.fares-head p:last-child{color:var(--muted)}
.fare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
.fare{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3.4vw,50px);border:1.5px solid var(--hair);border-radius:3px calc(var(--wing)*.6) 3px 3px}
.fare-for{font:600 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--maroon)}
.fare h3{font:400 clamp(38px,4vw,60px)/1.02 var(--serif);margin-top:14px}
.fare-hours{display:flex;align-items:flex-end;gap:14px;margin-top:clamp(26px,3vw,42px)}
.fare-hours b{font:400 clamp(92px,10vw,150px)/.8 var(--serif);letter-spacing:-.03em;color:var(--maroon)}
.fare-hours span{max-width:7.5em;font-size:16px;line-height:1.3;font-weight:500}
.fare-list{width:100%;margin:clamp(24px,2.6vw,36px) 0 clamp(28px,3vw,40px)}
.fare-list li{padding:13px 0;border-top:1px solid var(--hair);color:var(--muted)}
.fare .btn{margin-top:auto}
.fare.first{background:var(--maroon);border-color:var(--maroon);color:#fff}
.fare.first .fare-for,.fare.first .fare-hours b{color:#fff}
.fare.first .fare-list li{border-color:rgba(255,255,255,.28);color:rgba(255,255,255,.88)}
.fare.first .btn{background:#fff;border-color:#fff;color:var(--maroon)}
.fare.first .btn:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.fare.first :focus-visible{outline-color:#fff}
.extras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(18px,2.4vw,32px);margin-top:clamp(50px,6vw,80px)}
.extras li{min-height:112px;padding:20px 0;border-top:1px solid var(--hair)}
.extras b{display:block;font:400 clamp(25px,2.2vw,32px)/1.1 var(--serif)}
.extras span{display:block;margin-top:6px;font-size:15px;color:var(--muted)}
.extras-head h3{font:600 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--maroon)}
.extras-head p{margin-top:8px;font-size:15px;line-height:1.4;color:var(--muted)}

/* faq */
.faq{position:relative;background:var(--blush);padding:clamp(90px,11vw,160px) 0}
.faq-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,100px);align-items:start}
.faq-head{position:sticky;top:calc(var(--nav) + 48px)}
.faq-list>div{padding:32px 0;border-top:1px solid var(--hair)}
.faq-list>div:last-child{border-bottom:1px solid var(--hair)}
.faq-list dt{font:400 clamp(28px,2.7vw,40px)/1.1 var(--serif)}
.faq-list dd{margin:12px 0 0;max-width:36em;color:var(--muted)}

/* boarding pass */
.book{position:relative;padding:clamp(250px,32vw,440px) 0 clamp(100px,12vw,170px)}
.leg-heart{height:clamp(240px,31vw,430px)}
.book-head{max-width:640px;margin-bottom:44px}
.book-head p:not(.eyebrow){color:var(--muted);margin-top:18px}
.pass{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);filter:drop-shadow(0 28px 44px rgba(78,4,2,.17))}
.pass-main,.pass-stub{background:#fff;min-width:0}
.pass-main{border-radius:16px 0 0 16px;-webkit-mask:radial-gradient(circle 15px at 100% 0,transparent 98%,#000) top,radial-gradient(circle 15px at 100% 100%,transparent 98%,#000) bottom;-webkit-mask-size:100% 51%;-webkit-mask-repeat:no-repeat;mask:radial-gradient(circle 15px at 100% 0,transparent 98%,#000) top,radial-gradient(circle 15px at 100% 100%,transparent 98%,#000) bottom;mask-size:100% 51%;mask-repeat:no-repeat}
.pass-stub{position:relative;border-radius:0 16px 16px 0;padding:34px 30px 28px;display:flex;flex-direction:column;gap:18px;border-left:2px dashed var(--hair);-webkit-mask:radial-gradient(circle 15px at 0 0,transparent 98%,#000) top,radial-gradient(circle 15px at 0 100%,transparent 98%,#000) bottom;-webkit-mask-size:100% 51%;-webkit-mask-repeat:no-repeat;mask:radial-gradient(circle 15px at 0 0,transparent 98%,#000) top,radial-gradient(circle 15px at 0 100%,transparent 98%,#000) bottom;mask-size:100% 51%;mask-repeat:no-repeat;overflow:hidden}
.pass-band{display:flex;align-items:center;gap:14px;padding:18px 28px;background:var(--maroon);color:#fff}
.pass-band img{width:50px}
.pass-band strong{font:400 26px/1 var(--serif)}
.pass-band span{margin-left:auto;font:600 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;padding:30px 28px 34px}
.fields .wide{grid-column:1/-1}
.fields label,.fields legend{display:block;font:600 11.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--maroon);min-width:0}
.fields i{font-style:normal}
.fields fieldset{border:0;padding:0;margin:0;min-width:0}
input,textarea{font:400 17px/1.3 var(--sans);color:var(--ink)}
.fields input:not([type=checkbox]),.fields textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;margin-top:6px;padding:10px 0;background:transparent;border:0;border-bottom:1.5px solid var(--hair);border-radius:0;outline:0;-webkit-appearance:none;appearance:none;transition:border-color .2s;text-transform:none;letter-spacing:0}
.fields input::-webkit-date-and-time-value{text-align:left}
.fields input:focus,.fields textarea:focus{border-color:var(--maroon)}
.fields .bad input,.fields input.bad{border-color:#d11}
.fields textarea{resize:vertical}
::placeholder{color:#a89793}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:flex;align-items:center;min-height:46px;padding:0 22px;font:500 16px/1 var(--sans);letter-spacing:0;text-transform:none;color:var(--maroon);border:1.5px solid var(--hair);border-radius:3px 16px 3px 16px;transition:background .2s,color .2s,border-color .2s}
.chips input:checked+span{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.chips input:focus-visible+span{outline:2px solid var(--maroon);outline-offset:3px}
.bad-group .chips span{border-color:#d11}
.trap{position:absolute;left:-9999px;height:0;overflow:hidden}
.stub-row small{display:block;font:600 11.5px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--maroon);margin-bottom:6px}
.stub-row b{display:block;font:400 clamp(28px,2.6vw,36px)/1.08 var(--serif);overflow-wrap:anywhere}
.stub-row b.empty{color:#b9aaa6}
.stub-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.stub-two b{font-size:clamp(23px,1.9vw,27px)}
.barcode{width:100%;height:52px;margin-top:auto;fill:var(--ink)}
.wide-btn{width:100%}
.wide-btn[disabled]{opacity:.6;cursor:wait}
.note{font-size:14.5px;line-height:1.45;color:var(--muted);min-height:1.45em}
.note.err{color:#b30f0f}
.note.ok{color:var(--maroon);font-weight:500}
.stamp{position:absolute;left:50%;top:33%;padding:10px 20px;font:600 27px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--maroon);border:3px solid var(--maroon);border-radius:7px;background:rgba(255,255,255,.75);transform:translate(-50%,-50%) rotate(-14deg) scale(2.4);opacity:0;pointer-events:none;transition:transform .34s cubic-bezier(.3,1.5,.5,1),opacity .18s}
.stamp.on{transform:translate(-50%,-50%) rotate(-14deg) scale(1);opacity:1}

/* footer */
.foot{position:relative;background:var(--maroon);color:#fff;padding:clamp(170px,23vw,290px) 0 30px;overflow:hidden}
.leg-land{height:clamp(150px,21vw,280px);--pw:clamp(64px,8vw,120px)}
.leg-land::after{content:"";position:absolute;left:58%;right:9%;bottom:calc(26% - 25px);height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.6) 0 22px,transparent 22px 40px)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end}
.foot h2{font-size:clamp(58px,8.4vw,132px);line-height:.94}
.foot a{text-underline-offset:5px}
.foot-mail{display:block;font:400 clamp(28px,3.1vw,48px)/1.1 var(--serif);overflow-wrap:anywhere}
.foot-tel{display:block;margin-top:12px;font:400 clamp(26px,2.5vw,38px)/1.1 var(--serif);text-decoration:none}
.foot-social{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px;font-size:16px}
.foot-end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;margin-top:clamp(50px,7vw,90px);padding-top:20px;border-top:1px solid rgba(255,255,255,.28);font-size:14.5px;color:rgba(255,255,255,.88)}
.built{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.built i{font-style:normal;opacity:.65}
.dev-ig{display:inline-flex;align-items:center;gap:5px}

/* reveals */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--dl,0s)}
.rv-left{transform:translateX(-46px)}.rv-right{transform:translateX(46px)}
.rv.in{opacity:1;transform:none}

@media (max-width:1000px){
  .links{display:none}
  .about-grid,.services-grid,.faq-grid{grid-template-columns:minmax(0,1fr)}
  .services-head,.faq-head{position:static}
  .fares-head{grid-template-columns:minmax(0,1fr)}
  .extras{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-photo{max-width:520px}
  .where-head{grid-template-columns:minmax(0,1fr)}
  .pass{grid-template-columns:minmax(0,1fr)}
  .pass-main{border-radius:16px 16px 0 0;-webkit-mask:radial-gradient(circle 15px at 0 100%,transparent 98%,#000) left,radial-gradient(circle 15px at 100% 100%,transparent 98%,#000) right;-webkit-mask-size:51% 100%;-webkit-mask-repeat:no-repeat;mask:radial-gradient(circle 15px at 0 100%,transparent 98%,#000) left,radial-gradient(circle 15px at 100% 100%,transparent 98%,#000) right;mask-size:51% 100%;mask-repeat:no-repeat}
  .pass-stub{border-radius:0 0 16px 16px;border-left:0;border-top:2px dashed var(--hair);-webkit-mask:radial-gradient(circle 15px at 0 0,transparent 98%,#000) left,radial-gradient(circle 15px at 100% 0,transparent 98%,#000) right;-webkit-mask-size:51% 100%;-webkit-mask-repeat:no-repeat;mask:radial-gradient(circle 15px at 0 0,transparent 98%,#000) left,radial-gradient(circle 15px at 100% 0,transparent 98%,#000) right;mask-size:51% 100%;mask-repeat:no-repeat}
  .barcode{min-height:52px}
}

@media (max-width:760px){
  :root{--nav:66px}
  body{font-size:16.5px}
  .brand img{width:48px}.brand span{font-size:22px}
  .ig{display:none}
  .hero{display:flex;flex-direction:column;min-height:calc(100svh - var(--nav))}
  .hero-copy{justify-content:flex-start;padding:28px var(--gut) 24px}
  h1{font-size:clamp(58px,17.4vw,86px)}
  .lead{margin-top:16px}
  .kicker{font-size:11px;letter-spacing:.06em;white-space:nowrap;margin-bottom:14px}
  .cta{margin-top:20px;gap:8px;flex-wrap:nowrap}.cta .btn{flex:0 1 auto;padding:0 14px;font-size:15px;white-space:nowrap}.cta .btn.solid{flex:1 1 auto}
  .hero-photo{flex:1 0 auto;min-height:30svh;transform:translateY(40px)}
  .hero-photo img{object-position:60% 40%}
  .leg-hero{--pw:74px}
  .leg{--pw:58px}
  .about{padding-top:170px}
  .veil{height:170vh}
  .veil-stick img{object-position:34% 40%}
  .veil-stick::after{background:linear-gradient(0deg,rgba(5,3,3,.86) 8%,transparent 54%)}
  .veil-text{left:var(--gut);right:var(--gut);top:auto;bottom:clamp(44px,9svh,84px);width:auto;transform:translateY(calc((1 - var(--vt,0))*30px))}
  .gallery-head{flex-direction:column;align-items:flex-start;margin-bottom:34px}
  .text-link{white-space:normal}
  .film-grid{grid-template-columns:minmax(0,1fr)}
  .hero-watch{min-height:40px;padding:0 14px;font-size:14px}
  .service-list li{grid-template-columns:minmax(0,1fr);gap:8px;padding:26px 0}
  .code{padding-top:0}
  .where-head{margin-bottom:32px}
  .fares-head{margin-bottom:32px}
  .fare-grid{grid-template-columns:minmax(0,1fr)}
  .fare .btn{width:100%}
  .extras{grid-template-columns:minmax(0,1fr)}
  .extras li{min-height:0;padding:15px 0;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
  .extras li.extras-head{display:block;padding-top:0;border-top:0}
  .extras span{margin-top:0;text-align:right}
  .board-top,.fl-row{grid-template-columns:minmax(0,1fr)}
  .hide-s,.fl-no,.fl-cov{display:none}
  .fields{grid-template-columns:minmax(0,1fr);padding:26px 22px 30px;gap:18px}
  .pass-band{padding:15px 22px}.pass-band span{display:none}
  .pass-stub{padding:28px 22px}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
  .foot-end{flex-direction:column}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv,.fly-pre,.hero-photo{opacity:1!important;transform:none!important}
  #petals{display:none}
  .veil{height:auto}.veil-stick{position:relative;--exp:1.15;--vt:1}
}
