/* Unique Morocco Experience — poster edition */
@font-face{font-family:"Anybody";src:url(../fonts/anybody.woff2) format("woff2");font-weight:100 900;font-stretch:50% 150%;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(../fonts/hanken.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Hanken Grotesk";src:url(../fonts/hanken-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

:root{
  --lapis:#053671;--night:#0C1530;--deep:#070D22;--saffron:#F2A93B;--saffron-2:#F7C572;
  --brick:#B2381C;--mint:#8FD0B6;--chalk:#F3F4F1;--mist:#C9D2E8;--mist-2:#D6DEF0;
  --rose:#FBE3DA;--ink-2:#3B4560;--sun-ink:#2E2308;--rule:#C9CDD6;
  --pad:clamp(20px,4.5vw,64px);--max:1440px;
  --ease-out:cubic-bezier(0.23,1,0.32,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);
  --band-h:196px;--plate-top:190px;--nav-h:64px;
}
@media (min-width:768px){:root{--band-h:132px;--plate-top:200px;--nav-h:84px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scrollbar-color:var(--saffron) var(--night);scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--night);color:var(--chalk);font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--saffron)}
::selection{background:var(--saffron);color:var(--night)}
:focus-visible{outline:3px solid var(--saffron);outline-offset:3px}
h1,h2,h3,p,figure,blockquote,ol,ul,dl,dd{margin:0}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--saffron);color:var(--night);padding:10px 14px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
.disp{font-family:"Anybody","Hanken Grotesk",sans-serif;font-stretch:150%;font-weight:800;text-transform:uppercase;letter-spacing:-0.01em;line-height:.9}
.wide{font-family:"Anybody","Hanken Grotesk",sans-serif;font-stretch:125%;font-weight:700}
.h2{font-family:"Anybody",sans-serif;font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:clamp(28px,3.6vw,50px);line-height:1.04;text-wrap:balance}
.lede{font-size:clamp(17px,1.4vw,19px);line-height:1.6;max-width:62ch}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border:0;border-radius:2px;font-family:"Anybody",sans-serif;font-stretch:118%;font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease;white-space:nowrap}
.btn:active{transform:scale(0.97)}
.btn svg{flex-shrink:0}
.btn-sun{background:var(--saffron);color:var(--night)}
.btn-ink{background:var(--night);color:var(--chalk)}
.btn-line{border:2px solid var(--chalk);color:var(--chalk);background:transparent}
.btn-line-ink{border:2px solid var(--night);color:var(--night);background:transparent}
.btn-sm{min-height:46px;padding:0 20px}
.textlink{font-weight:600;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
@media (hover:hover) and (pointer:fine){
  .btn-sun:hover{background:var(--saffron-2)}
  .btn-ink:hover{background:#1A2650}
  .btn-line:hover{background:rgba(243,244,241,.12)}
  .btn-line-ink:hover{background:rgba(12,21,48,.08)}
  .textlink:hover{color:var(--saffron-2)}
}

/* header */
.site-header{position:relative;z-index:5;height:var(--nav-h)}
.site-header .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:block;flex-shrink:0}
.brand img{height:34px;width:auto}
@media (min-width:768px){.brand img{height:44px}}
.nav{display:none}
.nav a{color:var(--chalk);text-decoration:none;font-size:15px;font-weight:500;text-underline-offset:6px;text-decoration-thickness:2px}
.nav a[aria-current="page"]{text-decoration:underline}
@media (hover:hover) and (pointer:fine){.nav a:hover{text-decoration:underline}}
.header-cta{display:none}
.menu-btn{width:48px;height:48px;margin-right:-12px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--chalk);cursor:pointer;touch-action:manipulation;transition:transform 120ms var(--ease-out)}
.menu-btn:active{transform:scale(.94)}
@media (min-width:1280px){
  .nav{display:flex;gap:26px;align-items:center}
  .header-cta{display:flex;gap:22px;align-items:center}
  .menu-btn{display:none}
}
.header-solid{background:var(--lapis);border-bottom:1px solid rgba(243,244,241,.14)}

