/* Native CSS, print-and-vending-machine aesthetic.
   DESIGN_VARIANCE: 9; MOTION_INTENSITY: 4; VISUAL_DENSITY: 5.
   Layer 1: skip link; dialogs use the browser top layer. */
@font-face{font-family:Oswald;src:url('assets/oswald.ttf') format('truetype');font-weight:200 700;font-display:swap}
@font-face{font-family:Work;src:url('assets/work-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Mono;src:url('assets/ibm-plex-mono.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f6f5ef;--ink:#282b24;--muted:#62665c;--frame:#e7e9df;--card:#fffef8;--line:#a4a99a;--accent:#d3ef72;--accent-ink:#282b24;--shadow:#bbc0ad}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Work,Arial,sans-serif;font-size:15px}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ink);outline-offset:4px}button,input,select{border-radius:0}button{white-space:nowrap}button:hover{filter:brightness(.96)}.wrap{width:calc(100% - 112px);max-width:1328px;margin-inline:auto}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink)}.wordmark{display:flex;align-items:center;gap:9px;font-family:Oswald,sans-serif;font-size:29px;font-weight:650;letter-spacing:-1.1px;text-decoration:none}.brand-mark{background:var(--accent);color:var(--accent-ink);width:31px;height:31px;text-align:center;line-height:28px;font-family:Work;font-size:30px;letter-spacing:0}.header-note{font-family:Mono,monospace;font-size:11px;letter-spacing:1.5px;margin-left:70px}.pocket-toggle{display:flex;align-items:center;gap:15px;border:1px solid var(--ink);background:transparent;padding:9px 10px 9px 17px;font-size:13px;font-weight:600}.pocket-toggle span{background:var(--accent);color:var(--accent-ink);min-width:25px;padding:5px;font-family:Mono;font-size:12px}.pocket-toggle[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.pocket-toggle[aria-pressed=true] span{background:var(--accent-ink);color:var(--accent)}.hero{padding:43px 55px 45px 0;display:grid;grid-template-columns:1fr 390px;align-items:center;gap:60px}.eyebrow{font-family:Mono;font-size:11px;letter-spacing:1.4px;margin:0 0 15px}h1{font-family:Oswald,sans-serif;font-size:100px;font-weight:650;letter-spacing:-3.5px;line-height:1.04;margin:0;position:relative;display:inline-block}h1>span:first-of-type{color:var(--ink);background:linear-gradient(transparent 56%,var(--accent) 56%,var(--accent) 93%,transparent 93%)}.hero-arrow{font-family:Work;font-weight:400;font-size:110px;position:absolute;bottom:-1px;right:-128px}.intro{margin:23px 0 0;font-size:15px;line-height:1.55}.weekend-pass{background:var(--card);border:1px solid var(--ink);transform:rotate(5deg);box-shadow:7px 8px 0 var(--frame);position:relative;max-width:390px}.weekend-pass:before{content:'';position:absolute;width:80px;height:25px;background:var(--accent);opacity:.92;top:-12px;left:calc(50% - 40px);transform:rotate(-10deg)}.pass-heading,.pass-bottom{display:flex;justify-content:space-between;align-items:center;font-family:Mono;font-size:10px;letter-spacing:.7px;padding:12px 17px}.pass-heading{font-size:12px;border-bottom:1px solid var(--ink)}.pass-heading span:last-child{font-size:21px}.weekend-pass img{display:block;width:100%;height:134px;object-fit:cover;filter:grayscale(100%);object-position:center 58%}.pass-date{display:flex;align-items:center;justify-content:space-between;padding:8px 19px;border-bottom:1px dashed var(--ink);border-top:1px solid var(--ink)}.date-big{font-family:Oswald;font-size:54px;line-height:1.2;letter-spacing:-1px}.pass-date>span:last-child{font-family:Mono;font-size:13px;line-height:1.5}.pass-bottom{padding-block:11px;font-size:9px}.machine{border:1px solid var(--ink);background:var(--frame);scroll-margin-top:20px}.machine-heading{display:flex;justify-content:space-between;align-items:center;background:var(--accent);color:var(--accent-ink);border-bottom:1px solid var(--ink);padding:15px 24px}.machine-heading h2{font-family:Oswald;font-size:23px;font-weight:500;letter-spacing:.3px;margin:0}.machine-heading>span{font-size:12px}.machine-inside{padding:24px}.controls{display:grid;grid-template-columns:1fr 310px;gap:22px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.input-wrap{position:relative}.input-wrap>span{position:absolute;left:14px;top:2px;font-size:33px;line-height:40px}.field input,.field select{background:var(--card);border:1px solid var(--line);width:100%;height:47px;font-size:14px}.field input{padding:10px 14px 10px 48px}.field input::placeholder{color:var(--muted);opacity:1}.field select{padding:10px 13px}.result-bar{display:flex;align-items:center;gap:18px;min-height:58px}.result-bar p{font-family:Mono;font-size:11px;margin:0}.price-note{margin-left:auto;font-family:Mono;font-size:9px;color:var(--muted);letter-spacing:.7px}.text-button{background:none;padding:8px 0;text-decoration:underline;text-underline-offset:3px;font-size:12px}.dispenser-layout{display:grid;grid-template-columns:minmax(0,1fr) 234px;gap:23px;align-items:start}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 20px}.event{background:var(--card);border:1px solid var(--line);box-shadow:0 4px 0 var(--shadow);min-width:0;position:relative;display:flex;flex-direction:column}.event-top{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-bottom:1px solid var(--line);font-family:Mono;font-size:10px;letter-spacing:.5px}.event-code{font-family:Oswald;font-size:17px;line-height:1;letter-spacing:.7px}.event-main{padding:15px 13px;display:grid;grid-template-columns:92px 1fr;gap:15px;flex:1}.event-image{width:92px;height:124px;object-fit:cover;filter:grayscale(100%);border:1px solid var(--line);transition:filter .25s}.event:hover .event-image{filter:grayscale(0)}.event-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.event h3{font-family:Oswald;font-size:24px;line-height:1.15;font-weight:500;letter-spacing:-.25px;margin:0 0 11px}.event-when{font-size:11px;line-height:1.6;margin:0}.event-venue{color:var(--muted);font-size:11px;line-height:1.5;margin:4px 0 0}.event-bottom{border-top:1px dashed var(--line);display:flex;align-items:center;justify-content:space-between;gap:5px;padding:9px 13px;position:relative}.event-bottom:before,.event-bottom:after{content:'';width:9px;height:16px;background:var(--frame);position:absolute;top:-8px;border:1px solid var(--line)}.event-bottom:before{left:-1px;border-left:0;border-radius:0 10px 10px 0}.event-bottom:after{right:-1px;border-right:0;border-radius:10px 0 0 10px}.price{font-family:Mono;font-size:12px}.event-open{background:transparent;font-size:11px;font-weight:600;padding:8px 0 8px 9px}.event-open span{font-size:18px;margin-left:10px}.saved-stamp{font-family:Mono;font-size:9px;border:1px solid var(--ink);background:var(--accent);color:var(--accent-ink);padding:2px 4px;margin-left:auto;margin-right:9px}.chooser{border:1px solid var(--line);padding:17px 19px 20px;background:var(--paper);text-align:center}.chooser-top{display:flex;align-items:center;justify-content:space-between;font-family:Mono;font-size:9px;letter-spacing:.5px}.chooser-top>span:last-child{font-size:23px}.chooser h3{font-family:Oswald;font-size:48px;line-height:1.07;letter-spacing:-1px;font-weight:550;text-align:left;margin:24px 0 15px}.chooser>p{font-size:12px;line-height:1.5;text-align:left}.surprise{background:var(--accent);color:var(--accent-ink);border:1px solid var(--ink);border-radius:50%;width:156px;height:156px;box-shadow:0 5px 0 var(--shadow);margin:14px 0 6px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:13px;font-weight:600;transition:transform .2s}.surprise:hover{transform:rotate(-8deg)}.surprise:active{transform:translateY(4px);box-shadow:0 1px 0 var(--shadow)}.surprise-arrow{font-size:65px;line-height:1;font-weight:400}.chooser .chooser-note{text-align:center;font-size:10px;color:var(--muted);line-height:1.5;margin:15px 0 22px}.pocket-slot{height:9px;border-radius:3px;background:var(--ink);box-shadow:0 2px 0 var(--line);margin:0 -3px}.pocket-receipt{width:90%;padding:16px 6px 7px;background:var(--card);margin:0 auto;clip-path:polygon(0 0,100% 0,100% 100%,95% 96%,90% 100%,85% 96%,80% 100%,75% 96%,70% 100%,65% 96%,60% 100%,55% 96%,50% 100%,45% 96%,40% 100%,35% 96%,30% 100%,25% 96%,20% 100%,15% 96%,10% 100%,5% 96%,0 100%)}.pocket-receipt>span{font-family:Mono;font-size:9px;letter-spacing:.5px}.pocket-receipt strong{display:block;font-family:Oswald;font-size:44px;font-weight:400;line-height:1.3}.pocket-receipt p{font-size:10px;line-height:1.5;color:var(--muted);margin:6px 0 17px}.machine-bottom{display:flex;justify-content:space-between;font-family:Mono;font-size:9px;letter-spacing:.8px;border-top:1px solid var(--line);padding-top:18px;margin-top:26px;color:var(--muted)}footer{display:flex;align-items:center;gap:30px;padding-block:32px}.footer-brand{font-family:Oswald;font-weight:600;font-size:18px}footer p{font-size:12px;color:var(--muted)}footer small{font-size:10px;color:var(--muted);margin-left:auto}.empty{grid-column:1/-1;min-height:290px;border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.empty h3{font-family:Oswald;font-size:36px;font-weight:500;margin:8px}.empty p{font-size:14px;line-height:1.6;max-width:320px}.empty button,.save-button{padding:14px 22px;background:var(--accent);color:var(--accent-ink);border:1px solid var(--ink);font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:-70px;background:var(--accent);color:var(--accent-ink);padding:12px;z-index:1}.skip:focus{top:10px}dialog{width:650px;max-width:calc(100% - 32px);max-height:calc(100dvh - 48px);padding:0;background:var(--card);color:var(--ink);border:1px solid var(--ink);overflow:auto;box-shadow:12px 12px 0 #282b2438}dialog::backdrop{background:#20231c99;backdrop-filter:blur(3px)}.detail-top{background:var(--accent);color:var(--accent-ink);display:flex;justify-content:space-between;align-items:center;padding:12px 24px;border-bottom:1px solid var(--ink);font-family:Mono;font-size:11px}.close-detail{background:transparent;color:inherit;font:inherit;padding:8px 0 8px 16px}.detail-inner{padding:28px 32px}.detail-category{font-family:Mono;font-size:11px;letter-spacing:1px;margin:0 0 13px}.detail-inner h2{font-family:Oswald;font-weight:500;font-size:44px;line-height:1.12;letter-spacing:-.8px;margin:0 0 25px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:21px 25px;padding:21px 0;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:0 0 25px}.detail-facts dt{font-family:Mono;font-size:10px;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.detail-facts dd{font-size:14px;line-height:1.5;margin:0}.detail-body{font-size:15px;line-height:1.75;white-space:pre-line;margin:0 0 27px}.detail-actions{display:flex;align-items:center;gap:20px}.save-button{flex:1;font-size:14px}.save-button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.detail-footnote{font-family:Mono;font-size:9px;color:var(--muted);line-height:1.5;max-width:130px}.body-locked{overflow:hidden}
@media(prefers-reduced-motion:no-preference){dialog[open]{animation:dispense .25s ease-out}@keyframes dispense{from{opacity:0;transform:translateY(-20px) rotate(-1deg)}to{opacity:1;transform:none}}.event{transition:transform .2s}.event:hover{transform:translateY(-3px)}}
@media(min-width:1500px){.hero{padding-block:55px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{grid-template-columns:1fr 310px;gap:40px;padding-right:20px}h1{font-size:84px}.hero-arrow{font-size:80px;right:-87px}.dispenser-layout{grid-template-columns:minmax(0,1fr) 195px;gap:18px}.event-grid{gap:18px}.event-main{grid-template-columns:65px 1fr;gap:11px}.event-image{width:65px;height:115px}.event h3{font-size:21px}.chooser{padding-inline:14px}.chooser h3{font-size:42px}.controls{grid-template-columns:1fr 260px}.date-big{font-size:45px}.surprise{width:140px;height:140px}}
@media(max-width:767px){.wrap{width:calc(100% - 32px)}.site-header{height:73px}.wordmark{font-size:24px}.brand-mark{width:26px;height:26px;font-size:26px;line-height:24px}.header-note{display:none}.pocket-toggle{padding:7px 7px 7px 10px;gap:9px;font-size:11px}.pocket-toggle span{min-width:22px;padding:4px}.hero{grid-template-columns:1fr;padding:28px 0 30px;gap:27px}.eyebrow{font-size:9px;margin-bottom:12px}h1{font-size:77px;letter-spacing:-2.8px}.hero-arrow{right:-77px;font-size:76px}.intro{font-size:13px;margin-top:18px}.weekend-pass{width:270px;justify-self:center;transform:rotate(4deg);margin-block:8px}.weekend-pass img{height:88px}.pass-heading{padding:7px 13px;font-size:10px}.pass-heading span:last-child{font-size:17px}.pass-date{padding:7px 13px}.date-big{font-size:40px}.pass-date>span:last-child{font-size:10px}.pass-bottom{padding:8px 13px;font-size:8px}.machine-heading{padding:12px 14px}.machine-heading h2{font-size:20px}.machine-heading>span{display:none}.machine-inside{padding:15px 13px}.controls{grid-template-columns:1fr;gap:13px}.field label{font-size:11px;margin-bottom:6px}.field input,.field select{height:45px;font-size:12px}.field input{padding-left:40px}.input-wrap>span{left:12px;font-size:28px}.result-bar{min-height:51px;gap:9px}.result-bar p{font-size:10px}.price-note{font-size:8px}.text-button{font-size:10px}.dispenser-layout{display:flex;flex-direction:column;gap:17px}.chooser{order:-1;width:100%;display:grid;grid-template-columns:1fr auto;padding:12px 13px;align-items:center;text-align:left;background:var(--paper)}.chooser-top{font-size:8px}.chooser-top>span:last-child{display:none}.chooser h3{font-size:26px;line-height:1.1;margin:5px 0 0;grid-column:1;letter-spacing:-.4px}.chooser h3 br{display:none}.chooser>p,.chooser .chooser-note,.pocket-slot,.pocket-receipt{display:none}.surprise{width:76px;height:76px;grid-column:2;grid-row:1/3;margin:0 0 0 10px;font-size:9px;gap:0;box-shadow:0 3px 0 var(--shadow)}.surprise-arrow{font-size:32px}.event-grid{grid-template-columns:1fr;gap:18px;width:100%}.event-main{grid-template-columns:88px 1fr;gap:14px;padding:15px 13px}.event-image{width:88px;height:123px}.event h3{font-size:25px}.event-when,.event-venue{font-size:11px}.event-top{padding:11px 13px}.event-bottom{padding:9px 13px}.machine-bottom{font-size:8px;letter-spacing:0;margin-top:23px}.machine-bottom>span:last-child{display:none}footer{flex-wrap:wrap;gap:8px 18px;padding-block:23px}footer p{font-size:10px;margin:0}footer small{width:100%;margin:5px 0 0;font-size:9px}.detail-top{padding:8px 17px;font-size:10px}.detail-inner{padding:24px 21px}.detail-inner h2{font-size:35px}.detail-facts{gap:18px 15px}.detail-facts dd{font-size:12px}.detail-body{font-size:14px;line-height:1.65}.detail-actions{flex-direction:column;align-items:stretch;gap:10px}.detail-footnote{max-width:none;text-align:center}.empty{min-height:260px}.empty h3{font-size:29px}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--paper:#262922;--ink:#efeee5;--muted:#bac0af;--frame:#34392e;--card:#2d3128;--line:#717865;--shadow:#191d16}.weekend-pass{box-shadow:7px 8px 0 var(--shadow)}.hero-copy h1>span:first-of-type{background:none;color:var(--accent)}.surprise{border-color:var(--accent-ink)}.pocket-toggle[aria-pressed=true]{border-color:var(--accent)}.detail-top,.machine-heading{border-color:var(--accent-ink)}}
/* Compact the souvenir pass on phones so discovery stays within easy reach. */
@media(max-width:767px){h1{width:100%;font-size:clamp(60px,19.5vw,77px)}.hero-arrow{right:0;bottom:-1px;font-size:70px}.hero{gap:20px}.weekend-pass{width:300px;max-width:calc(100% - 20px);display:grid;grid-template-columns:85px 1fr;transform:rotate(2deg);margin-block:2px}.weekend-pass:before{width:50px;height:17px;top:-9px;left:28px}.pass-heading{display:none}.weekend-pass img{width:85px;height:85px;grid-row:1/3;border-right:1px solid var(--ink)}.pass-date{border-top:0;padding:5px 12px}.date-big{font-size:32px}.pass-date>span:last-child{font-size:9px}.pass-bottom{padding:5px 8px;font-size:6.5px;letter-spacing:.2px}.chooser{padding-block:10px}.surprise{width:64px;height:64px}.hero-arrow{pointer-events:none}.price-note{display:none}.event-open{min-height:44px}.close-detail{min-height:44px}.pocket-toggle{min-height:44px}}
@media(min-width:768px) and (max-width:1000px){.event-grid{grid-template-columns:1fr}.hero-arrow{right:0;font-size:65px}.hero h1{width:100%;font-size:74px}.hero{grid-template-columns:1fr 280px}.event-main{grid-template-columns:92px 1fr}.event-image{width:92px}}
.field input,.field select{border-color:var(--muted)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
