/* Editorial public theme. Tenant colors arrive as custom properties from the layout. */
:root{--bg:#170f0a;--paper:#0a0706;--text:#e8dcc4;--muted:#b3a589;--ember:#ff5a1f;--gold:#b8862e;--bloodstone:#5c1a10;--nav-panel:#150f0c;--line:rgba(184,134,46,.24);--panel:rgba(255,255,255,.055);--panel-deep:rgba(0,0,0,.3);color-scheme:dark}html[data-theme=dark]{--bg:#170f0a;--paper:#0a0706;--text:#e8dcc4;--muted:#b3a589;--ember:#ff5a1f;--gold:#b8862e;--bloodstone:#5c1a10;--nav-panel:#150f0c;--line:rgba(184,134,46,.24);--panel:rgba(255,255,255,.055);--panel-deep:rgba(0,0,0,.3);color-scheme:dark}
html[data-theme=light]{--bg:#f6efe5;--paper:#fcf7ef;--text:#4f3b31;--muted:#7e6a5b;--ember:#cf6a3a;--gold:#9a732e;--bloodstone:#f2ddd1;--nav-panel:#fcf7ef;--line:rgba(154,115,46,.2);--panel:rgba(255,255,255,.56);--panel-deep:rgba(244,232,222,.88);color-scheme:light}
html{overflow-x:clip}@media(max-width:760px){html .site-header,html .site-header.is-scrolled{backdrop-filter:none}body.menu-open .site-header{z-index:800}.menu-toggle span{height:2px;border-radius:99px;transform-origin:center;transition:transform .2s ease,opacity .16s ease}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0;transform:scaleX(.45)}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.menu-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--ember) 55%,transparent);outline-offset:3px}}@media(min-width:761px){.people-stage .performer-editorial{display:flex!important;gap:1.4rem;overflow-x:auto;padding:0 0 1rem;scroll-snap-type:x mandatory;scrollbar-color:var(--gold) transparent;scrollbar-width:thin}.people-stage .performer-card,.people-stage .performer-featured{display:block!important;flex:0 0 min(30vw,360px);min-width:280px;scroll-snap-align:start}.people-stage .performer-featured .performer-image,.people-stage .performer-card:not(.performer-featured) .performer-image{aspect-ratio:4/5}.people-stage .performer-copy h3,.people-stage .performer-card:not(.performer-featured) .performer-copy h3{font-size:1.75rem}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:"Iowan Old Style",Alegreya,Georgia,"Times New Roman",serif;font-size:18px;font-weight:500;line-height:1.55;transition:background-color .18s linear}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell,.wrap{width:calc(100% - 80px);max-width:1240px;margin-inline:auto}.skip-link{position:fixed;z-index:1200;top:-4rem;left:1rem;padding:.65rem 1rem;background:var(--ember);color:var(--paper);font:700 .75rem ui-monospace,SFMono-Regular,Menlo,monospace}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--ember);outline-offset:4px}
.grain{position:fixed;inset:0;z-index:900;pointer-events:none;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.vignette{position:fixed;inset:0;z-index:899;pointer-events:none;box-shadow:inset 0 0 16vw 3vw rgba(111,83,60,.07)}
.mono,.eyebrow,.stage-name,.geo-stamp,.button,.filter-label,.festival-nav a,.theme-toggle,.depth-readout,.time,.status,.program-day-date,.field-notes,.footer-tags{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.display,h1,h2,h3{font-family:"Iowan Old Style",Alegreya,Georgia,"Times New Roman",serif}.display{font-weight:800;line-height:.96}.eyebrow,.stage-name{margin:0 0 .55rem;color:var(--gold);font-size:.68rem;letter-spacing:.17em;text-transform:uppercase}

/* The announcement has its own flow row; the sticky navigation can never occupy it. */
.announcement-bar{position:relative;z-index:720;padding:.72rem 0;background:linear-gradient(90deg,color-mix(in srgb,var(--bloodstone) 88%,var(--bg)),var(--bloodstone));border-bottom:1px solid var(--line);color:var(--text);font-size:1rem}.announcement-inner{display:flex;align-items:center;justify-content:center;gap:.7rem;text-align:center}.live-dot{display:inline-block;flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--ember);box-shadow:0 0 0 .28rem color-mix(in srgb,var(--ember) 17%,transparent)}
.site-header{position:sticky;top:0;z-index:700;border-bottom:1px solid transparent;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 96%,transparent),color-mix(in srgb,var(--bg) 75%,transparent));transition:background .2s,border-color .2s,box-shadow .2s}.site-header.is-scrolled{border-color:var(--line);background:color-mix(in srgb,var(--paper) 91%,transparent);box-shadow:0 8px 28px rgba(58,37,22,.06);backdrop-filter:blur(14px)}.header-row{width:calc(100% - 64px);max-width:1420px;min-height:82px;margin:auto;display:flex;align-items:center;gap:clamp(.85rem,2vw,2.1rem)}.brand{display:flex;align-items:center;gap:.72rem;flex:0 1 290px;min-width:0;font-size:clamp(1.05rem,1.45vw,1.28rem);font-weight:800;line-height:1.05}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark{width:30px;height:30px;flex:none;color:var(--gold)}.festival-nav{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,2.2vw,2.35rem);flex:1}.festival-nav a{color:var(--muted);font-size:.69rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.festival-nav a:hover,.festival-nav a[aria-current=page]{color:var(--text)}.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex:0 0 auto}.locale-switcher{display:flex;align-items:center;gap:.08rem}.locale-switcher a{min-width:34px;padding:.58rem .38rem;border-bottom:1px solid transparent;color:var(--muted);font:700 .68rem ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}.locale-switcher a:hover,.locale-switcher .active{border-color:var(--ember);color:var(--text)}.theme-toggle{display:inline-flex;align-items:center;gap:.55rem;min-height:38px;padding:.3rem .65rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--paper) 62%,transparent);color:var(--text);font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.theme-track{position:relative;display:block;width:2.32rem;height:1.2rem;border:1px solid var(--line);border-radius:99px;background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(232,220,207,.86))}.theme-dot{position:absolute;top:50%;left:.12rem;width:.86rem;height:.86rem;border-radius:50%;background:var(--ember);transform:translateY(-50%);box-shadow:0 1px 4px rgba(0,0,0,.2);transition:left .22s,background .22s}html[data-theme=dark] .theme-track{background:rgba(0,0,0,.28)}html[data-theme=dark] .theme-dot{left:1.18rem;background:var(--gold)}.menu-toggle,.mobile-menu-label,.menu-scrim{display:none}
.depth-track{position:fixed;top:0;left:0;z-index:450;width:2px;height:100vh;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--gold) 35%,transparent),transparent);pointer-events:none}.depth-dot{position:absolute;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--ember);box-shadow:0 0 14px 3px var(--ember)}.depth-readout{position:fixed;bottom:18px;left:18px;z-index:450;color:var(--muted);font-size:.62rem;letter-spacing:.08em;pointer-events:none}.depth-readout b{color:var(--gold)}