/* drawer */
.drawer{position:fixed;inset:0;z-index:50;background:var(--night);display:flex;flex-direction:column;padding:0 var(--pad) calc(28px + env(safe-area-inset-bottom,0px));transform:translateX(100%);visibility:hidden;transition:transform 460ms var(--ease-drawer),visibility 0s linear 460ms;overscroll-behavior:contain}
.drawer.open{transform:translateX(0);visibility:visible;transition:transform 460ms var(--ease-drawer),visibility 0s}
.drawer-top{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between}
.drawer nav{margin-top:20px;flex-grow:1}
.drawer nav a{display:block;padding:14px 0;border-bottom:1px solid rgba(243,244,241,.16);color:var(--chalk);text-decoration:none;font-family:"Anybody",sans-serif;font-stretch:140%;font-weight:800;text-transform:uppercase;font-size:clamp(24px,7vw,34px)}
.drawer-foot{display:flex;flex-direction:column;gap:14px}
@media (prefers-reduced-motion:reduce){.drawer,.drawer.open{transition:opacity 200ms ease,visibility 0s;transform:none;opacity:0}.drawer.open{opacity:1}}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--lapis);min-height:600px;height:100svh;max-height:960px;display:flex;flex-direction:column}
@media (min-width:768px){.hero{min-height:720px;height:min(100svh,960px)}}
.hero-plate{position:absolute;left:0;right:0;top:var(--plate-top);bottom:calc(var(--band-h) - 42px);width:100%;height:auto;object-fit:cover;object-position:74% 100%}
@media (min-width:768px){.hero-plate{object-position:50% 100%}}
.hero-title{position:relative;padding-top:clamp(20px,3vw,36px)}
.hero h1{display:flex;flex-direction:column;gap:clamp(10px,1.4vw,18px)}
.hero .word{font-size:min(164px,calc((100vw - 2 * var(--pad)) / 8.4))}
.hero .sub{font-family:"Anybody",sans-serif;font-stretch:125%;font-weight:600;font-size:clamp(19px,2.1vw,30px);line-height:1.2;max-width:22ch}
@media (min-width:768px){.hero .sub{max-width:none}}
.band{position:absolute;left:0;right:0;bottom:0;min-height:var(--band-h);background:var(--saffron);color:var(--night);padding:20px 0 calc(16px + env(safe-area-inset-bottom,0px));animation:band 900ms var(--ease-drawer) 350ms both}
.band .wrap{display:flex;flex-direction:column;gap:16px}
.band p{font-size:17px;line-height:1.45;font-weight:500;max-width:660px}
.band-actions{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:10px}
.band-actions .textlink{display:none}
.icon-only{padding:0;width:54px}
@media (min-width:768px){
  .band{padding:0;display:flex;align-items:center}
  .band .wrap{flex-direction:row;align-items:center;justify-content:space-between;gap:48px}
  .band p{font-size:clamp(17px,1.5vw,20px)}
  .band-actions{display:flex;gap:28px;align-items:center;flex-shrink:0}
  .band-actions .textlink{display:inline;color:var(--night);font-size:16px}
  .band-actions .icon-only{display:none}
}
@keyframes band{from{transform:translateY(100%)}}

