@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Montserrat:wght@700;800;900&display=swap');
:root{--navy:#071c33;--navy-2:#0d2e4f;--red:#d7263d;--red-dark:#a51429;--blue:#1261a8;--cream:#f6f0e4;--paper:#fffaf1;--gold:#f4b942;--turquoise:#0c7f82;--coral:#e66b52;--ink:#101f2c;--muted:#52606c;--line:#d8d1c5;--focus:#ffd65a;--success:#187450;--error:#b7192d;--container:min(1160px,calc(100% - 40px));--display:'Montserrat',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-underline-offset:4px}img{max-width:100%;height:auto}button,input{font:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.skip{position:fixed;z-index:100;left:16px;top:-100px;background:#fff;color:#071c33;padding:12px 18px}.skip:focus{top:16px}.site-header{position:relative;z-index:20;background:#fff;box-shadow:0 1px 0 rgba(7,28,51,.12)}.topline{min-height:32px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:4px max(20px,calc((100% - 1160px)/2));font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.nav-shell{width:var(--container);margin:auto;min-height:174px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);font-family:var(--display);font-weight:900;line-height:.88;text-transform:uppercase;letter-spacing:-.04em}.brand small{display:block;color:var(--red);font-size:.73em;letter-spacing:.15em}.brand-mark{position:relative;width:39px;height:45px;clip-path:polygon(0 0,100% 20%,100% 80%,0 100%);background:linear-gradient(#fff 0 20%,var(--red) 20% 40%,#fff 40% 60%,var(--red) 60% 80%,#fff 80%);border:1px solid var(--line)}.brand-mark:after{content:"";position:absolute;inset:0 42% 0 0;background:var(--blue);clip-path:polygon(0 0,100% 50%,0 100%)}.brand-mark i{position:absolute;z-index:2;left:6px;top:18px;width:8px;height:8px;background:white;clip-path:polygon(50% 0,61% 34%,98% 34%,68% 55%,79% 91%,50% 69%,21% 91%,32% 55%,2% 34%,39% 34%)}.nav-primary{display:flex;align-items:center;gap:22px}.nav-primary>a,.nav-parent{border:0;background:none;padding:14px 0;color:var(--navy);font-size:12px;font-weight:800;letter-spacing:.09em;text-decoration:none;cursor:pointer}.nav-parent:after{content:"+";margin-left:6px;color:var(--red)}.nav-parent[aria-expanded=true]:after{content:"−"}.nav-cta{background:var(--red)!important;color:#fff!important;padding:12px 16px!important}.mega{position:absolute;left:0;right:0;top:100%;background:var(--navy);color:#fff}.mega-panel{display:none;width:var(--container);margin:auto;padding:28px 0 34px;grid-template-columns:180px repeat(4,minmax(130px,1fr));gap:10px 24px}.mega-panel.is-open{display:grid}.mega-panel p{grid-row:span 2;margin:0;color:var(--gold);font:800 14px var(--display);letter-spacing:.14em}.mega-panel a{color:#fff;text-decoration:none;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.12)}.mega-panel a:hover{text-decoration:underline}.menu-toggle{display:none}.crumbs{width:var(--container);margin:22px auto}.crumbs ol{padding:0;margin:0;list-style:none;display:flex;flex-wrap:wrap;gap:7px;font-size:13px}.crumbs li+li:before{content:"/";margin-right:7px;color:var(--red)}
.hero{position:relative;min-height:760px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;isolation:isolate}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0 48%,transparent 70%),repeating-linear-gradient(115deg,transparent 0 130px,rgba(255,255,255,.03) 130px 132px);z-index:1}.hero-media{grid-column:1/-1;grid-row:1;min-height:760px;background:linear-gradient(90deg,rgba(7,28,51,.3),rgba(7,28,51,.05)),url('https://www.nps.gov/common/uploads/event_calendar/6413DBCC-96C6-3593-BDEA30CA9B6BFC99.jpg?autorotate=false&maxHeight=1200&maxWidth=1800&quality=88') center/cover no-repeat;position:relative}.hero-media .credit{position:absolute;bottom:15px;right:18px;padding:3px 7px;background:rgba(7,28,51,.85);font-size:11px}.hero-content{position:relative;z-index:2;grid-column:1;grid-row:1;align-self:center;width:min(580px,calc(100% - 40px));margin-left:max(20px,calc((100vw - 1160px)/2));padding:75px 0}.kicker,.section-label{margin:0 0 14px;color:var(--red);font-size:12px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.hero .kicker{color:var(--gold)}h1,h2,h3{font-family:var(--display);line-height:.95;letter-spacing:-.055em}.hero h1{font-size:clamp(55px,7vw,105px);text-transform:uppercase;margin:0;max-width:750px}.hero h1 em{color:var(--red);font-style:normal}.hero-content>p:not(.kicker){font-size:clamp(19px,2vw,28px);font-weight:600}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.button{display:inline-block;background:var(--red);color:#fff;padding:15px 22px;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px;border:2px solid var(--red)}.button:hover{background:var(--red-dark);border-color:var(--red-dark)}.button--ghost{background:rgba(7,28,51,.7);border-color:#fff}.button--dark{background:var(--navy);border-color:var(--navy)}.pending{border-left:2px solid var(--gold);padding-left:16px;display:grid;margin-top:55px}.pending span,.pending small{text-transform:uppercase;letter-spacing:.12em;font-size:10px}.pending strong{font:800 22px var(--display);text-transform:uppercase}.scroll-cue{position:absolute;z-index:3;bottom:0;left:50%;transform:translateX(-50%);background:var(--cream);color:var(--navy);padding:10px 24px;text-decoration:none;display:grid;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.14em}.countdown{background:var(--red);color:#fff;min-height:120px;display:flex;justify-content:center;align-items:center;gap:50px;text-align:center;padding:20px}.countdown>p{max-width:180px;margin:0;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.countdown div{display:flex;align-items:baseline;gap:12px}.countdown strong{font:900 clamp(28px,5vw,68px) var(--display);text-transform:uppercase}.countdown span{text-transform:uppercase;letter-spacing:.15em}.section-head{width:var(--container);margin:0 auto 40px}.section-head>p{color:var(--red);font-size:12px;text-transform:uppercase;letter-spacing:.2em;font-weight:800}.section-head h2{font-size:clamp(38px,5vw,72px);margin:0;max-width:760px}.event-preview{padding:100px 0;background:var(--paper)}.empty-event{width:var(--container);margin:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:130px 1fr auto;gap:30px;align-items:center;padding:28px 0}.date-tile{background:var(--navy);color:#fff;display:grid;text-align:center;padding:14px}.date-tile b{font:900 42px var(--display)}.date-tile small{color:var(--gold)}.empty-event p{margin:0;color:var(--red);font-size:12px;text-transform:uppercase;font-weight:800}.empty-event h3{font-size:28px;margin:2px 0 4px}.empty-event>a{font-weight:800;text-decoration:none}.pathways{background:var(--navy);color:#fff;padding:100px 0}.section-head.light>p{color:var(--gold)}.pathway-grid{width:var(--container);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.path{min-height:420px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;background:var(--navy-2);border-top:5px solid transparent;transition:transform .2s}.path:hover{transform:translateY(-8px)}.path span{font-size:12px;color:var(--gold)}.path h3{font-size:38px;margin:0}.path p{margin:4px 0}.path b{font-size:24px;align-self:flex-end}.path-1{background:linear-gradient(160deg,#153d62,#071c33);border-color:var(--red)}.path-2{background:linear-gradient(160deg,#7e291f,#31150e);border-color:var(--gold)}.path-3{background:linear-gradient(160deg,#0d696c,#073334);border-color:#75d4cf}.path-4{background:linear-gradient(160deg,#604b24,#241c0d);border-color:#f4b942}.artist-feature,.food-feature,.map-preview{width:var(--container);margin:auto;padding:110px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:9vw;align-items:center}.poster{aspect-ratio:4/5;background:var(--red);color:#fff;padding:34px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-2deg);box-shadow:18px 18px 0 var(--gold)}.poster p{font:900 18px var(--display);letter-spacing:.2em}.poster span{font:900 clamp(48px,6vw,80px)/.83 var(--display);letter-spacing:-.08em}.poster small{text-transform:uppercase;letter-spacing:.18em}.artist-feature h2,.food-feature h2,.map-preview h2,.community-feature h2{font-size:clamp(40px,5vw,72px);margin:0 0 25px}.text-link{display:inline-block;color:var(--navy);font-weight:800;text-decoration:none;border-bottom:2px solid var(--red);padding-bottom:4px}.food-feature{border-top:1px solid var(--line);grid-template-columns:1.2fr 1fr}.food-links{display:grid;grid-template-columns:1fr 1fr;margin-top:35px}.food-links a{padding:15px 0;margin-right:20px;border-top:1px solid var(--line);text-decoration:none;display:flex;justify-content:space-between;font-weight:700}.food-art{aspect-ratio:1;background:var(--gold);border-radius:50%;display:grid;place-items:center;position:relative}.food-art span{position:absolute;width:65%;height:65%;border:15px solid var(--paper);border-radius:50%;box-shadow:inset 0 0 0 8px var(--coral)}.food-art b{z-index:1;font:900 clamp(40px,6vw,70px)/.82 var(--display);text-align:center;color:var(--navy);transform:rotate(-8deg)}.culture-break{min-height:680px;background:linear-gradient(90deg,rgba(7,28,51,.98),rgba(7,28,51,.65)),url('https://www.nps.gov/common/uploads/event_calendar/6413DBCC-96C6-3593-BDEA30CA9B6BFC99.jpg?autorotate=false&maxHeight=1200&maxWidth=1800&quality=85') center/cover;color:#fff;display:flex;align-items:center}.culture-break>div{width:var(--container);margin:auto}.culture-break h2{font-size:clamp(50px,7vw,96px);margin:0;max-width:1000px}.culture-break p:not(.kicker){max-width:580px;font-size:19px}.map-art{aspect-ratio:1.2;background:var(--turquoise);position:relative;overflow:hidden}.map-art:before,.map-art:after{content:"";position:absolute;border:18px solid var(--gold);width:80%;height:30%;transform:rotate(-18deg);left:-10%;top:15%}.map-art:after{border-color:var(--red);transform:rotate(25deg);left:30%;top:50%}.map-art i{position:absolute;width:22px;height:22px;border:5px solid white;border-radius:50%;z-index:2}.map-art i:nth-child(1){top:18%;left:66%}.map-art i:nth-child(2){top:55%;left:18%}.map-art i:nth-child(3){top:70%;left:73%}.map-art span{position:absolute;z-index:3;inset:auto 20px 20px auto;background:var(--navy);color:#fff;padding:16px;font:900 24px/.9 var(--display)}.community-feature{background:var(--paper);padding:110px max(20px,calc((100% - 1160px)/2))}.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.impact-grid a{min-height:250px;background:var(--cream);padding:25px;text-decoration:none;display:flex;flex-direction:column}.impact-grid b{color:var(--red)}.impact-grid h3{font-size:30px;margin:auto 0}.impact-grid span{font-weight:800}.final-cta{background:var(--red);color:#fff;text-align:center;padding:100px 20px}.final-cta p{text-transform:uppercase;letter-spacing:.2em;font-weight:800}.final-cta h2{font-size:clamp(55px,8vw,110px);margin:10px}.final-cta>div{display:flex;gap:25px;align-items:center;justify-content:center;flex-wrap:wrap}.final-cta>div>a:not(.button){font-weight:800}
.page-hero{width:var(--container);margin:0 auto;min-height:460px;background:var(--navy);color:#fff;padding:60px;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.page-hero>div{position:relative;z-index:2;max-width:800px}.page-hero h1{font-size:clamp(48px,7vw,90px);margin:0;text-transform:uppercase}.page-hero .lede{font-size:20px;max-width:680px}.sun{display:block;min-width:260px;height:260px;border-radius:50%;background:var(--red);box-shadow:-55px 35px 0 var(--gold);transform:translateX(70px)}.page-hero--culture .sun{background:var(--turquoise)}.page-hero--food .sun{background:var(--gold);box-shadow:-55px 35px 0 var(--coral)}.page-hero--events .sun{background:var(--red);box-shadow:-55px 35px 0 var(--blue)}.editorial{width:var(--container);margin:auto;padding:100px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.editorial h2{font-size:clamp(38px,5vw,66px);margin:0}.editorial>div>p{font-size:20px}.truth-note{margin-top:30px;border-left:5px solid var(--gold);background:var(--paper);padding:20px;display:grid}.related{padding:90px 0;background:var(--paper)}.link-grid{width:var(--container);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.link-grid a{background:var(--cream);padding:24px;text-decoration:none;display:flex;justify-content:space-between;font-weight:800}.event-state,.search-page,.qa-page,.error-page{width:var(--container);margin:auto;padding:100px 0;min-height:550px}.event-state{max-width:900px}.event-state h2,.search-page h1,.qa-page h1,.error-page h1{font-size:clamp(48px,7vw,86px);margin:0}.event-state>p:not(.section-label){font-size:20px}.event-actions{display:flex;gap:30px;align-items:center;margin-top:35px}.search-form{margin:45px 0}.search-form label{display:block;font-weight:700;margin-bottom:8px}.search-form>div{display:flex;max-width:780px}.search-form input{flex:1;min-width:0;border:2px solid var(--navy);background:#fff;color:var(--ink);padding:16px}.search-form input::placeholder{color:#65727c}.search-form button{border:2px solid var(--navy);background:var(--navy);color:#fff;padding:10px 25px;font-weight:800}.search-result{display:grid;background:var(--paper);padding:18px;margin:8px 0;text-decoration:none;border-left:4px solid var(--red)}.qa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:45px 0}.qa-grid article{background:var(--paper);padding:20px}.qa-grid article>span{color:var(--success);font-weight:900}.qa-grid h2{font-size:20px;margin:6px 0}.error-page>span{font:900 130px var(--display);color:var(--red)}.error-page>div{display:flex;gap:25px;align-items:center;flex-wrap:wrap}
footer{background:#041323;color:#fff}.footer-main{width:var(--container);margin:auto;padding:75px 0;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:50px}.brand--light{color:#fff}.footer-main h2{color:var(--gold);font-size:12px;letter-spacing:.15em}.footer-main>div>a:not(.brand){display:block;color:#fff;margin:7px 0;text-decoration:none}.footer-main p{color:#b9c4ce;max-width:300px}.footer-base{border-top:1px solid #304155;padding:20px max(20px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#b9c4ce}
@media(max-width:1000px){.nav-primary{gap:12px}.nav-primary>a,.nav-parent{font-size:10px}.hero{grid-template-columns:1.2fr 1fr}.pathway-grid{grid-template-columns:1fr 1fr}.path{min-height:300px}.footer-main{grid-template-columns:2fr 1fr 1fr}.footer-main>div:nth-child(n+4){display:none}}
@media(max-width:780px){:root{--container:min(100% - 30px,1160px)}.topline span:last-child{display:none}.nav-shell{min-height:72px}.menu-toggle{display:flex;align-items:center;gap:8px;border:0;background:var(--navy);color:#fff;padding:12px;font-weight:800}.menu-toggle b,.menu-toggle b:before,.menu-toggle b:after{display:block;width:18px;height:2px;background:#fff;content:""}.menu-toggle b:before{transform:translateY(-6px)}.menu-toggle b:after{transform:translateY(4px)}.site-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);max-height:calc(100vh - 72px);overflow:auto}.site-menu.is-open{display:block}.nav-primary{display:block;padding:10px 20px}.nav-primary>a,.nav-parent{display:flex;width:100%;justify-content:space-between;color:#fff!important;padding:16px 5px;border-bottom:1px solid rgba(255,255,255,.15);font-size:13px}.nav-cta{margin-top:12px;justify-content:center!important}.mega{position:static}.mega-panel{width:auto;padding:5px 30px 18px;display:none;grid-template-columns:1fr}.mega-panel.is-open{display:grid}.mega-panel p{display:none}.hero{min-height:700px;display:block}.hero:before{background:linear-gradient(0deg,var(--navy) 10%,rgba(7,28,51,.65) 70%,rgba(7,28,51,.2))}.hero-media{position:absolute;inset:0;min-height:700px;background-position:60% center}.hero-content{margin:0;padding:260px 20px 80px;width:auto}.hero h1{font-size:52px}.pending{margin-top:28px}.countdown{gap:12px;flex-direction:column}.countdown strong{font-size:34px}.empty-event{grid-template-columns:90px 1fr}.empty-event>a{grid-column:1/-1}.pathway-grid{grid-template-columns:1fr}.path{min-height:220px}.artist-feature,.food-feature,.map-preview,.editorial{grid-template-columns:1fr;gap:50px;padding:75px 0}.poster{max-width:440px;margin:auto}.food-feature>div:last-child{grid-row:1}.culture-break{min-height:610px}.impact-grid,.link-grid,.qa-grid{grid-template-columns:1fr}.page-hero{padding:35px;min-height:420px}.sun{min-width:150px;height:150px;margin-right:-100px}.footer-main{grid-template-columns:1fr 1fr}.footer-base{display:block}.event-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){body{font-size:15px}.topline{font-size:9px}.brand{font-size:14px}.brand-mark{width:32px;height:38px}.hero h1{font-size:44px}.hero-actions{display:grid}.button{text-align:center}.section-head h2,.artist-feature h2,.food-feature h2,.map-preview h2,.community-feature h2{font-size:39px}.event-preview,.pathways{padding:70px 0}.empty-event{grid-template-columns:72px 1fr;gap:14px}.date-tile{padding:8px}.empty-event h3{font-size:22px}.food-links{grid-template-columns:1fr}.page-hero{padding:28px}.page-hero h1{font-size:39px}.sun{display:none}.editorial{gap:25px}.editorial h2{font-size:38px}.footer-main{grid-template-columns:1fr}.footer-main>div:nth-child(n+3){display:none}.search-form>div{display:grid}.search-form button{padding:14px}.error-page>span{font-size:90px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Stage 2: editorial texture, interaction states, and intermediate-width guardrails */
.site-header{position:sticky;top:0}.nav-primary>a:not(.nav-cta):hover,.nav-parent:hover,.nav-primary>a:not(.nav-cta):focus-visible,.nav-parent:focus-visible{color:var(--red)}.mega-panel a:hover,.mega-panel a:focus-visible{color:var(--gold);border-bottom-color:var(--gold)}.button:active{transform:translateY(1px)}.text-link:hover,.text-link:focus-visible{color:var(--red-dark)}
.page-hero{position:relative;background-image:linear-gradient(120deg,transparent 0 72%,rgba(255,255,255,.045) 72% 73%,transparent 73%),repeating-linear-gradient(0deg,transparent 0 53px,rgba(255,255,255,.035) 53px 54px)}.page-hero:before{content:"";position:absolute;left:0;bottom:0;width:44%;height:14px;background:linear-gradient(90deg,var(--red) 0 33%,#fff 33% 66%,var(--blue) 66%)}
.event-preview{position:relative}.event-preview:after{content:"";position:absolute;right:0;top:0;width:clamp(60px,9vw,150px);height:100%;opacity:.08;background:repeating-linear-gradient(135deg,var(--red) 0 16px,transparent 16px 32px)}
.artist-feature{position:relative}.artist-feature:after{content:"";position:absolute;right:-12vw;top:60px;width:240px;height:240px;border:22px solid rgba(215,38,61,.08);border-radius:50%}
.food-feature{background:linear-gradient(110deg,transparent 0 63%,rgba(244,185,66,.10) 63%);position:relative}.culture-break{background-position:center 32%}.community-feature{position:relative;isolation:isolate}.community-feature:before{content:"";position:absolute;z-index:-1;inset:0 0 auto 0;height:10px;background:linear-gradient(90deg,var(--blue) 0 32%,#fff 32% 36%,var(--red) 36% 68%,#fff 68% 72%,var(--gold) 72%)}
.event-list{width:var(--container);margin:auto;padding:90px 0}.event-card{display:grid;grid-template-columns:95px 1fr 50px;gap:28px;align-items:center;border-top:1px solid var(--line);padding:24px 0}.event-card:last-child{border-bottom:1px solid var(--line)}.event-card time{display:grid;text-align:center;background:var(--navy);color:#fff;padding:10px}.event-card time b{font:900 32px var(--display)}.event-card time span{color:var(--gold);text-transform:uppercase;font-weight:800}.event-card p{margin:0;color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.event-card h3{font-size:28px;margin:3px 0}.event-card h3 a{text-decoration:none}.event-arrow{font-size:30px;text-decoration:none}.event-status{display:inline-block;margin-top:12px;background:var(--gold);color:var(--navy);padding:4px 8px;text-transform:uppercase;font-size:11px;letter-spacing:.1em}.event-card--cancelled{opacity:.78}.event-card--cancelled h3{text-decoration:line-through}.event-detail{width:min(900px,calc(100% - 40px));margin:auto;padding:90px 0}.event-detail h1{font-size:clamp(48px,8vw,92px);margin:10px 0}.event-detail .lede{font-size:21px}.event-detail dl{margin:40px 0;border-top:1px solid var(--line)}.event-detail dl div{display:grid;grid-template-columns:160px 1fr;padding:18px 0;border-bottom:1px solid var(--line)}.event-detail dt{font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.event-detail dd{margin:0}.empty-seal{float:right;margin:0 0 25px 45px;width:180px;height:180px;border:10px double var(--red);border-radius:50%;display:grid;place-items:center;text-align:center;color:var(--navy);font:900 54px/.65 var(--display);transform:rotate(8deg)}.empty-seal span{font:800 10px var(--body);letter-spacing:.15em}.home-event-list{width:var(--container);margin:auto}
@media(min-width:781px) and (max-width:1100px){.topline span:last-child{display:none}.nav-shell{min-height:76px}.menu-toggle{display:flex;align-items:center;gap:8px;border:0;background:var(--navy);color:#fff;padding:12px;font-weight:800}.menu-toggle b,.menu-toggle b:before,.menu-toggle b:after{display:block;width:18px;height:2px;background:#fff;content:""}.menu-toggle b:before{transform:translateY(-6px)}.menu-toggle b:after{transform:translateY(4px)}.site-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);max-height:calc(100vh - 76px);overflow:auto}.site-menu.is-open{display:block}.nav-primary{display:block;padding:10px max(30px,calc((100% - 760px)/2))}.nav-primary>a,.nav-parent{display:flex;width:100%;justify-content:space-between;color:#fff!important;padding:16px 5px;border-bottom:1px solid rgba(255,255,255,.15);font-size:13px}.nav-cta{margin-top:12px;justify-content:center!important}.mega{position:static}.mega-panel{width:min(760px,calc(100% - 60px));padding:5px 20px 18px;display:none;grid-template-columns:1fr 1fr}.mega-panel.is-open{display:grid}.mega-panel p{display:none}}
@media(max-width:600px){.empty-seal{float:none;width:135px;height:135px;font-size:42px;margin:0 0 30px}.event-card{grid-template-columns:70px 1fr;gap:16px}.event-card .event-arrow{grid-column:2}.event-detail dl div{grid-template-columns:1fr;gap:5px}.site-header{position:relative}}
.qa-grid article>span{display:inline-block;padding:4px 8px;background:var(--success);color:#fff;font-size:10px;letter-spacing:.08em}.qa-grid .qa-not-verified>span{background:var(--muted)}.qa-grid .qa-needs-content>span{background:var(--gold);color:var(--navy)}
.intentional-empty{width:var(--container);margin:80px auto;padding:60px;background:var(--paper);display:grid;grid-template-columns:180px 1fr;gap:50px;align-items:center;border-top:8px solid var(--gold)}.intentional-empty>span{width:150px;height:150px;border:8px double var(--red);border-radius:50%;display:grid;place-items:center;color:var(--navy);font:900 52px var(--display);transform:rotate(-6deg)}.intentional-empty h2{font-size:clamp(34px,5vw,60px);margin:0}.content-directory,.map-directory{width:var(--container);margin:90px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.content-directory article,.map-directory article{background:var(--paper);padding:24px;border-top:5px solid var(--red)}.content-directory img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:18px}.content-directory article>p,.map-directory article>p{color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.content-directory h2,.map-directory h2{font-size:27px;margin:4px 0 12px}.content-directory h2 a{text-decoration:none}.schedule-list{width:var(--container);margin:90px auto}.schedule-list article{display:grid;grid-template-columns:150px 1fr auto;gap:30px;padding:24px 0;border-top:1px solid var(--line);align-items:start}.schedule-list article:last-child{border-bottom:1px solid var(--line)}.schedule-list time{font:900 26px var(--display);color:var(--red)}.schedule-list h2{font-size:30px;margin:2px 0}.schedule-list p{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.schedule-list strong{text-transform:uppercase;font-size:10px;background:var(--navy);color:#fff;padding:5px 8px}.content-detail{width:min(900px,calc(100% - 40px));margin:80px auto}.content-detail header{margin-bottom:45px}.content-detail h1{font-size:clamp(52px,8vw,96px);margin:0}.content-detail .lede{font-size:22px;max-width:750px}.content-detail figure{margin:40px 0}.content-detail figure img{display:block;width:100%;height:auto}.content-detail figcaption{padding:10px 0;font-size:13px;color:var(--muted)}.content-detail figcaption span{float:right}.prose{max-width:720px;margin:50px auto}.prose p{font-size:18px;line-height:1.8}.prose p:first-child:first-letter{float:left;font:900 70px/.8 var(--display);color:var(--red);padding:8px 10px 0 0}
@media(max-width:780px){.intentional-empty{grid-template-columns:1fr;padding:35px}.intentional-empty>span{width:110px;height:110px;font-size:38px}.content-directory,.map-directory{grid-template-columns:1fr}.schedule-list article{grid-template-columns:1fr;gap:6px}.content-detail figcaption span{float:none;display:block}}
.record-relationships{width:min(900px,calc(100% - 40px));margin:20px auto 80px;padding:30px;background:var(--navy);color:#fff}.record-relationships>div{display:flex;flex-wrap:wrap;gap:10px}.record-relationships a{color:#fff;border:1px solid rgba(255,255,255,.35);padding:10px 14px;text-decoration:none;font-weight:700}.record-relationships a:hover,.record-relationships a:focus-visible{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.real-community{background:var(--paper);padding:100px 0;border-top:10px solid var(--gold)}.real-community>div{width:var(--container);margin:auto;display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;align-items:start}.real-community article h2{font-size:clamp(44px,6vw,78px);margin:0 0 22px}.real-community article>p:not(.section-label){font-size:19px;max-width:650px}.real-community aside{background:var(--navy);color:#fff;padding:30px;box-shadow:14px 14px 0 var(--red)}.real-community aside .section-label{color:var(--gold)}.real-community aside>a{display:grid;color:#fff;text-decoration:none;border-top:1px solid rgba(255,255,255,.25);padding:20px 0}.real-community aside>a:last-child{border-bottom:1px solid rgba(255,255,255,.25)}.real-community aside strong{font:800 25px var(--display)}.real-community aside span{color:#d7e0e8;margin-top:5px}.footer-base a{color:#fff;font-weight:700}.footer-base a:hover,.footer-base a:focus-visible{color:var(--gold)}
@media(max-width:780px){.real-community>div{grid-template-columns:1fr;gap:50px}.real-community{padding:75px 0}.real-community aside{box-shadow:8px 8px 0 var(--red)}}

/* Stage 6.5: destination search and discovery */
.header-search-toggle,.nav-search--mobile{display:none}.search-toggle{border:0;background:none;color:var(--navy);padding:14px 0;font-size:12px;font-weight:800;letter-spacing:.09em;cursor:pointer}.search-toggle:after{content:"⌕";margin-left:6px;color:var(--red);font-size:17px}.global-search{background:var(--navy);color:#fff;border-top:1px solid #304155;padding:28px max(20px,calc((100% - 1160px)/2))}.global-search[hidden]{display:none}.global-search form{display:grid;grid-template-columns:260px 1fr;gap:25px;align-items:center}.global-search label{font:800 22px var(--display)}.global-search form>div,.home-discovery form>div,.event-discovery form>div,.nav-search>div{display:flex}.global-search input,.home-discovery input,.event-discovery input,.nav-search input{min-width:0;flex:1;background:#fff;color:var(--ink);border:2px solid #fff;padding:15px}.global-search input::placeholder,.home-discovery input::placeholder,.event-discovery input::placeholder,.nav-search input::placeholder{color:#5b6873;opacity:1}.global-search button,.home-discovery button,.event-discovery button,.nav-search button{border:2px solid var(--red);background:var(--red);color:#fff;padding:12px 22px;font-weight:800}.mega-panel{grid-template-columns:150px minmax(300px,1.3fr) minmax(260px,.8fr);gap:28px}.mega-panel p{grid-row:auto}.mega-links{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.mega-links a{display:block}.mega-panel aside{border-left:1px solid rgba(255,255,255,.22);padding-left:28px;display:grid;align-content:start;gap:8px}.mega-panel aside strong{font:800 21px var(--display);color:#fff}.mega-panel aside>span{color:#d7e0e8}.mega-panel aside a{color:var(--gold);border:0;font-weight:800}.site-menu a[aria-current=page]{color:var(--gold);text-decoration:underline;text-decoration-thickness:2px}
.home-discovery{background:var(--gold);padding:75px 0;color:var(--navy)}.home-discovery>div{width:min(920px,calc(100% - 40px));margin:auto}.home-discovery h2{font-size:clamp(42px,6vw,76px);margin:0 0 28px}.home-discovery label{display:block;font-weight:800;margin-bottom:8px}.home-discovery input{border-color:var(--navy);font-size:18px}.home-discovery nav,.event-discovery nav,.search-recovery{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.home-discovery nav a,.event-discovery nav a,.search-recovery a{background:var(--paper);border:1px solid rgba(7,28,51,.3);padding:8px 13px;text-decoration:none;font-weight:700}.home-discovery nav a:hover,.home-discovery nav a:focus-visible{background:var(--navy);color:#fff}.event-discovery{width:var(--container);margin:70px auto 0;padding:35px;background:var(--paper);border-top:7px solid var(--gold)}.event-discovery form{max-width:820px}.event-discovery label{display:block;font-weight:800;margin-bottom:8px}.event-discovery input{border-color:var(--navy)}.visitor-guide{width:var(--container);margin:80px auto;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.visitor-guide article{background:var(--paper);padding:30px;border-top:5px solid var(--red)}.visitor-guide h2{font-size:28px;margin:0 0 12px}.visitor-guide a{font-weight:800;text-decoration:none;border-bottom:2px solid var(--red)}.search-result{grid-template-columns:1fr;gap:4px}.search-result .search-type{color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.search-result strong{font:800 23px var(--display)}.search-result time{font-size:13px;color:var(--muted)}.search-count{font-weight:800}.search-zero{background:var(--paper);border-top:7px solid var(--gold);padding:30px}.search-zero h2{font-size:clamp(30px,5vw,48px);margin:0}.search-zero>div{display:flex;flex-wrap:wrap;gap:12px}.search-zero a{font-weight:800}.search-recovery{padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:1100px){.search-toggle{display:none}.nav-search--mobile{display:block;color:#fff;padding:20px max(30px,calc((100% - 760px)/2)) 5px}.nav-search label{display:block;color:var(--gold);font-weight:800;margin-bottom:7px}.mega-panel{grid-template-columns:1fr 1fr}.mega-panel aside{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:18px 0 0}.mega-links{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.global-search{display:none}.nav-search--mobile{padding:20px 20px 5px}.visitor-guide{grid-template-columns:1fr}.home-discovery{padding:60px 0}.home-discovery form>div,.event-discovery form>div{display:grid}.mega-links{grid-template-columns:1fr}.mega-panel{grid-template-columns:1fr}.event-discovery{padding:24px}}

/* Stage 7: official story, announced festival, and recruitment */
.about-story{overflow:hidden}.about-hero{min-height:600px;background:var(--navy);color:#fff;padding:90px max(20px,calc((100% - 1160px)/2));display:flex;flex-direction:column;justify-content:center}.about-hero h1{font-size:clamp(50px,8vw,108px);max-width:1050px;margin:0;text-transform:uppercase}.about-hero>p:last-child{color:var(--gold);font-size:clamp(20px,3vw,34px);font-weight:800}.about-origin,.about-columns{width:var(--container);margin:auto;padding:100px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:8vw}.about-origin h2,.about-columns h2,.about-cultural h2{font-size:clamp(38px,5vw,68px);margin:0}.about-origin>div:last-child p,.about-cultural p,.about-columns p{font-size:18px}.about-cultural{background:var(--paper);padding:100px max(20px,calc((100% - 900px)/2))}.about-statement{margin:0;background:var(--red);color:#fff;padding:90px max(20px,calc((100% - 1160px)/2));font:900 clamp(44px,7vw,92px)/.95 var(--display);letter-spacing:-.055em}.about-columns article+article{border-left:1px solid var(--line);padding-left:8vw}.about-manifesto{background:var(--navy);color:#fff;text-align:center;padding:100px 20px}.about-manifesto>p:first-child{font:800 clamp(28px,4vw,52px)/1.2 var(--display)}.about-manifesto h2{color:var(--gold);font-size:clamp(32px,5vw,64px);max-width:1000px;margin:45px auto}.about-manifesto [lang=es]{font-size:20px}.recruitment-hero{width:var(--container);margin:40px auto 0;background:var(--navy);color:#fff;padding:70px}.recruitment-hero h1{font-size:clamp(50px,8vw,96px);margin:0;text-transform:uppercase}.recruitment-hero h2{color:var(--gold);font-size:clamp(27px,4vw,45px)}.recruitment-hero>p{font-size:18px;max-width:850px}.application-shell{width:min(960px,calc(100% - 40px));margin:70px auto}.form-pending{display:grid;border-left:7px solid var(--gold);background:var(--paper);padding:20px;margin-bottom:30px}.form-pending strong{text-transform:uppercase;color:var(--red)}.application-form fieldset{border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.application-form legend{font:800 34px var(--display);margin-bottom:24px}.application-form label{display:grid;gap:6px;font-weight:700}.application-form .wide{grid-column:1/-1}.application-form input,.application-form select,.application-form textarea{width:100%;border:2px solid var(--navy);background:#fff;color:var(--ink);padding:12px}.application-form .check{display:flex;grid-template-columns:auto 1fr;align-items:start}.application-form .check input{width:auto;margin-top:6px}.application-form button[disabled]{background:var(--muted);color:#fff;border:0;padding:14px 20px;font-weight:800;cursor:not-allowed}.application-disclaimer{background:var(--paper);padding:20px;border-top:5px solid var(--red)}.historical-sponsors{width:var(--container);margin:90px auto}.historical-sponsors h2{font-size:clamp(40px,6vw,72px);margin:0 0 30px}.historical-sponsors>div{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.historical-sponsors article{background:var(--paper);padding:28px;border-top:5px solid var(--gold)}.historical-sponsors img{max-width:220px;max-height:110px;object-fit:contain}.announcement-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.home-about{width:var(--container);margin:auto;padding:100px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}.home-about h2{font-size:clamp(42px,6vw,76px);margin:0}.home-about>div>p:not(.section-label){font-size:19px}.home-about blockquote{margin:0;background:var(--navy);color:var(--gold);padding:50px;font:800 clamp(28px,4vw,48px)/1.1 var(--display);box-shadow:14px 14px 0 var(--red)}.home-involved{background:var(--navy);color:#fff;padding:100px 0}.home-involved>div:last-child{width:var(--container);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home-involved a{background:var(--paper);color:var(--navy);padding:28px;text-decoration:none;border-top:6px solid var(--gold)}.home-involved h3{font-size:32px;margin:0}.home-involved span{font-weight:800;color:var(--red)}
@media(max-width:780px){.about-origin,.about-columns,.home-about{grid-template-columns:1fr;padding:70px 0}.about-columns article+article{border-left:0;border-top:1px solid var(--line);padding:50px 0 0}.recruitment-hero{padding:38px 28px}.application-form fieldset{grid-template-columns:1fr}.application-form .wide{grid-column:auto}.historical-sponsors>div,.home-involved>div:last-child{grid-template-columns:1fr}.home-about blockquote{padding:34px;box-shadow:8px 8px 0 var(--red)}}
.application-form button[type=submit]{justify-self:start;background:var(--red);color:#fff;border:2px solid var(--red);padding:14px 20px;font-weight:800;cursor:pointer}.application-form button[type=submit]:hover{background:var(--navy);border-color:var(--navy)}.application-form button[type=submit]:focus-visible{outline:4px solid var(--gold);outline-offset:3px}.form-status{padding:14px 16px;border:2px solid var(--navy);background:#fff;color:var(--navy)}.form-status.is-ready{border-color:#17643a;background:#edf8f1;color:#103f28}.form-status strong{display:block}

/* Stage 7.2: external press and media */
.media-collection,.archive-media,.home-media,.about-media,.organization-media{padding:90px 0}.media-grid{width:var(--container);margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.external-media-card{background:var(--paper);color:var(--ink);padding:30px;border-top:7px solid var(--red);display:flex;flex-direction:column;min-height:310px}.external-media-card>div{display:flex;justify-content:space-between;gap:18px;color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.external-media-card h3{font-size:clamp(26px,3vw,38px);margin:22px 0 10px}.external-media-card p{font-size:17px}.external-media-card>a{margin-top:auto;font-weight:900;text-decoration:none;border-bottom:2px solid var(--red);align-self:flex-start}.archive-media{margin-top:70px;border-top:1px solid var(--line)}.archive-media>.section-head{width:auto}.archive-media>section{margin:45px 0}.archive-media>section>h3{font-size:34px}.archive-media .external-media-card{min-height:0}.home-media{background:var(--cream)}.home-media>p{width:var(--container);margin:32px auto 0}.about-media{background:var(--gold);padding-left:max(20px,calc((100% - 1160px)/2));padding-right:max(20px,calc((100% - 1160px)/2))}.about-media h2,.organization-media h2{font-size:clamp(38px,5vw,64px);margin:0}.about-media>.external-media-card,.organization-media>.external-media-card{max-width:850px;margin-top:30px}.organization-media{width:min(900px,calc(100% - 40px));margin:auto}.organization-media>p:last-child{display:flex;flex-wrap:wrap;gap:20px}.page-hero--media .sun{background:var(--red);box-shadow:-55px 35px 0 var(--gold)}
@media(max-width:780px){.media-grid{grid-template-columns:1fr}.external-media-card{min-height:0}.external-media-card>div{display:grid;gap:3px}.media-collection,.archive-media,.home-media,.about-media,.organization-media{padding-top:65px;padding-bottom:65px}}


/* 2026 festival food gallery */
.food-gallery-hero{position:relative;overflow:hidden}
.food-gallery-intro{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.75rem,4vw,4rem);
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#fff;
}
.food-gallery-intro h2{
  max-width:14ch;
  margin:.35rem 0 0;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1;
}
.food-gallery-intro>div:last-child{
  max-width:720px;
  font-size:1.02rem;
  line-height:1.75;
}
.food-gallery-intro>div:last-child p:first-child{margin-top:0}
.food-gallery-note{
  margin-top:1.25rem;
  padding:1rem 1.1rem;
  border-left:4px solid var(--red,#d71920);
  background:rgba(0,0,0,.04);
  font-size:.95rem;
}
.festival-food-gallery{
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#f7f3ec;
}
.festival-food-gallery .section-head,
.food-photo-grid{
  max-width:1080px;
  margin-left:auto;
  margin-right:auto;
}
.food-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:2rem;
}
.food-photo-card,
.food-photo-card--1,
.food-photo-card--2,
.food-photo-card--3,
.food-photo-card--4,
.food-photo-card--5,
.food-photo-card--6{
  grid-column:auto;
  min-height:auto;
  margin:0;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.06);
}
.food-photo-card img{
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:5/4;
  object-fit:cover;
  object-position:center;
  transition:transform .3s ease;
}
.food-photo-card:hover img{transform:scale(1.015)}
.food-photo-card figcaption{
  position:static;
  padding:.9rem 1rem 1rem;
  background:#fff;
  color:#222;
  font-size:.95rem;
  line-height:1.5;
}
.food-guide-callout{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:2rem;
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#111;
  color:#fff;
}
.food-guide-callout h2{
  margin:.35rem 0 1rem;
  max-width:16ch;
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.05;
}
.food-guide-callout p{max-width:680px}
.food-guide-callout .button-link{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  padding:1rem 1.2rem;
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}
.food-guide-callout .button-link:hover{background:#fff;color:#111}
@media (max-width:1024px){
  .food-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .food-gallery-intro{grid-template-columns:1fr;gap:1.25rem}
  .food-photo-grid{grid-template-columns:1fr}
  .food-photo-card img{aspect-ratio:4/3}
  .food-guide-callout{flex-direction:column}
  .food-guide-callout .button-link{white-space:normal}
}


/* sponsor showcase */
.sponsor-showcase-intro{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.75rem,4vw,4rem);
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#fff;
}
.sponsor-showcase-intro h2{
  max-width:15ch;
  margin:.35rem 0 0;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1;
}
.sponsor-showcase-intro>div:last-child{
  max-width:720px;
  font-size:1.03rem;
  line-height:1.75;
}
.sponsor-showcase-note{
  margin-top:1.2rem;
  padding:1rem 1.1rem;
  border-left:4px solid var(--red,#d71920);
  background:rgba(0,0,0,.04);
  font-size:.95rem;
}
.sponsor-showcase{
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#f7f3ec;
}
.sponsor-showcase .section-head,
.sponsor-logo-grid{
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
.sponsor-logo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:2rem;
}
.sponsor-logo-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:16px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.sponsor-logo-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:4/3;
  padding:20px;
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}
.sponsor-logo-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.sponsor-logo-card h3{
  margin:14px 2px 4px;
  font-size:1.02rem;
  line-height:1.25;
}
.sponsor-logo-card span{
  margin:0 2px;
  color:rgba(0,0,0,.58);
  font-size:.82rem;
}
@media(max-width:1050px){
  .sponsor-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .sponsor-showcase-intro{grid-template-columns:1fr;gap:1.25rem}
  .sponsor-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .sponsor-logo-card{padding:11px;border-radius:14px}
  .sponsor-logo-frame{padding:12px}
}
@media(max-width:460px){
  .sponsor-logo-grid{grid-template-columns:1fr}
  .sponsor-logo-frame{aspect-ratio:16/9}
}


/* volunteer page */
.volunteer-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.5rem,4vw,3rem);
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#fff;
}
.volunteer-info-grid>article{
  padding:clamp(1.25rem,3vw,2rem);
  border:1px solid rgba(0,0,0,.08);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.05);
}
.volunteer-info-grid h2,
.volunteer-benefits h2,
.volunteer-join-callout h2{
  margin:.35rem 0 1.25rem;
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1;
}
.volunteer-feature-list,
.volunteer-role-list{
  display:grid;
  gap:1rem;
  margin:0;
  padding:0;
  list-style:none;
}
.volunteer-feature-list li,
.volunteer-role-list li{
  display:grid;
  gap:.25rem;
  padding:1rem 0;
  border-top:1px solid rgba(0,0,0,.08);
}
.volunteer-feature-list li:first-child,
.volunteer-role-list li:first-child{border-top:0}
.volunteer-feature-list strong,
.volunteer-role-list strong{font-size:1.05rem}
.volunteer-feature-list span,
.volunteer-role-list span{color:rgba(0,0,0,.68);line-height:1.55}
.volunteer-benefits{
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
  gap:clamp(2rem,5vw,5rem);
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#f7f3ec;
}
.volunteer-benefit-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.volunteer-benefit-cards article{
  display:grid;
  gap:.55rem;
  padding:1.25rem;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(0,0,0,.07);
}
.volunteer-benefit-cards span{font-size:.92rem;line-height:1.5;color:rgba(0,0,0,.65)}
.volunteer-join-callout{
  padding:clamp(2.5rem,6vw,4.5rem) max(5vw,24px);
  background:#111;
  color:#fff;
}
.volunteer-join-callout p:last-child{
  max-width:760px;
  color:rgba(255,255,255,.78);
  line-height:1.7;
}
@media(max-width:850px){
  .volunteer-info-grid,
  .volunteer-benefits{grid-template-columns:1fr}
  .volunteer-benefit-cards{grid-template-columns:1fr}
}


/* horizontal RVA festival logo */
.brand--image{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:190px;
  max-width:190px;
  line-height:1;
  background:#fff;
  padding:8px 0;
}
.brand--image img{
  display:block;
  width:177px;
  height:177px;
  max-height:none;
  object-fit:contain;
  border-radius:20px;
}
.footer-logo{
  width:220px;
  max-width:220px;
  padding:10px;
  border-radius:18px;
  background:#fff;
}
.footer-logo img{width:200px;height:200px;max-height:none}
@media(max-width:980px){
  .nav-shell{min-height:118px}
  .brand--image{width:104px;max-width:104px}
  .brand--image img{width:96px;height:96px}
}
@media(max-width:680px){
  .nav-shell{gap:12px;min-height:96px}
  .brand--image{width:82px;max-width:82px}
  .brand--image img{width:76px;height:76px;border-radius:12px}
}

/* performer showcase */
.performers-showcase{
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#f7f3ec;
}
.performers-showcase .section-head,
.performer-grid{
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}
.performer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:2rem;
}
.performer-card{
  padding:1.4rem;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 8px 24px rgba(0,0,0,.05);
}
.performer-card span{
  display:inline-block;
  margin-bottom:.7rem;
  color:var(--red,#d71920);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.performer-card h3{
  margin:0 0 .65rem;
  font-size:1.3rem;
  line-height:1.2;
}
.performer-card p{
  margin:0;
  color:rgba(0,0,0,.64);
  line-height:1.55;
  font-size:.93rem;
}
@media(max-width:900px){
  .performer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .performer-grid{grid-template-columns:1fr}
}


/* festival photo gallery */
.gallery-intro{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(1.75rem,5vw,5rem);
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#fff;
}
.gallery-intro h2{
  max-width:13ch;
  margin:.35rem 0 0;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1;
}
.gallery-intro>div:last-child{
  max-width:760px;
  font-size:1.03rem;
  line-height:1.75;
}
.festival-photo-gallery{
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#f7f3ec;
}
.festival-photo-gallery .section-head,
.festival-photo-grid{
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
.festival-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:2rem;
}
.festival-photo-card{
  margin:0;
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(0,0,0,.07);
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.festival-photo-card img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
}
.festival-photo-card figcaption{
  padding:.85rem 1rem 1rem;
  color:rgba(0,0,0,.72);
  font-size:.9rem;
  line-height:1.45;
}
@media(max-width:900px){
  .festival-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .gallery-intro{grid-template-columns:1fr;gap:1.25rem}
  .festival-photo-grid{grid-template-columns:1fr}
  .festival-photo-card img{aspect-ratio:4/3}
}


/* volunteer event details */
.volunteer-event-details{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(2rem,5vw,5rem);
  padding:clamp(2.5rem,6vw,5rem) max(5vw,24px);
  background:#fff;
}
.volunteer-event-details h2{
  margin:.35rem 0 1rem;
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1;
}
.volunteer-alert{
  margin:1rem 0;
  font-size:1.08rem;
  line-height:1.55;
}
.volunteer-detail-cards{
  display:grid;
  gap:14px;
}
.volunteer-detail-cards article{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:start;
  padding:1.15rem 1.2rem;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#f7f3ec;
}
.volunteer-detail-cards article>span{
  font-size:1.5rem;
  line-height:1;
}
.volunteer-detail-cards strong{
  display:block;
  margin-bottom:.2rem;
  font-size:.9rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.volunteer-detail-cards p{
  margin:0;
  line-height:1.55;
}
.volunteer-detail-cards small{
  display:block;
  margin-top:.25rem;
  color:rgba(0,0,0,.62);
}
.volunteer-detail-cards a{
  color:var(--blue,#0b4f8a);
  text-decoration:underline;
}
@media(max-width:850px){
  .volunteer-event-details{grid-template-columns:1fr}
}




/* side quick tabs */
.side-tabs{
  position:fixed;
  z-index:35;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  gap:8px;
}
.side-tab{
  position:relative;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  background:rgba(255,255,255,.97);
  color:var(--navy);
  text-decoration:none;
  border:1px solid rgba(7,28,51,.1);
  border-radius:14px;
  box-shadow:0 10px 24px rgba(7,28,51,.12);
  overflow:visible;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.side-tab:hover,.side-tab:focus-visible{
  background:var(--navy);
  color:#fff;
  border-color:rgba(7,28,51,.3);
  box-shadow:0 14px 30px rgba(7,28,51,.22);
}
.side-tab-icon{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  font:900 15px/1 var(--display);
  color:var(--red);
  transition:color .18s ease,transform .18s ease;
}
.side-tab:hover .side-tab-icon,
.side-tab:focus-visible .side-tab-icon{
  color:var(--gold);
  transform:scale(1.06);
}
.side-tab-label{
  position:absolute;
  right:56px;
  top:50%;
  transform:translate(8px,-50%);
  min-width:max-content;
  padding:8px 11px;
  border-radius:10px;
  background:var(--navy);
  color:#fff;
  box-shadow:0 10px 24px rgba(7,28,51,.2);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease;
}
.side-tab-label:after{
  content:"";
  position:absolute;
  right:-6px;
  top:50%;
  width:12px;
  height:12px;
  transform:translateY(-50%) rotate(45deg);
  background:var(--navy);
}
.side-tab:hover .side-tab-label,
.side-tab:focus-visible .side-tab-label{
  opacity:1;
  transform:translate(0,-50%);
}
.side-tab--donate{
  background:var(--red);
  color:#fff;
  border-color:rgba(215,38,61,.55);
}
.side-tab--donate .side-tab-icon{color:#fff}
.side-tab--support-us .side-tab-icon{color:var(--gold)}
.side-tab--gallery .side-tab-icon{color:var(--turquoise)}
.side-tab--sponsors .side-tab-icon{color:var(--blue)}

/* participation pages */
.application-hub,.support-grid{
  width:var(--container);
  margin:auto;
  padding:90px 0;
}
.application-hub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.application-hub-grid article{
  position:relative;
  min-height:250px;
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(0,0,0,.05);
}
.application-hub-grid article>span{
  position:absolute;
  right:20px;
  top:16px;
  color:var(--red);
  font-size:24px;
  font-weight:900;
}
.application-hub-grid h3{
  margin:25px 0 12px;
  font-size:28px;
}
.application-hub-grid p{color:var(--muted)}
.application-hub-grid a{
  display:inline-block;
  margin-top:10px;
  color:var(--navy);
  font-weight:800;
  text-decoration:none;
  border-bottom:2px solid var(--red);
}
.support-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.support-grid article{
  padding:28px;
  background:#fff;
  border-radius:18px;
  border:1px solid var(--line);
}
.support-grid h2{
  margin:0 0 12px;
  font-size:32px;
}
.support-grid a{
  font-weight:800;
  color:var(--navy);
  text-decoration:none;
  border-bottom:2px solid var(--red);
}
.donate-callout{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  padding:70px max(20px,calc((100% - 1160px)/2));
  background:var(--navy);
  color:#fff;
}
.donate-callout h2{
  margin:.25rem 0 1rem;
  font-size:clamp(38px,5vw,66px);
}
.donate-callout p:not(.section-label){max-width:700px;color:#d7e0e8}

/* featured press */
.featured-in{
  padding:90px 0;
  background:#fff;
}
.featured-in-grid{
  width:var(--container);
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.featured-in-card{
  display:flex;
  flex-direction:column;
  min-height:310px;
  padding:24px;
  border:1px solid rgba(7,28,51,.12);
  border-radius:18px;
  text-decoration:none;
  background:linear-gradient(180deg,#fff,#f8f5ef);
  box-shadow:0 10px 28px rgba(0,0,0,.05);
  transition:transform .2s ease,box-shadow .2s ease;
}
.featured-in-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(0,0,0,.1);
}
.featured-media-mark{
  display:inline-flex;
  align-self:flex-start;
  min-height:54px;
  align-items:center;
  padding:8px 14px;
  margin-bottom:16px;
  border-radius:12px;
  background:var(--navy);
  color:#fff;
  font:900 19px var(--display);
  letter-spacing:-.03em;
}
.featured-in-card:nth-child(2) .featured-media-mark{background:#173f82;color:#ffd65a}
.featured-in-card:nth-child(3) .featured-media-mark{background:#242424}
.featured-in-card small{
  color:var(--red);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.featured-in-card h3{
  margin:10px 0;
  font-size:24px;
  line-height:1.08;
}
.featured-in-card p{color:var(--muted)}
.featured-in-card b{margin-top:auto;color:var(--navy)}
@media(max-width:1000px){
  .application-hub-grid,.featured-in-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}



/* nav polish */
@media(min-width:1101px){
  .nav-primary{
    gap:8px;
    padding:10px;
    border:1px solid rgba(7,28,51,.08);
    border-radius:999px;
    background:linear-gradient(180deg,#fff,#fbf8f2);
    box-shadow:0 12px 28px rgba(7,28,51,.07);
  }
  .nav-primary>a,.nav-parent{
    position:relative;
    padding:12px 14px;
    border-radius:999px;
    transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
  }
  .nav-primary>a:not(.nav-cta):hover,
  .nav-parent:hover,
  .nav-primary>a:not(.nav-cta):focus-visible,
  .nav-parent:focus-visible{
    background:rgba(215,38,61,.08);
    color:var(--red);
    box-shadow:inset 0 0 0 1px rgba(215,38,61,.12);
    transform:translateY(-1px);
  }
  .nav-cta{
    border-radius:999px!important;
    box-shadow:0 8px 20px rgba(215,38,61,.25);
  }
  .header-search-toggle{
    border:1px solid rgba(7,28,51,.12);
    background:#fff;
    color:var(--navy);
    border-radius:999px;
    padding:11px 14px;
    font-weight:800;
    cursor:pointer;
  }
}

/* scrolling festival ticker */
.festival-ticker{
  position:relative;
  z-index:18;
  overflow:hidden;
  background:linear-gradient(90deg,var(--navy),#0d2e4f 45%,var(--red));
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(7,28,51,.15);
}
.festival-ticker-track{
  display:flex;
  align-items:center;
  gap:18px;
  width:max-content;
  min-width:200%;
  padding:9px 0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  animation:festivalTicker 32s linear infinite;
}
.festival-ticker-track span{white-space:nowrap}
.festival-ticker-track b{color:var(--gold)}
@keyframes festivalTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(prefers-reduced-motion:reduce){
  .festival-ticker-track{animation:none}
}

/* card glow system */
.application-hub-grid article,
.support-grid article,
.featured-in-card,
.vendor-logo-card,
.sponsor-logo-card,
.performer-card,
.food-photo-card,
.festival-photo-card,
.volunteer-info-grid>article,
.volunteer-benefit-cards article{
  position:relative;
  isolation:isolate;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.application-hub-grid article:before,
.support-grid article:before,
.featured-in-card:before,
.sponsor-logo-card:before,
.performer-card:before,
.food-photo-card:before,
.festival-photo-card:before,
.volunteer-info-grid>article:before,
.volunteer-benefit-cards article:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(215,38,61,.32),rgba(18,97,168,.20),rgba(244,185,66,.28));
  filter:blur(14px);
  opacity:0;
  transition:opacity .22s ease;
}
.application-hub-grid article:hover,
.support-grid article:hover,
.featured-in-card:hover,
.sponsor-logo-card:hover,
.performer-card:hover,
.food-photo-card:hover,
.festival-photo-card:hover,
.volunteer-info-grid>article:hover,
.volunteer-benefit-cards article:hover{
  transform:translateY(-5px);
  border-color:rgba(215,38,61,.18);
  box-shadow:0 18px 38px rgba(7,28,51,.12);
}
.application-hub-grid article:hover:before,
.support-grid article:hover:before,
.featured-in-card:hover:before,
.sponsor-logo-card:hover:before,
.performer-card:hover:before,
.food-photo-card:hover:before,
.festival-photo-card:hover:before,
.volunteer-info-grid>article:hover:before,
.volunteer-benefit-cards article:hover:before{
  opacity:.7;
}

/* stronger section accents */
.section-head>p,.section-label,.kicker{
  text-shadow:0 0 14px rgba(215,38,61,.12);
}
.page-hero{
  box-shadow:0 24px 50px rgba(7,28,51,.12);
}
.page-hero .sun{
  filter:drop-shadow(0 18px 28px rgba(215,38,61,.18));
}


/* language selector */
.language-switcher{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:4px;
  margin-left:4px;
  border:1px solid rgba(7,28,51,.12);
  border-radius:999px;
  background:#fff;
  box-shadow:0 8px 20px rgba(7,28,51,.06);
}
.language-switcher a{
  min-width:34px;
  padding:7px 9px;
  border-radius:999px;
  text-align:center;
  text-decoration:none;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  color:var(--navy);
}
.language-switcher a[aria-current="page"]{
  background:var(--navy);
  color:#fff;
}
.language-switcher a:hover,.language-switcher a:focus-visible{
  background:var(--red);
  color:#fff;
}
@media(max-width:1100px){
  .language-switcher{margin:12px 20px}
}
@media(max-width:780px){
  .nav-shell{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
  }
  .brand--image{order:1}
  .language-switcher{
    order:2;
    position:static;
    transform:none;
    margin:0 0 0 auto;
    flex:0 0 auto;
  }
  .menu-toggle{
    order:3;
    flex:0 0 auto;
  }
  .language-switcher a{
    min-width:28px;
    padding:6px;
    font-size:9px;
  }
}


/* mobile menu quick links */
.mobile-quick-links{display:none}
@media(max-width:780px){
  .side-tabs{display:none!important}
  .mobile-quick-links{
    display:block;
    margin:8px 20px 14px;
    padding:14px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:14px;
    background:rgba(255,255,255,.05);
  }
  .mobile-quick-links>p{
    margin:0 0 10px;
    color:var(--gold);
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .mobile-quick-links>div{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .mobile-quick-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 10px;
    border-radius:10px;
    background:#fff;
    color:var(--navy);
    text-decoration:none;
    font-size:11px;
    font-weight:900;
    text-align:center;
  }
  .mobile-quick-links a:focus-visible,
  .mobile-quick-links a:hover{
    background:var(--gold);
    color:var(--navy);
  }
  .mobile-quick-links .mobile-donate{
    grid-column:1/-1;
    background:var(--red);
    color:#fff;
  }
}


/* self-hosted sponsor and gallery fallbacks */
.sponsor-monogram{
  display:grid;
  place-items:center;
  min-height:150px;
  border-radius:16px;
  background:
    radial-gradient(circle at 25% 20%,rgba(244,185,66,.35),transparent 32%),
    linear-gradient(135deg,var(--navy),var(--blue));
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.sponsor-monogram span{
  font:900 clamp(34px,4vw,58px)/1 var(--display);
  letter-spacing:.03em;
  text-shadow:0 10px 24px rgba(0,0,0,.25);
}
.festival-photo-placeholder{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  width:100%;
  aspect-ratio:4/3;
  padding:22px;
  background:
    radial-gradient(circle at 76% 20%,rgba(244,185,66,.28),transparent 28%),
    linear-gradient(145deg,var(--navy) 0 54%,var(--red) 54% 72%,var(--blue) 72%);
  color:#fff;
}
.festival-photo-placeholder span{
  font:900 clamp(34px,5vw,62px)/.9 var(--display);
  letter-spacing:-.05em;
}
.festival-photo-placeholder small{
  font:900 13px var(--display);
  letter-spacing:.16em;
  color:var(--gold);
}


/* 2027 sponsor emphasis */
.sponsor-showcase-intro--current{
  background:linear-gradient(135deg,#fff 0%,#fffaf1 62%,rgba(244,185,66,.14) 100%);
  border-top:8px solid var(--gold);
}
.sponsor-showcase--current{
  background:linear-gradient(180deg,#f8fbff,#fff);
}
.sponsor-logo-card--current{
  border:1px solid rgba(244,185,66,.55);
  box-shadow:0 12px 30px rgba(7,28,51,.08),0 0 0 1px rgba(244,185,66,.12);
}
.sponsor-logo-card--current .sponsor-monogram{
  background:
    radial-gradient(circle at 25% 20%,rgba(244,185,66,.5),transparent 30%),
    linear-gradient(135deg,var(--navy),var(--blue));
}
.sponsor-logo-card--current>span{
  color:var(--red);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
}
.sponsor-showcase-intro--archive{
  border-top:1px solid var(--line);
  background:#f7f3ec;
}
.sponsor-showcase--archive{
  background:#f7f3ec;
}


/* Substantive editorial guides */
.guide-expansion{background:var(--paper);padding-bottom:clamp(3rem,7vw,6rem)}
.festival-guide{width:min(1160px,calc(100% - 40px));margin:auto;padding-top:clamp(2rem,5vw,4rem)}
.guide-heading{max-width:920px;margin-bottom:2.5rem}
.guide-heading h1,.guide-embedded-title{font-size:clamp(2.15rem,5vw,4.2rem);line-height:1.08;letter-spacing:-.035em;color:var(--navy);margin:.6rem 0 1.3rem;text-wrap:balance}
.guide-lede{font-size:clamp(1.12rem,2vw,1.35rem);line-height:1.65;max-width:780px;color:var(--muted)}
.guide-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.guide-index{border-top:4px solid var(--red);background:white;padding:1.4rem;border-radius:0 0 12px 12px;position:sticky;top:230px}
.guide-index strong{font-size:1.12rem}.guide-index ol{padding-left:1.2rem;margin:1rem 0 0}.guide-index li{margin:.8rem 0;padding-left:.25rem;line-height:1.5}.guide-index a{color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.guide-body{max-width:760px;min-width:0}.guide-section{scroll-margin-top:245px;margin:0 0 2.8rem;padding:0 0 2rem;border-bottom:1px solid var(--line)}
.guide-section h2,.guide-sources h2,.guide-related h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.25;margin:0 0 1rem;color:var(--navy);text-wrap:balance}
.guide-section p{font-size:1.125rem;line-height:1.8;margin:0 0 1.1rem;color:var(--ink)}
.guide-sources{background:#fff;border:1px solid var(--line);padding:1.6rem;border-radius:12px;line-height:1.7}.guide-sources p{font-size:1rem}.guide-sources a{color:var(--blue);text-decoration:underline}.guide-sources ul{padding-left:1.25rem}
.guide-related{margin-top:3.5rem;padding-top:2.5rem;border-top:3px solid var(--navy)}
.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.guide-cards a{display:flex;flex-direction:column;gap:.8rem;padding:1.5rem;background:white;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--navy)}
.guide-cards strong{font-size:1.15rem;line-height:1.35}.guide-cards span{font-size:1rem;line-height:1.6;color:var(--muted)}.guide-cards b{font-size:1.5rem;color:var(--red);margin-top:auto}.guide-cards a:hover{border-color:var(--red)}
@media(max-width:980px){.guide-layout{grid-template-columns:1fr}.guide-index{position:static}.guide-index ol{columns:2}.guide-section{scroll-margin-top:160px}.guide-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.festival-guide{width:calc(100% - 32px)}.guide-index ol{columns:1}.guide-cards{grid-template-columns:1fr}.guide-section p{font-size:1.08rem;line-height:1.75}}

.guide-photo{margin:0 0 2.5rem;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.guide-photo img{display:block;width:100%;height:clamp(220px,35vw,400px);object-fit:cover}.guide-photo figcaption{padding:1rem 1.25rem;font-size:.95rem;line-height:1.6;color:var(--muted)}
