/* Futur: warm paper, midnight ink, electric blue and soft pink. */
:root,:root[data-theme=light]{color-scheme:light;--paper:#f5f1ed;--black:#0b2132;--muted:#405167;--line:#0b21332b;--red:#008fe0;--panel:#fff;--panel-raised:#e7e4e3;--glass:#f5f1ed;--shine:#158fd0;--shadow:none;--gutter:clamp(24px,3.6vw,64px)}
:root[data-theme=dark]{color-scheme:dark;--paper:#0b2132;--black:#f5f1ed;--muted:#c3d0dd;--line:#ffffff30;--panel:#132d40;--panel-raised:#214056;--glass:#0b2132;--red:#5cc2ff;--shine:#5cc2ff}
body{background:var(--paper);color:var(--black)}#app{max-width:1800px;padding:8px 6px 0}h1,h2,h3,.mega-feature strong{font-family:Suisse,Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.045em;line-height:1.02}h2{font-size:clamp(34px,4.3vw,64px)}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700}.section{padding:64px var(--gutter)}.section-heading{margin-bottom:28px}.section-heading h2{font-size:clamp(34px,4.3vw,64px)}
.header{height:86px;border:0;border-bottom:1px solid var(--line);border-radius:7px 7px 0 0;background:var(--paper);backdrop-filter:none;padding:0 var(--gutter)}.brand img,[data-theme=light] .brand img{filter:brightness(0) saturate(100%) invert(10%) sepia(20%) saturate(1670%) hue-rotate(159deg)}[data-theme=dark] .brand img{filter:brightness(0) invert(1)}.desktop-nav{gap:24px}.desktop-nav>a,.desktop-nav summary{font-size:12px;letter-spacing:.1em}.nav-dropdown>div.mega-panel{background:var(--paper);border-radius:0;padding:36px var(--gutter);box-shadow:0 16px 24px #0b213214}.mega-intro h2{font-size:34px}.mega-feature strong{font-size:27px}.desktop-nav a.mega-feature{border-radius:3px}.city-switch{background:var(--panel-raised)}.city-switch a[aria-current]{background:#0b2132;color:#fff}.menu-toggle{border-color:var(--black)}.menu{background:var(--paper);backdrop-filter:none;z-index:49}.menu-open .header{top:8px;left:6px;width:calc(100% - 12px);border-radius:7px;background:var(--paper)}
.button,.ticket-link,[data-theme=light] .button,[data-theme=light] .ticket-link{border-radius:3px;background:#0b2132;color:#fff;border:1px solid #0b2132;box-shadow:none;text-transform:uppercase;font-size:13px;letter-spacing:.08em;min-height:48px;padding:14px 24px}.button:hover,.ticket-link:hover,[data-theme=light] .button:hover,[data-theme=light] .ticket-link:hover{background:#126397;color:#fff;box-shadow:none;transform:none;border-color:#126397}.header .ticket-link{border-radius:30px;min-height:42px;padding:11px 22px}.button-white,[data-theme=light] .button-white{background:#fff;color:#0b2132;border-color:#fff}.button-outline,[data-theme=light] .button-outline{background:transparent;color:var(--black);border-color:var(--black)}.text-link{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.theme-toggle,select,input,.menu-language select{border-radius:3px}.theme-toggle{font-size:14px}
.hero,[data-theme=light] .hero{border:0;border-radius:0;box-shadow:none;background:#008cd9}.chrome-ribbon{display:none}.hero-photo{filter:none}.hero:after{background:linear-gradient(180deg,#0b213240,#0b213218 40%,#0b213285)}.hero-home{height:clamp(560px,54vw,800px);min-height:560px;max-height:none}.hero-home .hero-content{position:relative;padding:70px var(--gutter) 40px;align-items:center;text-align:center;justify-content:flex-start;min-height:100%}.hero-home .hero-meta{display:none}.hero-home .edition{margin:40px 0 18px;padding:8px 14px;border:0;border-radius:3px;background:#ffffff36;color:#fff;backdrop-filter:none;font-size:13px;letter-spacing:.1em}.hero-home .edition b{background:white;color:#0b2132;padding:8px 12px;border-radius:3px;margin-left:12px}.hero-home h1{font-size:clamp(62px,7.6vw,126px);line-height:.95;max-width:1100px;margin:0 auto}.hero-home .hero-bottom{margin-top:auto;align-self:stretch;display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;text-align:left;gap:28px}.hero-home .hero-bottom p{background:#f5f1edf0;color:#0b2132;padding:18px;font-size:16px;max-width:330px}.hero .hero-bottom .button{background:#0b2132;color:#fff;border-color:#0b2132}.hero-home .photo-credit{display:none}.hero-inner{height:440px;min-height:0}.hero-inner .hero-content{padding:48px var(--gutter)}.hero-inner h1{font-size:clamp(48px,7vw,100px)}.date-strip{background:var(--panel);color:var(--black);padding:18px var(--gutter);font-weight:700;letter-spacing:.12em}
.ticket-grid{gap:16px;border:0}.ticket-card,[data-theme=light] .ticket-card{background:var(--panel);border:0;border-radius:3px;padding:0 24px 24px;box-shadow:none}.ticket-image{height:170px;width:calc(100% + 48px);margin:0 -24px 22px;filter:none}.ticket-card h3{font-size:clamp(25px,2.4vw,36px);min-height:0}.ticket-top{font-size:12px;letter-spacing:.06em;margin-bottom:16px}.ticket-card>p{margin:12px 0 22px;font-size:16px}.ticket-card summary{font-size:14px;padding:16px 0}.sold-out{border-radius:2px;background:transparent;color:var(--muted);margin-top:12px}.ticket-note{margin-top:25px}.ticket-note p{font-size:14px}
.mexico{background:linear-gradient(180deg,#1996d2 0%,#389dd3 42%,#abb0d0 100%);border:0;border-radius:3px;padding:54px;color:#fff}.mexico .eyebrow{color:#fff}.mexico h2{font-size:clamp(54px,7vw,106px)}.mexico .button{background:#0b2132;color:#fff;border-color:#0b2132}.image-card,.video-card{border:0;border-radius:3px;box-shadow:none}.image-card img,.video-card img{filter:none}.image-card h3{font-size:clamp(30px,3vw,48px)}.experience-grid{gap:16px;grid-template-columns:1.5fr 1fr}.image-card{height:430px}.events-card{height:300px;margin-top:16px}.image-card>div{left:28px;right:28px;bottom:28px}.image-card h3 br{display:none}.image-card .eyebrow{color:#fff}
.feed-card{background:var(--panel);border:0;border-radius:3px;box-shadow:none}.feed-card-head{padding:14px}.feed-avatar{background:#0b2132;color:#fff}.feed-copy{padding:20px}.feed-media{height:250px}.feed-controls button,.stage-controls button,.news-controls button{border-radius:3px;background:transparent;border:1px solid var(--black);color:var(--black)}.feed-controls button:last-child,.stage-controls button[data-stage-next]{background:#0b2132;color:#fff}.feed-footer{border-bottom:1px solid var(--black);padding-bottom:5px}.feed-footer .text-link{border:0}.app-feed{padding-top:10px}
.stage-card{flex-basis:59%;border:0;border-radius:3px;box-shadow:none;background:transparent}.stage-track{gap:16px}.stage-track::after{flex-basis:calc(41% - 16px)}.stage-image{height:380px;border-radius:3px;overflow:hidden}.stage-image h3{font-size:clamp(48px,6vw,90px);left:24px;bottom:24px}.stage-number{top:20px;left:20px;border:0;border-radius:3px;background:#0b2132b3}.stage-copy{padding:18px 0}.stage-copy h4{font-size:20px}.stage-copy p{font-size:16px}.stage-footer{margin-top:0}
.news,.editorial-news{background:transparent;border-radius:0;margin:0;padding:64px var(--gutter)}.editorial-grid{gap:16px}.editorial-card{border:0;border-radius:3px;background:var(--panel);padding:14px}.editorial-image{border-radius:3px}.editorial-image img{height:220px}.editorial-copy{padding:18px 0 6px;gap:12px}.editorial-copy h3{font-size:clamp(23px,2.1vw,32px);line-height:1.08}.editorial-copy .eyebrow{color:#007ac2}.editorial-copy p:not(.eyebrow){font-size:16px}.home-ticket-cta{border-radius:0;margin:0;min-height:490px;padding:60px var(--gutter)}.home-ticket-cta:after{background:linear-gradient(90deg,#0b21328c,#0b213220)}.ticket-cta-copy h2{font-size:clamp(54px,7vw,106px)}.ticket-cta-button,[data-theme=light] .ticket-cta-button{background:#fff;color:#0b2132;border-color:#fff;min-height:48px;min-width:180px;font-size:14px}.video-grid{gap:16px}.video-card h3{font-size:26px}.play{box-shadow:none;background:#ffffffe8;color:#0b2132}
.faq{display:grid;grid-template-columns:1fr 1.6fr;gap:0 42px;align-items:start}.faq>.section-heading{grid-column:1;grid-row:1;margin-bottom:18px}.faq .section-heading h2{font-size:clamp(34px,4vw,58px)}.faq-content{display:contents}.faq-content>p{grid-column:1;grid-row:2}.faq-content>div{grid-column:2;grid-row:1 / span 3}.faq summary{font-size:16px;padding:24px 0}.faq summary span{color:#008cdb}.app-band{background:#0b2132;color:#fff;border:0;border-radius:3px;margin:20px var(--gutter) 0;padding:44px;grid-template-columns:1.4fr 1fr;gap:35px}.app-band .eyebrow{color:#fff}.app-band h2{font-size:clamp(30px,3.5vw,50px)}.app-band h2 br{display:none}.app-band>div:last-child{display:flex;gap:12px;align-items:center}.app-band>div:last-child>p{display:none}.app-band .button{margin:0;font-size:12px;padding:14px 20px}.app-band .button-white{background:#fff;color:#0b2132;border-color:#fff}.app-band .button-outline{background:transparent;color:#fff;border-color:#fff}
footer{padding:0;color:var(--black);background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 39%,#e6d3df 62%,#8cb3d6 79%,#178fd0 100%);border-radius:0 0 8px 8px}.footer-top{padding:70px var(--gutter) 100px;margin:0;align-items:center;gap:50px}.footer-top h2{font-size:clamp(40px,5vw,72px)}.newsletter{max-width:390px}.newsletter p{font-size:16px}.footer-links{margin:0;padding:34px var(--gutter) 42px;grid-template-columns:1.5fr repeat(4,1fr);gap:30px;border:0}.footer-brand{grid-column:auto;align-self:start}.footer-brand img,[data-theme=light] .footer-brand img{filter:brightness(0) saturate(100%) invert(10%) sepia(20%) saturate(1670%) hue-rotate(159deg);width:220px;height:auto}.footer-links h3{font-size:12px;letter-spacing:.1em;margin-bottom:20px;color:#0b2132}.footer-links a:not(.footer-brand){font-size:14px;color:#0b2132;line-height:1.45;margin-bottom:10px}.footer-bottom{padding:22px var(--gutter);border-color:#0b21324d;color:#0b2132;font-size:12px}.footer-bottom p{max-width:700px}[data-theme=dark] footer{background:linear-gradient(180deg,#0b2132 25%,#214f70 65%,#168ccc 100%)}[data-theme=dark] .footer-links a,[data-theme=dark] .footer-links h3,[data-theme=dark] .footer-bottom{color:#fff}[data-theme=dark] .footer-brand img{filter:brightness(0) invert(1)}
.day-tabs button,.artist-photo,.resource-card,.useful-grid article,.experience-stories article,.story-copy,.option-tabs button,#tier-content,.hotel-controls,.hotel-card,.hotel-controls input,.hotel-controls select,.article-cover,.initiative-grid article,.partner-grid figure,.merch-story img{border-radius:3px;box-shadow:none}.resource-card,.useful-grid article,[data-theme=light] .resource-card{background:var(--panel);box-shadow:none}.day-tabs button[aria-selected=true],.option-tabs button[aria-selected=true]{background:#0b2132;color:#fff;border-color:#0b2132}.artist-photo img{filter:none}.artist-photo span,.hotel-visual>span{border-radius:3px;background:#0b2132d9}.hotel-copy h3,.resource-card h3,.useful-grid article h3,.initiative-grid h3,.event-list h3{font-size:30px}.story-copy h2{font-size:clamp(36px,4vw,60px)}
@media(min-width:1201px){.desktop-nav{display:flex}}
@media(max-width:1200px){.desktop-nav{display:none}.footer-links{grid-template-columns:repeat(4,1fr)}.footer-brand{grid-column:1/-1}.hero-home .edition{margin-top:35px}.app-band{grid-template-columns:1fr}.app-band>div:last-child{justify-self:start}}
@media(max-width:760px){#app{padding:6px 4px 0}.header{height:74px;padding:0 18px;border-radius:5px 5px 0 0}.header .ticket-link{display:flex;font-size:12px;padding:10px 16px}.brand{width:110px}.header-right>.city-switch{display:none}.mobile-city{display:block}.menu-open .header{top:6px;left:4px;width:calc(100% - 8px);border-radius:5px}.hero-home{height:650px;min-height:550px;max-height:none}.hero-home .hero-content{padding:40px 22px 28px}.hero-home .edition{margin:50px 0 22px;font-size:12px}.hero-home h1{font-size:clamp(44px,10.8vw,76px);line-height:.98}.hero-home .hero-bottom{flex-direction:column;align-items:flex-start;gap:18px}.hero-home .hero-bottom p{font-size:16px;padding:14px}.hero-inner{height:420px}.hero-inner .hero-content{padding:36px 22px}.hero-inner h1{font-size:clamp(40px,10vw,68px)}.section,.news,.editorial-news{padding:46px 20px}.section-heading h2{font-size:34px}.ticket-card{border-radius:3px}.ticket-card h3{font-size:28px}.ticket-image{height:190px}.mexico{margin:0 20px;padding:36px 24px;border-radius:3px}.mexico h2{font-size:58px}.experience-grid{grid-template-columns:1fr}.image-card{height:390px}.events-card{height:300px}.image-card h3{font-size:32px}.stage-card{flex-basis:88%;border-radius:3px}.stage-track::after{flex-basis:calc(12% - 16px)}.stage-image{height:330px}.stage-image h3{font-size:52px}.stage-copy{padding:16px 0}.stage-copy h4{font-size:20px}.editorial-card{padding:12px}.editorial-copy{padding:16px 4px}.editorial-copy h3{font-size:27px}.home-ticket-cta{margin:0;border-radius:0;padding:44px 24px 72px;min-height:450px}.ticket-cta-copy h2{font-size:clamp(42px,11vw,68px)}.ticket-cta-button{width:auto}.faq{display:block}.faq-content{display:block}.faq-content>p{margin-bottom:28px}.app-band{margin:8px 20px 0;padding:30px 24px;border-radius:3px;gap:28px}.app-band h2{font-size:32px}.app-band>div:last-child{flex-wrap:wrap}.footer-top{padding:52px 24px 65px;gap:28px}.footer-top h2{font-size:44px}.footer-links{grid-template-columns:1fr 1fr;padding:26px 24px 34px;gap:30px 22px}.footer-brand{grid-column:1/-1}.footer-links>div:last-child{grid-column:auto}.footer-bottom{padding:22px 24px}.artist-card h3{font-size:18px}.day-tabs button{border-radius:3px}.app-feed{padding-top:15px}.feed-card{border-radius:3px}.hotel-controls,.hotel-card,.story-copy,.experience-stories article{border-radius:3px}.story-copy h2{font-size:38px}.initiative-grid h3{font-size:28px}}
/* Client interior-page direction, October 2026. */
.client-hero{padding:58px var(--gutter) 40px;background:radial-gradient(ellipse at 94% 115%,#db9ecb 0,transparent 44%),linear-gradient(170deg,#549bd3 45%,#aaaed5 100%);color:white}.client-hero>.eyebrow{color:white;margin-bottom:18px}.client-hero>div{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.client-hero h1{font-size:clamp(48px,8.6vw,118px);text-transform:uppercase;line-height:.93;max-width:78%;margin:0}.client-hero>div>p{background:#f5f1edc9;border-radius:3px;padding:18px;max-width:300px;text-align:right;color:#0b2132;font-size:16px}.client-hero~.section h2,.client-hero~.section h3,.article-heading h1,.related-stories h2,.related-stories h3{text-transform:uppercase}.client-hero~.section{padding-top:60px;padding-bottom:30px}.initiative-grid{gap:16px}.initiative-grid article{border:0;min-height:245px;padding:30px}.initiative-grid h3{margin:16px 0}.event-list article{grid-template-columns: .8fr 2.1fr 1.1fr;gap:24px}.venue-tags{display:flex;gap:6px;flex-wrap:wrap;align-content:start;justify-content:flex-end}.venue-tags span,.story-tabs a,.partner-nav a{padding:7px 12px;border:1px solid var(--black);border-radius:2px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hotel-controls{background:var(--panel);border:0;padding:18px;grid-template-columns:2fr 1fr 1fr auto}.hotel-controls input,.hotel-controls select{border:0;background:var(--paper);color:var(--black);border-radius:3px}.hotel-types{border:0;padding:0;min-width:0}.hotel-types legend{font-size:14px;margin-bottom:8px}.hotel-types button{border:0;border-radius:3px;padding:16px 10px;background:var(--paper);color:var(--black);font-size:14px;cursor:pointer}.hotel-types button[aria-pressed=true]{background:#0b2132;color:#fff}.hotel-card{background:var(--panel);border:0;overflow:hidden}.hotel-copy .button{background:transparent;color:var(--black);border-color:var(--black)}.hotel-copy h3{margin-bottom:12px}.hotel-copy .eyebrow{font-size:12px}.hotel-copy p{font-size:16px}.hotel-visual>span{color:#fff}.hotel-grid{gap:16px}.client-hero~.info-extra{border:0}.client-hero~.info-extra .useful-grid{gap:16px}.client-hero~.info-extra .useful-grid article{padding:26px;background:var(--panel);border-radius:3px}.client-hero~.info-extra h3{margin-bottom:12px}.client-hero~.info-extra p{color:var(--black)}.merch-story{gap:48px}.merch-story h3{font-size:23px}.merch-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-preview{aspect-ratio:1;background:var(--panel);display:grid;place-items:center;font-size:14px;color:var(--muted);border-radius:3px}.merch-products h3{font-size:16px!important;margin:12px 0;text-transform:none!important;letter-spacing:0}.merch-products p{font-size:14px}.partner-nav{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:30px}.partner-group{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 0;margin:0;border-top:1px solid var(--line);scroll-margin-top:100px}.partner-group>h3{font-size:20px;margin:0}.partner-group small{display:block;font-size:12px;letter-spacing:.12em;margin-top:8px}.partner-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.partner-grid figure{border:0;padding:16px;border-radius:3px}.partner-grid img{height:65px}.partner-grid figcaption{font-size:13px;margin-top:12px}.partner-cta{margin:30px var(--gutter);padding:40px!important;background:linear-gradient(160deg,#1595d6,#a6add0 70%,#e5c5d5);color:white}.partner-cta .eyebrow{color:white}.partner-cta .button{margin-top:24px}.article-heading{max-width:none;padding-bottom:32px}.article-heading h1{text-transform:uppercase}.article-cover img{height:clamp(260px,40vw,560px);object-fit:cover}.article-layout{display:grid;grid-template-columns:1fr 3fr;gap:36px;margin:40px var(--gutter)}.article-share{padding-top:8px;font-size:12px;font-weight:bold;letter-spacing:.08em}.article-share button{border:0;padding:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.article-share .eyebrow{margin-bottom:14px}.article-body{margin:0;max-width:780px;padding:0 40px 0 0}.article-body>p{font-size:18px;line-height:1.6}.story-tabs{display:flex;gap:8px;flex-wrap:wrap}.story-tabs a[aria-current]{background:#0b2132;color:white}.related-stories .editorial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body:is([data-page=hotels],[data-page=sustainability],[data-page=events],[data-page=merch],[data-page=partners],[data-page^=article]) footer{margin-top:65px;padding-top:75px;background:linear-gradient(180deg,var(--paper),#e7d5e0 25%,#90b5d7 65%,#178fd0)}body:is([data-page=hotels],[data-page=sustainability],[data-page=events],[data-page=merch],[data-page=partners],[data-page^=article]) .footer-top{display:none}body:is([data-page=hotels],[data-page^=article],[data-page=partners])>.app-band{display:none}body:is([data-page=hotels],[data-page^=article],[data-page=partners]) #app>.app-band{display:none}
@media(max-width:1100px){.client-hero h1{font-size:8vw}.client-hero>div>p{max-width:230px}.hotel-controls{grid-template-columns:1fr 1fr}.partner-group{grid-template-columns:170px 1fr}.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.client-hero{padding:40px 20px 28px}.client-hero>div{display:block}.client-hero h1{font-size:clamp(36px,9.6vw,68px);max-width:100%;overflow-wrap:anywhere}.client-hero>div>p{margin-top:24px;max-width:100%;text-align:left}.client-hero~.section{padding:36px 20px 20px}.hotel-controls{grid-template-columns:1fr}.event-list article{grid-template-columns:1fr;gap:14px}.venue-tags{justify-content:flex-start}.initiative-grid article{min-height:190px}.merch-products{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-group{grid-template-columns:1fr}.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-cta{padding:28px!important;margin:24px 20px}.article-layout{grid-template-columns:1fr;margin:28px 20px;gap:24px}.article-body{padding:0}.related-stories .section-heading{align-items:start;gap:20px;flex-direction:column}.related-stories .editorial-grid{grid-template-columns:1fr}.initiative-grid h3{font-size:26px}.client-hero~.section h2{font-size:34px}}

/* Supplied tower artwork, cropped to match the homepage reference. */
.hero-home .hero-photo{object-fit:cover;object-position:50% 12%;filter:none}
.hero-home:after,[data-theme=light] .hero-home:after{background:none}

/* Festival landing page: supplied October client reference. */
.festival-landing-hero{padding:clamp(40px,5.2vw,76px) var(--gutter) 34px;background:radial-gradient(ellipse at 22% 108%,#dfb2d3 0,transparent 43%),radial-gradient(ellipse at 79% 112%,#caafd1 0,transparent 45%),linear-gradient(180deg,#559ed4 30%,#5b9fd4 72%,#b7afd7);color:white}
.festival-landing-hero>.eyebrow{color:white;margin:0 0 14px}
.festival-landing-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.festival-landing-intro h1{font-size:clamp(60px,9vw,150px);line-height:.91;letter-spacing:-.045em;margin:0;font-weight:700;color:white}
.festival-landing-intro>p{background:#f5f1edde;color:#0b2132;padding:18px 20px;min-width:190px;text-align:right;font-size:16px;line-height:1.4;border-radius:3px;margin:0 0 4px}
.festival-explore .section-heading{margin-bottom:26px}.festival-explore h2{text-transform:uppercase}.festival-explore .eyebrow{margin-bottom:12px}
.festival-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px}
.festival-card{display:block;min-width:0;text-decoration:none;color:var(--black)}
.festival-card-art{position:relative;aspect-ratio:1.55;border-radius:3px;background:linear-gradient(180deg,#1599d9 0%,#86afd5 52%,#ead3e0 100%);overflow:hidden}
.festival-card-art:before,.festival-card-art:after{content:"";position:absolute;width:14px;height:14px;border-color:#0b2132;border-style:solid}
.festival-card-art:before{top:9px;left:10px;border-width:1px 0 0 1px}.festival-card-art:after{bottom:9px;right:10px;border-width:0 1px 1px 0}
.festival-card-art>span{position:absolute;bottom:12px;left:14px;color:white;font-size:14px}
.festival-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:12px 0 8px}
.festival-card-title h3{font-size:clamp(20px,2.15vw,34px);text-transform:uppercase;margin:0;line-height:1.05;letter-spacing:-.045em}
.festival-card-title>span{font-size:12px;letter-spacing:.08em;flex-shrink:0;color:var(--muted)}
.festival-card>p{font-size:14px;line-height:1.45;margin:0}
.festival-card:hover h3{text-decoration:underline;text-underline-offset:4px}.festival-card:focus-visible{outline:3px solid var(--red);outline-offset:5px;border-radius:3px}
body[data-page=about] .app-band{background:#0b2132;color:white;margin-top:0;border-radius:3px}body[data-page=about] .app-band .eyebrow,body[data-page=about] .app-band p{color:white}
@media(max-width:900px){.festival-card-grid{gap:20px 12px}.festival-card-title h3{font-size:20px}.festival-card-title{flex-wrap:wrap}}
@media(max-width:600px){.festival-landing-hero{padding:38px 22px 28px}.festival-landing-intro{display:block}.festival-landing-intro h1{font-size:clamp(48px,11.5vw,69px)}.festival-landing-intro>p{margin:26px 0 0 auto;min-width:0;max-width:200px;font-size:14px}.festival-card-grid{grid-template-columns:1fr;gap:28px}.festival-card-title{flex-wrap:nowrap}.festival-card-title h3{font-size:26px}.festival-explore .section-heading h2{font-size:34px}.festival-card-art{aspect-ratio:1.55}}

/* Festival Essentials client mockup. */
.essentials-heading{padding-bottom:30px}.essentials-heading h1{font-size:clamp(76px,11vw,160px);line-height:.95;margin:20px 0 44px}.essentials-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.essentials-days article{background:linear-gradient(180deg,#008bc9 25%,#399ed0 65%,#a9b0d2);color:white;border-radius:22px;padding:28px}.essentials-days .eyebrow{color:white;margin:0 0 12px}.essentials-days h2{font-size:clamp(28px,3.2vw,48px);letter-spacing:-.045em;margin:0 0 12px;white-space:nowrap}.essentials-days article>p:last-child{margin:0;font-size:16px}
.essentials-columns,.essentials-getting{display:grid;grid-template-columns:2fr 2.8fr;gap:48px;align-items:start;padding-top:16px;padding-bottom:44px}.essentials-map{position:relative;min-height:380px;background:#d8e2eb;border-radius:22px;overflow:hidden}.essentials-map iframe{display:block;width:100%;height:380px;border:0}.essentials-map>a{display:block;padding:12px 18px;font-size:14px;color:#0b2132;background:#d8e2bbee;text-decoration:underline}.essentials-travel{margin:20px 0 0}.essentials-travel>div{display:grid;grid-template-columns:100px 1fr;gap:18px;border-top:1px solid var(--line);padding:18px 0}.essentials-travel dt{font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.1em;color:var(--muted)}.essentials-travel dd{font-size:16px;line-height:1.45;margin:0}.essentials-faq{scroll-margin-top:110px}.essentials-faq h2{font-size:34px;margin:0 0 20px}.essentials-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:12px}.essentials-tabs button{border:1px solid var(--black);border-radius:30px;padding:10px 16px;color:var(--black);background:transparent;font-size:12px;font-weight:bold;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.essentials-tabs button[aria-selected=true]{background:var(--black);color:var(--paper)}.essentials-faq [hidden]{display:none}.essentials-faq details{border-top:1px solid var(--line);border-bottom:0;padding:0;background:none}.essentials-faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;cursor:pointer;font-size:17px;font-weight:700;list-style:none}.essentials-faq summary::-webkit-details-marker{display:none}.essentials-faq summary span:before{content:'+';color:#008dcc}.essentials-faq details[open] summary span:before{content:'−'}.essentials-faq details p{font-size:16px;line-height:1.6;margin:0;padding:0 22px 22px 0;color:var(--muted)}.essentials-faq details a{text-decoration:underline}.essentials-getting{padding-top:42px;border-top:1px solid var(--line);scroll-margin-top:100px}.essentials-getting h2{font-size:clamp(34px,4.4vw,62px);margin-bottom:24px}.essentials-getting>div>p{font-size:17px;line-height:1.6}.essentials-getting .essentials-map{border-radius:3px;min-height:520px}.essentials-getting iframe{height:475px}.essentials-getting .text-link{display:inline-block;margin-top:18px}
@media(max-width:1000px){.essentials-days article{padding:22px}.essentials-columns,.essentials-getting{gap:26px}.essentials-travel>div{grid-template-columns:70px 1fr;gap:12px}}
@media(max-width:700px){.essentials-heading h1{margin:12px 0 28px}.essentials-days{grid-template-columns:1fr;gap:12px}.essentials-days article{border-radius:16px;padding:22px}.essentials-days h2{font-size:36px}.essentials-columns,.essentials-getting{grid-template-columns:1fr;gap:36px;padding-top:12px}.essentials-map,.essentials-map iframe{min-height:280px;height:280px}.essentials-map{height:auto}.essentials-getting{padding-top:32px}.essentials-getting .essentials-map{min-height:350px}.essentials-getting iframe{height:305px}.essentials-faq summary{font-size:16px}.essentials-travel dd{font-size:15px}}

/* FAQ fills the row; travel information appears once in Getting there. */
.essentials-columns{grid-template-columns:minmax(0,1fr)}