/* Hero: viewport-tall, anchored just above centre instead of a padded empty canvas. */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:100svh;overflow:hidden}.hero:after{position:absolute;z-index:-1;inset:0;content:"";background:radial-gradient(circle at 77% 20%,color-mix(in srgb,var(--gold) 30%,transparent),transparent 23%),radial-gradient(circle at 18% 76%,color-mix(in srgb,var(--ember) 17%,transparent),transparent 42%),linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--paper) 63%,var(--bloodstone)))}html[data-theme=dark] .hero:after{background:radial-gradient(circle at 77% 20%,color-mix(in srgb,var(--gold) 22%,transparent),transparent 24%),radial-gradient(circle at 18% 76%,color-mix(in srgb,var(--ember) 16%,transparent),transparent 42%),linear-gradient(135deg,#0a0706,#28130d)}.ember-canvas{position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none}.hero-content{width:100%;padding:clamp(3.4rem,7vh,6rem) 0 clamp(4.6rem,10vh,8rem);transform:translateY(clamp(-2.4rem,-4vh,-1rem))}.geo-stamp{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 1.35rem;padding:.42rem .82rem;border:1px solid var(--line);color:var(--gold);font-size:.67rem;letter-spacing:.07em}.geo-stamp i{width:5px;height:5px;border-radius:50%;background:var(--ember);box-shadow:0 0 8px var(--ember)}.hero h1{max-width:860px;margin:0;color:var(--text);font-size:clamp(3.35rem,8.6vw,7.25rem);letter-spacing:-.045em;text-wrap:balance;text-shadow:0 1px 0 rgba(255,255,255,.25)}.hero-sub{max-width:650px;margin:1.25rem 0 0;color:var(--muted);font-size:clamp(1.08rem,1.75vw,1.38rem);font-style:italic;line-height:1.52}.hero-meta{display:grid;grid-template-columns:repeat(4,minmax(130px,max-content));gap:1rem 2.2rem;margin:2.15rem 0 0}.hero-meta-item{min-width:0;padding-left:.85rem;border-left:2px solid var(--ember)}.hero-meta-item dt{color:var(--muted);font:500 .6rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;text-transform:uppercase}.hero-meta-item dd{margin:.21rem 0 0;color:var(--text);font:500 .9rem ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.35}.hero-actions,.route-actions,.item-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.82rem 1.35rem;border:1px solid var(--ember);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;transition:background .2s,color .2s,border .2s}.button-primary{background:var(--ember);color:var(--paper)}.button-primary:hover{filter:brightness(1.09)}.button-quiet{border-color:var(--line);color:var(--text)}.button-quiet:hover{border-color:var(--ember);color:var(--ember)}.countdown{display:grid;grid-template-columns:repeat(4,minmax(76px,1fr));width:min(470px,100%);gap:.55rem;margin-top:2.15rem}.countdown-unit{padding:.7rem .82rem;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 53%,transparent)}.countdown-unit b{display:block;color:var(--ember);font:600 clamp(1.35rem,2.2vw,1.8rem) ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.countdown-unit span{display:block;margin-top:.12rem;color:var(--muted);font:500 .57rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}.scrollcue{position:absolute;bottom:2.2rem;left:max(18px,calc((100vw - min(1240px,calc(100vw - clamp(36px,9vw,144px)))) / 2));display:flex;align-items:center;gap:.7rem;color:var(--muted);font:500 .61rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em;text-transform:uppercase}.scrollcue b{display:block;width:1px;height:32px;background:linear-gradient(to bottom,var(--ember),transparent);animation:scrollcue 1.8s ease-in-out infinite}@keyframes scrollcue{0%{transform:translateY(-7px);opacity:0}40%{opacity:1}100%{transform:translateY(15px);opacity:0}}.meander{display:block;width:100%;height:18px;color:var(--gold);opacity:.48}

/* The five stages keep the reference's editorial rhythm; only their copy is tenant data. */
.stage,.section{position:relative;padding:clamp(5rem,9vw,8.5rem) 0}.stage-head{display:flex;align-items:flex-end;gap:1.45rem;margin-bottom:1.55rem}.stage-num{color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--gold) 48%,transparent);font-size:clamp(4.1rem,8vw,5.5rem);font-weight:900;line-height:.73}.stage-title{max-width:780px;margin:0;color:var(--text);font-size:clamp(2rem,3.8vw,3.25rem);letter-spacing:-.025em}.stage-intro,.lede{max-width:700px;margin:0 0 2.5rem;color:var(--muted);font-size:clamp(1.05rem,1.45vw,1.2rem);font-style:italic;line-height:1.62}.two-column{display:grid;grid-template-columns:.82fr 1.35fr;gap:clamp(2.5rem,7vw,7rem)}.myth-quote{margin:0;color:var(--text);font-size:clamp(1.45rem,2.25vw,1.85rem);font-style:italic;font-weight:600;line-height:1.37}.myth-quote-sub{margin:1.55rem 0 0;padding-left:1rem;border-left:2px solid var(--ember);color:var(--muted);font-size:1.03rem;line-height:1.65}.story-copy p{margin:0 0 1.15rem;color:var(--muted);font-size:1.08rem;line-height:1.85}.story-copy p:first-child:first-letter{float:left;margin:.18rem .42rem 0 0;color:var(--ember);font-size:3.7rem;font-weight:900;line-height:.7}.story-copy strong{color:var(--text)}.facts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.68rem 1.7rem;margin-top:1.8rem;padding-top:1.45rem;border-top:1px solid var(--line)}.fact{color:var(--muted);font:500 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.7}.fact b{color:var(--gold)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:none}
.cave-stage{overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--bloodstone) 35%,var(--bg)),var(--bg) 27%)}.cave-edge{position:absolute;z-index:1;top:0;left:0;width:100%;height:66px;fill:var(--bg)}.cave-stage .stage-inner{position:relative;z-index:2}.program-spotlight{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(1.5rem,4vw,3.6rem);margin:1.5rem 0 3rem}.now-card,.next-card{position:relative;padding:1.65rem 0 1.4rem;border-block:1px solid var(--line);background:transparent}.now-card:before{position:absolute;top:-1px;left:0;width:64px;height:2px;content:"";background:var(--ember)}.now-card h3,.next-card h3{max-width:580px;margin:.4rem 0;color:var(--text);font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.04}.now-card p,.next-card p{max-width:520px;margin:.55rem 0;color:var(--muted);font-size:1rem}.timeline{border-top:1px solid var(--line)}.program-day{padding:1.45rem 0 1.8rem;border-bottom:1px solid var(--line)}.program-day-head{display:flex;align-items:baseline;gap:.85rem;margin-bottom:.55rem}.program-day-index{color:var(--gold);font-size:1.25rem;font-weight:800}.program-day-date{color:var(--muted);font-size:.76rem;letter-spacing:.06em}.program-item{display:grid;grid-template-columns:86px minmax(0,1fr);gap:1.3rem;padding:1.25rem 0;border-top:1px solid color-mix(in srgb,var(--line) 57%,transparent)}.time{padding-top:.18rem;color:var(--ember);font-size:.93rem;font-variant-numeric:tabular-nums}.item-meta,.tags{display:flex;flex-wrap:wrap;gap:.42rem}.tags span{padding:.2rem .45rem;background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--muted);font:500 .61rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;text-transform:uppercase}.tags .status-live{background:var(--ember);color:var(--paper)}.tags .status-cancelled{background:#8c3028;color:#fff}.tags .status-delayed,.tags .status-moved{background:#826121;color:#fff}.program-item h3{margin:.4rem 0;color:var(--text);font-size:clamp(1.32rem,2vw,1.65rem);line-height:1.08}.program-item p{max-width:760px;margin:.35rem 0;color:var(--muted);font-size:1rem}.item-actions{margin-top:.85rem}.item-actions a{min-height:44px;display:inline-flex;align-items:center;color:var(--gold);font:500 .7rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}.program-days{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.25rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.program-day-button{display:inline-flex;align-items:baseline;gap:.42rem;min-height:44px;padding:.65rem .9rem;border:1px solid var(--line);color:var(--muted);font:500 .7rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em}.program-day-button b{color:var(--gold);font:800 1rem "Iowan Old Style",Georgia,serif}.program-day-button:hover,.program-day-button.is-active{border-color:var(--ember);color:var(--text);background:color-mix(in srgb,var(--ember) 8%,transparent)}.programme-filter{display:flex;flex-wrap:wrap;align-items:end;gap:.85rem;margin:0 0 2.2rem;padding:1rem 0 1.2rem;border-bottom:1px solid var(--line)}.filter-label{display:grid;gap:.38rem;color:var(--gold);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.programme-filter select{min-width:170px;min-height:43px;padding:.5rem .65rem;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--text)}.filter-reset{display:inline-flex;align-items:center;min-height:44px;padding:.45rem;color:var(--muted);font:500 .7rem ui-monospace,SFMono-Regular,Menlo,monospace}
.relic-list{border-top:1px solid var(--line)}.relic{display:grid;grid-template-columns:34px 1fr;gap:1.3rem;padding:1.35rem 0;border-bottom:1px solid var(--line)}.relic-icon{color:var(--gold)}.relic-icon svg{width:32px;height:32px}.relic h3{margin:0 0 .35rem;color:var(--text);font-size:1.2rem}.relic p{margin:0;color:var(--muted);font-size:1rem}.participant-grid,.location-grid,.partner-grid,.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.7rem)}.participant-card,.location-card,.partner-card,.gallery-card{position:relative;padding:1.4rem 0;border-block:1px solid var(--line);background:transparent;transition:transform .2s,border-color .2s}.participant-card:hover{border-color:var(--ember);transform:translateY(-3px)}.visual-field{position:relative;display:block;min-height:190px;margin:0 0 1.1rem;overflow:hidden;background:radial-gradient(circle at 78% 25%,color-mix(in srgb,var(--gold) 30%,transparent),transparent 22%),linear-gradient(145deg,color-mix(in srgb,var(--bloodstone) 62%,var(--bg)),color-mix(in srgb,var(--ember) 15%,var(--paper)))}.visual-field:after{position:absolute;inset:0;content:"";opacity:.5;background-image:linear-gradient(90deg,transparent 48%,color-mix(in srgb,var(--gold) 25%,transparent) 49%,transparent 50%),linear-gradient(0deg,transparent 48%,color-mix(in srgb,var(--gold) 25%,transparent) 49%,transparent 50%);background-size:24px 18px}.participant-card h3,.location-card h2,.partner-card h2{margin:.3rem 0;color:var(--text);font-size:1.45rem;line-height:1.08}.participant-card p,.location-card p,.partner-card p{margin:.4rem 0;color:var(--muted);font-size:1rem}.link-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem;color:var(--gold);font:500 .7rem ui-monospace,SFMono-Regular,Menlo,monospace}.route-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:clamp(2rem,6vw,5.8rem)}.map-panel{display:flex;flex-direction:column;justify-content:flex-end;min-height:380px;padding:1.6rem;border:1px solid var(--line);background:linear-gradient(140deg,color-mix(in srgb,var(--bloodstone) 55%,var(--bg)),var(--panel-deep))}.map-panel:before{display:block;flex:1;content:"";opacity:.56;background:repeating-linear-gradient(135deg,transparent 0 27px,color-mix(in srgb,var(--gold) 28%,transparent) 28px 29px,transparent 30px 58px),radial-gradient(ellipse at 35% 60%,color-mix(in srgb,var(--ember) 26%,transparent),transparent 34%)}.map-panel h3{margin:.3rem 0;color:var(--text);font-size:clamp(1.7rem,3vw,2.5rem)}.field-notes{color:var(--muted);font-size:.79rem;line-height:1.6}.field-note{display:grid;grid-template-columns:130px 1fr;gap:.8rem;padding:.75rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.field-note b{color:var(--gold);font-size:.65rem;letter-spacing:.08em}.partner-stage{background:linear-gradient(155deg,var(--bloodstone),var(--paper))}.partner-tablet{padding:clamp(2rem,5vw,4rem);border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--panel-deep));box-shadow:inset 0 1px 0 rgba(255,255,255,.42)}.partner-tablet h2{max-width:760px;margin:0;color:var(--text);font-size:clamp(2.25rem,4.8vw,4rem);letter-spacing:-.035em}.partner-tablet h2 em{color:var(--ember)}.partner-tablet p{max-width:620px;color:var(--muted);font-size:1.1rem;font-style:italic}.partner-list{display:grid;gap:.8rem;margin:2rem 0}.partner-list span{display:grid;grid-template-columns:34px 1fr;gap:.8rem;color:var(--text)}.partner-list b{color:var(--ember)}
.page-hero{padding:clamp(4.6rem,9vw,8rem) 0 2.8rem}.page-hero h1{max-width:850px;margin:0;color:var(--text);font-size:clamp(3.1rem,7vw,6rem);letter-spacing:-.04em}.participant-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}.participant-art{min-height:350px;border:1px solid var(--line);background:radial-gradient(circle at 68% 25%,color-mix(in srgb,var(--gold) 35%,transparent),transparent 18%),linear-gradient(145deg,var(--bloodstone),color-mix(in srgb,var(--ember) 22%,var(--paper)))}.participant-body{max-width:760px;color:var(--muted);font-size:1.05rem;line-height:1.75}.media-video{position:relative;display:grid;min-height:220px;margin-top:1rem;border:1px solid var(--line);place-items:center;background:linear-gradient(135deg,var(--bloodstone),var(--paper));color:var(--ember)}.media-video span{display:grid;width:62px;height:62px;border:1px solid var(--ember);border-radius:50%;place-items:center;font-size:1.2rem}.empty-state{padding:1.2rem;border-block:1px solid var(--line);color:var(--muted);font-style:italic}.site-footer{padding:2.7rem 0;border-top:1px solid var(--line);background:var(--paper)}.footer-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.86rem}.footer-row b{color:var(--gold)}.footer-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.1rem}.footer-tags span{padding:.27rem .54rem;border:1px solid var(--line);color:var(--muted);font-size:.61rem}