/* two-ink registration on display words */
.reg{position:relative;display:block;isolation:isolate}
.reg::before{content:attr(data-t);position:absolute;left:0;top:0;color:var(--brick);z-index:-1;transform:translate(.035em,.035em);animation:register 1100ms var(--ease-out) 150ms both}
.rise{animation:rise 800ms var(--ease-out) both}
@keyframes register{from{transform:translate(.2em,.1em);opacity:0}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
@media (prefers-reduced-motion:reduce){.reg::before,.band{animation:none}.rise{animation:fadein 300ms ease both}}
@keyframes fadein{from{opacity:0}}

/* facts */
.facts{border-bottom:1px solid rgba(243,244,241,.14)}
.facts ul{list-style:none;padding:28px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.facts li{display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:600;line-height:1.35}
.facts svg{flex-shrink:0;margin-top:1px}
@media (min-width:1000px){.facts ul{grid-template-columns:repeat(4,minmax(0,1fr));padding:36px 0;align-items:center}.facts li{font-size:16px;align-items:center}}

/* poster wall */
.section{padding-block:clamp(64px,9vw,136px)}
.wall-head{display:flex;flex-direction:column;gap:clamp(14px,1.6vw,22px);max-width:1100px}
.wall-head p{color:var(--mist)}
.wall{list-style:none;padding:0;margin-top:clamp(28px,5vw,72px);display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);padding-bottom:8px}
.wall::-webkit-scrollbar{display:none}
.wall>li{flex:0 0 min(78vw,300px);scroll-snap-align:start;scroll-margin-left:var(--pad)}
@media (min-width:768px){
  .wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 40px;overflow:visible;margin-inline:0;padding-inline:0}
  .wall>li{flex:none}
}
@media (min-width:1100px){
  .wall{grid-template-columns:5fr 4fr 4fr;gap:72px 56px;align-items:start}
  .wall>li:nth-child(3n+2){margin-top:110px}
  .wall>li:nth-child(3n+3){margin-top:36px}
}
.poster{display:block;text-decoration:none;color:var(--chalk)}
.frame{background:var(--chalk);padding:clamp(10px,1vw,14px) clamp(10px,1vw,14px) 0;box-shadow:0 22px 44px -22px rgba(2,6,20,.85);transition:transform 320ms var(--ease-out),box-shadow 320ms var(--ease-out)}
.plate{overflow:hidden;aspect-ratio:3/4}
.plate.land{aspect-ratio:4/3}
.plate img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.cap{margin:0 calc(clamp(10px,1vw,14px) * -1);padding:16px 16px 14px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cap .disp{font-size:clamp(24px,2.4vw,40px)}
.cap .days{font-size:13px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.cap-sun{background:var(--saffron);color:var(--night)}
.cap-brick{background:var(--brick);color:var(--chalk)}
.cap-lapis{background:var(--lapis);color:var(--chalk)}
.cap-mint{background:var(--mint);color:var(--night)}
.cap-chalk{background:var(--chalk);color:var(--brick);border-top:1px solid var(--rule)}
.meta{margin-top:16px;display:flex;justify-content:space-between;gap:16px;font-size:15px}
.meta span:first-child{color:var(--mist)}
.meta span:last-child{font-weight:600;white-space:nowrap}
@media (hover:hover) and (pointer:fine){
  .poster:hover .frame{transform:translateY(-8px);box-shadow:0 34px 60px -24px rgba(2,6,20,.9)}
  .poster:hover .plate img{transform:scale(1.035)}
}
@media (prefers-reduced-motion:reduce){.frame,.plate img{transition:none}}
.all-link{display:inline-block;margin-top:clamp(28px,4vw,48px);font-size:17px}

/* how it works */
.how{background:var(--saffron);color:var(--night)}
.how ol{list-style:none;padding:0;margin-top:clamp(32px,4.5vw,64px);display:grid;gap:28px}
.how li{border-top:3px solid var(--night);padding-top:20px;display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px}
.how .num{font-size:52px;color:var(--brick)}
.how h3{font-size:20px;font-weight:700;line-height:1.3}
.how p{font-size:16px;line-height:1.55;color:var(--sun-ink);margin-top:6px}
@media (min-width:900px){
  .how ol{grid-template-columns:4fr 4fr 5fr;gap:56px}
  .how li{display:flex;flex-direction:column;gap:14px;padding-top:26px}
  .how .num{font-size:88px}
  .how h3{font-size:23px}
  .how p{font-size:18px;margin-top:0}
}

/* on the ground */
.ground{background:var(--brick);color:var(--chalk)}
.ground .wrap{display:grid;gap:36px;align-items:center}
.ground figure{background:var(--chalk);padding:clamp(10px,1.2vw,16px);transform:rotate(-1.5deg);box-shadow:0 30px 60px -28px rgba(0,0,0,.45);max-width:680px}
.ground figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ground .cap{margin:0}
.ground-copy{display:flex;flex-direction:column;gap:24px}
.ground-copy p{color:var(--rose);max-width:52ch}
.ticks{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px;font-weight:500}
.ticks li{display:flex;gap:12px;align-items:center}
@media (min-width:1000px){.ground .wrap{grid-template-columns:6fr 5fr;gap:80px}.ground-copy{gap:32px}}

/* reviews */
.reviews .wrap{display:grid;gap:28px;align-items:center}
.reviews blockquote{font-size:clamp(26px,3.2vw,46px);line-height:1.28;font-style:italic;font-weight:400;max-width:900px}
.reviews figcaption{margin-top:22px;font-size:16px;font-weight:600;color:var(--mist)}
.stamp{justify-self:start;transform:rotate(-5deg);border:3px solid var(--saffron);padding:16px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--saffron);text-align:center}
.stamp .small{font-family:"Anybody",sans-serif;font-stretch:125%;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.stamp .disp{font-size:clamp(36px,4vw,52px);line-height:1}
@media (min-width:900px){.reviews .wrap{grid-template-columns:9fr 3fr;gap:64px}.stamp{justify-self:end}}

/* closing */
.closing{padding-bottom:clamp(64px,8vw,120px)}
.closing-panel{background:var(--lapis);padding:clamp(40px,6vw,88px) clamp(20px,5vw,72px);display:flex;flex-direction:column;gap:clamp(20px,2vw,28px)}
.closing-panel .word{font-size:min(132px,calc((100vw - 2 * var(--pad) - 2 * clamp(20px,5vw,72px)) / 8.4))}
.closing-panel p{color:var(--mist-2);max-width:40ch;font-size:clamp(17px,1.5vw,20px)}
.actions{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:center}

/* footer */
.site-footer{background:var(--deep);color:var(--mist);padding:clamp(48px,6vw,88px) 0 40px;font-size:15px;line-height:1.75}
.site-footer .cols{display:grid;gap:32px}
.site-footer .brand img{height:40px}
.site-footer strong{color:var(--chalk);display:block}
.site-footer a{color:var(--mist);text-decoration:none}
.site-footer a:hover{color:var(--chalk);text-decoration:underline}
.site-footer .legal{margin-top:clamp(40px,5vw,64px);border-top:1px solid rgba(243,244,241,.14);padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px}
@media (min-width:700px){.site-footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.site-footer .cols{grid-template-columns:4fr 3fr 3fr 2fr;gap:48px}}

/* journey page */
.cover{background:var(--lapis);padding-block:clamp(32px,5vw,64px) clamp(56px,7vw,96px)}
.cover .wrap{display:grid;gap:40px;align-items:end}
.cover-poster{background:var(--chalk);padding:clamp(10px,1.1vw,16px) clamp(10px,1.1vw,16px) 0;box-shadow:0 30px 60px -28px rgba(2,6,20,.9);max-width:520px}
.cover-poster img{width:100%;aspect-ratio:3/4;object-fit:cover}
.cover-poster .cap{margin:0 calc(clamp(10px,1.1vw,16px) * -1)}
.cover-copy{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,30px)}
.crumbs{font-size:15px;color:var(--mist)}
.crumbs a{color:var(--mist)}
.cover h1{display:flex;flex-direction:column;gap:14px}
.cover h1 .word{font-size:clamp(40px,6.4vw,92px)}
.cover h1 .sub{font-family:"Anybody",sans-serif;font-stretch:125%;font-weight:600;font-size:clamp(19px,1.8vw,24px);line-height:1.3}
.cover-copy p{color:var(--mist-2)}
.facts-dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid rgba(243,244,241,.2);padding-top:20px}
.facts-dl dt{font-size:14px;color:var(--mist)}
.facts-dl dd{margin-top:6px;font-size:clamp(17px,1.6vw,22px);font-weight:700;line-height:1.25}
@media (min-width:1000px){.cover .wrap{grid-template-columns:5fr 7fr;gap:88px}}

