:root{font-family:Arial,Helvetica,sans-serif;color:#172c27;background:#f5f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit}header{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:30px 5%}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:2px;line-height:1.4}.brand-mark{background:#12342c;color:#d7fa74;padding:10px 12px;font-size:24px;letter-spacing:-2px}.brand-mark span{color:#779c88}.edition{font-size:12px;letter-spacing:1.5px;font-weight:700}main{max-width:1260px;margin:15px auto 55px;display:grid;grid-template-columns:1.2fr 1fr;box-shadow:0 12px 40px #17382c0a}.event{background:#12342c;color:#f5f8f1;padding:48px 50px 25px;display:flex;flex-direction:column}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;display:flex;align-items:center;gap:10px}.rule{width:24px;height:2px;background:#d7fa74}h1{font-size:clamp(68px,6.8vw,96px);line-height:.98;letter-spacing:-5px;margin:44px 0 24px;font-weight:800}h1 em{color:#d7fa74;font-weight:500;font-family:Georgia,serif;letter-spacing:-4px}.intro{color:#dce5de;line-height:1.6;font-size:18px;margin:0 0 32px}.event-details{margin:0}.event-details div{display:grid;grid-template-columns:75px 1fr;border-top:1px solid #456056;padding:16px 0}.event-details dt{font-size:12px;letter-spacing:1px;color:#c0d0c4;padding-top:4px}.event-details dd{margin:0;font-size:17px;font-weight:600;line-height:1.5}.event-details dd span{display:block;font-size:15px;font-weight:400;color:#c0d0c4}.calendar{display:inline-block;align-self:flex-start;text-underline-offset:5px;font-size:14px;line-height:1.6;margin:15px 0 40px}.calendar:hover{color:#d7fa74}.event-bottom{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1px;padding-top:24px;border-top:1px solid #456056;margin-top:auto;color:#c0d0c4}.booking{background:white;padding:42px 46px}.booking-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.ticket-label{font-size:12px;font-weight:700;border:1px solid #dce3db;padding:8px 10px;white-space:nowrap}h2{font-size:38px;letter-spacing:-1.3px;line-height:1.08;margin:27px 0 20px}.price{display:flex;align-items:baseline;font-size:58px;font-weight:700;letter-spacing:-2px;gap:13px}.price span{font-size:16px;color:#69746c;font-weight:400;letter-spacing:0}.included{list-style:none;padding:6px 0 20px;margin:0}.included li{font-size:16px;margin:14px 0;display:flex;gap:12px;line-height:1.5}.included li span{color:#2d7254}.total{border-top:1px solid #e2e7df;padding:21px 0;display:flex;justify-content:space-between;font-size:16px}.availability{background:#f1f4ed;padding:15px 17px;border-left:3px solid #809469}.availability strong{font-size:15px}.availability p{font-size:14px;color:#58645a;line-height:1.5;margin:6px 0 0}.pay{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;padding:20px;font-size:16px;font-weight:700;margin-top:18px;background:#dce5d4;color:#54644e;cursor:not-allowed}.pay span{font-size:22px}.payment-note{text-align:center;font-size:13px;color:#687468;line-height:1.5;margin:12px 0 26px}details{border-top:1px solid #e2e7df;padding:17px 0;font-size:14px}summary{cursor:pointer;font-weight:600;line-height:1.5}details p{color:#5f6e64;line-height:1.6;margin-bottom:0}footer{max-width:1260px;margin:0 auto 30px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#657366;letter-spacing:.5px}a:focus-visible,summary:focus-visible{outline:3px solid #92bb46;outline-offset:5px}@media(max-width:1300px){main,footer{margin-left:4%;margin-right:4%}}@media(max-width:760px){header{padding:22px 5%}.edition{max-width:125px;text-align:right;font-size:11px;line-height:1.5}main{grid-template-columns:1fr;margin-top:4px}.event{padding:32px 26px 24px}h1{font-size:74px;margin-top:30px}.intro{font-size:17px}.booking{padding:30px 26px}h2{font-size:34px}.event-bottom{margin-top:0}.calendar{margin-bottom:24px}footer{flex-direction:column;font-size:11px}main{margin-bottom:30px}}@media(prefers-reduced-motion:no-preference){summary,a{transition:color .15s ease}}

.contact{font-size:14px;line-height:1.6;color:#5f6e64;margin:18px 0 0}.contact a{overflow-wrap:anywhere;text-underline-offset:3px}

.quantity-label{display:block;font-size:16px;font-weight:700;margin-bottom:12px}.quantity-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.quantity-row>span{color:#637065;font-size:15px}.stepper{display:flex;border:1px solid #b8c5b9;align-items:center}.stepper button{width:46px;height:48px;border:0;background:#f1f4ed;font-size:23px;color:#12342c;cursor:pointer}.stepper button:disabled{opacity:.4;cursor:default}.stepper input{width:65px;height:48px;border:0;text-align:center;font-size:18px;font-weight:700;border-radius:0;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.helper{font-size:14px;line-height:1.5;color:#657366;margin:10px 0 20px}.pay{background:#d7fa74;color:#12342c;cursor:pointer;min-height:62px}.pay:hover{background:#c6ee5b}.pay #pay-label{font-size:16px}.pay:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #568928;outline-offset:3px}.after-payment{font-size:15px;line-height:1.6;background:#f7f8f5;padding:17px;margin:0 0 24px}.after-payment p{color:#5f6e64;margin:7px 0 12px}.after-payment a{font-weight:700;text-underline-offset:4px}.after-payment .helper{font-size:13px;margin-bottom:0}.availability a{text-underline-offset:3px}

.field{margin:20px 0}.field label{display:block;font-size:16px;font-weight:600;margin-bottom:8px}.field input,.field textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #8a9894;border-radius:6px;font:inherit;background:white;color:#112e29}.field input:focus,.field textarea:focus{outline:2px solid #112e29;outline-offset:2px}#form-error{color:#a01818}#booking-result{margin-top:24px;padding:20px;border:2px solid #112e29;border-radius:8px}#booking-result p{line-height:1.6}#booking-result .pay{text-decoration:none;display:flex;margin:20px 0}.pay:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}

.another-booking{display:block;margin-top:20px;padding:12px 18px;border:1px solid #112e29;border-radius:6px;background:white;color:#112e29;font:inherit;cursor:pointer}
