*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:#f5f5f7;color:#16161b;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{color:#dd3b29}button,.button{border:0;background:#ed4935;color:#fff;border-radius:8px;padding:13px 22px;font:inherit;font-weight:700;cursor:pointer;display:inline-block;text-align:center}button:hover,.button:hover{background:#ca3726;color:white}button.secondary{background:#eaeaec;color:#27272c}button.text-button{background:none;color:inherit;padding:0;font-weight:400}.small{padding:8px 14px;font-size:.875rem}.demo-bar{background:#202027;color:#ddd;text-align:center;padding:7px 16px;font-size:.8rem;letter-spacing:.04em}header{padding:22px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e4e4e8;gap:20px}.logo{font-size:2.15rem;font-weight:900;letter-spacing:-.08em}.logo span{color:#ed4935;font-size:1.1rem;vertical-align:top;margin-left:5px}nav{display:flex;align-items:center;gap:28px}nav form{margin:0}main{max-width:1320px;padding:40px 28px 70px;margin:auto;min-height:65vh}h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;letter-spacing:-.045em;margin:8px 0 24px}h2{font-size:1.65rem;letter-spacing:-.025em;margin:28px 0 18px}h3{font-size:1.15rem;line-height:1.3;margin:8px 0}.heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.heading h1{margin-bottom:0}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;color:#777785;margin:0 0 12px}.muted{color:#72727e;font-size:.9rem}.filters{display:grid;grid-template-columns:2fr 1.2fr 1.2fr auto;gap:14px;background:#fff;border:1px solid #e4e4e9;border-radius:12px;padding:22px;align-items:end}label{font-size:.875rem;display:block;font-weight:600}input,select,textarea{display:block;width:100%;background:white;border:1px solid #d5d5dd;border-radius:7px;padding:12px;font:inherit;margin-top:6px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #ed4935;outline-offset:2px}input[type=checkbox]{display:inline;width:auto}.extra-filters{grid-column:1/-1}.extra-filters summary{font-size:.875rem;color:#686875;cursor:pointer}.filter-row{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin-top:15px}.filter-row label{flex:1}.section-title{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.section-title span{font-size:.875rem;color:#777}.event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}.event-card{border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 10px #1c1c2810;transition:transform .18s}.event-card:hover{transform:translateY(-4px);color:inherit}.poster{position:relative;aspect-ratio:4/3;background:#292b65;color:white;padding:22px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5)}.poster-type{font-weight:800;position:relative;font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.05;letter-spacing:-.04em;max-width:90%;margin:28px 0}.badge{position:relative;font-size:.75rem;border:1px solid #ffffff65;border-radius:4px;padding:3px 8px;align-self:start}.age{position:absolute;right:14px;top:18px;font-size:.8rem}.demo-tag{position:absolute;bottom:12px;right:14px;letter-spacing:.15em;font-size:.7rem;opacity:.75}.theatre{background:#b32639}.exhibition{background:#184a40}.standup{background:#482a6e}.kids{background:#f3bc32;color:#292127}.lecture{background:#204abc}.sport{background:#22524a}.cinema{background:#292935}.card-info{padding:18px}.date{font-size:.8rem;font-weight:700;color:#b84432;margin:0}.card-info .muted{margin:8px 0 18px}.card-bottom{display:flex;justify-content:space-between;font-size:.875rem;gap:10px}.card-bottom strong{font-size:1rem}.card-bottom span{color:#777}.large{aspect-ratio:16/10;border-radius:12px;padding:35px}.large .poster-type{font-size:clamp(2rem,5vw,4rem);max-width:80%}.event-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:40px;margin-top:25px}.booking{background:white;border:1px solid #e3e3e8;border-radius:12px;padding:30px;height:fit-content}.booking h1{font-size:2.3rem}.booking .button{width:100%}dt{color:#777;font-size:.875rem;margin-top:15px}dd{margin:3px 0 16px;overflow-wrap:anywhere}dd small{display:block;color:#777}.price{font-size:2rem;font-weight:800}.description{font-size:1.05rem;line-height:1.8}.back{color:#777;font-size:.9rem}.form-panel{max-width:620px;margin:20px auto;padding:35px;background:white;border-radius:12px;border:1px solid #e4e4e9}.form-panel h1{font-size:2.2rem}.form-panel p{margin:18px 0}.helptext{display:block;font-size:.82rem;color:#777;margin-top:5px}.helptext ul{padding-left:20px}.errorlist{color:#b52222}.notice{background:#fff3d4;padding:16px;border-radius:8px;margin-bottom:20px}.empty{padding:40px;background:white;border:1px dashed #ccc;border-radius:10px;grid-column:1/-1}.pagination{display:flex;gap:25px;justify-content:center;margin:35px}.staff-nav{display:flex;gap:18px;flex-wrap:wrap;padding:15px 0 25px;font-size:.9rem}.staff-nav a{border-bottom:1px solid #aaa}.stat{display:flex;align-items:center;gap:15px}.stat strong{font-size:3rem}.stat span{max-width:110px;color:#777}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.list-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:18px;border-bottom:1px solid #eee;background:#fff}.list-row span,.list-row small{color:#777;font-size:.875rem}.link-box,.panel{background:white;padding:20px;border:1px solid #e4e4e9;border-radius:10px;margin-bottom:12px}.link-box small{display:block;color:#777}.link-box input{font-size:.8rem;margin:12px 0}.timeline article{padding:13px 0 13px 18px;border-left:2px solid #ed4935;margin:5px 0}.timeline time{font-size:.8rem;color:#777;display:block}.timeline strong{font-size:.9rem}.timeline p{margin:4px 0;font-size:.875rem;overflow-wrap:anywhere}.chat-panel{max-width:800px;margin:auto}.chat-log{height:460px;overflow:auto;background:#eaeaef;padding:20px;border-radius:12px}.bubble{background:#fff;border-radius:12px;padding:12px 16px;margin:12px 0;width:85%;overflow-wrap:anywhere}.bubble.support{margin-left:auto;background:#20202d;color:white}.bubble strong,.bubble time,.bubble small{font-size:.8rem;display:block}.bubble p{margin:8px 0;white-space:pre-wrap}.bubble time{opacity:.6}.chat-form label{display:none}.assignment{border-top:1px solid #eee;padding:12px 0}.assignment button{margin-top:8px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;background:white;font-size:.875rem}td,th{text-align:left;padding:14px;border-bottom:1px solid #ddd}td{overflow-wrap:anywhere;max-width:400px}.mono{font-family:monospace;overflow-wrap:anywhere}.ticket{padding:25px;background:#fff3d4;border:2px dashed #e8a727;margin:20px 0}footer{background:#fff;border-top:1px solid #ddd;padding:30px 5vw;display:flex;gap:25px;align-items:center;font-size:.875rem;flex-wrap:wrap}.consent{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:1000px;width:calc(100% - 30px);background:#fff;border:1px solid #ddd;box-shadow:0 10px 60px #0003;padding:20px 24px;display:flex;gap:25px;align-items:center;border-radius:12px;z-index:10}.consent p{font-size:.8rem;color:#656573;margin:5px 0 0}.consent form{display:flex;gap:8px;flex-shrink:0}.consent button{font-size:.85rem;padding:10px 15px}@media(max-width:1000px){.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}.event-layout{gap:20px}.booking h1{font-size:1.8rem}.consent{flex-direction:column;gap:10px;align-items:start}}@media(max-width:700px){header{padding:14px 18px;flex-wrap:wrap}nav{gap:15px;flex-wrap:wrap;font-size:.875rem}main{padding:24px 16px 45px}.heading{display:block}.heading .muted{margin-top:20px}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.poster{padding:14px;aspect-ratio:3/4}.poster-type{font-size:1.6rem}.event-layout,.dashboard-grid{grid-template-columns:1fr}.form-panel{padding:24px}.large{aspect-ratio:4/3}.card-info{padding:13px}.card-bottom span{display:none}.filters{padding:15px;gap:12px}.filters .search{grid-column:1/-1}.filters button{grid-column:1/-1}.chat-log{height:380px}.booking{padding:23px}.consent{padding:15px;bottom:8px}.consent form{width:100%}.consent button{flex:1}.filter-row label{min-width:120px}footer{gap:12px}.demo-bar{font-size:.7rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}