
:root{color-scheme:dark;--bg:#090909;--surface:#131313;--raised:#191918;--border:#2c2b28;--ink:#f4f0e8;--muted:#a7a39b;--accent:#ff793f;--soft:#ffb38e;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans)}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{font:inherit;color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
button{background:none;border:0}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--soft);outline-offset:5px}
svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
img{max-width:100%;display:block}
[hidden]{display:none!important}
.shell{max-width:1232px;padding:0 40px;margin:auto}
.topbar{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:22px}
.brand{display:flex;align-items:center;gap:27px}
.wordmark{width:125px}
.brandnote{border-left:1px solid var(--border);padding-left:25px;max-width:170px;font-size:10px;letter-spacing:.14em;line-height:1.8;text-transform:uppercase;color:var(--muted)}
.topnav{display:flex;align-items:center;gap:27px}
.topnav>a{font-size:12px;color:var(--muted)}
.topnav>a:hover{color:var(--ink)}
.outline{display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:11px 16px;border:1px solid var(--border);border-radius:30px;font-size:11px;transition:border-color .2s,background .2s}
.outline:hover{background:var(--raised);border-color:#666057}
.outline svg{width:16px;height:16px}
.composition{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:64px;padding:36px 0 28px;align-items:start}
.story{min-width:0}
.eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:650;display:flex;align-items:center;gap:11px;color:var(--soft)}
.eyebrow:before{content:'';width:23px;height:1px;background:currentColor}
h1{font:400 clamp(46px,4.8vw,66px)/1.02 var(--serif);letter-spacing:-.052em;margin:20px 0}
h1 em{color:var(--accent);font-weight:400}
.intro{font-size:13px;line-height:1.8;color:var(--muted);max-width:330px;margin:0 0 27px}
.photo{position:relative;border-radius:95px 95px 12px 12px;overflow:hidden;border:1px solid #3b332b;background:#1c1511;margin:0}
.photo img{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover}
.photo-foot{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;gap:12px;background:#141311;font-size:10px;color:var(--muted)}
.photo-foot strong{font-weight:500;color:var(--ink)}
.photo-foot svg{width:16px;height:16px;color:var(--accent)}
.manifesto{display:flex;justify-content:space-between;align-items:center;margin:17px 0 23px}
.manifesto p{color:var(--muted);font-size:11px;margin:0}
.manifesto em{font-family:var(--serif);font-size:18px;color:#d5c7b7}
.instagram{display:flex;gap:12px;align-items:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:17px 0}
.instagram>svg{color:var(--soft)}
.instagram strong{font-weight:500;display:block;font-size:12px}
.instagram small{font-size:10px;color:var(--muted)}
.instagram .arrow{margin-left:auto;color:var(--muted)}
.visit{margin-top:25px}
.section-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:650;margin:0 0 13px}
.address-card{border:1px solid var(--border);border-radius:12px;padding:19px;background:var(--surface)}
.address-card .mini{font-size:9px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.address-card h3{font:400 19px/1.3 var(--serif);letter-spacing:-.02em;margin:9px 0 5px}
.address-card p{color:var(--muted);font-size:11px;margin:0}
.address-actions{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.textlink{display:inline-flex;align-items:center;gap:7px;color:var(--soft);font-size:11px}
.textlink svg{width:16px;height:16px}
.iconbutton{width:38px;height:38px;border:1px solid var(--border);border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.iconbutton:hover{background:var(--raised)}
.iconbutton svg{width:16px;height:16px}
details{border-bottom:1px solid var(--border);margin-top:6px}
summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:15px 1px;font-size:11px;color:var(--muted)}
summary::-webkit-details-marker{display:none}
summary svg{width:15px;height:15px;transition:transform .2s}
details[open] summary svg{transform:rotate(180deg)}
.hours{display:grid;gap:9px;font-size:12px;padding:2px 0 17px}
.hours>div{display:flex;justify-content:space-between}
.hours span{color:var(--muted)}
.hours p{font-size:10px;color:var(--muted);margin:5px 0 0}
.right-label{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}
.right-label h2{font-size:10px;letter-spacing:.15em;margin:0;font-weight:650}
.right-label span{font-size:10px;color:var(--muted)}
.days{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:12px}
.day{border:1px solid var(--border);border-radius:10px;padding:10px 13px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:61px;color:var(--muted)}
.day strong{font-size:10px;letter-spacing:.08em;display:block;text-transform:uppercase}
.day small{font-size:9px}
.day .number{font:25px/1 var(--serif)}
.day:hover{background:var(--surface)}
.day[aria-selected=true]{background:#28170f;border-color:#9c4828;color:var(--accent)}
.day[aria-selected=true] small{color:#e8b092}
.event{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}
.event-inner{padding:22px 23px 7px}
.event-top{display:flex;align-items:center;justify-content:space-between}
.event-top .eyebrow{font-size:9px}
.event-top .eyebrow:before{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.event-top svg{color:#83766b;width:19px;height:19px}
.event h2{font:400 32px/1.1 var(--serif);letter-spacing:-.04em;margin:11px 0 5px}
.event-sub{font-size:11px;color:var(--muted);margin:0 0 13px}
.lineup{list-style:none;padding:0;margin:0}
.lineup li{display:flex;align-items:center;gap:12px;border-top:1px solid #282522;padding:10px 0}
.lineup .order{font-size:9px;color:#8f7c6e;width:15px}
.artist{font-size:13px;font-weight:600;flex:1}
.artist small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:1px}
.lineup time{font-size:12px;color:#d9c9bb;font-variant-numeric:tabular-nums}
.event-cta{padding:13px 23px 19px}
.primary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:51px;padding:14px 18px;background:var(--accent);color:#211007;border-radius:9px;font-size:13px;font-weight:700;border:1px solid var(--accent);transition:background .2s}
.primary:hover{background:#ff9566}
.primary svg{width:18px;height:18px}
.cta-copy{display:flex;gap:9px;align-items:center}
.fineprint{font-size:10px;text-align:center;color:var(--muted);margin:9px 0 0}
.fineprint strong{color:var(--soft);font-weight:500}
.after-midnight{font-size:9px;color:var(--muted);padding:6px 0 0;margin:0}
.quicklinks{margin-top:18px}
.linkcard{display:flex;align-items:center;gap:15px;padding:18px 19px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:left;width:100%;transition:background .2s,border-color .2s,transform .2s}
.linkcard:hover{background:var(--raised);border-color:#5d493b;transform:translateY(-2px)}
.linkcard .symbol{color:var(--soft)}
.linkcard .arrow{margin-left:auto;color:var(--muted);width:17px;height:17px}
.linkcard strong{display:block;font-size:14px;font-weight:500}
.linkcard small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.menu-card{background:#efdfc6;color:#25221b;border-color:#efdfc6}
.menu-card:hover{background:#f6e8d3;border-color:#f6e8d3}
.menu-card .symbol,.menu-card .arrow{color:#7c533a}
.menu-card strong{font-family:var(--serif);font-size:22px}
.menu-card small{color:#756757}
.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.tile{align-items:flex-start;position:relative;display:block;padding:18px;min-height:130px}
.tile .symbol{margin-bottom:12px}
.tile .arrow{position:absolute;right:15px;top:18px}
.tile strong{font-size:13px}
.contact{margin-top:10px;background:transparent;padding:15px 18px}
.contact strong{font-size:12px}
.contact .symbol{color:#9cb59d}
.contact small{margin-top:2px}
.foot{border-top:1px solid var(--border);padding:23px 0;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;gap:20px}
.foot .pulse{letter-spacing:.14em;font-size:9px;color:#cec7ba}
.prototype-note{font-size:9px;text-align:center;color:#aaa398;padding:0 14px 18px}
.prototype-note button{font-size:9px;color:var(--soft);text-decoration:underline;padding:5px}
.mobile-dock{display:none}
.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 20px;border:1px solid #68604e;background:#27221b;color:var(--ink);box-shadow:0 8px 40px #0007;border-radius:10px;max-width:calc(100vw - 32px);width:max-content;z-index:50;font-size:12px}
.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--accent);color:#000;padding:10px}
.skip:focus{top:10px}
dialog{color:var(--ink);background:#131311;border:1px solid #4d4034;border-radius:18px;width:min(530px,calc(100% - 30px));max-height:calc(100dvh - 36px);padding:0;box-shadow:0 24px 100px #0009}
dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
.modal-head{position:sticky;top:0;background:#131311;display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;z-index:1}
.modal-head .eyebrow{font-size:9px}
.modal-body{padding:0 24px 25px}
.modal-body h2{font:400 33px/1.1 var(--serif);letter-spacing:-.035em;margin:10px 0 14px}
.modal-body p{color:var(--muted);font-size:13px;line-height:1.7}
.modal-body .primary{margin-top:22px}
.benefits{list-style:none;display:grid;gap:10px;padding:15px 0;font-size:12px}
.benefits li{display:flex;gap:9px}
.benefits svg{width:15px;height:15px;color:var(--soft)}
.guest-label{font-size:11px;margin-bottom:10px;color:var(--muted)}
.guest-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.guest-options button{border:1px solid var(--border);border-radius:7px;padding:10px 4px;font-size:11px}
.guest-options button[aria-pressed=true]{background:#2b1b12;color:var(--soft);border-color:#975132}
.gift{background:#1e1913;border:1px solid #493525;border-radius:10px;padding:16px;margin-top:12px;min-height:102px}
.gift small{color:var(--soft);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.gift p{font-size:12px;color:var(--ink);margin:8px 0 0}
.modal-info{padding:15px;background:#1d1c18;border-radius:10px;font-size:12px;margin:17px 0}
.share-field{display:flex;gap:8px}
.share-field input{width:100%;min-width:0;padding:12px;background:#090909;border:1px solid var(--border);border-radius:7px;color:var(--ink);font:12px var(--sans)}
.share-field button{border:1px solid var(--border);border-radius:7px;padding:10px}
.notes-list{padding-left:18px;color:var(--muted);font-size:12px;line-height:1.8}
.notes-list li{margin-bottom:9px}
.notes-list strong{color:var(--ink);font-weight:500}
body.modal-open{overflow:hidden}

@media(min-width:1500px){.shell{max-width:1300px}
.composition{gap:78px}
.event-inner{padding-top:25px}
.lineup li{padding:12px 0}
.photo{margin-top:35px}
}

@media(max-width:1050px) and (min-width:761px){.shell{padding:0 28px}
.composition{gap:34px}
h1{font-size:49px}
.topnav{gap:17px}
.brandnote{display:none}
.event-inner{padding:20px 18px 7px}
.event-cta{padding:12px 18px 17px}
.tile{padding:15px}
.day{padding:9px}
.photo{border-radius:60px 60px 12px 12px}
.photo-foot{font-size:9px;padding:12px}
.manifesto em{font-size:16px}
}

@media(max-width:760px){html{scroll-padding-top:16px}
.shell{padding:0 22px;max-width:550px}
.topbar{height:87px}
.wordmark{width:104px}
.brandnote{display:none}
.topnav>a{display:none}
.topnav{gap:0}
.outline{width:38px;height:38px;padding:0}
.outline span{display:none}
.composition{display:flex;flex-direction:column;gap:25px;padding:25px 0}
.story,.actions{display:contents}
.eyebrow{font-size:9px}
h1{font-size:47px;margin:15px 0 12px}
h1 br.mobile-break{display:none}
.intro{font-size:12px;line-height:1.7;max-width:280px;margin:0}
.intro-block{order:0}
.photo{order:1;width:100%;border-radius:57px 57px 11px 11px}
.photo img{aspect-ratio:2.05}
.photo-foot{padding:10px 13px;font-size:9px}
.manifesto{display:none}
.agenda{order:2;width:100%}
.right-label{margin-bottom:12px}
.right-label h2{font-size:9px}
.right-label span{font-size:9px}
.days{gap:6px}
.day{min-height:60px;padding:10px 12px}
.event-inner{padding:21px 20px 7px}
.event-cta{padding:11px 20px 18px}
.event h2{font-size:30px}
.quicklinks{order:3;width:100%;margin:0}
.instagram{order:4;width:100%;margin:0}
.visit{order:5;width:100%;margin:0}
.foot{padding:22px 0;align-items:flex-start}
.foot>span{max-width:185px}
.prototype-note{padding-bottom:100px;font-size:8px}
.mobile-dock{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;gap:10px;padding:10px max(18px,calc((100vw - 506px)/2)) calc(10px + env(safe-area-inset-bottom));background:#0d0d0df5;border-top:1px solid #35302a;backdrop-filter:blur(12px)}
.mobile-dock a{display:flex;justify-content:center;align-items:center;gap:7px;min-height:43px;border-radius:8px;padding:10px 15px;font-size:12px}
.mobile-dock .dock-agenda{border:1px solid var(--border);flex:1}
.mobile-dock .dock-free{background:var(--accent);color:#221005;flex:1.5;font-weight:650}
.mobile-dock svg{width:17px;height:17px}
.toast{bottom:89px}
.two-cards{gap:9px}
.tile{min-height:130px}
.modal-body{padding:0 21px 23px}
.modal-head{padding:17px 21px 10px}
}

@media(max-width:360px){.shell{padding:0 16px}
h1{font-size:41px}
.day{padding:9px}
.day .number{font-size:23px}
.right-label span{font-size:8px}
.tile{padding:14px}
.tile strong{font-size:12px}
.tile small{font-size:9px}
.event-inner{padding:19px 16px 6px}
.event-cta{padding:10px 16px 17px}
.modal-body h2{font-size:29px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}

/* Dynamic content preserves the approved composition for any number of days. */
.days{grid-template-columns:repeat(auto-fit,minmax(115px,1fr))}
.right-label{gap:12px}.right-label>span{text-align:right}
.artist,.linkcard>span,.cta-copy{min-width:0;overflow-wrap:anywhere}
.event-inner{position:relative}.event h2{overflow-wrap:anywhere}
#event-image{float:right;object-fit:contain;margin:10px 0 8px 12px;border-radius:6px}
.data-state:has(>p[hidden]):has(>button[hidden]){display:none}
.data-state{margin:0 0 14px;color:var(--muted);font-size:12px}
.data-state p{margin:0 0 10px}.data-state .outline{width:auto;height:auto;padding:9px 14px}
.off,.primary.off:hover{background:#493629!important;border-color:#685243;color:#e4c9b4!important;cursor:not-allowed}
.fineprint.unavailable{color:var(--soft)}
.tickets{margin-bottom:10px;border-color:#75503c}
.hero-media{position:relative;aspect-ratio:1.9;isolation:isolate;overflow:hidden}
.photo .hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.hero-media video{position:absolute;inset:0;z-index:1}
.hero-toggle{position:absolute;bottom:12px;right:12px;z-index:2;border:1px solid #a58c75;background:#15110de8;color:#f4f0e8;border-radius:25px;padding:8px 13px;font-size:11px;min-height:36px}
.hero-toggle:focus-visible{outline-offset:-5px}
.banner-evt{display:grid;grid-template-columns:72px minmax(0,1fr);margin-bottom:14px;border:1px solid #68442e;border-radius:14px;overflow:hidden;background:#191410}
.banner-evt.sem-data{grid-template-columns:1fr}
.banner-evt-stub{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;background:var(--accent);color:#271306;text-transform:uppercase;font-size:10px;font-weight:650;padding:12px 5px}
.banner-evt-stub strong{font:38px/1.1 var(--serif)}
.banner-evt-body{padding:17px;min-width:0}
.banner-evt-body .eyebrow{font-size:8px}
.banner-evt-titulo{font:26px/1.1 var(--serif);margin:10px 0 5px;overflow-wrap:anywhere}
.banner-evt-body p{color:var(--muted);font-size:11px;margin:5px 0;overflow-wrap:anywhere}
.banner-evt-body .banner-sub{color:var(--soft);font-weight:600}
.banner-evt-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin-top:12px;border:1px solid #9c582f;border-radius:7px;color:var(--soft);font-size:11px;font-weight:600}
.banner-evt-cta:hover{background:#362318}
.noscript{padding:20px;text-align:center}.noscript a{text-decoration:underline}
@media(max-width:760px){
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .hero-media{aspect-ratio:2.05}
  .days{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}
  .mobile-dock .dock-free{min-width:0;font-size:11px;padding:10px;gap:5px}
  .mobile-dock .dock-free span{overflow-wrap:anywhere}
  .hero-toggle{bottom:9px;right:9px;font-size:10px;padding:7px 11px}
}
.quicklinks.bio-managed{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.quicklinks.bio-managed>.linkcard{grid-column:1/-1}
.quicklinks.bio-managed>.tile{grid-column:auto}
.quicklinks.bio-managed>[hidden]{display:none}
