/* Festival poster direction — alternate version, ocean / sand / coral. */
:root{--display:'Bricolage Grotesque',sans-serif;--poster:'Dela Gothic One',sans-serif;--ink:#113d49;--deep:#0d4857;--sea:#246f7c;--foam:#f5efdc;--sand:#e8dcc1;--coral:#f27b5c;--line:rgba(17,61,73,.23)}
body{background:var(--foam)}
.topbar,.topbar.scrolled{background:var(--foam);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:none}
.brand,.footer-brand{font-family:var(--display);font-weight:800;letter-spacing:-1.8px}
.brand{font-size:31px;line-height:.9}.brand span{margin-top:5px;letter-spacing:4px}
.desktop-nav a{opacity:1;font-weight:600}.desktop-nav a:hover{color:#b9442a}
.ticket-pill{background:var(--coral);border-color:var(--coral);color:var(--ink);font-weight:700}
.hero{height:auto;min-height:0;overflow:hidden;color:var(--ink);padding-top:78px;background:var(--foam)}
.festival-masthead{position:relative;padding:26px 4vw 20px}
.hero-topline{position:static;display:flex;justify-content:space-between;letter-spacing:1px;font-size:11px;font-weight:700}
.hero h1{position:relative;max-width:none;margin:13px 0 4px;font:400 clamp(80px,15.2vw,250px)/1.18 var(--poster);letter-spacing:-.065em;white-space:nowrap}
.hero-title-spark{position:absolute;right:0;top:9%;font:400 clamp(36px,5vw,80px)/1 var(--display);color:var(--coral);transform:rotate(10deg)}
.masthead-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:11px;font-weight:700;letter-spacing:1.5px}
.masthead-bottom p{margin:0}.masthead-bottom>span{font-size:10px}
.hero-scene{position:relative;height:clamp(410px,40vw,610px);color:white}
.hero-image{object-position:center 48%;height:100%;width:100%}
.hero-gradient{background:linear-gradient(0deg,rgba(5,27,31,.64),transparent 65%);pointer-events:none}
.water-line{position:absolute;left:0;top:-1px;width:100%;height:34px;color:var(--foam)}
.hero-copy{inset:auto 4vw 40px;display:flex;align-items:end;justify-content:space-between;gap:30px}
.hero-invitation{font:800 clamp(32px,3.6vw,60px)/1.03 var(--display);letter-spacing:-.035em;margin:0 0 14px}
.hero-copy p[data-i18n="heroLead"]{font-size:15px;line-height:1.5;max-width:450px;margin:0}
.festival-seal{background:var(--coral);color:var(--ink);flex:0 0 132px;width:132px;height:132px;clip-path:polygon(50% 0%,60% 5%,71% 3%,78% 12%,89% 15%,92% 27%,100% 35%,97% 47%,100% 58%,92% 67%,89% 79%,78% 83%,71% 94%,60% 94%,50% 100%,40% 95%,29% 97%,22% 88%,11% 85%,8% 73%,0% 65%,3% 53%,0% 42%,8% 33%,11% 21%,22% 17%,29% 6%,40% 6%);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg);transition:transform .25s}
.festival-seal:hover{transform:rotate(0)}.festival-seal span{font:800 29px/.94 var(--display);letter-spacing:-1px}.festival-seal small{font-size:8px;font-weight:700;letter-spacing:.6px;margin-top:8px}
.sound-ribbon{background:var(--coral);display:flex;justify-content:space-around;align-items:center;gap:24px;padding:21px 3vw;font:800 clamp(12px,1.5vw,21px)/1.2 var(--display);white-space:nowrap}
.sound-ribbon b{font-size:28px;font-weight:400}
.section-pad{padding:100px 5vw}
.section-kicker{font-size:11px;letter-spacing:1.4px;font-weight:700;display:flex;align-items:center;gap:10px}

