/* ============================================================
   Strike 10 accessibility toolkit, self hosted.
   Loaded by every public page together with assets/a11y.js.
   Nothing here depends on a third party service.
   ============================================================ */

/* ---------- always on ---------- */
.skip-link{position:fixed;left:12px;top:-70px;z-index:2147483000;background:#D9A441;color:#221807;padding:11px 18px;border-radius:10px;font-family:"Big Shoulders Display",sans-serif;letter-spacing:.06em;text-transform:uppercase;transition:top .2s}
.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #D9A441;outline-offset:3px;border-radius:6px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- launcher ---------- */
.a11y-btn{position:fixed;left:16px;bottom:16px;z-index:2147482000;width:52px;height:52px;border-radius:50%;border:1px solid rgba(244,239,231,.22);background:#17141a;color:#F4EFE7;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.a11y-btn:hover{border-color:#D9A441;color:#D9A441}
.a11y-btn svg{width:28px;height:28px;fill:currentColor}

/* ---------- panel shell ---------- */
.a11y-panel{position:fixed;left:16px;bottom:78px;z-index:2147482000;width:min(360px,calc(100vw - 32px));max-height:min(80vh,720px);overflow:auto;overscroll-behavior:contain;background:#141116;border:1px solid #D9A441;border-radius:18px;box-shadow:0 26px 70px rgba(0,0,0,.65);color:#F4EFE7;font-family:"Instrument Sans",system-ui,sans-serif;font-size:15px;line-height:1.5;display:none}
.a11y-panel.open{display:block}
.a11y-panel *{box-sizing:border-box}
.a11y-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 12px;background:linear-gradient(180deg,#141116 78%,rgba(20,17,22,0));border-bottom:1px solid rgba(244,239,231,.09)}
.a11y-head h2{font-family:"Big Shoulders Display",sans-serif;font-weight:800;font-size:1.22rem;letter-spacing:.06em;text-transform:uppercase;margin:0;color:#F4EFE7}
.a11y-head .a11y-x{background:none;border:none;color:#B8AFA4;cursor:pointer;font-size:1.4rem;line-height:1;padding:2px 6px;border-radius:8px}
.a11y-head .a11y-x:hover{color:#F4EFE7}
.a11y-body{padding:14px 18px 18px}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.a11y-reset{background:none;border:none;color:#D9A441;font:inherit;font-size:.88rem;text-decoration:underline;cursor:pointer;padding:2px 4px;border-radius:6px}

/* wide buttons */
.a11y-wide{display:flex;align-items:center;gap:10px;width:100%;background:rgba(244,239,231,.05);border:1px solid rgba(244,239,231,.16);border-radius:12px;color:#F4EFE7;padding:12px 14px;cursor:pointer;font:inherit;text-align:left}
.a11y-wide:hover{border-color:#D9A441;color:#D9A441}
.a11y-wide svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;flex:0 0 auto}

/* switch */
.a11y-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:none;border:none;color:#F4EFE7;font:inherit;padding:4px 2px;cursor:pointer}
.a11y-track{width:46px;height:26px;border-radius:99px;background:rgba(244,239,231,.16);border:1px solid rgba(244,239,231,.2);position:relative;flex:0 0 auto;transition:background .18s ease}
.a11y-track::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#F4EFE7;transition:transform .18s ease}
.a11y-switch[aria-pressed="true"] .a11y-track{background:#D9A441;border-color:#D9A441}
.a11y-switch[aria-pressed="true"] .a11y-track::after{transform:translateX(20px);background:#231803}

/* ---------- tile grid ---------- */
.a11y-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid rgba(244,239,231,.16);border-radius:14px;overflow:hidden;margin-top:14px}
.a11y-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;min-height:96px;padding:14px 6px 12px;background:rgba(244,239,231,.03);border:0;border-right:1px solid rgba(244,239,231,.12);border-bottom:1px solid rgba(244,239,231,.12);color:#F4EFE7;font:inherit;font-size:.8rem;cursor:pointer;text-align:center}
.a11y-grid .a11y-tile:nth-child(3n){border-right:0}
.a11y-grid .a11y-tile:nth-last-child(-n+3){border-bottom:0}
.a11y-tile:hover{background:rgba(217,164,65,.1)}
.a11y-tile svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6}
.a11y-tile b{font-weight:500;letter-spacing:.01em}
.a11y-tile .a11y-dots{display:flex;gap:4px;height:6px}
.a11y-tile .a11y-dots i{width:5px;height:5px;border-radius:50%;background:rgba(244,239,231,.34)}
.a11y-tile[data-on="1"]{background:rgba(217,164,65,.16);color:#F0CF86}
.a11y-tile[data-on="1"] .a11y-dots i.on{background:#D9A441}
.a11y-tile .a11y-state{position:absolute;left:0;right:0;bottom:-2px;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#D9A441;font-family:"Spline Sans Mono",monospace;display:none}
.a11y-tile[data-on="1"] .a11y-state{display:block;position:static;bottom:auto}
.a11y-tile kbd{display:none;font-family:"Spline Sans Mono",monospace;font-size:.56rem;letter-spacing:.06em;color:#B8AFA4;border:1px solid rgba(244,239,231,.22);border-radius:5px;padding:1px 5px}
.a11y-panel.shortcuts .a11y-tile kbd{display:inline-block}

/* ---------- shortcut list + footer ---------- */
.a11y-sub{margin:16px 0 8px;font-family:"Spline Sans Mono",monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#B8AFA4}
.a11y-keys{display:none;margin:0;padding:0;list-style:none;font-size:.82rem;color:#B8AFA4}
.a11y-panel.shortcuts .a11y-keys{display:block}
.a11y-keys li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(244,239,231,.07)}
.a11y-keys li:last-child{border-bottom:0}
.a11y-keys kbd{font-family:"Spline Sans Mono",monospace;font-size:.68rem;color:#F4EFE7;border:1px solid rgba(244,239,231,.22);border-radius:6px;padding:2px 7px;background:rgba(244,239,231,.05);white-space:nowrap}
.a11y-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(244,239,231,.09);font-size:.8rem}
.a11y-foot a{color:#B8AFA4;text-decoration:underline}
.a11y-foot a:hover{color:#D9A441}

/* ---------- page structure list ---------- */
.a11y-nav{display:none;padding:0 18px 18px}
.a11y-panel.structure .a11y-nav{display:block}
.a11y-panel.structure .a11y-body{display:none}
.a11y-tabs{display:flex;gap:8px;margin:4px 0 12px}
.a11y-tabs button{flex:1;background:rgba(244,239,231,.05);border:1px solid rgba(244,239,231,.16);border-radius:10px;color:#F4EFE7;font:inherit;font-size:.82rem;padding:8px 6px;cursor:pointer}
.a11y-tabs button[aria-selected="true"]{border-color:#D9A441;color:#D9A441;background:rgba(217,164,65,.12)}
.a11y-list{list-style:none;margin:0;padding:0;max-height:44vh;overflow:auto}
.a11y-list li{border-bottom:1px solid rgba(244,239,231,.07)}
.a11y-list button{width:100%;text-align:left;background:none;border:0;color:#F4EFE7;font:inherit;font-size:.88rem;padding:10px 6px;cursor:pointer;display:flex;gap:10px;align-items:baseline}
.a11y-list button:hover{color:#D9A441}
.a11y-list span{font-family:"Spline Sans Mono",monospace;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:#B8AFA4;flex:0 0 auto}
.a11y-back{margin-bottom:10px}

/* ============================================================
   THE FEATURES
   ============================================================ */

/* ---- Focus ---- */
html[data-a11y-focus="1"] :focus,html[data-a11y-focus="1"] :focus-visible{outline:4px solid #FFD400!important;outline-offset:4px!important}
html[data-a11y-focus="2"] :focus,html[data-a11y-focus="2"] :focus-visible{outline:4px solid #FFD400!important;outline-offset:4px!important;box-shadow:0 0 0 9px rgba(0,0,0,.92)!important;border-radius:4px}

/* ---- Cursor ---- */
html[data-a11y-cursor="1"],html[data-a11y-cursor="1"] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 24 24'%3E%3Cpath d='M5 2l14 9-6 1.2 3.2 6.4-2.6 1.3L10.4 13 5 17z' fill='%23fff' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 3 2,auto!important}
html[data-a11y-cursor="2"],html[data-a11y-cursor="2"] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='54' height='54' viewBox='0 0 24 24'%3E%3Cpath d='M5 2l14 9-6 1.2 3.2 6.4-2.6 1.3L10.4 13 5 17z' fill='%23FFD400' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 4 3,auto!important}
html[data-a11y-cursor] a,html[data-a11y-cursor] button,html[data-a11y-cursor] [role="button"],html[data-a11y-cursor] input,html[data-a11y-cursor] select,html[data-a11y-cursor] textarea{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M9 11V4.8a1.6 1.6 0 013.2 0V10h.6V6.2a1.5 1.5 0 013 0V11h.6V7.6a1.5 1.5 0 013 0v7.6c0 3.2-2.2 5.8-5.6 5.8-3 0-4.6-1.3-6.2-3.6l-2.2-3.2a1.6 1.6 0 012.4-2z' fill='%23fff' stroke='%23000' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E") 11 3,pointer!important}

/* ---- Highlight ---- */
html[data-a11y-highlight] a:not(.a11y-panel a){outline:2px solid #FFD400!important;outline-offset:2px;background:rgba(255,212,0,.16)!important;text-decoration:underline!important;text-underline-offset:3px}
html[data-a11y-highlight="2"] :is(h1,h2,h3,h4,h5,h6):not(.a11y-panel *){outline:2px dashed rgba(120,220,255,.9)!important;outline-offset:3px;background:rgba(120,220,255,.1)!important}
html[data-a11y-highlight="3"] :is(h1,h2,h3,h4,h5,h6):not(.a11y-panel *){outline:2px dashed rgba(120,220,255,.9)!important;outline-offset:3px;background:rgba(120,220,255,.1)!important}
html[data-a11y-highlight="3"] :is(button,input,select,textarea,[role="button"],[tabindex]):not(.a11y-panel *):not(.a11y-btn){outline:2px solid #7CFF9E!important;outline-offset:2px}

/* ---- Contrast ---- */
html[data-a11y-contrast="1"]{--ash:#EDE7DE;--line:rgba(244,239,231,.4)}
html[data-a11y-contrast="1"] .grain,html[data-a11y-contrast="1"] .hero-grade,html[data-a11y-contrast="1"] .strip .tone{display:none!important}
html[data-a11y-contrast="1"] .nav{background:#0D0B0E!important;border-bottom-color:#D9A441!important}
html[data-a11y-contrast="1"] .hero-media video,html[data-a11y-contrast="1"] .hero-media .poster,html[data-a11y-contrast="1"] .strip video,html[data-a11y-contrast="1"] .strip .poster{filter:brightness(.32) contrast(1.1)!important}
html[data-a11y-contrast="1"] .strip .shade,html[data-a11y-contrast="1"] .hero .hero-grade{background:rgba(13,11,14,.72)!important}
html[data-a11y-contrast="1"] :is(p,li,td,figcaption,.hero-sub,.place):not(.a11y-panel *){color:#F7F3EC!important}
html[data-a11y-contrast="1"] .vip{background:#F0C462!important}
html[data-a11y-contrast="1"] .vip-sub,html[data-a11y-contrast="1"] .vip-eyebrow,html[data-a11y-contrast="1"] .vip-fine{color:#231803!important}
html[data-a11y-contrast="2"] img,html[data-a11y-contrast="2"] video,html[data-a11y-contrast="2"] .bg,html[data-a11y-contrast="2"] .poster,html[data-a11y-contrast="2"] .media{filter:invert(1) hue-rotate(180deg)}

/* ---- Animation ---- */
html[data-a11y-motion="1"] *:not(.a11y-panel *){animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* ---- Text size ---- */
html[data-a11y-text="1"]{font-size:112.5%}
html[data-a11y-text="2"]{font-size:125%}
html[data-a11y-text="3"]{font-size:140%}
html[data-a11y-text] .a11y-panel,html[data-a11y-text] .a11y-btn{font-size:15px}

/* ---- Spacing ---- */
html[data-a11y-spacing="1"] body :not(.a11y-panel):not(.a11y-panel *){letter-spacing:.055em!important;word-spacing:.1em!important;line-height:1.85!important}
html[data-a11y-spacing="2"] body :not(.a11y-panel):not(.a11y-panel *){letter-spacing:.11em!important;word-spacing:.2em!important;line-height:2.2!important}
html[data-a11y-spacing] :is(h1,h2,h3,.btn):not(.a11y-panel *){line-height:1.25!important}

/* ---- Font ---- */
html[data-a11y-font="1"] body :not(.a11y-panel):not(.a11y-panel *){font-family:"Atkinson Hyperlegible","Instrument Sans",system-ui,sans-serif!important}
html[data-a11y-font="2"] body :not(.a11y-panel):not(.a11y-panel *){font-family:"Lexend","Instrument Sans",system-ui,sans-serif!important;font-weight:500}

/* ---- Guide + Window ---- */
.a11y-guide{position:fixed;left:0;right:0;height:0;border-top:4px solid #FFD400;border-bottom:4px solid #FFD400;background:rgba(255,212,0,.14);height:26px;z-index:2147481000;pointer-events:none;display:none}
html[data-a11y-guide="1"] .a11y-guide{display:block}
.a11y-mask{position:fixed;left:0;right:0;background:rgba(6,5,7,.82);z-index:2147481000;pointer-events:none;display:none}
html[data-a11y-window="1"] .a11y-mask{display:block}

/* ---- Images ---- */
html[data-a11y-images="1"] :is(img,video,.bg,.poster,.media,.hero-media,.strip .tone,.grain):not(.a11y-panel *){opacity:0!important;visibility:hidden!important}
html[data-a11y-images="1"] :is(.party-card,.menu-band)::before{display:none!important}
.a11y-alt{display:block;font-family:"Spline Sans Mono",monospace;font-size:.68rem;letter-spacing:.06em;line-height:1.5;color:#F4EFE7;background:rgba(244,239,231,.06);border:1px dashed rgba(244,239,231,.35);border-radius:10px;padding:10px 12px;margin:6px 0}
.a11y-alt::before{content:"Image: ";color:#D9A441}

/* keep the toolkit itself readable no matter what is on */
.a11y-panel,.a11y-panel *,.a11y-btn{letter-spacing:normal!important;word-spacing:normal!important;filter:none!important}
/* the root filter hits everything, so flip the toolkit back to its own colours */
html[data-a11y-contrast="2"] .a11y-panel,html[data-a11y-contrast="2"] .a11y-btn,html[data-a11y-contrast="2"] .a11y-guide{filter:invert(1) hue-rotate(180deg)!important}
.a11y-panel a{outline:0!important;background:none!important}

@media(max-width:420px){
  .a11y-panel{left:8px;right:8px;width:auto;bottom:74px}
  .a11y-btn{left:10px;bottom:10px}
}