@media(max-width:1080px){.header-row{min-height:76px}.festival-nav{gap:1.1rem}.festival-nav a{font-size:.62rem}.brand{flex-basis:220px}.theme-label{display:none}.hero-meta{grid-template-columns:repeat(2,minmax(180px,1fr));max-width:560px}}
@media(max-width:760px){body{font-size:17px}.shell,.wrap{width:calc(100% - 28px)}.announcement-bar{padding:.65rem 0;font-size:.9rem}.announcement-inner{justify-content:flex-start;text-align:left}.announcement-inner span:last-child{min-width:0;overflow-wrap:anywhere}.site-header{min-height:68px}.header-row{width:calc(100% - 28px);min-height:68px;gap:.45rem}.brand{flex:1 1 auto;max-width:calc(100% - 145px);font-size:1rem}.brand-mark{width:26px;height:26px}.header-tools{flex:none;gap:.1rem}.locale-switcher a{min-width:31px;padding:.52rem .3rem;font-size:.64rem}.theme-toggle{display:none}.theme-label{display:none}.menu-toggle{display:grid;order:4;flex:none;width:44px;height:44px;margin-left:.1rem;padding:11px 9px;border:1px solid var(--line);background:transparent;place-content:center;gap:4px;color:var(--text);cursor:pointer}.menu-toggle span{display:block;width:22px;height:1px;background:currentColor;transition:transform .2s}.festival-nav{position:fixed;z-index:760;top:0;right:0;bottom:0;width:min(86vw,360px);padding:5.5rem 2rem 2rem;border-left:1px solid var(--line);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.7rem;background:var(--nav-panel);box-shadow:-24px 0 60px rgba(0,0,0,.16);transform:translateX(102%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.festival-nav.is-open{transform:translateX(0)}.festival-nav a{min-height:44px;color:var(--text);font-size:.83rem;letter-spacing:.13em}.mobile-menu-label{display:block;position:absolute;top:1.8rem;left:2rem;right:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line);color:var(--gold);font-size:1.25rem;font-weight:800;line-height:1.1}.menu-scrim{position:fixed;z-index:750;inset:0;display:block;background:rgba(20,12,8,.38);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.menu-scrim.is-open{opacity:1;visibility:visible}.menu-open{overflow:hidden}.depth-track,.depth-readout{display:none}.hero{min-height:100svh}.hero-content{padding:3.6rem 0 5.5rem;transform:translateY(-1.2rem)}.geo-stamp{max-width:100%;margin-bottom:1.15rem;font-size:.59rem;line-height:1.35}.hero h1{max-width:100%;font-size:clamp(2.25rem,10vw,3.25rem);line-height:.93;text-wrap:pretty}.hero-sub{margin-top:1rem;font-size:1.06rem}.hero-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.05rem 1rem;margin-top:1.65rem}.hero-meta-item{min-width:0;padding-left:.65rem}.hero-meta-item dt{font-size:.55rem}.hero-meta-item dd{font-size:.72rem;overflow-wrap:anywhere;word-break:normal}.hero-actions{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:1.5rem}.hero-actions .button{width:100%}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:1.55rem}.countdown-unit{min-width:0;padding:.55rem .3rem;text-align:center}.countdown-unit b{font-size:1.2rem}.countdown-unit span{font-size:.48rem;letter-spacing:.04em}.scrollcue{bottom:1.35rem;left:14px;font-size:.54rem}.stage,.section{padding:4.4rem 0}.stage-head{align-items:flex-end;gap:.85rem;margin-bottom:1.35rem}.stage-num{font-size:3.5rem}.stage-name{font-size:.61rem}.stage-title{font-size:clamp(1.9rem,9vw,2.55rem)}.stage-intro,.lede{margin-bottom:1.9rem;font-size:1.05rem}.two-column,.route-grid,.participant-hero,.program-spotlight{grid-template-columns:1fr;gap:2rem}.myth-quote{font-size:1.45rem}.story-copy p{font-size:1.02rem}.facts-grid{grid-template-columns:1fr}.cave-edge{height:42px}.program-spotlight{margin-bottom:2rem}.now-card,.next-card{padding:1.15rem 0}.now-card h3,.next-card h3{font-size:1.55rem}.program-item{grid-template-columns:58px minmax(0,1fr);gap:.75rem;padding:1rem 0}.time{font-size:.78rem}.program-item h3{font-size:1.28rem}.program-item p{font-size:.94rem}.item-actions{gap:.15rem .65rem}.item-actions a{font-size:.65rem}.program-days{gap:.4rem}.program-day-button{flex:1 1 auto;justify-content:center;padding:.55rem .65rem;font-size:.62rem}.programme-filter{align-items:stretch}.filter-label,.programme-filter select{width:100%}.programme-filter .button{width:100%}.participant-grid,.location-grid,.partner-grid,.gallery-grid{grid-template-columns:1fr}.visual-field{min-height:180px}.map-panel{min-height:310px}.field-note{grid-template-columns:105px 1fr}.partner-tablet{padding:1.7rem}.partner-tablet h2{font-size:2.25rem}.site-footer{padding:2.2rem 0}.footer-row{font-size:.78rem}}
@media(max-width:390px){.brand{max-width:125px}.locale-switcher a{min-width:28px;padding-inline:.2rem}.theme-toggle{min-width:38px;padding-inline:.36rem}.menu-toggle{width:42px}.hero h1{font-size:clamp(2.8rem,15vw,4rem)}.hero-meta{grid-template-columns:1fr}.countdown-unit b{font-size:1.08rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Density pass: generous type, useful media slots and distinct action hierarchy. */
.grain,.depth-track,.depth-readout{display:none}.shell,.wrap{max-width:1420px}.announcement-bar{background:var(--color-announcement-bg);border:0;color:#fff;font-size:1rem}.announcement-bar .live-dot{background:#ffbf64;box-shadow:0 0 0 .28rem rgba(255,191,100,.18)}.site-header{background:color-mix(in srgb,var(--bg) 94%,transparent)}.header-row{min-height:98px;max-width:1540px}.brand{flex:0 1 430px;font-size:clamp(1.25rem,1.7vw,1.65rem);line-height:1.02}.brand span{overflow:visible;text-overflow:clip;white-space:normal}.brand-full{display:inline}.brand-short{display:none}.brand-mark,.brand-mark-image{width:42px;height:42px;flex:none}.brand-logo{max-width:260px;max-height:54px;object-fit:contain;object-position:left center}.festival-nav{gap:clamp(1rem,2vw,2.5rem)}.festival-nav a{font-size:.82rem;letter-spacing:.09em}.locale-switcher{gap:.24rem}.locale-switcher a{min-width:39px;padding:.7rem .45rem;font-size:.75rem}.theme-toggle{min-height:44px;padding:.42rem .78rem;font-size:.7rem}.hero{min-height:min(900px,calc(100svh - 20px));align-items:stretch}.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.82fr);align-items:center;gap:clamp(2.5rem,7vw,8rem);padding-block:clamp(4rem,8vh,7rem)}.hero-content{padding:0;transform:none}.hero h1{max-width:760px;font-size:clamp(4.1rem,7.2vw,7.7rem)}.hero-sub{max-width:650px;font-size:clamp(1.2rem,1.75vw,1.55rem)}.hero-meta{margin-top:2.6rem;gap:1.25rem 2.35rem}.hero-meta-item dt{font-size:.7rem}.hero-meta-item dd{font-size:1rem}.button{min-height:54px;padding:1rem 1.6rem;font-size:.8rem}.button-primary{border-color:var(--color-primary-action);background:var(--color-primary-action);color:#271207;box-shadow:0 10px 26px color-mix(in srgb,var(--color-primary-action) 30%,transparent)}.button-primary:hover{background:var(--color-primary-action-hover);border-color:var(--color-primary-action-hover);filter:none}.button-quiet{border-color:var(--color-secondary-action);color:var(--text)}.button-quiet:hover{border-color:var(--color-primary-action);color:var(--color-primary-action)}.countdown{width:min(570px,100%);gap:.7rem;margin-top:2.6rem}.countdown-unit{padding:1rem;background:color-mix(in srgb,var(--paper) 80%,transparent)}.countdown-unit b{color:var(--color-primary-action);font-size:clamp(1.8rem,3vw,2.65rem)}.countdown-unit span{font-size:.64rem}.hero-visual{position:relative;isolation:isolate;min-height:600px;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);background:linear-gradient(160deg,#2c1710,#6d271b 56%,#d28c43);box-shadow:18px 22px 0 color-mix(in srgb,var(--color-surface-highlight) 55%,transparent)}.hero-visual:before{position:absolute;z-index:-1;inset:18px;content:"";border:1px solid rgba(255,244,220,.55);clip-path:polygon(0 0,100% 0,100% 90%,88% 100%,0 100%)}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-poster-copy{display:flex;position:absolute;inset:0;padding:clamp(1.8rem,4vw,3.8rem);flex-direction:column;justify-content:space-between;color:#fff1d4}.hero-poster-copy span,.hero-poster-copy small{font:700 .76rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.14em}.hero-poster-copy strong{font:900 clamp(6rem,13vw,10rem)/.72 "Iowan Old Style",Georgia,serif;letter-spacing:-.08em}.hero-video-link{display:grid;position:absolute;inset:0;place-content:center;gap:1rem;background:linear-gradient(135deg,#3b2014,#8e331d);color:#fff;text-align:center}.hero-video-link span{display:grid;width:82px;height:82px;margin:auto;border:1px solid currentColor;border-radius:50%;place-items:center;font-size:1.45rem}.hero-video-link small{font:600 .72rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.1em;text-transform:uppercase}.scrollcue{bottom:1.6rem}.now-next-stage{padding:2.2rem 0;border-block:1px solid var(--line);background:var(--color-surface-highlight)}.now-next-grid{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem}.now-next-grid>div+div{padding-left:2rem;border-left:1px solid color-mix(in srgb,var(--text) 20%,transparent)}.now-next-grid h2{max-width:520px;margin:.3rem 0;font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.05}.now-next-grid p:not(.eyebrow){margin:.25rem 0;color:var(--muted);font-size:1.02rem}.text-action{color:var(--text);font:700 .78rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.people-stage{padding-top:clamp(5rem,8vw,8rem)}.performer-editorial{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1.25rem,2.4vw,2.5rem)}.performer-card{grid-column:span 4;min-width:0}.performer-featured{display:grid;grid-column:span 8;grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr);gap:clamp(1.5rem,3vw,3rem);align-items:end}.performer-image{position:relative;display:grid;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(140deg,var(--bloodstone),var(--color-surface-highlight));place-items:center}.performer-image img{width:100%;height:100%;object-fit:cover}.performer-image>span{color:var(--gold);font:800 clamp(5rem,12vw,10rem)/1 Georgia,serif}.performer-image i{display:grid;position:absolute;right:1rem;bottom:1rem;width:48px;height:48px;border-radius:50%;background:var(--color-primary-action);color:#251207;font-style:normal;place-items:center}.performer-card:not(.performer-featured) .performer-image{aspect-ratio:16/10}.performer-copy{padding-top:1.1rem}.performer-copy h3{margin:.3rem 0;font-size:clamp(1.55rem,2.6vw,2.5rem);line-height:1.02}.performer-card:not(.performer-featured) .performer-copy h3{font-size:1.7rem}.performer-copy p{margin:.5rem 0;color:var(--muted);font-size:1.04rem}.performer-copy .appearance{color:var(--text);font:700 .76rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em}.performer-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1rem}.performer-actions a{color:var(--gold);font:700 .72rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em;text-transform:uppercase}.cave-stage{background:color-mix(in srgb,var(--bloodstone) 28%,var(--bg))}.stage,.section{padding:clamp(5.5rem,8vw,8.5rem) 0}.stage-intro,.lede{font-size:clamp(1.15rem,1.5vw,1.35rem)}.stage-name,.eyebrow{font-size:.75rem}.program-item{grid-template-columns:104px minmax(0,1fr);gap:1.65rem;padding:1.45rem 0}.time{font-size:1.08rem}.program-item h3{font-size:clamp(1.55rem,2.1vw,1.9rem)}.program-item p{font-size:1.08rem}.atmosphere-stage{padding-top:0}.atmosphere-card{display:grid;min-height:360px;padding:clamp(2rem,5vw,5rem);border:1px solid var(--line);place-items:end start;background:linear-gradient(125deg,var(--bloodstone),var(--color-surface-highlight))}.atmosphere-card h2{max-width:650px;margin:0;font-size:clamp(2.5rem,5vw,5rem)}.atmosphere-card p{max-width:620px;font-size:1.2rem}.atmosphere-card .media-video{width:100%;margin:0}
@media(max-width:1080px){.header-row{min-height:88px}.brand{flex-basis:310px;font-size:1.28rem}.festival-nav{gap:.9rem}.festival-nav a{font-size:.7rem}.hero-grid{gap:2.5rem}.hero-visual{min-height:500px}.now-next-grid{grid-template-columns:1fr 1fr}.text-action{grid-column:1/-1}.performer-featured{grid-column:span 12}.performer-card{grid-column:span 6}}
@media(max-width:760px){.header-row{min-height:78px}.brand{max-width:none;font-size:1.15rem}.brand-full{display:none}.brand-short{display:inline}.brand-mark,.brand-mark-image{width:34px;height:34px}.brand-logo{max-width:145px;max-height:42px}.locale-switcher a{min-width:33px;padding:.56rem .28rem}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;gap:2rem;padding-block:3.4rem 4.7rem}.hero h1{font-size:clamp(3.1rem,14vw,4.7rem)}.hero-sub{font-size:1.12rem}.hero-visual{order:-1;min-height:300px;max-height:420px}.hero-poster-copy strong{font-size:7rem}.hero-meta{margin-top:1.8rem}.countdown-unit{padding:.7rem .3rem}.countdown-unit b{font-size:1.45rem}.now-next-stage{padding:1.6rem 0}.now-next-grid{grid-template-columns:1fr;gap:1.4rem}.now-next-grid>div+div{padding:1.4rem 0 0;border-top:1px solid color-mix(in srgb,var(--text) 20%,transparent);border-left:0}.text-action{grid-column:auto}.performer-editorial{display:flex;gap:1.2rem;overflow-x:auto;margin-inline:-14px;padding-inline:14px;scroll-snap-type:x mandatory}.performer-card,.performer-featured{display:block;flex:0 0 min(82vw,340px);scroll-snap-align:start}.performer-featured .performer-image,.performer-card .performer-image{aspect-ratio:4/5}.performer-copy h3,.performer-card:not(.performer-featured) .performer-copy h3{font-size:1.75rem}.program-item{grid-template-columns:68px minmax(0,1fr);gap:.85rem}.program-item p{font-size:1rem}.atmosphere-card{min-height:280px}.atmosphere-card h2{font-size:2.6rem}}
@media(max-width:390px){.brand-logo{max-width:118px}.header-tools{gap:0}.hero h1{font-size:3rem}.hero-meta{grid-template-columns:1fr}.hero-visual{min-height:270px}.countdown-unit b{font-size:1.25rem}}
.live-status-bar{display:block;position:relative;z-index:720;background:#4d351d;color:#fff;text-decoration:none}.live-status-inner{display:flex;min-height:48px;align-items:center;gap:.8rem;padding-block:.65rem}.live-status-indicator{width:.6rem;height:.6rem;flex:none;border-radius:50%;background:#ffbf64;box-shadow:0 0 0 .28rem rgba(255,191,100,.16)}.live-status-message{font:650 .82rem/1.35 ui-monospace,SFMono-Regular,monospace;letter-spacing:.02em}.live-status-action{margin-left:auto;color:#fff3d5;font:700 .7rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.live-status-bar.severity-live{background:#124b3d}.live-status-bar.severity-live .live-status-indicator{background:#53e2ae;box-shadow:0 0 0 .28rem rgba(83,226,174,.18)}.live-status-bar.severity-urgent{background:#8b2428}.live-status-bar.severity-urgent .live-status-indicator{background:#ff7771;box-shadow:0 0 0 .28rem rgba(255,119,113,.19)}.live-status-bar.severity-muted{background:#554c43;color:#e7ded1}.live-status-bar.severity-muted .live-status-indicator{background:#b9b0a4}.live-status-bar.severity-manual{background:#3e355b}.live-status-bar.severity-manual .live-status-indicator{background:#b7a4ff}@media(max-width:760px){.live-status-inner{width:100%;overflow-x:auto;padding-inline:14px;justify-content:flex-start}.live-status-message{min-width:max-content;font-size:.72rem}.live-status-action{display:none}}
.newsletter-popup{position:fixed;z-index:1000;inset:0;display:grid;padding:1rem;background:radial-gradient(circle at 50% 30%,rgba(142,61,26,.2),transparent 42%),rgba(12,7,5,.7);backdrop-filter:blur(8px);place-items:center;animation:newsletter-backdrop-in .3s ease-out}.newsletter-popup[hidden]{display:none}.newsletter-dialog{position:relative;isolation:isolate;width:min(100%,540px);overflow:hidden;padding:clamp(1.8rem,4vw,3.25rem);border:1px solid color-mix(in srgb,var(--gold) 58%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 98%,#fff 2%),var(--paper));box-shadow:0 34px 90px rgba(0,0,0,.58),0 0 0 1px rgba(255,227,174,.05) inset;animation:newsletter-dialog-in .42s cubic-bezier(.2,.85,.25,1.1)}.newsletter-dialog:before{position:absolute;z-index:-1;top:-150px;right:-110px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(211,115,43,.17),transparent 68%);content:"";pointer-events:none}.newsletter-dialog h2{max-width:440px;margin:.45rem 0 .8rem;font-size:clamp(2.25rem,5vw,3.45rem);line-height:.98;letter-spacing:-.035em}.newsletter-dialog>p:not(.eyebrow){max-width:420px;margin:0;color:var(--muted);font-size:1.04rem;line-height:1.55}.newsletter-dialog form{display:grid;gap:1rem;margin-top:1.65rem}.newsletter-dialog label{display:grid;gap:.48rem;color:var(--text);font:700 .76rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.055em;text-transform:uppercase}.newsletter-dialog input[type=email],.newsletter-dialog input[type=text]{min-height:52px;padding:.82rem .95rem;border:1px solid color-mix(in srgb,var(--line) 78%,var(--gold));border-radius:2px;background:color-mix(in srgb,var(--bg) 46%,transparent);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 8px 18px rgba(0,0,0,.1);color:var(--text);font:600 1rem/1.2 Inter,ui-sans-serif,system-ui,sans-serif;outline:0;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease}.newsletter-dialog input[type=email]::placeholder,.newsletter-dialog input[type=text]::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.newsletter-dialog input[type=email]:hover,.newsletter-dialog input[type=text]:hover{border-color:color-mix(in srgb,var(--gold) 75%,var(--line))}.newsletter-dialog input[type=email]:focus,.newsletter-dialog input[type=text]:focus{border-color:var(--ember);background:color-mix(in srgb,var(--paper) 86%,var(--ember));box-shadow:0 0 0 4px color-mix(in srgb,var(--ember) 22%,transparent),0 11px 25px rgba(0,0,0,.18);transform:translateY(-1px)}.newsletter-consent{display:flex!important;align-items:flex-start;grid-template-columns:auto 1fr;gap:.7rem!important;margin:.15rem 0 .1rem;font-size:.72rem!important;line-height:1.5;text-transform:none!important}.newsletter-consent input{width:18px;height:18px;margin:.03rem 0 0;accent-color:var(--ember);cursor:pointer}.newsletter-dialog .button{min-height:54px;margin-top:.15rem;border:1px solid color-mix(in srgb,var(--color-primary-action) 70%,#ffd28a);box-shadow:0 12px 24px color-mix(in srgb,var(--color-primary-action) 24%,transparent);letter-spacing:.12em;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.newsletter-dialog .button:hover{filter:brightness(1.08);box-shadow:0 17px 30px color-mix(in srgb,var(--color-primary-action) 35%,transparent);transform:translateY(-2px)}.newsletter-dialog .button:active{transform:translateY(0)}.newsletter-close{position:absolute;top:1rem;right:1rem;display:grid;width:42px;height:42px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--text);font-size:2rem;line-height:1;place-items:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.newsletter-close:hover{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));background:color-mix(in srgb,var(--gold) 12%,transparent);transform:rotate(90deg)}.newsletter-close:focus-visible{outline:3px solid color-mix(in srgb,var(--ember) 45%,transparent);outline-offset:2px}@keyframes newsletter-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes newsletter-dialog-in{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:560px){.newsletter-popup{padding:.7rem}.newsletter-dialog{padding:1.55rem 1.3rem 1.5rem}.newsletter-dialog h2{padding-right:2.2rem;font-size:clamp(2.15rem,12vw,3rem)}.newsletter-dialog .button{min-height:52px}}@media(prefers-reduced-motion:reduce){.newsletter-popup,.newsletter-dialog{animation:none}.newsletter-dialog input[type=email],.newsletter-dialog input[type=text],.newsletter-dialog .button,.newsletter-close{transition:none}}

/* Live update strip: fixed high-contrast ink, independent of a tenant's accent palette. */
.now-next-stage{--now-next-ink:#24170f;--now-next-muted:#513d2d;--now-next-label:#713a18;background:linear-gradient(135deg,color-mix(in srgb,var(--color-surface-highlight) 88%,#fff),var(--color-surface-highlight));color:var(--now-next-ink)}.now-next-grid h2{color:var(--now-next-ink)}.now-next-grid p:not(.eyebrow){color:var(--now-next-muted)}.now-next-stage .eyebrow{color:var(--now-next-label)}.now-next-stage .text-action{color:var(--now-next-ink)}.mobile-locale-switcher{display:none}

@media(max-width:760px){.site-header{border-bottom-color:var(--line);background:color-mix(in srgb,var(--paper) 96%,transparent);box-shadow:0 5px 18px rgba(36,23,15,.08);backdrop-filter:blur(12px)}.header-row{min-height:66px;gap:.55rem}.brand{min-width:0;max-width:none;gap:.55rem;font-size:1rem}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark,.brand-mark-image{width:30px;height:30px}.header-tools>.locale-switcher{display:none}.menu-toggle{width:46px;height:46px;margin-left:0}.mobile-locale-switcher{display:flex;gap:.45rem;margin-top:.2rem;padding-top:1.35rem;border-top:1px solid var(--line)}.festival-nav .mobile-locale-switcher a{display:grid;min-width:44px;min-height:40px;padding:.45rem;border:1px solid var(--line);place-items:center;color:var(--muted);font:700 .7rem ui-monospace,SFMono-Regular,monospace}.festival-nav .mobile-locale-switcher a.active{border-color:var(--ember);color:var(--text)}.now-next-stage{padding:1rem 0 1.15rem}.now-next-grid{gap:.8rem}.now-next-grid>div,.now-next-grid>div+div{padding:1rem;border:1px solid color-mix(in srgb,var(--now-next-ink) 18%,transparent);background:color-mix(in srgb,#fff 44%,transparent)}.now-next-grid>div+div{border-top:1px solid color-mix(in srgb,var(--now-next-ink) 18%,transparent);border-left:1px solid color-mix(in srgb,var(--now-next-ink) 18%,transparent)}.now-next-grid h2{font-size:clamp(1.42rem,7vw,1.72rem);line-height:1.08}.now-next-grid p:not(.eyebrow){font-size:1rem;line-height:1.5}.now-next-stage .text-action{min-height:44px;display:inline-flex;align-items:center;padding:.1rem .15rem;font-size:.72rem}}

.participants-directory{padding-top:0}.participant-card .visual-field{place-items:center}.participant-card .visual-field img{width:100%;height:100%;object-fit:cover}.participant-card .visual-field>span{color:var(--gold);font:800 clamp(4rem,10vw,7rem)/1 Georgia,serif}.participant-card .appearance{color:var(--text);font:700 .7rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em}

.site-footer .powered-by{display:inline-flex;align-items:center;gap:.75rem;min-height:58px;color:var(--muted);font:600 1.08rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em}.site-footer .powered-by img{display:block;width:auto;height:51px;max-width:264px;object-fit:contain;filter:brightness(.58) contrast(1.35)}.site-footer .powered-by:hover{color:var(--text)}.site-footer .powered-by:hover img{filter:none}@media(max-width:760px){.site-footer .powered-by{width:100%;margin-top:.3rem;font-size:.9rem}.site-footer .powered-by img{height:45px;max-width:240px}}
.location-card .link-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1.1rem}.location-card .map-link{position:relative;display:flex;align-items:center;gap:.65rem;min-height:58px;padding:.75rem .85rem;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 78%,transparent);color:var(--text);font:700 .85rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.025em;box-shadow:0 7px 16px rgba(0,0,0,.08);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.location-card .map-link:hover{border-color:var(--ember);background:color-mix(in srgb,var(--ember) 10%,var(--paper));box-shadow:0 12px 22px rgba(0,0,0,.14);transform:translateY(-2px)}.location-card .map-link:focus-visible{outline:3px solid color-mix(in srgb,var(--ember) 45%,transparent);outline-offset:3px}.location-card .map-link-icon{width:27px;height:27px;flex:none}.location-card .map-link-google .map-link-icon{color:#4285f4}.location-card .map-link-waze .map-link-icon{color:#39a9ed}.location-card .map-link b{margin-left:auto;color:var(--ember);font-size:1rem}@media(max-width:560px){.location-card .link-row{grid-template-columns:1fr}.location-card .map-link{min-height:62px;font-size:.92rem}}@media(prefers-reduced-motion:reduce){.location-card .map-link{transition:none}.location-card .map-link:hover{transform:none}}
.participant-art{position:relative;display:grid;overflow:hidden;place-items:center}.participant-art.has-portrait{background:var(--panel-deep)}.participant-portrait-image{position:relative;z-index:1;width:100%;height:100%;min-height:350px;object-fit:cover}.participant-art.has-portrait:after{position:absolute;z-index:2;inset:0;pointer-events:none;content:"";background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--bloodstone) 50%,transparent))}.participant-art>span{position:relative;z-index:1;color:var(--gold);font:800 clamp(7rem,18vw,13rem)/1 Georgia,serif}

/* Consent is deliberately compact on desktop and stacked for smaller screens. */
.cookie-settings-link{padding:0;border:0;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.cookie-settings-link:hover{color:var(--text);text-decoration:underline}.cookie-consent{position:fixed;z-index:1300;right:max(16px,calc((100vw - 1240px)/2));bottom:18px;width:min(700px,calc(100% - 32px));color:#fdf7ed}.cookie-consent[hidden]{display:none}.cookie-consent-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.15rem 1.5rem;padding:1.35rem 1.45rem;border:1px solid color-mix(in srgb,var(--gold) 65%,#fff 12%);background:linear-gradient(135deg,#1c120d,#2a1810);box-shadow:0 24px 80px rgba(0,0,0,.45),0 1px 0 rgba(255,255,255,.1) inset}.cookie-consent-copy .eyebrow{margin-bottom:.45rem}.cookie-consent-copy h2{margin:0;font-size:clamp(1.55rem,3.5vw,2.1rem);line-height:1}.cookie-consent-copy p{max-width:46ch;margin:.65rem 0;color:#e9d8bd;font:500 .94rem/1.5 Inter,ui-sans-serif,system-ui,sans-serif}.cookie-consent-copy a{color:#f5c677;font:700 .7rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em}.cookie-consent-copy a:hover{text-decoration:underline}.cookie-consent-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.6rem}.cookie-consent-actions .button{min-height:44px;padding:.65rem .9rem;white-space:nowrap}.cookie-consent-actions .button-quiet{border-color:#f4cf8c77;color:#fff4dc}.cookie-details-toggle{width:100%;padding:.3rem 0 0;border:0;background:transparent;color:#f5c677;font:700 .7rem ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em;text-align:left;cursor:pointer}.cookie-details-toggle span{float:right;font-size:1.2rem}.cookie-details{grid-column:1/-1;padding-top:1rem;border-top:1px solid #f5d59a33}.cookie-details label{display:flex;align-items:flex-start;gap:.7rem;padding:.5rem 0;color:#fdf7ed;font:500 .87rem/1.4 Inter,ui-sans-serif,system-ui,sans-serif}.cookie-details input{width:18px;height:18px;margin:.05rem 0 0;accent-color:#ef7422}.cookie-details small{display:block;margin-top:.15rem;color:#ddcbb0;font-size:.78rem}.cookie-details p{margin:.75rem 0 1rem;color:#ddcbb0;font:500 .78rem/1.45 Inter,ui-sans-serif,system-ui,sans-serif}.cookie-details .button{min-height:44px}.legal-page{min-height:70vh;background:radial-gradient(circle at 85% 12%,color-mix(in srgb,var(--gold) 18%,transparent),transparent 30%)}.legal-wrap{max-width:910px}.legal-page h1{max-width:760px;margin:.2rem 0 1.15rem;font-size:clamp(3rem,7vw,5.4rem);line-height:.92;letter-spacing:-.045em}.legal-lead{max-width:660px;margin:0;color:var(--muted);font-size:clamp(1.05rem,2vw,1.25rem)}.legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:3rem}.legal-grid article{padding:1.4rem;border:1px solid var(--line);background:var(--panel)}.legal-grid h2{margin:0 0 .55rem;font-size:1.55rem;line-height:1.05}.legal-grid p{margin:0;color:var(--muted);font-size:1rem}.legal-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
@media(max-width:760px){.cookie-consent{right:12px;bottom:12px;width:calc(100% - 24px)}.cookie-consent-card{grid-template-columns:1fr;padding:1.15rem}.cookie-consent-actions{align-items:stretch}.cookie-consent-actions .button{flex:1 1 175px}.legal-page{padding-top:4.2rem}.legal-grid{grid-template-columns:1fr;margin-top:2rem}.legal-grid article{padding:1.15rem}.legal-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.cookie-consent-card{animation:none}}
.newsletter-consent a{color:var(--ember);font-weight:800;text-decoration:underline;text-underline-offset:2px}
.partner-logo-wall{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0}.partner-logo-link{display:grid;grid-template-rows:94px auto;width:176px;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 58%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 10%,transparent),rgba(0,0,0,.18));color:var(--text);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.partner-logo-link:hover,.partner-logo-link:focus-visible{transform:translateY(-4px);border-color:var(--ember);box-shadow:0 12px 24px rgba(0,0,0,.22);outline:0}.partner-logo-image{display:grid;padding:.65rem;place-items:center}.partner-logo-wall img,.partner-logo-card img{max-width:100%;max-height:66px;object-fit:contain;filter:contrast(1.06) saturate(.9)}.partner-logo-wall strong{color:var(--text);text-align:center;font-size:.95rem}.partner-logo-name{display:flex;justify-content:space-between;gap:.5rem;align-items:center;padding:.58rem .7rem;border-top:1px solid var(--line);font:700 .68rem/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.035em}.partner-logo-name b{color:var(--ember);font-size:.95rem}.partner-logo-card{display:grid;margin-bottom:1.1rem;min-height:190px;padding:1rem;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 74%,transparent);place-items:center}.partner-logo-card img{max-height:130px}.footer-partners{display:flex;justify-content:center;margin:0 0 .45rem;padding:0 0 .65rem;border-bottom:1px solid var(--line)}.footer-partners>div{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;align-items:center}.footer-partners a{display:grid;width:42px;height:42px;padding:.28rem;border:1px solid transparent;border-radius:50%;place-items:center;transition:transform .2s ease,border-color .2s ease,background .2s ease}.footer-partners img{max-width:100%;max-height:100%;object-fit:contain;opacity:.94}.footer-partners a:hover,.footer-partners a:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--gold) 70%,var(--line));background:color-mix(in srgb,var(--paper) 10%,transparent);outline:0}.footer-partners a:focus-visible{box-shadow:0 0 0 2px var(--ember)}@media(max-width:760px){.partner-logo-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.partner-logo-link{width:auto}.footer-partners{justify-content:flex-start}.footer-partners>div{justify-content:flex-start}}