.statement h2,.memory h2,.artists h2,.archive h2,.gallery h2,.principles h2,.tickets h2,.faq h2{font-family:var(--display);font-weight:800;font-size:clamp(44px,5.6vw,85px);line-height:.99;letter-spacing:-.055em}
h2 em{font-family:inherit;font-weight:inherit;font-style:normal;color:var(--sea)}
.statement-grid{grid-template-columns:1.15fr .85fr;gap:7vw}.statement-copy{font-size:16px}
.statement{position:relative;overflow:hidden}.statement:after{content:'≈';position:absolute;right:4%;top:15px;font:140px/.9 var(--display);color:var(--coral);transform:rotate(-12deg);pointer-events:none}
.experience-strip{margin-top:55px;border:0;background:var(--ink);color:var(--foam);border-radius:80px 12px 80px 12px;padding:23px 30px;justify-content:space-around;font-weight:700}

.memory{background:var(--deep);padding-bottom:75px}
.memory-heading{grid-template-columns:.45fr 1fr .65fr;gap:4vw}.memory h2 em,.principles h2 em,.tickets h2 em{color:#f9b192}
.cinema-frame{border-radius:48% 48% 0 0 / 10% 10% 0 0;aspect-ratio:16/8}
.artists{background:var(--coral)}.artists h2 em{color:var(--ink)}.artists-intro{grid-template-columns:.6fr 1fr}
.artist-cards{gap:24px;align-items:start}.artist-card{height:530px;border-radius:46% 46% 0 0 / 22% 22% 0 0}.artist-card.big{height:650px;border-radius:0 0 45% 0 / 0 0 14% 0}
.artist-name strong{font:800 clamp(32px,4vw,65px)/.98 var(--display);letter-spacing:-2px}.artist-name{right:24px}.artist-name small{font-weight:700}
.artist-note{opacity:1;font-weight:600}
.archive{background:var(--deep);color:var(--foam)}.archive h2 em{color:#f9b192}
.archive-grid-head p{color:#d8e3dc}.poster{border:1px solid #ffffff40}.poster strong{font:400 33px/1.2 var(--poster);letter-spacing:-2px}.poster em{font:800 55px/1 var(--display);font-style:normal;letter-spacing:-3px}
.poster:nth-child(odd){transform:rotate(-2deg);margin-top:14px}.poster:nth-child(even){transform:rotate(2deg);margin-bottom:14px}
.poster:before{border:16px double #f7efd782;width:230px;height:230px;right:-60px;top:40px}
.archive-note{opacity:.8}.gallery{background:var(--foam)}.gallery-head h2{margin-bottom:0}
.masonry{gap:18px}.gallery-item:nth-child(4n+1){border-radius:130px 0 0 0}.gallery-item:nth-child(4n){border-radius:0 0 90px 0}
.load-more{font-weight:700;background:var(--coral);border:0;color:var(--ink);padding:16px 28px}
.principles-copy{padding:90px 6vw}.principles-image{min-height:800px}.principles h2{font-size:clamp(44px,4.6vw,72px)}
.principle-list>div>span{color:#f9b192;opacity:1;font:800 24px/1.4 var(--display)}
.info{background:var(--sand)}.info-primary h2{font:800 49px/1 var(--display);letter-spacing:-2px}.info-card h3{font:800 28px/1 var(--display);letter-spacing:-1px}
.faq{background:var(--foam);border-top:1px solid var(--line)}.faq-topic h3{font:800 25px/1.2 var(--display);letter-spacing:-.7px}.faq-topic h3:before{content:'↳';color:#bd492f;margin-right:12px}
.faq details[open]{background:#e8dcc14d}.faq summary{font-weight:600}.faq summary::after{color:#ad412b}
.tickets{min-height:680px}.tickets-overlay{background:rgba(6,30,35,.65)}.ticket-main{background:var(--coral);color:var(--ink);font-weight:700;padding:18px 28px}.tickets h2{max-width:900px}
footer{background:var(--ink)}.footer-brand{font-size:74px}.footer-brand span{font-weight:500;margin-top:6px}
a:focus-visible,button:focus-visible{outline:3px solid #dc5639;outline-offset:5px}
@media(min-width:1600px){.hero h1{font-size:15vw}}
@media(max-width:1050px){.memory-heading{grid-template-columns:1fr 1.5fr}.memory-heading>p:last-child{grid-column:2}.sound-ribbon{gap:18px;justify-content:center;flex-wrap:wrap}.sound-ribbon span{white-space:nowrap}.sound-ribbon b{font-size:22px}}
@media(max-width:900px){
.hero{min-height:0}.hero h1{font-size:14.7vw}.hero-title-spark{font-size:6vw}.hero-topline{display:flex;font-size:9px}.hero-topline span{margin:0}
.masthead-bottom{font-size:9px;letter-spacing:.6px}.masthead-bottom>span{font-size:8px}
.hero-scene{height:480px}.section-pad{padding:75px 5vw}.statement-grid,.artists-intro,.memory-heading{grid-template-columns:1fr;gap:25px}.memory-heading>p:last-child{grid-column:auto}
.statement h2,.memory h2,.artists h2,.archive h2,.gallery h2,.principles h2,.tickets h2,.faq h2{font-size:clamp(43px,8vw,72px)}
.statement:after{font-size:100px;top:10px}.artist-card,.artist-card.big{height:560px}.artist-cards{grid-template-columns:1fr 1fr;gap:14px}.artist-name{left:18px;bottom:24px}.artist-name strong{font-size:38px}
.principles-image{min-height:550px}.principles-copy{padding:75px 5vw}.cinema-frame{aspect-ratio:4/3}
}
@media(max-width:560px){
.hero{padding-top:70px}.festival-masthead{padding:24px 4vw 20px}.hero h1{margin:18px 0 13px;font-size:14.5vw;letter-spacing:-.07em}.hero-title-spark{right:0;top:-14px;font-size:24px}
.masthead-bottom{display:block;line-height:1.7}.masthead-bottom>span{display:block;margin-top:4px}
.hero-scene{height:auto;padding-bottom:185px;background:var(--deep)}.hero-image{position:relative;inset:auto;height:auto;aspect-ratio:16/11;object-fit:cover;object-position:center}
.hero-gradient{display:none}.water-line{height:20px}
.hero-copy{left:5vw;right:5vw;bottom:26px;gap:14px;align-items:center}.hero-invitation{font-size:29px;max-width:260px;letter-spacing:-1.1px}
.hero-copy p[data-i18n="heroLead"]{font-size:12px;max-width:220px;line-height:1.5}
.festival-seal{width:92px;height:92px;flex-basis:92px}.festival-seal span{font-size:23px}.festival-seal small{font-size:6px}
.sound-ribbon{padding:17px 4vw;gap:11px 16px;font-size:12px}.sound-ribbon b{font-size:18px}.sound-ribbon b:last-of-type,.sound-ribbon span:last-child{display:none}
.statement h2,.memory h2,.artists h2,.archive h2,.gallery h2,.principles h2,.tickets h2,.faq h2{font-size:clamp(38px,10.5vw,59px);letter-spacing:-.045em}
.experience-strip{gap:15px;border-radius:28px 5px 28px 5px;padding:22px 16px;font-size:10px}.statement:after{font-size:78px}
.artist-cards{grid-template-columns:1fr}.artist-card,.artist-card.big{height:480px}.artist-card:nth-child(2){margin-left:12%;height:430px}.artist-name strong{font-size:44px}.artist-note{text-align:left;line-height:1.6}
.masonry{gap:9px}.gallery-item:nth-child(4n+1){border-radius:65px 0 0}.gallery-item:nth-child(4n){border-radius:0 0 45px 0}
.cinema-frame{margin:0 5vw;aspect-ratio:1/1.05}.principles-image{min-height:430px}.footer-brand{font-size:64px}.tickets{min-height:600px}.tickets-content>p:not(.section-kicker){font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Full event name, kept within the mobile masthead. */
.hero h1 .hero-festival-word{display:block;font:800 clamp(22px,3.2vw,50px)/1 var(--display);letter-spacing:.34em;margin:0 0 20px 5px;color:var(--ink)}
@media(max-width:560px){.hero h1 .hero-festival-word{font-size:21px;letter-spacing:.28em;margin:8px 0 20px 2px}}

/* The original footage is rotated into its correct landscape orientation. */
.hero-scene.water-video{height:auto;aspect-ratio:850/478;background:var(--deep)}
.water-video .hero-image,.water-video .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.water-video .water-line{z-index:2;pointer-events:none}
.water-video .hero-gradient{z-index:1;background:linear-gradient(0deg,rgba(5,27,31,.72),transparent 55%)}
.water-video .hero-copy{z-index:2;bottom:58px;pointer-events:none}
@media(max-width:560px){.hero-scene.water-video{aspect-ratio:auto;padding-bottom:185px}.water-video .hero-video{position:relative;inset:auto;height:auto;aspect-ratio:850/478}.water-video .hero-image{height:calc(100% - 185px)}.water-video .hero-copy{bottom:26px}.water-video .hero-invitation,.water-video .hero-copy p[data-i18n="heroLead"]{max-width:none}}

/* One immersive cover: the event title sits over the moving ocean. */
.topbar:not(.scrolled){background:linear-gradient(180deg,rgba(7,29,36,.65),transparent);color:var(--foam);border-bottom-color:transparent}
.topbar:not(.scrolled) .ticket-pill{color:var(--ink)}
.immersive-hero{height:100svh;min-height:780px;padding:0;position:relative;color:var(--foam);background:var(--deep);isolation:isolate}
.immersive-hero .hero-scene.water-video{position:absolute;inset:0;height:100%;width:100%;aspect-ratio:auto;padding:0;z-index:-2}
.immersive-hero .hero-image,.immersive-hero .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;aspect-ratio:auto}
.immersive-hero .hero-gradient{position:absolute;inset:0;z-index:1;display:block;background:linear-gradient(180deg,rgba(5,25,32,.2),rgba(5,25,32,.15) 30%,rgba(5,25,32,.5) 65%,rgba(5,25,32,.7))}
.immersive-hero .festival-masthead{position:relative;height:100%;padding:112px 4vw 86px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-shadow:0 2px 24px rgba(0,0,0,.26)}
.immersive-hero .hero-date{font-size:12px;font-weight:700;letter-spacing:3px;margin:0 0 22px}
.immersive-hero h1{font-size:clamp(76px,11.6vw,180px);line-height:1.12;letter-spacing:-.065em;margin:0;color:var(--foam)}
.immersive-hero h1 .hero-festival-word{font:700 clamp(19px,2vw,32px)/1 var(--display);letter-spacing:.45em;margin:9px 0 0 .4em;color:var(--foam)}
.immersive-hero .hero-place{font-size:13px;margin:25px 0 12px;letter-spacing:.8px}
.immersive-hero .hero-disciplines{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 24px}
.immersive-hero .hero-copy{position:static;display:flex;flex-direction:column;align-items:center;gap:0;pointer-events:auto;color:var(--foam)}
.immersive-hero .hero-invitation{font:700 clamp(26px,3vw,45px)/1.07 var(--display);letter-spacing:-.04em;margin:0 0 16px}
.immersive-hero .hero-copy p[data-i18n="heroLead"]{max-width:450px;font-size:14px;line-height:1.5;margin:0}
.hero-discover{font-size:12px;font-weight:700;border:1px solid #f5efdc99;border-radius:50px;padding:14px 24px;margin-top:25px;transition:background .2s}
.hero-discover:hover{background:var(--foam);color:var(--ink);text-shadow:none}
.video-toggle{position:absolute;bottom:22px;right:4vw;border:1px solid #ffffff65;border-radius:30px;background:#082e3970;color:var(--foam);padding:9px 15px;font-size:11px;cursor:pointer;z-index:3}
@media(max-width:900px){.immersive-hero{min-height:760px}.immersive-hero h1{font-size:12.4vw}.immersive-hero .hero-invitation{font-size:36px}}
@media(max-width:560px){.immersive-hero{height:100svh;min-height:690px}.immersive-hero .festival-masthead{padding:110px 5vw 85px}.immersive-hero h1{font-size:12.9vw;letter-spacing:-.07em}.immersive-hero h1 .hero-festival-word{font-size:19px;letter-spacing:.35em;margin:10px 0 0 .35em}.immersive-hero .hero-date{font-size:10px;letter-spacing:2px;margin-bottom:26px}.immersive-hero .hero-place{max-width:280px;font-size:12px;line-height:1.5;margin-top:26px}.immersive-hero .hero-disciplines{font-size:8px;letter-spacing:1.2px;margin-bottom:28px}.immersive-hero .hero-invitation{font-size:30px}.immersive-hero .hero-copy p[data-i18n="heroLead"]{max-width:290px;font-size:13px}.immersive-hero .hero-video,.immersive-hero .hero-image{object-position:55% 55%}.hero-discover{margin-top:24px}.video-toggle{bottom:18px;font-size:10px}}

/* Water and nature: a self-contained section for this design trial. */
.water-care{background:#165563;color:var(--foam);padding-top:80px;padding-bottom:80px}
.water-care-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:7vw;align-items:center}
.water-care-photo{height:460px;overflow:hidden;border-radius:46% 46% 12px 12px / 28% 28% 12px 12px}
.water-care-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.water-care-copy{max-width:590px}
.water-care-copy .section-kicker{color:#f8b698;margin:0 0 24px;font-size:10px}
.water-care h2{font:800 clamp(48px,6vw,88px)/.97 var(--display);letter-spacing:-.055em;margin:0 0 26px}
.water-care h2 em{color:#f8b698;font-style:normal;font-weight:inherit}
.water-care-copy>p:not(.section-kicker){font-size:16px;line-height:1.7;margin:0 0 16px;color:#f5efdcdf}
.water-care-copy .water-care-intro{font-weight:500;color:var(--foam)}
.water-care-gestures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4vw;margin-top:48px}
.water-care-gestures article{border-top:1px solid #f5efdc50;padding-top:18px}
.water-care-gestures article>span{font:700 13px/1 var(--display);color:#f8b698}
.water-care-gestures h3{font:700 23px/1.1 var(--display);letter-spacing:-.6px;margin:12px 0}
.water-care-gestures p{font-size:14px;line-height:1.65;margin:0;color:#f5efdcdf;max-width:340px}
@media(max-width:900px){.water-care-grid{gap:5vw}.water-care-photo{height:450px}.water-care h2{font-size:clamp(48px,7vw,68px)}.water-care-copy>p:not(.section-kicker){font-size:15px}.water-care-gestures{gap:24px}.water-care-gestures h3{font-size:21px}}
@media(max-width:620px){.water-care{padding:65px 5vw}.water-care-grid{grid-template-columns:1fr;gap:32px}.water-care-photo{height:auto;aspect-ratio:5/4;max-height:390px;border-radius:45% 45% 8px 8px / 30% 30% 8px 8px}.water-care h2{font-size:clamp(52px,14vw,76px);margin-bottom:24px}.water-care-copy .section-kicker{margin-bottom:20px;font-size:9px}.water-care-gestures{grid-template-columns:1fr;gap:24px;margin-top:28px}.water-care-gestures article{padding-top:18px}.water-care-gestures h3{font-size:24px;margin:10px 0}.water-care-gestures p{max-width:none;font-size:14px}}

/* Photo navigation by click, keyboard and horizontal dragging. */
dialog.lightbox{width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;color:var(--foam);overflow:hidden;padding:55px 80px 70px;background:rgba(2,18,24,.97)}
dialog.lightbox:not([open]){display:none}
dialog.lightbox::backdrop{background:rgba(2,18,24,.8)}
dialog.lightbox img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 130px);object-fit:contain;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y;transition:transform .18s ease}
dialog.lightbox img.dragging{cursor:grabbing;transition:none}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #f5efdc80;border-radius:50%;background:#0d4857a6;color:var(--foam);font:36px/1 sans-serif;display:grid;place-items:center;cursor:pointer;z-index:2}
.lightbox-prev{left:20px}.lightbox-next{right:20px}
.lightbox-prev:hover,.lightbox-next:hover{background:var(--foam);color:var(--ink)}
.lightbox-counter{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:13px;letter-spacing:1px;margin:0;pointer-events:none}
dialog.lightbox .lightbox-close{z-index:3;cursor:pointer}
@media(max-width:560px){dialog.lightbox{padding:65px 12px 85px}dialog.lightbox img{max-height:calc(100dvh - 150px)}.lightbox-prev,.lightbox-next{top:auto;bottom:21px;transform:none;width:44px;height:44px;font-size:32px}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox-counter{bottom:35px}}
@media(prefers-reduced-motion:reduce){dialog.lightbox img{transition:none}}

/* Keep the selected Nación Ekeko portrait centred on the face and headdress. */
.artist-ekeko img{object-position:46% 35%}
@media(max-width:560px){.artist-ekeko img{object-position:46% 30%}}

/* Let the artist photographs stay bright, without a dark bottom overlay. */
.artist-overlay{display:none}
.artist-name{text-shadow:0 1px 4px rgba(6,35,44,.6)}
.artist-ekeko img{height:calc(100% + 26px);margin-top:-6px}

.artist-loli img{object-position:50% 42%}

/* Original festival posters: complete artwork, gentle movement and clear focus. */
.poster-track{align-items:flex-start;padding-top:20px;padding-bottom:30px;gap:26px}
.poster.flyer-item{display:block;flex:0 0 min(310px,74vw);aspect-ratio:auto;height:auto;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:zoom-in;overflow:visible;transition:transform .35s ease,filter .35s ease;transform-origin:50% 85%}
.poster.flyer-item:before{display:none}
.poster.flyer-item img{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;border-radius:4px;box-shadow:0 8px 22px rgba(5,29,38,.12);transition:box-shadow .35s ease}
.flyer-caption{display:block;padding-top:14px;font:600 11px/1.4 'DM Sans',sans-serif;letter-spacing:1.8px}
.poster.flyer-item:focus-visible{outline:3px solid var(--coral);outline-offset:8px}
@media(hover:hover) and (pointer:fine){.poster.flyer-item:hover{transform:translateY(-10px) rotate(-1.2deg);filter:saturate(1.06)}.poster.flyer-item:nth-child(even):hover{transform:translateY(-10px) rotate(1.2deg)}.poster.flyer-item:hover img{box-shadow:0 20px 30px rgba(5,29,38,.22)}}
@media(prefers-reduced-motion:reduce){.poster.flyer-item,.poster.flyer-item img{transition:none}.poster.flyer-item:hover,.poster.flyer-item:nth-child(even):hover{transform:none}}

/* Producer editorial update: retain ocean, sand, coral, photos and generous rhythm. */
html{scroll-padding-top:95px}.desktop-nav{gap:18px}.hero-ctas{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}.hero-ctas .ticket-main,.hero-ctas .hero-discover{margin-top:0}.immersive-hero .hero-copy>p:not(.hero-invitation){max-width:720px;margin:10px auto 20px;line-height:1.5}.immersive-hero .hero-invitation{font-size:clamp(25px,3vw,43px)}
.festival-story{margin-top:45px;border-top:1px solid var(--line);padding-top:24px;max-width:950px}.festival-story summary{cursor:pointer;font-weight:700;font-size:20px}.festival-story p{font-size:17px;line-height:1.8;max-width:850px}
.experience-world{background:var(--sand)}.experience-world h2,.festival-place h2,.contact-community h2{font:800 clamp(42px,5.6vw,82px)/1 var(--display);letter-spacing:-.05em;margin:18px 0 40px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px}.experience-card{background:var(--foam);overflow:hidden;border-radius:4px 4px 40px 4px}.experience-card>img{height:240px;width:100%;object-fit:cover}.experience-card>div{padding:25px}.experience-card h3,.space-grid h3{font:700 25px/1.12 var(--display);margin:12px 0}.experience-card p,.space-grid p,.place-intro p,.camping-map p{font-size:16px;line-height:1.7}.organic-icon{width:33px;height:33px;flex-shrink:0}.editorial-note{font-size:13px!important;line-height:1.7;opacity:.8;margin-top:25px}.water-care-copy>p{line-height:1.7}.principle-list>div{grid-template-columns:40px 1fr;gap:10px}.principle-list .organic-icon{width:27px;height:27px;color:var(--coral)}
.festival-place{background:var(--foam)}.place-intro{max-width:850px}.text-link{text-decoration:underline;text-underline-offset:4px;font-weight:600}.space-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;gap:35px}.space-grid article{border-top:1px solid var(--line);padding-top:20px}.space-number{font-size:12px;color:var(--sea)}.camping-map{display:grid;grid-template-columns:1.2fr .8fr;align-items:start;gap:8vw;margin-top:90px}.camping-map figure{margin:0}.camping-map img{width:100%;height:auto;max-height:690px;object-fit:contain;cursor:zoom-in}.camping-map figcaption{font-size:12px;line-height:1.6;margin-top:18px;opacity:.75}.ticket-prices{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:35px auto;max-width:1050px}.ticket-prices>div{padding:22px 18px;border:1px solid rgba(255,255,255,.4);background:rgba(5,32,40,.4);border-radius:8px}.ticket-prices span,.ticket-prices strong,.ticket-prices small{display:block}.ticket-prices span{font-size:13px}.ticket-prices strong{font:700 clamp(24px,3vw,38px)/1.3 var(--display);margin-top:12px}.ticket-prices small{font-size:11px;opacity:.7}.tickets-content{width:100%}.tickets .editorial-note{max-width:800px;margin:0 auto 20px}.contact-community{background:var(--coral);color:var(--ink)}.contact-community>p:not(.section-kicker){max-width:650px;font-size:18px;line-height:1.7}.contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}.contact-links>a{overflow-wrap:anywhere}.contact-links .ticket-main{background:var(--ink);color:var(--foam);margin:0}.faq-topic p a{text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:1100px){.desktop-nav{gap:12px;font-size:12px}.experience-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.space-grid{grid-template-columns:repeat(2,1fr)}.camping-map{grid-template-columns:1fr;gap:40px}.ticket-prices{grid-template-columns:repeat(2,1fr)}.ticket-prices>div:last-child{grid-column:1/-1}.experience-world h2,.festival-place h2,.contact-community h2{font-size:clamp(38px,10vw,62px)}.contact-links{align-items:flex-start;flex-direction:column}.hero-ctas{gap:16px}.immersive-hero .hero-copy>p:not(.hero-invitation){font-size:14px;max-width:95%}.immersive-hero .hero-invitation{font-size:27px}}
@media(max-width:480px){.experience-grid{grid-template-columns:1fr}.space-grid{gap:20px}.space-grid h3{font-size:22px}.experience-card>img{height:250px}.hero-ctas .ticket-main{padding:12px 17px}.hero-ctas .hero-discover{font-size:12px}.immersive-hero{min-height:760px}}

/* Archive films keep their full portrait framing. The ocean cover stays horizontal. */
.portal-video-story{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:6vw;align-items:center;max-width:1000px;margin:65px auto 0;padding-top:45px;border-top:1px solid var(--line)}
.portrait-film{width:100%;max-width:320px;margin:0 auto;aspect-ratio:9/16;overflow:hidden;border-radius:8px;background:#082f3d;box-shadow:0 15px 40px #051d2626}
.portrait-film video{display:block;width:100%;height:100%;object-fit:contain;background:#082f3d}
.film-copy h3{font:800 clamp(30px,3.7vw,54px)/1.06 var(--display);letter-spacing:-.04em;margin:18px 0 25px}.film-copy>p:not(.section-kicker){font-size:17px;line-height:1.7;max-width:520px}.film-copy .film-credit{font-size:12px!important;opacity:.75}
.memory-film-stage{position:relative;isolation:isolate;margin:0 5vw;padding:50px 5vw;overflow:hidden;border-radius:6px}.memory-context-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.28}.memory-film-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#082f3d22,#082f3de8)}
.festival-film{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:6vw;align-items:center;max-width:1030px;margin:0 auto}.festival-film .section-kicker{color:#f8b698}
@media(max-width:700px){.portal-video-story,.festival-film{grid-template-columns:1fr;gap:28px}.portrait-film{max-width:300px}.memory-film-stage{padding:28px 6vw}.film-copy h3{font-size:34px}.film-copy>p:not(.section-kicker){font-size:16px}.portal-video-story{margin-top:40px;padding-top:35px}}
