:root{--red:#cf2435;--ink:#191919;--paper:#f7f5f1;--line:#e4dfd7}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;padding:26px max(6vw,20px);gap:24px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.brand{font-size:30px;font-weight:900;letter-spacing:-2px;text-decoration:none;line-height:1}.brand span{display:block;font-size:10px;letter-spacing:3px;margin-top:6px;color:var(--red)}nav{display:flex;align-items:center;gap:28px}nav a{text-decoration:none;font-size:14px;font-weight:bold}.button{display:inline-block;background:var(--red);color:#fff;padding:16px 23px;border-radius:8px;text-decoration:none;font-weight:700;font-size:14px}.button:hover{background:#a9182b}.hero{padding:80px max(6vw,20px);display:grid;grid-template-columns:1.4fr 1fr;gap:65px;align-items:center;background:#eeeae3;overflow:hidden}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px}.hero h1{font-size:clamp(48px,6vw,88px);line-height:1.02;letter-spacing:-4px;margin:24px 0}.hero em{color:var(--red);font-style:normal}.intro{color:#555;max-width:430px;line-height:1.7;font-size:17px;margin-bottom:32px}.ticket-art{background:var(--red);color:#fff;padding:35px;border-radius:20px;transform:rotate(7deg);box-shadow:16px 22px 0 #dfd8cd;max-width:360px;width:100%;justify-self:center}.ticket-art>span{font-size:11px;letter-spacing:3px}.ticket-art strong{display:block;font-size:clamp(48px,5vw,76px);line-height:.95;letter-spacing:-3px;margin:35px 0}.ticket-bottom{border-top:2px dashed #ed8893;padding-top:18px;font-size:12px;letter-spacing:3px}.catalog{padding:70px max(6vw,20px)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}h2{font-size:32px;letter-spacing:-1px;margin:12px 0 25px}h3{font-size:22px;margin:10px 0}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.event-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.event-card>a{text-decoration:none;display:block}.event-card:hover{box-shadow:0 12px 28px #00000012}.event-cover{background:linear-gradient(135deg,#25252b,#43404d);height:230px;padding:22px;overflow:hidden}.date-chip{background:#fff;border-radius:5px;padding:8px 12px;font-size:13px;font-weight:bold}.cover-word{display:block;color:#f6eee4;font-size:60px;line-height:.9;font-weight:900;letter-spacing:-3px;margin-top:25px}.event-info{padding:24px}.event-info>p{color:#666;line-height:1.5}.text-link{display:block;color:var(--red);font-weight:bold;margin-top:28px;font-size:14px}.empty-state{grid-column:1/-1;border:1px dashed #c9c2b8;border-radius:14px;padding:45px;text-align:center;background:#fff}.empty-state p{color:#666}.site-footer{border-top:1px solid var(--line);font-size:13px;color:#555}.detail-hero{padding:55px max(6vw,20px);background:#222;color:#fff}.detail-hero>.eyebrow{margin-top:44px;color:#fa8b96}.detail-hero h1{font-size:clamp(38px,6vw,72px);letter-spacing:-2px;overflow-wrap:anywhere;margin:20px 0}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;padding:60px max(6vw,20px)}.description{white-space:pre-line;line-height:1.8;overflow-wrap:anywhere}.purchase-card{padding:30px;background:#fff;border:1px solid var(--line);border-radius:14px}.ticket-option{border-bottom:1px solid var(--line);padding:10px 0;margin-bottom:20px}.ticket-option strong{display:block;margin-top:8px;font-size:20px}.test-notice{font-size:12px;line-height:1.6;color:#666}.skip{position:absolute;top:-100px}.skip:focus{top:0;padding:12px;background:white;z-index:10}@media(max-width:800px){.hero{gap:40px;grid-template-columns:1fr;padding-top:48px}.hero h1{letter-spacing:-2px}.ticket-art{max-width:280px;margin:15px 0}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr;gap:25px}nav{gap:14px}.site-footer{flex-wrap:wrap}}@media(max-width:500px){.site-header{align-items:flex-start;padding:20px}.site-header nav{flex-wrap:wrap;justify-content:flex-end;max-width:230px;gap:12px}.site-header .button{padding:10px 14px}.event-grid{grid-template-columns:1fr}.catalog{padding-top:45px}.section-heading{gap:14px}.site-footer p{width:100%}}
