/* Event page — dark for Cinema, light for Editorial/Mosaic */
.t-editorial,.t-mosaic{--bg:#f5f2ec;--fg:#151412;--muted:#776f65;--line:rgba(21,20,18,.13);--card:#fff;--hot:#c2412d;--reme:#c9a15a}
.t-mosaic{--bg:#fbfaf8}
.t-editorial{--f-display:Fraunces,Georgia,serif}
.t-cinema{--bg:#09090a;--fg:#f5f3ef;--muted:#8f8b84;--card:#141416}
html:not(.ready) #ev{opacity:0}html.early #ev{opacity:1}#ev{transition:opacity .45s var(--ease)}
.back{font-size:14px;font-weight:600;padding:9px 16px;border-radius:99px;border:1px solid rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(8px);background:rgba(0,0,0,.2)}
.nav{color:#fff}.nav.solid{color:var(--fg)}.nav.solid .back{color:var(--fg);border-color:var(--line);background:none}
.e-hero{position:relative;height:min(86vh,820px);min-height:520px;overflow:hidden;background:#000;color:#fff}
.e-bg{position:absolute;inset:0}.e-bg img,.e-bg video{width:100%;height:100%;object-fit:cover;animation:kb 18s ease-out forwards}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1.0)}}
.e-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.15) 70%,rgba(0,0,0,.45) 100%)}
.e-hero-in{position:absolute;left:var(--pad);right:var(--pad);bottom:clamp(36px,7vh,72px);max-width:1100px}
.e-hero-in>*{animation:up .9s var(--ease) both}.e-hero-in>*:nth-child(2){animation-delay:.06s}.e-hero-in>*:nth-child(3){animation-delay:.12s}.e-hero-in>*:nth-child(4){animation-delay:.18s}.e-hero-in>*:nth-child(5){animation-delay:.24s}
@keyframes up{from{opacity:0;transform:translateY(24px)}}
.crumbs{font:600 12px Inter;letter-spacing:.14em;text-transform:uppercase;opacity:.8}.crumbs span{margin:0 6px;opacity:.5}.crumbs a:hover{text-decoration:underline}
.e-pills{display:flex;gap:8px;margin:16px 0 14px}.e-hero .pill.sample{color:#fff}
.e-hero h1{font-size:clamp(42px,7vw,104px);font-weight:900;letter-spacing:-.035em;line-height:.93;text-wrap:balance;max-width:16ch}
.t-editorial .e-hero h1{font-weight:300;letter-spacing:-.03em;font-variation-settings:"opsz" 144}
.e-kicker{font-size:clamp(16px,1.6vw,21px);margin-top:16px;opacity:.9;max-width:640px}
.e-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.btn.solid{background:#fff;color:#000}.btn.solid:hover{background:#e7e3dc}
.btn.line{border:1px solid rgba(255,255,255,.5);color:#fff;background:rgba(0,0,0,.18);backdrop-filter:blur(6px);padding:0 20px;gap:8px}.btn.line:hover{background:rgba(255,255,255,.14)}
.btn.line.on{color:var(--hot);background:#fff;border-color:#fff}
.e-facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);max-width:1400px;margin:0 auto}
.e-facts div{padding:26px var(--pad) 26px 28px;border-right:1px solid var(--line)}.e-facts div:first-child{padding-left:var(--pad)}.e-facts div:last-child{border:0}
.e-facts span{display:block;font:600 11px Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.e-facts b{font-weight:600;font-size:15.5px;line-height:1.4;display:block}
.e-facts b a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.e-facts small{display:block;color:var(--muted);font-size:13.5px;margin-top:4px}
.e-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(30px,5vw,80px);max-width:1400px;margin:0 auto;padding:64px var(--pad) 40px}
.e-main section{margin-bottom:56px}
.why h2{font:600 11.5px Inter;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.lead{font:400 clamp(21px,2.1vw,29px)/1.45 Fraunces,Georgia,serif;letter-spacing:-.01em;max-width:34em}
.e-main h3{font-size:clamp(22px,2vw,28px);font-weight:700;margin-bottom:18px;letter-spacing:-.015em}.t-editorial .e-main h3{font-weight:400}
.good ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}.good li{padding:14px 0 0;border-top:1px solid var(--line);font-size:15.5px}
.g{display:grid;gap:10px}.g1{grid-template-columns:1fr}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.g3 .g-it:first-child{grid-row:span 2}
.g4{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}.g4 .g-it:first-child{grid-row:span 2}.g4 .g-it:nth-child(4){grid-column:span 2}
.g-it{overflow:hidden;border-radius:4px;aspect-ratio:4/3;min-height:0}.g3 .g-it:first-child,.g4 .g-it:first-child{aspect-ratio:auto}
.g-it img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.g-it:hover img{transform:scale(1.05)}
.v-frame{aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden}.v-frame iframe,.v-frame video{width:100%;height:100%;border:0}
.verify{padding:26px 28px;border:1px solid var(--line);border-radius:6px;font-size:14.5px;color:var(--muted)}.verify h3{font-size:17px!important;color:var(--fg);margin-bottom:10px!important}
.verify ul{margin:12px 0;padding-left:18px}.verify a{color:var(--fg);text-decoration:underline;text-underline-offset:2px;word-break:break-all}.verify .note{font-size:13px}
.e-side{position:relative}.side-card{position:sticky;top:96px;padding:26px;border-radius:8px;background:var(--card);border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.08)}
.side-card h3{font-size:22px;margin:12px 0 8px;font-weight:700}.t-editorial .side-card h3{font-weight:400;font-size:26px}
.s-when{font-size:14.5px;color:var(--muted)}.s-price{font-weight:700;margin:12px 0 18px}
.btn.wide{width:100%;justify-content:center}.side-card .btn.solid{background:var(--fg);color:var(--bg)}
.s-row{display:flex;gap:8px;margin-top:10px}.s-row .btn{flex:1;justify-content:center;height:44px;color:var(--fg);border-color:var(--line);background:none;backdrop-filter:none;font-size:14px;padding:0 12px}
.s-row .btn.on{color:var(--hot);background:none;border-color:var(--hot)}
.s-map{display:block;margin-top:18px;font-size:13.5px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:20px}
.pn-a{position:relative;height:220px;overflow:hidden;display:flex;align-items:flex-end;color:#fff;background:#000}
.pn-a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform 1s var(--ease),opacity .4s}.pn-a:hover img{transform:scale(1.05);opacity:.75}
.pn-a span{position:relative;padding:28px var(--pad)}.pn-a.next{justify-content:flex-end;text-align:right}
.pn-a small{display:block;font:600 11.5px Inter;letter-spacing:.16em;text-transform:uppercase;opacity:.8;margin-bottom:8px}.pn-a b{font:800 clamp(20px,2.4vw,32px)/1.05 var(--f-display);letter-spacing:-.02em}
.t-editorial .pn-a b{font-weight:400}
.more{padding:56px 0 10px}.more-h{padding:0 var(--pad);margin-bottom:18px}.more h2{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em}.t-editorial .more h2{font-weight:400}
.m-track{display:flex;gap:18px;overflow-x:auto;padding:0 var(--pad) 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.m-track::-webkit-scrollbar{display:none}
.mini{flex:none;width:clamp(220px,21vw,290px);scroll-snap-align:start}
.mini-img{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:6px}.mini-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.mini:hover img{transform:scale(1.05)}
.mini-k{display:flex;gap:6px;margin:10px 0 0;min-height:4px}.mini h4{font-size:17px;margin-top:8px;line-height:1.2}.t-editorial .mini h4{font-weight:400;font-size:19px}.mini-m{font-size:13px;color:var(--muted);margin-top:4px}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;animation:fade .25s}.lightbox[hidden]{display:none}
@keyframes fade{from{opacity:0}}.lightbox img{max-width:88vw;max-height:86vh;object-fit:contain;border-radius:4px}
.lightbox button{position:absolute;color:#fff;font-size:44px;width:60px;height:60px}.lb-x{top:16px;right:16px}.lb-p{left:12px}.lb-n{right:12px}
@media (max-width:900px){.e-body{grid-template-columns:1fr}.side-card{position:static}.e-facts{grid-template-columns:1fr 1fr}.e-facts div{padding:18px var(--pad)!important;border-bottom:1px solid var(--line)}
  .good ul{grid-template-columns:1fr}.pn{grid-template-columns:1fr}.pn-a{height:150px}.mini{width:64vw}.e-hero{height:80vh}.nav-links{display:none}}
.nav .nav-links a{color:rgba(255,255,255,.82)}.nav.solid .nav-links a{color:var(--muted)}
.g3,.g4{grid-auto-rows:clamp(150px,17vw,230px)}.g3 .g-it,.g4 .g-it{aspect-ratio:auto;height:100%}
.g4{grid-template-rows:none}.g3{grid-template-rows:none}
.t-mix{--bg:#09090a;--fg:#f5f3ef;--muted:#8f8b84;--card:#141416;--line:rgba(255,255,255,.12)}
.nav .lang{border-color:rgba(255,255,255,.35);color:#fff}.nav .lang button.on{background:#fff;color:#111}
.nav.solid .lang{border-color:var(--line);color:var(--fg)}.nav.solid .lang button.on{background:var(--fg);color:var(--bg)}
.mt-note{margin-top:12px;font-size:13px;color:var(--muted);font-style:italic}
.e-map{margin-top:18px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.e-map-h{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font:600 11px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.e-map-h em{font-style:normal;color:var(--hot);letter-spacing:.06em}
#miniMap{height:210px;cursor:pointer}
.s-map{margin-top:12px!important}.s-dir{display:inline-block;margin-top:8px;font-size:13.5px;font-weight:700;color:var(--fg)}
/* listen (tap-to-play music) */
.listen h3{margin-bottom:14px}.l-label{color:var(--muted);font-size:14px;margin:-6px 0 12px}
.l-card{position:relative;height:200px;border-radius:14px;overflow:hidden;cursor:pointer;background:#111;border:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:0 28px;isolation:isolate}
.l-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(18px) saturate(1.3) brightness(.45);transform:scale(1.2);z-index:-1;transition:filter .4s}
.l-card:hover .l-bg{filter:blur(14px) saturate(1.4) brightness(.55)}
.l-play{flex:none;width:72px;height:72px;border-radius:50%;background:#1ed760;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .25s var(--ease)}
.l-play svg{width:30px;height:30px;fill:#0b0b0b;margin-left:4px}.l-card:hover .l-play{transform:scale(1.07)}
.l-txt{display:flex;flex-direction:column;gap:4px;color:#fff;min-width:0}.l-txt small{font:600 11px Inter;letter-spacing:.16em;text-transform:uppercase;opacity:.75}
.l-txt b{font-size:clamp(22px,2.6vw,32px);font-weight:800;letter-spacing:-.02em;line-height:1.05}.l-txt span{font-size:13.5px;opacity:.7}
.l-card.on{height:auto;padding:0;background:none;border:0;cursor:auto;display:block}.l-card.on iframe{display:block;width:100%;border:0;border-radius:14px}
@media (max-width:760px){.l-card{height:150px;padding:0 18px;gap:16px}.l-play{width:58px;height:58px}}
/* ---- From their socials (tap-to-load) ---- */
.social .so-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.social .so-head p{color:var(--muted);font-size:14px}
.so-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.so-card{flex:none;scroll-snap-align:start;width:230px;display:flex;flex-direction:column;gap:10px;color:inherit;animation:soin .6s var(--ease) both;animation-delay:calc(var(--i)*60ms)}
.so-card.wide{width:380px}
@keyframes soin{from{opacity:0;transform:translateY(10px)}}
.so-media{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#111;border:1px solid var(--line);isolation:isolate}
.so-card.vert .so-media{max-height:410px}.so-card.wide .so-media{aspect-ratio:16/9}
.so-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(22px) brightness(.55) saturate(1.3);transform:scale(1.25);z-index:-1}
.so-th{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .6s var(--ease)}
.so-card.wide .so-th{object-fit:cover}
.so-media.noth{background:radial-gradient(120% 80% at 30% 20%,rgba(255,255,255,.08),transparent 60%),#15151a}.so-instagram .so-media.noth{background:linear-gradient(160deg,#3b1f4a,#7a2650 55%,#a5502a)}.so-tiktok .so-media.noth{background:linear-gradient(160deg,#101014,#1d2a33 60%,#3a1424)}.so-facebook .so-media.noth{background:linear-gradient(160deg,#122347,#1f4fa8)}
.so-noth{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;text-align:center;padding:16px}.so-noth svg{width:46px;height:46px;opacity:.9}.so-noth b{font-size:14px;font-weight:600;opacity:.92;word-break:break-word}.so-media.noth .so-plat,.so-media.noth .so-play{display:none}
.so-card:hover .so-th{transform:scale(1.04)}
.so-plat{position:absolute;top:10px;left:10px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:rgba(0,0,0,.45);backdrop-filter:blur(8px)}
.so-plat svg{width:19px;height:19px}.so-youtube .so-plat{color:#ff3b3b}.so-instagram .so-plat{background:linear-gradient(45deg,#f58529,#dd2a7b 50%,#8134af)}
.so-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .25s var(--ease)}
.so-play svg{width:24px;height:24px;fill:#111;margin-left:3px}.so-card:hover .so-play,.v-facade:hover .so-play{transform:translate(-50%,-50%) scale(1.08)}
.so-tap{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;font:600 11px Inter;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);text-align:center}
.so-card.on .so-media{background:#fff}.so-card.on.vert .so-media{max-height:none;aspect-ratio:auto;height:560px}
.so-card.on iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.so-meta{display:flex;flex-direction:column;gap:3px;min-width:0}.so-meta b{font-size:14px}.so-meta span{font-size:13.5px;line-height:1.35;color:var(--fg);opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.so-meta small{font-size:12px;color:var(--muted)}
.so-priv{margin-top:10px;font-size:12px;color:var(--muted)}
.v-facade{position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;background:#000;overflow:hidden}
.v-facade img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .3s,transform .8s var(--ease)}.v-facade:hover img{opacity:1;transform:scale(1.03)}
.v-facade .v-note{position:absolute;left:16px;bottom:14px;font:600 11px Inter;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:.8}
.v-facade.on iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:760px){.so-card{width:72vw}.so-card.wide{width:84vw}}
/* keep the horizontal social rail from widening the grid column on mobile */
.e-body>*,.e-main,.social{min-width:0}
/* ===== What people are saying ===== */
.reviews{margin:44px 0 8px}
.rv-head h3{font:400 28px/1.1 Fraunces,serif;letter-spacing:-.01em}.rv-head p{color:var(--muted);font-size:14px;margin-top:6px}
.rv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}
.rv-card{position:relative;margin:0;padding:22px 22px 18px;border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--line);display:flex;flex-direction:column;gap:16px;overflow:hidden}
.rv-q{position:absolute;top:-18px;right:14px;font:400 120px/1 Fraunces,serif;color:var(--accent,#e8553d);opacity:.22;pointer-events:none}
.rv-card blockquote{margin:0;font:400 italic 18.5px/1.42 Fraunces,serif;letter-spacing:-.005em;flex:1}
.rv-card figcaption{display:flex;align-items:center;gap:10px}
.rv-card figcaption b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 13px Inter;background:var(--fg);color:var(--bg)}
.rv-card figcaption b.rv-g{background:#fff;color:#4285f4;font-weight:800}
.rv-src{display:flex;flex-direction:column;font-size:13.5px;font-weight:600;line-height:1.3;min-width:0}.rv-src a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}.rv-src a:hover{border-color:currentColor}
.rv-src small{font-weight:400;color:var(--muted);font-size:12px;margin-top:2px}
.rv-note{color:var(--muted);font-size:12px;margin-top:12px}
@media (max-width:760px){.rv-grid{grid-template-columns:1fr}.rv-card blockquote{font-size:17px}}
/* ===== Get directions ===== */
.dir-btn{margin-top:12px;height:52px;gap:10px;font:650 15px Inter;letter-spacing:.01em;border-radius:12px;border:0;color:#fff;background:linear-gradient(135deg,#1f6feb 0%,#3b8cff 55%,#5aa7ff 100%);box-shadow:0 10px 26px rgba(31,111,235,.35),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .2s var(--ease),box-shadow .2s}
.dir-btn:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(31,111,235,.45),inset 0 1px 0 rgba(255,255,255,.3)}
.dir-btn svg,.dir-chip svg{width:20px;height:20px;flex:none}
.e-map+.dir-btn{margin-top:-1px;border-radius:0 0 12px 12px}
.e-map:has(+.dir-btn){border-bottom-left-radius:0;border-bottom-right-radius:0}
.dir-chip{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:8px 14px 8px 11px;border-radius:99px;border:1px solid rgba(59,140,255,.5);background:rgba(59,140,255,.1);color:var(--fg);font:600 13px Inter;transition:.2s}
.dir-chip svg{width:16px;height:16px;color:#3b8cff}.dir-chip:hover{background:#2f7cf6;border-color:#2f7cf6;color:#fff}.dir-chip:hover svg{color:#fff}
.dir-sheet{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,0);transition:background .22s}
.dir-sheet.show{background:rgba(0,0,0,.28)}
.dir-panel{position:fixed;width:340px;padding:16px;border-radius:18px;background:rgba(24,24,27,.96);color:#f4f4f5;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px rgba(0,0,0,.45);backdrop-filter:blur(18px);opacity:0;transform:translateY(6px) scale(.98);transition:opacity .2s,transform .22s var(--ease)}
.dir-sheet.show .dir-panel{opacity:1;transform:none}
.dir-grab{display:none}
.dir-h{display:flex;justify-content:space-between;gap:12px;padding:2px 4px 12px}
.dir-k{font:600 10.5px Inter;letter-spacing:.16em;text-transform:uppercase;color:#8ab4ff;margin-bottom:4px}
.dir-h b{display:block;font:600 16px/1.25 Inter}.dir-h small{display:block;color:#a1a1aa;font-size:12.5px;margin-top:3px}
.dir-x{width:32px;height:32px;border-radius:50%;flex:none;color:#d4d4d8;font-size:20px;background:rgba(255,255,255,.07)}
.dir-opts{display:flex;flex-direction:column;gap:6px}
.dir-opt{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.04);color:inherit;text-align:left;text-decoration:none;border:1px solid transparent;transition:.15s}
.dir-opt:hover,.dir-opt:focus-visible{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.12);outline:none}
.dir-opt b{display:block;font:600 14.5px Inter}.dir-opt small{display:block;color:#a1a1aa;font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}
.dir-opt span{min-width:0}
.dir-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none}.dir-ic svg{width:19px;height:19px}
.dir-apple{background:linear-gradient(160deg,#fafafa,#d9dde3);color:#0a84ff}
.dir-google{background:#fff;color:#ea4335}
.dir-cp{background:rgba(255,255,255,.1);color:#e4e4e7}
@media (max-width:760px){
  .dir-btn{height:56px;font-size:16px}
  .dir-chip{width:100%;justify-content:center;padding:12px}
  .dir-panel{left:0;right:0;bottom:0;width:auto;border-radius:22px 22px 0 0;padding:10px 16px calc(18px + env(safe-area-inset-bottom));transform:translateY(100%)}
  .dir-sheet.show .dir-panel{transform:none}
  .dir-grab{display:block;width:40px;height:5px;border-radius:9px;background:rgba(255,255,255,.25);margin:0 auto 12px}
  .dir-opt{padding:14px 12px}.dir-opt small{max-width:calc(100vw - 120px)}
}
@media (prefers-reduced-motion:reduce){.dir-panel,.dir-sheet{transition:none}}

.e-facts .dir-chip span{display:inline;font:inherit;letter-spacing:0;text-transform:none;color:inherit;margin:0}
/* ===== Good to know (tips) ===== */
.tips{margin:40px 0 8px;padding:28px 28px 22px;border-radius:20px;background:radial-gradient(120% 120% at 0% 0%,rgba(217,178,111,.13),transparent 55%),var(--card);border:1px solid rgba(217,178,111,.28)}
.tp-k{font:600 11px Inter;letter-spacing:.18em;text-transform:uppercase;color:#d9b26f}
.tp-head h2{font:400 30px/1.1 Fraunces,serif;letter-spacing:-.01em;margin-top:6px}
.tp-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:4px}
.tp{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.tp:first-child{border-top:0}
.tp-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.06)}
.tp-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tp-dont_miss .tp-ic{color:#ff7a59;background:rgba(255,122,89,.12)}
.tp-save_money .tp-ic{color:#34d399;background:rgba(52,211,153,.12)}
.tp-parking .tp-ic{color:#60a5fa;background:rgba(96,165,250,.12)}
.tp-insider .tp-ic{color:#f2c46d;background:rgba(242,196,109,.12)}
.tp-history .tp-ic{color:#c4b5fd;background:rgba(196,181,253,.12)}
.tp-l{font:700 11px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tp-save_money .tp-l{color:#34d399}.tp-dont_miss .tp-l{color:#ff7a59}.tp-parking .tp-l{color:#60a5fa}.tp-insider .tp-l{color:#e8b85a}.tp-history .tp-l{color:#a78bfa}
.tp-t{font-size:15.5px;line-height:1.5;margin-top:4px}
.tp-s{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:12px;color:var(--muted)}
.tp-s a{color:inherit;border-bottom:1px solid var(--line);text-decoration:none}.tp-s a:hover{color:var(--fg)}
.tp-s span{font-style:italic}
.tp-note{margin-top:14px;font-size:12px;color:var(--muted)}
@media (max-width:760px){.tips{padding:22px 18px 18px;border-radius:16px}.tp-head h2{font-size:26px}.tp{grid-template-columns:34px 1fr;gap:12px}.tp-ic{width:34px;height:34px;border-radius:10px}}

/* ---------- (H) Cinematic next pick, staggered rows, page transitions ---------- */
.nx{margin-top:24px}
.nx-banner{position:relative;display:flex;align-items:flex-end;min-height:clamp(380px,62vh,640px);overflow:hidden;overflow:clip;color:#fff;background:#000;isolation:isolate}
.nx-media{position:absolute;inset:0;z-index:-2;overflow:hidden;overflow:clip}
.nx-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.22);transform-origin:50% 60%;transition:transform 2.6s cubic-bezier(.16,1,.3,1),filter .6s;filter:saturate(1.05)}
.nx.seen .nx-media img{transform:scale(1.02)}
.nx-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.86) 100%),linear-gradient(90deg,rgba(0,0,0,.45),transparent 60%)}
.nx-txt{padding:clamp(28px,5vw,64px) var(--pad);max-width:1100px}
.nx-txt small{display:inline-flex;align-items:center;gap:10px;font:600 12px Inter;letter-spacing:.22em;text-transform:uppercase;opacity:.85}
.nx-txt small::before{content:"";width:34px;height:1px;background:currentColor}
.nx-txt b{display:block;margin-top:14px;font:800 clamp(38px,6.4vw,92px)/.95 var(--f-display);letter-spacing:-.035em;text-wrap:balance}
.t-editorial .nx-txt b{font-weight:400}
.nx-txt p{margin-top:14px;font-size:clamp(14px,1.3vw,17px);opacity:.85}
.nx-cta{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:12px 20px;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:600 14px Inter;transition:background .3s,gap .3s}
.nx-banner:hover .nx-cta{background:#fff;color:#000;gap:16px}
.nx-banner:hover .nx-media img{filter:saturate(1.2) brightness(1.05)}
.nx-prev{display:flex;align-items:baseline;gap:12px;padding:16px var(--pad);border-bottom:1px solid var(--line);font-size:14px;opacity:.75;transition:opacity .2s}
.nx-prev:hover{opacity:1}.nx-prev span{white-space:nowrap;font-weight:600}.nx-prev b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
/* scroll-driven zoom where supported (IntersectionObserver class fallback above) */
@supports (animation-timeline: view()){
  .nx-media img{transition:filter .6s;animation:nxzoom linear both;animation-timeline:view();animation-range:entry 0% cover 55%}
  .nx-txt{animation:nxrise linear both;animation-timeline:view();animation-range:entry 10% cover 40%}
}
@keyframes nxzoom{from{transform:scale(1.28)}to{transform:scale(1.02)}}
@keyframes nxrise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
/* staggered card entrances */
.more .mini{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .7s cubic-bezier(.16,1,.3,1);transition-delay:calc(min(var(--i,0),8) * 70ms)}
.more.cards-in .mini{opacity:1;transform:none}
/* page transitions: cross-document View Transitions + fade fallback */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtout .32s ease both}
::view-transition-new(root){animation:vtin .5s cubic-bezier(.16,1,.3,1) both}
@keyframes vtout{to{opacity:0;transform:scale(.985)}}
@keyframes vtin{from{opacity:0;transform:scale(1.02)}}
html.nx-out body{opacity:0;transition:opacity .25s ease}
@media (max-width:760px){.nx-banner{min-height:68vh}.nx-txt b{font-size:clamp(34px,10vw,52px)}.nx-prev{font-size:13px}}
@media (prefers-reduced-motion:reduce){
  .nx-media img,.nx-txt{animation:none!important;transform:none!important;transition:none!important;opacity:1!important}
  .more .mini{opacity:1;transform:none;transition:none}
  @view-transition{navigation:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* r11 — "Watch the vibe" hero video (tap-to-play facade; iframe created only on tap) */
.vibe{max-width:1400px;margin:0 auto;padding:clamp(26px,4vw,48px) var(--pad) clamp(10px,2vw,20px)}
.vb-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-bottom:14px}
.vb-k{font:800 clamp(22px,2.6vw,34px)/1.05 Inter;letter-spacing:-.02em;display:flex;align-items:center;gap:12px}
.vb-dot{width:11px;height:11px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 0 rgba(255,59,48,.55);animation:vbPulse 1.8s infinite}
@keyframes vbPulse{70%{box-shadow:0 0 0 12px rgba(255,59,48,0)}100%{box-shadow:0 0 0 0 rgba(255,59,48,0)}}
.vb-l{font:600 12px Inter;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vb-frame{max-width:980px;border-radius:14px;box-shadow:0 24px 60px -24px rgba(0,0,0,.55)}
.vb-frame img{opacity:.92}
.vb-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(68px,8vw,92px);height:clamp(68px,8vw,92px);border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 14px 40px rgba(0,0,0,.5);transition:transform .25s var(--ease)}
.vb-play svg{width:42%;height:42%;fill:#111;margin-left:6%}
.vb-frame:hover .vb-play{transform:translate(-50%,-50%) scale(1.08)}
.vb-snd{position:absolute;left:16px;bottom:14px;padding:7px 12px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font:600 11.5px Inter;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(6px)}
.vb-frame.on .vb-snd,.vb-frame.on .vb-play{display:none}
.vb-src{margin-top:10px;font-size:13.5px;color:var(--muted);max-width:980px;line-height:1.5}
.vb-src a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.vb-vert .vb-frame{aspect-ratio:9/16;max-width:min(380px,100%);max-height:78vh}
@media (max-width:760px){.vibe{padding-top:22px}.vb-frame{border-radius:10px}.vb-head{margin-bottom:10px}}
@media (prefers-reduced-motion:reduce){.vb-dot{animation:none}}
.vibe{scroll-margin-top:72px}
/* r11 — "Meet the performer" strip (official site + verified handles) */
.meet{max-width:1400px;margin:0 auto;padding:14px var(--pad) 6px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;font-size:14px}
.meet.mt-after{padding-top:4px}
.mt-k{font:600 11px Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.mt-p{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.mt-p b{font-weight:700}
.mt-p a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;color:inherit;opacity:.85}.mt-p a:hover{opacity:1}
.vb-head{max-width:980px}.vb-vert .vb-head{max-width:none;justify-content:flex-start}
/* r11 — first-paint hero skeleton (event.html inline script; replaced by event.js) */
.e-early .e-bg:empty{background:linear-gradient(110deg,rgba(127,127,127,.10) 30%,rgba(127,127,127,.20) 50%,rgba(127,127,127,.10) 70%) 0 0/300% 100%;animation:skel 1.4s linear infinite}
.sk{display:inline-block;border-radius:8px;background:linear-gradient(110deg,rgba(127,127,127,.18) 30%,rgba(127,127,127,.32) 50%,rgba(127,127,127,.18) 70%) 0 0/300% 100%;animation:skel 1.4s linear infinite;vertical-align:middle}
.sk-pill{width:92px;height:24px;border-radius:99px}.sk-h1{width:min(11ch,80vw);height:.8em}.sk-line{width:min(420px,70vw);height:1em}
.e-early h1 .sk{display:block;height:.85em;margin-bottom:.12em}
@keyframes skel{to{background-position:-300% 0}}
@media (prefers-reduced-motion:reduce){.sk,.e-early .e-bg:empty{animation:none}}
/* r11 — "Why it's worth it" story: serif hook, numbered fact cards revealed on scroll, small source links */
.story{margin:56px 0 8px;padding-top:36px;border-top:1px solid var(--line)}
.st-k{font:600 11px Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.st-hook{font:italic 400 clamp(26px,3.2vw,42px)/1.2 Fraunces,Georgia,serif;letter-spacing:-.015em;max-width:24em;text-wrap:balance}
.st-h{font:700 13px Inter;letter-spacing:.08em;text-transform:uppercase;margin:34px 0 14px}
.st-facts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.st-card{position:relative;padding:22px 20px 18px;border:1px solid var(--line);border-radius:14px;background:rgba(127,127,127,.06);display:flex;flex-direction:column;gap:10px}
.st-n{font:300 44px/1 Fraunces,Georgia,serif;opacity:.55}
.st-card p{font-size:15.5px;line-height:1.5;flex:1}
.st-src{font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.st-anim .st-card{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i)*120ms)}
.st-anim .st-card.in{opacity:1;transform:none}
.st-why,.st-look{margin-top:22px;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:baseline}
.st-why span,.st-look span{font:600 11px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);min-width:170px}
.st-why p{font:400 19px/1.45 Fraunces,Georgia,serif}.st-look p{font-size:15.5px;line-height:1.5}
.st-look{padding:14px 16px;border-radius:12px;border:1px dashed var(--line)}
@media (max-width:760px){.st-why,.st-look{grid-template-columns:1fr}.st-why span,.st-look span{min-width:0}}

/* concert: sounds like / what to expect */
.showx{max-width:1400px;margin:0 auto;padding:10px var(--pad) 4px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 28px}
.sx-row{border-left:3px solid var(--accent,#e8743b);padding:2px 0 2px 12px}
.sx-k{display:block;font:600 11px Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.sx-row p{margin:0;font-size:15px;line-height:1.45}
.sx-src{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
.sx-src a{text-decoration:underline;text-underline-offset:2px}
/* Meet the artist: official links as icon buttons */
.mt-p{align-items:center}
.mt-links{display:inline-flex;flex-wrap:wrap;gap:6px}
.mt-p a.mt-ic{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--fg);opacity:1;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.mt-p a.mt-ic:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);transform:translateY(-1px)}
.mt-p a.mt-ic:focus-visible{outline:2px solid var(--accent,#d9b26f);outline-offset:2px}
.mt-ic svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mt-ic.mt-spotify:hover{color:#1ed760}.mt-ic.mt-youtube:hover{color:#ff3b3b}.mt-ic.mt-instagram:hover{color:#f77fbe}

/* r75 Water Taxi nearby chip (js/wtnear.js) */
.wt-chip{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:12.5px;font-weight:600;color:inherit;text-decoration:none;flex-wrap:wrap}
.wt-chip:hover span:last-child{text-decoration:underline}
.wt-mk{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:999px;background:#ffd23f;color:#10202c;font:800 10px/1 Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
/* r75c: Water Taxi chip sits under Directions in the Where fact; undo the generic .e-facts span label styles */
.e-facts .wt-chip{display:flex;width:max-content;max-width:100%;margin-top:10px}.e-facts .wt-chip .wt-t{display:inline;font:600 12.5px/1.3 Inter,sans-serif;letter-spacing:0;text-transform:none;color:var(--muted);margin:0}
.e-facts .wt-chip .wt-mk{display:inline-flex;margin:0;font:800 10px/1 Inter,sans-serif;letter-spacing:.04em;color:#10202c}.e-facts .wt-chip:hover .wt-t{color:var(--fg);text-decoration:underline}

/* r85 B14: next time + price under the title; smaller poster on phones so Get tickets is above the fold */
.e-next{margin:12px 0 0;font:600 clamp(15px,1.4vw,18px)/1.3 var(--f-body,Inter,sans-serif);letter-spacing:.01em;opacity:.95}
@media (max-width:767px){
  .e-hero:has(>.e-bg.poster){--pbox:min(calc((100vw - 32px) / var(--par,1.5)),33svh)!important}
  .e-hero:has(>.e-bg.poster) .e-hero-in{padding-bottom:22px!important}
  .e-hero:has(>.e-bg.poster) .e-kicker{margin-top:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .e-hero .e-cta{margin-top:18px}
  .e-next{font-size:15px;margin-top:10px}
}
/* r71.9 bestFor chips (event hero) + venue guide link */
.e-best{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0}
.e-best span{display:inline-block;padding:5px 11px;border-radius:99px;font:600 12px Inter;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(6px)}
.dir-chip.vlink{margin-left:8px}
@media (max-width:760px){.dir-chip.vlink{margin-left:0;margin-top:8px}}
/* ===== Vibe card (hotTake / forWho / vibe / crowd / wear) and last-verified note: render only when present ===== */
.vibe-card{margin:28px 0 8px;padding:20px 22px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.vc-take{font:italic 300 20px/1.4 Fraunces,serif;margin:0}
.vc-k{display:block;font:600 11px Inter;font-style:normal;letter-spacing:.18em;text-transform:uppercase;color:#d9b26f;margin-bottom:6px}
.vc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:16px 0 0}
.vc-take+.vc-grid{padding-top:14px;border-top:1px solid var(--line)}
.vc-grid dt{font:600 10.5px Inter;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.vc-grid dd{margin:3px 0 0;font:400 14px/1.45 Inter}
.lv-note{margin:10px 0 0;font:400 12px Inter;opacity:.55}
.ev2 .lv-note.lv-m{margin:12px var(--pad,20px) 0;text-align:center;opacity:.6}.ev2 .side-card .lv-note{margin:16px 0 0;text-align:center}
@media (max-width:760px){.vibe-card{padding:18px 16px;border-radius:16px}.vc-take{font-size:18px}.vc-grid{grid-template-columns:1fr}}


/* r72.4 (Hater r2 BLOCKER): on phones a tall poster hero pushed its Get tickets / Save row down under the bottom tab bar
   (Book a cruise over Home and Today, Save over Calendar). The row now sticks just above the tab bar (safe area aware)
   until the hero scrolls away, then the thumb bar (.evb) takes over. overflow:clip keeps the crop without making the hero
   a scroll box, so sticky can work; Safari < 16 ignores it and keeps today's layout. */
@media (max-width:767px){
  html.sn .e-hero:has(>.e-bg.poster){overflow:clip}
  html.sn .e-hero:has(>.e-bg.poster) .e-cta{position:sticky;z-index:4;bottom:calc(62px + env(safe-area-inset-bottom) + 8px);margin-left:-6px;margin-right:-6px;padding:6px;border-radius:18px;background:color-mix(in srgb,var(--bg,#0b0b0c) 96%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);box-shadow:0 10px 30px rgba(0,0,0,.45)}
}

/* wt preview: heroWide posters (Water Taxi) run edge to edge on phones, full photo just under the top bar, title in flow below it */
@media (max-width:760px){
  .e-hero:has(>.e-bg.poster.wide){--ptop:0px;--whd:calc(62px + env(safe-area-inset-top,0px));--pbox:calc(100vw / var(--par,1.5))!important}
  .e-hero .e-bg.poster.wide .p-art{left:0!important;right:0!important;top:var(--whd)!important;width:100%!important;border-radius:0;filter:none;object-fit:cover!important;-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}
  .e-hero:has(>.e-bg.poster.wide) .e-hero-in{padding-top:calc(var(--whd) + var(--pbox) + 14px)}
  .e-hero:has(>.e-bg.poster.wide) .e-shade{background:linear-gradient(180deg,rgba(0,0,0,.4) 0,rgba(0,0,0,0) 90px)}
}

/* r72.5 What you'll see (Water Taxi): swipe row on phones, grid on desktop */
.wt-see{margin:30px 0 10px}
.wt-see>h2{margin:0 0 4px}
.wt-see .see-h{margin:18px 0 2px;font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}
.wt-see .see-sub{margin:0 0 10px;color:var(--muted);font-size:14px}
.wt-see .see-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:10px}
.wt-see .see-c{margin:0;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column}
.wt-see .see-c img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover}
.wt-see .see-c figcaption{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.35;color:var(--muted)}
.wt-see .see-c figcaption b{color:var(--fg);font-size:15px;line-height:1.25}
.wt-see .see-code{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:#ffd400;color:#111}
.wt-see .see-c.noimg{justify-content:flex-end;min-height:120px}
.wt-see .see-src{margin:12px 0 0;font-size:12.5px;color:var(--muted)}
.wt-see .see-src a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (max-width:767px){
  .wt-see .see-row{display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px 4px;scroll-padding-left:16px}
  .wt-see .see-row::-webkit-scrollbar{display:none}
  .wt-see .see-c{flex:0 0 72%;max-width:300px;scroll-snap-align:start}
  .wt-see .see-c.noimg{flex-basis:46%}
}
@media (max-width:767px){html.evm #ev > .e-body.evm-why:not(.evm-open) > .e-main > #see.wt-see{display:block}} /* keep the swipe rows visible under the collapsed mobile tabs */

/* r72.4.3 (Hater iPhone QA): the event-page hero buttons stay on ONE row on small phones (Share / Watch go icon-only, labels kept as aria-label)
   and are no longer pinned: a pinned bar slid up over the title, date, price and tags. evbar.js trims the poster art so the
   row still shows on the first screen, and the thumb bar takes over once it scrolls away. */
.e-cta .e-ic svg{display:none;width:20px;height:20px;flex:none}
.e-cta .e-tl{overflow:hidden;text-overflow:ellipsis;min-width:0}
@media (max-width:767px){
  html.sn .e-hero:has(>.e-bg.poster) .e-cta{position:relative;bottom:auto}
}
@media (max-width:399px){
  #ev .e-cta{flex-wrap:nowrap;gap:8px}
  #ev .e-cta>.btn{flex:0 1 auto;min-width:0;overflow:hidden;padding:0 16px}
  #ev .e-cta>.btn.solid{flex:1 1 auto;justify-content:center;padding:0 14px;gap:6px}
  #ev .e-cta>.e-ic{flex:none;width:48px;padding:0;justify-content:center}
  #ev .e-cta>.e-ic>span{display:none}#ev .e-cta>.e-ic svg{display:block}
  #ev .e-cta:has(>.e-ic~.e-ic)>.btn.save{flex:none;width:48px;padding:0;justify-content:center}
  #ev .e-cta:has(>.e-ic~.e-ic)>.btn.save>span{display:none}
}
@media (max-width:399px){ /* Water Taxi page: two text buttons, a touch tighter so they share one row from 360px up */
  #wt .e-hero .e-cta{gap:8px}#wt .e-hero .e-cta>.btn{padding:0 14px;font-size:14px;gap:6px}
}
@media (max-width:359px){
  #wt .e-hero .e-cta>.btn{padding:0 11px;font-size:13px;gap:5px}
  #ev .e-cta>.btn.save{flex:none;width:48px;padding:0;justify-content:center}#ev .e-cta>.btn.save>span{display:none}
}
/* r72.5: CTA-fit ladder classes set by evbar.js when the hero row would load behind the tab bar */
@media (max-width:767px){
  .e-hero.cf1 .crumbs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .e-hero.cf1 .e-pills{margin:8px 0}
  .e-hero.cf1 .e-next{margin-top:6px}
  .e-hero.cf1 .e-kicker{margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .e-hero.cf1 .e-cta{margin-top:12px}
  .e-hero.cfh h1{font-size:var(--cfh1,42px)!important;line-height:.96}
  .e-hero.cf2 .e-kicker{-webkit-line-clamp:1}
  .e-hero.cf-off .e-cta{visibility:hidden}
}

/* r72.6.3: phone CTA fit + tab clearance (Hater r32) */
@media (max-width:767px){
  /* keep sticky hero CTA clear of the bottom tab */
  html.sn .e-hero .e-cta{padding-bottom:2px;margin-bottom:calc(62px + env(safe-area-inset-bottom) + 12px)}
  html.sn .e-hero:has(>.e-bg.poster) .e-cta{margin-bottom:0;bottom:calc(62px + env(safe-area-inset-bottom) + 12px)}
  /* Directions / Uber / Lyft never sit under the tab when scrolled to the end */
  #ev .e-body{padding-bottom:calc(62px + env(safe-area-inset-bottom) + 28px)}
  #ev .gt{scroll-margin-bottom:calc(62px + env(safe-area-inset-bottom) + 24px);margin-bottom:8px}
}
@media (max-width:360px){
  /* Primary CTA: shrink type before ellipsis; allow 2-line wrap as last resort */
  #ev .e-cta>.btn.solid{font-size:13px;padding:0 10px;letter-spacing:0}
  #ev .e-cta>.btn.solid .e-tl,#ev .e-cta>.btn.solid>span{white-space:normal;line-height:1.15;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;text-align:center}
}