.sheet{background:var(--chalk);color:var(--night)}
.sheet .wrap{display:grid;gap:48px;align-items:start}
.sheet-main{display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.photos{display:grid;grid-template-columns:3fr 2fr;gap:12px}
.photos img{width:100%;height:clamp(180px,26vw,380px);object-fit:cover}
.photos figcaption{grid-column:1/-1;font-size:14px;color:var(--ink-2)}
.days-list{list-style:none;padding:0;margin-top:20px}
.days-list li{display:grid;grid-template-columns:1fr;gap:6px;padding:24px 0;border-top:1px solid var(--rule)}
.days-list li:first-child{border-top:3px solid var(--night)}
.days-list li:last-child{border-bottom:3px solid var(--night)}
.days-list .disp{font-size:24px;color:var(--brick);line-height:1.1;white-space:nowrap}
.days-list h3{font-size:clamp(20px,1.8vw,24px);font-weight:700;line-height:1.3}
.days-list p{font-size:clamp(16px,1.3vw,18px);color:var(--ink-2);max-width:62ch}
@media (min-width:700px){.days-list li{grid-template-columns:150px minmax(0,1fr);gap:28px;padding:28px 0}}
.incl{display:grid;gap:32px}
.incl h3{font-size:20px;margin-bottom:10px}
.incl ul{padding-left:1.1em;color:var(--ink-2);line-height:1.9}
@media (min-width:700px){.incl{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}}
.plan{background:var(--night);color:var(--chalk);padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:22px;box-shadow:0 30px 60px -30px rgba(0,0,0,.2)}
.plan .price{font-size:clamp(48px,5vw,64px);color:var(--saffron);line-height:.95}
.plan small{font-size:14px;color:var(--mist);line-height:1.5}
.plan .ticks{border-top:1px solid rgba(243,244,241,.18);padding-top:18px;font-size:16px}
@media (min-width:1000px){.sheet .wrap{grid-template-columns:7fr 4fr;gap:96px}.plan{position:sticky;top:24px}}
.related .wall{margin-top:clamp(28px,4vw,56px)}
@media (min-width:1100px){.related .wall{grid-template-columns:repeat(3,minmax(0,1fr))}.related .wall>li:nth-child(2){margin-top:72px}.related .wall>li:nth-child(3){margin-top:24px}}
.header-overlay{position:absolute;top:0;left:0;right:0}
.hero{padding-top:var(--nav-h)}
/* QA fixes: grid tracks may shrink below content, captions wrap on narrow phones, comfortable targets */
.ground .wrap,.reviews .wrap,.cover .wrap,.sheet .wrap{grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.ground .wrap{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}.cover .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.sheet .wrap{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}}
@media (min-width:900px){.reviews .wrap{grid-template-columns:minmax(0,9fr) minmax(0,3fr)}}
.cap{flex-wrap:wrap;row-gap:4px}
.brand{padding-block:5px}
.all-link{padding-block:10px}
.crumbs a{display:inline-block;padding-block:12px}
.plan .btn{white-space:normal;text-align:center;padding-inline:16px}
@media (min-width:1000px) and (max-width:1279px){.sheet .wrap{gap:48px}}
@media (max-width:400px){.btn{white-space:normal;text-align:center}.facts-dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.plan .price{font-size:clamp(40px,3.4vw,54px);font-stretch:125%;overflow-wrap:anywhere}
.hero-plate{bottom:auto;height:calc(100% - var(--plate-top) - var(--band-h) + 42px)}
@media (min-width:1600px){:root{--plate-top:330px}}
/* soften the plate's top crop on very wide screens, where cover-cropping cuts through the kasbah */
@media (min-width:1600px){:root{--plate-top:230px}.hero-plate{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22%);mask-image:linear-gradient(to bottom,transparent 0,#000 22%)}}

/* ===== menu v2: mega menu + drawer accordions ===== */
.lang{color:var(--chalk);font-size:14px}
@media (min-width:1280px) and (max-width:1439px){.site-header .brand img{height:38px}.header-cta .lang{display:none}}
.has-mega{display:flex;align-items:center;gap:2px}
.mega-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:44px;margin-right:-8px;border:0;background:transparent;color:var(--chalk);cursor:pointer;border-radius:2px}
.mega-btn .chev{transition:transform 200ms var(--ease-out)}
.mega-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.nav-top[aria-current="page"]{text-decoration:underline}
.mega{position:absolute;left:0;right:0;top:100%;z-index:40;background:var(--deep);border-top:1px solid rgba(243,244,241,.12);border-bottom:3px solid var(--saffron);box-shadow:0 40px 80px -30px rgba(0,0,0,.7);max-height:calc(100vh - var(--nav-h));overflow-y:auto;overscroll-behavior:contain;opacity:0;transform:translateY(-6px);transition:opacity 180ms ease,transform 220ms var(--ease-out)}
.mega.is-open{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.mega{transform:none}}
.mega .wrap{padding-block:32px 24px}
.mega-grid{display:grid;grid-template-columns:minmax(0,2.1fr) repeat(3,minmax(0,1fr));gap:40px}
.mega-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.mega-h{font-family:"Anybody",sans-serif;font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:.04em;padding-bottom:10px;margin-bottom:6px;border-bottom:2px solid var(--saffron)}
.mega-h a{color:var(--saffron);text-decoration:none}
.mega-h2{margin-top:22px}
.mega-sub{margin:14px 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mist)}
.mega-sub a{color:var(--mist);text-decoration:none}
.mega ul{list-style:none;padding:0}
.mega li a{display:flex;justify-content:space-between;gap:10px;padding:5px 0;color:var(--chalk);text-decoration:none;font-size:14.5px;line-height:1.35}
.mega li a span{color:var(--mist);font-size:12.5px;white-space:nowrap;padding-top:1px}
@media (hover:hover) and (pointer:fine){.mega li a:hover,.mega-h a:hover,.mega-sub a:hover{text-decoration:underline;text-underline-offset:4px}}
.mega-foot{margin-top:26px;padding-top:18px;border-top:1px solid rgba(243,244,241,.14);display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1.5px solid rgba(243,244,241,.4);border-radius:40px;color:var(--chalk);text-decoration:none;font-size:14px;font-weight:600;background:transparent;cursor:pointer;font-family:inherit;transition:background-color 160ms ease,border-color 160ms ease}
.chip.is-on,.chip[aria-pressed="true"]{background:var(--saffron);border-color:var(--saffron);color:var(--night)}
@media (hover:hover) and (pointer:fine){.chip:not(.is-on):not([aria-pressed="true"]):hover{border-color:var(--chalk);background:rgba(243,244,241,.08)}}
.chip:active{transform:scale(.97)}

.drawer{overflow:hidden}
.drawer-nav{overflow-y:auto;overscroll-behavior:contain;margin-inline:calc(var(--pad) * -1);padding-inline:var(--pad);padding-bottom:20px}
.drawer nav a.d-top,.drawer summary{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(243,244,241,.16);color:var(--chalk);text-decoration:none;font-family:"Anybody",sans-serif;font-stretch:140%;font-weight:800;text-transform:uppercase;font-size:clamp(22px,6.4vw,30px);cursor:pointer;list-style:none}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary .chev{width:22px;height:22px;transition:transform 200ms var(--ease-out);flex-shrink:0}
.drawer details[open]>summary .chev{transform:rotate(180deg)}
.drawer .d-body{padding:6px 0 12px}
.drawer .d-l2 summary{font-size:18px;font-stretch:125%;padding:12px 0;border-bottom-color:rgba(243,244,241,.1);color:var(--saffron)}
.drawer .d-l2 summary .chev{width:18px;height:18px}
.drawer .d-body ul{list-style:none;padding:0}
.drawer .d-body li a,.drawer a.d-all{display:block;padding:10px 0;color:var(--chalk);text-decoration:none;font-size:16px;line-height:1.35}
.drawer a.d-all{font-weight:700;text-decoration:underline;text-underline-offset:5px}
.drawer .d-sub{margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mist)}
.drawer-foot{padding-top:16px;border-top:1px solid rgba(243,244,241,.16)}

/* ===== listing pages ===== */
.page-cover{background:var(--lapis);padding-block:clamp(20px,3vw,40px) clamp(40px,5vw,72px)}
.page-cover .wrap{display:flex;flex-direction:column;gap:clamp(16px,2vw,24px)}
.page-cover h1{display:flex;flex-direction:column;gap:12px}
.page-cover h1 .word{font-size:clamp(40px,7vw,108px)}
.page-cover h1 .sub{font-family:"Anybody",sans-serif;font-stretch:125%;font-weight:600;font-size:clamp(18px,1.8vw,24px);line-height:1.3;color:var(--saffron)}
.page-cover .lede{color:var(--mist-2)}
.page-cover .chips{margin-top:8px}
.list-sheet{background:var(--chalk);color:var(--night);padding-block:clamp(40px,5vw,72px) clamp(56px,7vw,104px)}
.list-sheet .chip{border-color:rgba(12,21,48,.35);color:var(--night)}
@media (hover:hover) and (pointer:fine){.list-sheet .chip:not([aria-pressed="true"]):hover{border-color:var(--night);background:rgba(12,21,48,.05)}}
.filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:clamp(28px,3vw,40px)}
.filter>span{font-weight:700;margin-right:6px}
.list-group+.list-group{margin-top:clamp(48px,6vw,88px)}
.list-group[hidden]{display:none}
.list-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:3px solid currentColor;padding-bottom:14px;margin-bottom:clamp(20px,2.4vw,32px)}
.list-head .count{font-weight:600;color:var(--ink-2);white-space:nowrap}
.related .list-head .textlink{color:var(--saffron);white-space:nowrap}
.tickets{list-style:none;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.tickets>li[hidden]{display:none}
@media (min-width:700px){.tickets{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media (min-width:1100px){.tickets{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}
.ticket{height:100%;display:flex;flex-direction:column;background:#fff;color:var(--night);text-decoration:none;border:1px solid var(--rule);box-shadow:0 16px 32px -24px rgba(12,21,48,.5);transition:transform 260ms var(--ease-out),box-shadow 260ms var(--ease-out)}
.related .ticket{border-color:transparent}
.t-band{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 18px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.t-dur{font-family:"Anybody",sans-serif;font-stretch:125%;font-weight:800;font-size:15px}
.t-body{padding:18px 18px 8px;flex-grow:1;display:flex;flex-direction:column;gap:10px}
.t-name{font-family:"Anybody",sans-serif;font-stretch:118%;font-weight:800;text-transform:uppercase;font-size:clamp(20px,1.7vw,24px);line-height:1.08;text-wrap:balance}
.t-route{font-size:15px;line-height:1.5;color:var(--ink-2)}
.t-foot{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 16px;margin:0 18px;border-top:1px dashed var(--rule);padding-inline:0;font-weight:700;font-size:14px;color:var(--brick)}
.t-foot svg{transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.ticket:hover{transform:translateY(-4px);box-shadow:0 26px 40px -24px rgba(12,21,48,.6)}.ticket:hover .t-foot svg{transform:translateX(4px)}}
.ticket:active{transform:scale(.99)}
@media (prefers-reduced-motion:reduce){.ticket,.t-foot svg{transition:none}}

/* home: type tiles */
.type-tiles{list-style:none;padding:0;margin-top:clamp(56px,7vw,104px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:900px){.type-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.type-tile{position:relative;display:flex;flex-direction:column;gap:6px;min-height:120px;padding:18px 18px 20px;border:2px solid rgba(243,244,241,.3);color:var(--chalk);text-decoration:none;justify-content:flex-end;transition:background-color 200ms ease,border-color 200ms ease}
.type-tile .disp{font-size:clamp(18px,1.9vw,26px);line-height:1}
.type-tile span:not(.disp){color:var(--mist);font-size:14px;font-weight:600}
.type-tile svg{position:absolute;top:16px;right:16px;color:var(--saffron)}
@media (hover:hover) and (pointer:fine){.type-tile:hover{border-color:var(--saffron);background:rgba(242,169,59,.08)}}

/* tour page additions */
.days-list div p+p{margin-top:10px}
.hl-list{list-style:none;padding:0;margin-top:20px;display:grid;gap:12px}
@media (min-width:700px){.hl-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}}
.hl-list li{display:flex;gap:12px;align-items:flex-start;color:var(--ink-2);line-height:1.5}
.hl-list svg{flex-shrink:0;margin-top:3px}
.incl ul.no{list-style:none;padding-left:0}
.incl ul.no li{position:relative;padding-left:1.1em}
.incl ul.no li::before{content:"–";position:absolute;left:0;color:var(--brick)}
.plan .price{font-size:clamp(34px,3vw,46px)}
.cover-copy .lede{max-width:60ch}
.cover h1 .word{text-wrap:balance}

/* city page */
.prose{display:flex;flex-direction:column;gap:16px;max-width:68ch}
.prose p{color:var(--ink-2);font-size:clamp(16px,1.3vw,18px);line-height:1.7}
.prose .h2{margin-bottom:6px}
.must{background:var(--night);color:var(--chalk);padding:clamp(24px,3vw,36px)}
.must .h2{font-size:clamp(24px,2.4vw,32px)}
.must ol{list-style:none;padding:0;margin-top:18px}
.must li{display:flex;gap:16px;align-items:baseline;padding:12px 0;border-top:1px solid rgba(243,244,241,.16);font-weight:600}
.must .disp{color:var(--saffron);font-size:20px}

/* prose pages */
.wrap-prose{display:flex!important;flex-direction:column;gap:clamp(40px,5vw,64px);max-width:1100px}
.pull{font-family:"Anybody",sans-serif;font-stretch:118%;font-weight:700;font-size:clamp(24px,2.6vw,36px);line-height:1.2;border-left:6px solid var(--saffron);padding-left:clamp(18px,2vw,28px);max-width:30ch}
.cta-box{background:var(--saffron);padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:18px}
.cta-box p{max-width:56ch}
.toc .chip{border-color:rgba(12,21,48,.35);color:var(--night)}
.faqs{margin-top:20px;border-top:3px solid var(--night)}
.faq{border-bottom:1px solid var(--rule)}
.faq summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;font-weight:700;font-size:clamp(17px,1.4vw,19px);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .chev{flex-shrink:0;transition:transform 200ms var(--ease-out)}
.faq[open] summary .chev{transform:rotate(180deg)}
.faq>div{padding-bottom:18px;display:flex;flex-direction:column;gap:10px;color:var(--ink-2);max-width:70ch}
.insp-grid{display:grid;gap:22px}
@media (min-width:800px){.insp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
.insp{background:#fff;border:1px solid var(--rule);display:flex;flex-direction:column}
.insp-body{padding:22px;display:flex;flex-direction:column;gap:14px}
.insp-body .h2{font-size:clamp(22px,2.2vw,30px)}
.insp-body p{color:var(--ink-2)}
.insp-body .textlink{color:var(--brick);margin-top:auto}
.contact-grid{display:grid;gap:22px}
@media (min-width:900px){.contact-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:32px}}
.c-card{background:#fff;border:1px solid var(--rule);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:18px}
.c-card p{color:var(--ink-2)}
.c-list{list-style:none;padding:0;display:flex;flex-direction:column}
.c-list li{display:flex;flex-direction:column;gap:2px;padding:12px 0;border-top:1px solid var(--rule);font-weight:600}
.c-list span{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.c-list a{color:var(--night);overflow-wrap:anywhere}
.sheet .wrap:has(>.must){grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.sheet .wrap:has(>.must){grid-template-columns:minmax(0,7fr) minmax(0,4fr)}}
.site-footer .cols{row-gap:32px}
@media (min-width:1100px){.site-footer .cols{grid-template-columns:4fr 3fr 3fr 2fr 2fr;gap:40px}}
.reg::before{right:0;overflow-wrap:break-word}
.cover h1 .word,.page-cover h1 .word{overflow-wrap:break-word;hyphens:manual}
.related .list-head .textlink,.list-head .textlink{display:inline-block;padding-block:10px}
.cover-copy,.page-cover .wrap{container-type:inline-size}
.cover h1 .word{--fs:clamp(36px,6.4vw,92px)}
.page-cover h1 .word{--fs:clamp(40px,7vw,108px)}
.c-list a,.insp-body .textlink{display:inline-block;padding-block:9px}
@media (min-width:768px){.band-actions .textlink{display:inline-block;padding-block:9px}}
.insp-body .textlink{align-self:flex-start}
.site-header .mega .wrap{display:block;height:auto}
.mega li a span.tag{display:none}
.drawer .d-body li a,.drawer nav a.d-all{font-family:"Hanken Grotesk",system-ui,sans-serif;font-stretch:100%;font-weight:500;text-transform:none;font-size:17px;border-bottom:0;padding:10px 0}
.drawer nav a.d-all{font-weight:700}
.days-list h3+p{margin-top:8px}
