:root{--ink:#18221c;--muted:#687168;--paper:#f5f1e7;--surface:#fffdf8;--line:#d9d7cc;--moss:#244c3b;--acid:#d9f275;--coral:#ed6a50;--shadow:0 18px 60px #18221c1a;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{min-height:100vh;margin:0;line-height:1.55}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{width:min(1160px,100% - 40px);margin-inline:auto}.site-header{justify-content:space-between;align-items:center;padding-block:22px;display:flex}.brand{letter-spacing:-.025em;align-items:center;gap:11px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--coral);border-radius:9px 9px 2px;width:28px;height:28px;transform:rotate(-4deg);box-shadow:inset -7px -7px #00000017}.nav{align-items:center;gap:20px;font-size:.92rem;display:flex}.nav a{text-decoration:none}.nav a:hover{text-decoration:underline}.hero{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:70px;padding:82px 0 72px;display:grid}.eyebrow{color:var(--coral);text-transform:uppercase;letter-spacing:.18em;margin:0 0 16px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;margin-bottom:24px;font-size:clamp(3rem,7vw,6.6rem);line-height:.92}h2{letter-spacing:-.05em;font-size:clamp(2rem,4vw,3.6rem);line-height:1}.lede{color:#3f4b43;max-width:650px;font-size:clamp(1.08rem,2vw,1.35rem)}.hero-card{background:var(--moss);color:#fff;min-height:380px;box-shadow:var(--shadow);border-radius:34px;padding:34px;position:relative;overflow:hidden;transform:rotate(1.5deg)}.hero-card:before{content:"";background:var(--acid);border-radius:50%;width:230px;height:230px;position:absolute;top:-60px;right:-60px}.hero-card:after{content:"local\a tickets";white-space:pre;color:#fff;letter-spacing:-.07em;font-size:4rem;font-weight:850;line-height:.78;position:absolute;inset:auto 32px 28px}.button{background:var(--moss);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-weight:750;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:focus-visible{outline-offset:3px;outline:3px solid #244c3b47}.button.coral{background:var(--coral);color:#18120f}.button.light{background:var(--acid);color:var(--ink)}.button.outline{border:1px solid var(--line);color:var(--ink);background:0 0}.button.small{min-height:38px;padding-inline:16px;font-size:.88rem}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.section{padding:66px 0}.section-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px;display:flex}.muted{color:var(--muted)}.event-grid{grid-template-columns:1fr;gap:14px;max-width:660px;display:grid}.event-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;align-items:flex-start;gap:16px;padding:14px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 2px #18221c0a}.event-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.event-card-media{aspect-ratio:4/5;border:1px solid var(--line);background:var(--paper);border-radius:12px;flex:0 0 132px;overflow:hidden}.event-card-media img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.event-card-placeholder{background:linear-gradient(150deg, color-mix(in srgb, var(--accent) 20%, var(--paper)), var(--paper));width:100%;height:100%;color:color-mix(in srgb, var(--accent) 78%, var(--ink));flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.placeholder-month{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:800}.placeholder-day{letter-spacing:-.05em;font-size:2.2rem;font-weight:850;line-height:1}.event-card-body{flex-direction:column;flex:1;min-width:0;padding:6px 6px 6px 0;display:flex}.event-card .provider{color:var(--coral);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:800;display:block}.event-card h3{letter-spacing:-.02em;margin:9px 0 7px;font-size:1.2rem;line-height:1.15}.event-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:0;font-size:.88rem;line-height:1.5;display:-webkit-box;overflow:hidden}.event-card .meta{color:var(--muted);margin-top:auto;padding-top:14px;font-size:.84rem;display:block}.event-card.past .event-card-media img{filter:saturate(.75);opacity:.82}.empty{color:var(--muted);border:1px dashed #b7b9ad;border-radius:24px;padding:36px}.page-hero{padding:70px 0 42px}.page-hero h1{max-width:900px;font-size:clamp(2.8rem,7vw,5.6rem)}.detail-grid{grid-template-columns:fit-content(760px) 360px;justify-content:start;align-items:start;gap:60px;padding-bottom:80px;display:grid}.prose{white-space:pre-wrap;max-width:46ch;font-size:1.08rem}.event-media{background:var(--surface);border-radius:24px;width:fit-content;max-width:100%;margin:0 0 28px;display:flex;overflow:hidden}.event-media img{object-fit:contain;width:auto;max-width:100%;max-height:82vh;display:block}.ticket-box{background:var(--surface);border:1px solid #244c3b1a;border-radius:25px;padding:30px;position:sticky;top:24px;box-shadow:0 18px 50px #18221c17}.ticket-box .eyebrow{margin-bottom:10px}.ticket-price{letter-spacing:-.045em;margin-bottom:2px;font-size:2.35rem;font-weight:850;line-height:1}.ticket-availability{margin-bottom:0;font-size:.9rem}#checkout-form{gap:17px;margin-top:26px;display:grid}.field{gap:7px;margin-top:17px;display:grid}.ticket-box .field{margin-top:0}.field span{font-size:.84rem;font-weight:750}.input{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #bfc2b8;border-radius:12px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--moss);outline:0;box-shadow:0 0 0 3px #244c3b1f}textarea.input{resize:vertical;min-height:110px}.error{color:#ae311e;margin:0;font-size:.9rem}.payment-button{border-radius:14px;width:100%;min-height:52px;margin:0}.card-payment{color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#2b5945,#183b2d);font-size:.95rem;box-shadow:0 9px 22px #183b2d38}.card-payment:after{content:"→";font-size:1.12rem;transition:transform .15s}.card-payment:hover{background:linear-gradient(135deg,#32664f,#1b4433);box-shadow:0 12px 26px #183b2d47}.card-payment:hover:after{transform:translate(3px)}.card-payment:disabled{cursor:wait;opacity:.7;box-shadow:none;transform:none}.card-payment-group,.manual-payment-group{gap:8px;display:grid}.checkout-redirect-note{color:var(--muted);text-align:center;margin:0;font-size:.76rem;line-height:1.45}.payment-note{color:var(--muted);margin:0;font-size:.8rem}.refund-policy{border-top:1px solid var(--line);margin:22px 0 0;padding-top:18px;font-size:.82rem}.payment-unavailable{background:#fff1ed;border-radius:12px;padding:12px 14px}.manual-heading{margin-bottom:18px;font-size:1.7rem}.manual-instructions{border:1px solid var(--line);background:var(--paper);white-space:pre-wrap;border-radius:14px;padding:14px}.about{padding:clamp(56px,10vw,110px) 0 clamp(60px,9vw,100px)}.note{max-width:620px}.note h1{margin-bottom:34px;font-size:clamp(2.4rem,6vw,3.6rem);line-height:1}.note p{color:#3f4b43;margin-bottom:22px;font-size:1.08rem;line-height:1.7}.note a{text-underline-offset:3px;font-weight:650}.note .more{margin-top:34px;margin-bottom:0;font-size:.95rem}.note .more a{color:var(--moss);text-decoration:none}.note .more a:hover{text-decoration:underline}.about .section{padding:56px 0 0}.about .section+.section{padding-top:48px}.about .section-head h2{letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,1.9rem)}.about .section-head{margin-bottom:22px}.organizer-body{background:#e8e9e1;min-height:100vh}.organizer-shell{width:min(980px,100% - 28px);margin:0 auto;padding:20px 0 34px}.agent-frame{background:var(--surface);height:calc(100vh - 40px);min-height:620px;box-shadow:var(--shadow);border:1px solid #cdd0c5;border-radius:26px;grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.agent-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;display:flex}.agent-title{align-items:center;gap:12px;display:flex}.agent-status{background:#50a96e;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 5px #dff0e3}.agent-log{padding:28px max(20px,7vw);overflow-y:auto}.message{max-width:720px;margin:0 auto 18px;display:flex}.message.user{justify-content:flex-end}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;background:#edefe8;border-radius:20px 20px 20px 5px;max-width:min(640px,88%);padding:14px 17px}.message.user .bubble{background:var(--moss);color:#fff;border-radius:20px 20px 5px}.bubble pre{white-space:pre-wrap;margin:8px 0 0;font-size:.8rem}.confirm-card{background:#fff8df;border:1px solid #e5b758;border-radius:18px;max-width:640px;margin:0 auto 18px;padding:16px}.confirm-card p{margin-bottom:12px}.agent-composer{border-top:1px solid var(--line);background:#fff;padding:16px 20px 19px}.composer-row{grid-template-columns:1fr auto auto;align-items:end;gap:10px;max-width:760px;margin:auto;display:grid}.composer-row textarea{min-height:52px;max-height:160px}.upload-button{min-width:74px}.suggestions{flex-wrap:wrap;gap:8px;max-width:760px;margin:0 auto 12px;display:flex}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;font-size:.82rem}.login-card{background:var(--surface);width:min(500px,100% - 32px);box-shadow:var(--shadow);border-radius:26px;margin:10vh auto;padding:34px}.login-card h1{font-size:2.6rem}.check-row{align-items:center;gap:9px;margin-top:17px;display:flex}.hidden{display:none!important}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0 38px;font-size:.88rem}.footer-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.footer-inner a{text-underline-offset:3px}@media (width<=820px){.hero,.detail-grid{grid-template-columns:1fr}.hero{gap:35px;padding-top:46px}.hero-card{min-height:260px}.event-card{gap:13px;padding:12px}.event-card-media{flex-basis:108px}.ticket-box{position:static}.page-hero{padding:46px 0 28px}.detail-grid{gap:28px;padding-bottom:48px}.ticket-box{border-radius:20px;padding:24px}.footer-inner{flex-direction:column;align-items:flex-start}.nav a:first-child{display:none}.composer-row{grid-template-columns:1fr auto}.composer-row textarea{grid-column:1/-1}}.door-body{background:var(--paper)}.door{width:min(560px,100% - 28px);margin-inline:auto;padding:22px 0 64px}.door-loading,.door-empty{color:var(--muted)}.door-notice{text-align:center;margin-top:18vh}.door-notice h1{letter-spacing:-.03em;margin-bottom:12px;font-size:clamp(1.7rem,6vw,2.3rem)}.door-notice p{max-width:34ch;color:var(--muted);margin-inline:auto}.door-head{margin-bottom:18px}.door-org{color:var(--coral);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:800}.door-head h1{letter-spacing:-.03em;margin-bottom:8px;font-size:clamp(1.5rem,5.5vw,2rem);line-height:1.1}.door-when{color:var(--muted);margin-bottom:0;font-size:.92rem}.door-progress{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:16px;padding:14px 16px}.door-progress p{margin-bottom:10px;font-size:1.05rem;font-weight:750}.door-bar{background:#e2e2d6;border-radius:999px;height:8px;overflow:hidden}.door-bar span{border-radius:inherit;background:var(--moss);width:0;height:100%;transition:width .2s;display:block}.door-error{background:#fff1ed;border-radius:12px;margin-bottom:14px;padding:10px 12px}.door-search{margin-bottom:14px}.door-list{gap:8px;display:grid}.door-row{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:15px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 16px;transition:background .15s,border-color .15s;display:grid}.door-row:active{background:#f2f2e8}.door-row.done{background:#f2f7f0;border-color:#bcd0be}.door-row input{width:26px;height:26px;accent-color:var(--moss);margin:0}.door-row-main{gap:2px;min-width:0;display:grid}.door-name{text-overflow:ellipsis;white-space:nowrap;font-size:1.02rem;font-weight:700;overflow:hidden}.door-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.door-row.done .door-name{color:#4a5a4c;text-decoration:line-through}.door-qty{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.84rem}.door-foot{color:var(--muted);text-align:center;margin:22px 0 0;font-size:.8rem}
