/* Visual direction from the user-supplied forum photo. Local fonts; no external assets. */
:root{--ink:#202023;--muted:#626267;--paper:#fff;--green:#c90d19;--line:#e3e3e5;--lime:#fff}
body{background:#fff}
.demo{background:#f3f3f3;color:#55555b;border-bottom:1px solid #e5e5e5;letter-spacing:.035em}
header{border-bottom:2px solid #222;padding:22px 0}
.brand{color:#202023;font-weight:850;letter-spacing:.025em}
.brand-mark{border-radius:0;background:transparent;color:#cf0b19;font-size:45px;line-height:1}
header>a:last-child{color:#343438;text-decoration-color:#c90d19}
.hero{padding:54px 0 42px;border-bottom:1px solid var(--line);margin-bottom:34px}
.hero:not(.compact) h1{color:#ca0c18;font-family:"Arial Black",Arial,system-ui,sans-serif;font-size:clamp(38px,6.2vw,88px);font-weight:900;letter-spacing:-.055em;line-height:1.01;max-width:1100px}
.hero h1 span{color:#ca0c18}
.hero .eyebrow{color:#252529;letter-spacing:.1em}
.lead{color:#56565c}
.reference-motto{display:inline-block;background:#c90d19;color:#fff;padding:9px 16px;border-radius:4px;font-size:16px;font-weight:650;margin:4px 0 0}
.steps{gap:0;max-width:720px;border-top:1px solid #dfdfe1;padding-top:20px;margin-top:32px;justify-content:space-between}
.steps b{color:#c90d19}
.details{border-radius:5px;background:#fafafa;padding:30px;border-top:3px solid #c90d19}
.details h2,.section-heading h2,.summary h2{font-weight:800;letter-spacing:-.035em}
input:not([type=radio]):not([type=checkbox]):not([type=hidden]){background:white;border-color:#bdbdc1;border-radius:3px}
input:focus-visible,a:focus-visible,button:focus-visible{outline-color:#c90d19}
.section-heading{margin-top:48px}
.slot legend{font-weight:800}.slot-code{border-radius:3px;background:#c90d19}
.option{border-radius:4px;background:#fff;border-color:#d9d9dc}
.option:hover{border-color:#d33a44}
.option:has(input:checked){background:#fff4f4;border-color:#c90d19;box-shadow:inset 0 0 0 1px #c90d19}
.option-top{align-items:center}.option-code{font-weight:800;color:#333339}
.seats{color:#a50913;background:#fff0f1;padding:3px 8px;border-radius:3px}
.option strong{font-weight:700}.unavailable{background:#f0f0f0}
.summary{border-radius:5px;background:#f5f5f5;color:#202023;border-top:5px solid #c90d19;padding:34px}
.summary .eyebrow{color:#c90d19}.summary>p{color:#5a5a60}
.summary .primary,.primary{background:#c90d19;color:white;border-radius:3px;font-weight:750}
.primary:hover{background:#a90913}.summary .primary{background:#c90d19;color:white}
.notice{border-radius:4px;background:#f4f4f4;border-color:#c9c9cd;border-left:4px solid #313137}
.error{background:#fff2f2;border-color:#d78187;border-left-color:#c90d19;color:#8b0912}
.danger{border-radius:3px;border-color:#c90d19;color:#b40b16}
.compact h1{font-weight:850;color:#c90d19}.compact{margin-bottom:20px}
footer{border-top:2px solid #242428}
@media(max-width:680px){header{padding:17px 0}.brand-mark{font-size:35px}.hero{padding:32px 0 28px;margin-bottom:26px}.hero:not(.compact) h1{font-size:clamp(29px,8vw,52px);letter-spacing:-.06em;line-height:1.07}.hero .eyebrow{font-size:10px;line-height:1.6;max-width:290px}.reference-motto{font-size:13px;padding:8px 12px}.steps{margin-top:25px;padding-top:16px}.details{padding:23px 17px}.summary{padding:25px 20px}.compact h1{font-size:clamp(27px,7.5vw,36px)}.section-heading{margin-top:36px}}

/* Final programme: a compact masthead with progressive disclosure. */
.hero:not(.compact) h1{font-size:clamp(30px,4.4vw,62px);line-height:1.08;letter-spacing:-.045em}
.hero{padding:38px 0 30px}.hero .lead{max-width:760px;font-size:19px}
.event-location{font-size:15px;color:#626267;margin:14px 0}
.about-event{max-width:800px;margin-top:16px;color:#626267}.about-event summary{cursor:pointer;color:#202023;text-decoration:underline;text-underline-offset:4px}
.about-event p{line-height:1.65}.steps{margin-top:24px}
.repeat-disabled{background:#f4f4f4;border-color:#d9d9dc}.repeat-reason{color:#a50913;font-size:13px;font-weight:700}
.repeat-reason[hidden]{display:none}
@media(max-width:680px){.hero:not(.compact) h1{font-size:clamp(25px,6.8vw,42px)}.hero .lead{font-size:17px}.steps{gap:14px;flex-wrap:wrap}.brand{font-size:14px}}

.hero:not(.compact) h1{text-transform:uppercase;max-width:1050px}

/* Editorial pass: natural text wrapping, consistent rhythm and touch spacing. */
.section-heading{align-items:flex-start;margin:40px 0 28px;gap:24px}
.section-heading .booking-rule{max-width:410px;margin:0;line-height:1.6}
.hero{margin-bottom:32px}.details>p{margin:0 0 18px}.details>p:last-child{margin-bottom:0}
main>.details:first-child{margin-top:32px}
.details>h1{font-size:clamp(28px,3.8vw,46px);line-height:1.15;letter-spacing:-.035em}
.option strong,.description,.room{overflow-wrap:break-word}
.option .seats{white-space:normal;line-height:1.5}
.route-row p{margin:8px 0 0}.route-save-status:empty{display:none}
.consent span{min-width:0}.consent a{display:inline}
footer{justify-content:flex-end;padding:24px 0 32px;gap:0}
footer a{font-size:14px;line-height:1.5;padding:8px 0}
@media(max-width:680px){
  .section-heading{margin:32px 0 24px}.section-heading .booking-rule{max-width:none;margin-top:16px;font-size:14px}
  .hero{margin-bottom:24px}.details{margin-bottom:28px}
  .primary{gap:16px;padding:16px 18px;line-height:1.4}
  .slot legend{font-size:21px;gap:12px}.slot{margin-bottom:32px}
  footer{justify-content:flex-start;padding:20px 0 28px}
}

.block-rule{max-width:760px;margin:-4px 0 20px;color:var(--muted);font-size:14px;line-height:1.6}.details .fields:last-child{margin-bottom:0}

.clear-block{background:none;border:0;padding:0;margin-left:16px;color:#b8101d;text-decoration:underline;font:inherit;cursor:pointer}.clear-block[hidden]{display:none}
