:root{--wine:#540b23;--ink:#282224;--cream:#faf7f0;--gold:#b69a70;--line:#ded2c2;--muted:#6c6164}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--wine);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #98682e;outline-offset:4px}h1,h2,h3,p{margin-top:0}h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(29px,3vw,42px);line-height:1.16;letter-spacing:-.035em}h3{font-size:21px;line-height:1.3}p{margin-bottom:18px}img{max-width:100%;height:auto}[hidden]{display:none!important}.wrap{max-width:1200px;margin:auto;padding-left:32px;padding-right:32px}.site-header{max-width:1320px;margin:auto;padding:24px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.site-header img{width:154px;max-height:70px;object-fit:contain}.site-header>span{font-size:11px;letter-spacing:2px}.header-link{font-size:13px;font-weight:600}.skip{position:absolute;left:12px;top:-100px;padding:10px;background:#fff;z-index:9}.skip:focus{top:12px}.invitation{display:grid;grid-template-columns:1fr 1fr;gap:66px;padding-top:70px;padding-bottom:72px;align-items:start}.eyebrow{color:#80623d;font-size:11px;font-weight:650;letter-spacing:3px;margin-bottom:20px}.intro{padding-top:17px}.intro h1{font:clamp(68px,7.8vw,108px)/.87 Georgia,serif;letter-spacing:-.065em;color:var(--wine);margin:0 0 34px}.intro h1 span{display:block;letter-spacing:-.025em;font-size:.43em;line-height:1.4;margin-top:12px}.lead{font-size:26px;line-height:1.35;letter-spacing:-.7px}.intro>p:not(.eyebrow):not(.lead){max-width:480px}.date-block{border-block:1px solid var(--line);padding:22px 0;margin:30px 0}.date-block strong,.date-block span{display:block}.date-block strong{font-size:18px;color:var(--wine)}.date-block span{font-size:14px;margin-top:5px}.benefits{padding-left:19px;font-size:15px;margin:0 0 25px}.benefits li{padding-left:5px;margin-bottom:8px}.benefits li::marker{color:var(--gold)}.welcome{font-size:14px;color:var(--muted)}.text-link{font-weight:600;font-size:14px}.booking-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:32px;box-shadow:0 15px 45px #3b1b1308;scroll-margin-top:20px}.booking-card .eyebrow{margin-bottom:12px}.booking-card h2{font-size:33px;margin-bottom:10px}.price{font-size:14px;margin-bottom:22px}.price strong{font-size:23px;color:var(--wine)}.price span{color:var(--muted)}fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-size:13px;font-weight:650;padding:0;margin-bottom:10px}.sessions{display:grid;gap:10px}.session-option{display:flex;align-items:center;gap:10px;cursor:pointer;border:1px solid var(--line);border-radius:3px;padding:15px 13px;background:#fff}.session-option:has(input:checked){border-color:var(--wine);background:#fcf7f9;box-shadow:inset 0 0 0 1px var(--wine)}.session-option input{flex:0 0 auto;margin:0}.session-copy{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.4}.session-copy strong{font-size:20px;color:var(--wine)}.session-copy>span{font-size:11px;color:var(--muted);margin-top:3px}.availability{font-size:11px;color:#4b6044;background:#eef3e9;padding:4px 7px;border-radius:3px;text-align:center;max-width:100px;line-height:1.5}.session-option.full .availability{color:var(--muted);background:#f0eded}.availability-note{margin-top:10px;margin-bottom:21px}.small{font-size:11px;line-height:1.6;color:var(--muted)}.form-grid{display:grid;gap:12px}label:not(.session-option){font-size:13px}.form-grid label,#waitlist-form>label{display:block;font-weight:600}input:not([type=radio]):not([type=checkbox]){width:100%;min-width:0;border:1px solid #cfc4c5;border-radius:3px;background:#fff;padding:10px 12px;line-height:1.4;font-size:16px;margin-top:5px;color:var(--ink)}input[type=radio],input[type=checkbox]{width:18px;height:18px;accent-color:var(--wine);flex-shrink:0}.visited{margin:20px 0}.visited label{display:inline-flex;align-items:center;margin:0 16px 5px 0;gap:5px}.visited input{margin:0}.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;line-height:1.5;margin:15px 0}.check input{margin:1px 0 0}.check.optional{color:var(--muted);font-size:12px}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;background:var(--wine);color:#fff;border:1px solid var(--wine);border-radius:3px;padding:13px 22px;text-decoration:none;font-weight:600;font-size:14px;min-height:48px;line-height:1.4;text-align:center}.button.secondary{background:transparent;color:var(--wine)}.button.primary{width:100%;margin-top:9px}.centred{text-align:center;margin-top:10px}.form-message{font-size:14px;color:var(--wine);margin:14px 0 0}.notice{background:#f5eee3;border:1px solid var(--line);padding:16px;font-size:14px;margin:18px 0}.notice p:last-child{margin-bottom:0}#waitlist-form>label{margin:15px 0}.experience{border-block:1px solid var(--line);background:#f0e9dc}.experience-grid{display:grid;grid-template-columns:1fr 320px;gap:100px;padding-top:62px;padding-bottom:62px;align-items:center}.experience h2{font-size:45px}.experience p{max-width:580px}.experience video{width:100%;max-height:490px;border-radius:3px;background:#540b23;object-fit:contain}.details-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-top:70px;padding-bottom:70px}.details-grid h2{font-size:30px}.details-grid .small{font-size:13px;margin-top:25px;max-width:350px}.faqs details{border-bottom:1px solid var(--line);padding:15px 0}.faqs summary{cursor:pointer;font-size:15px;font-weight:600;padding-right:15px}.faqs details p{font-size:14px;margin:15px 0 0;color:var(--muted)}.site-footer{border-top:1px solid var(--line);text-align:center;padding:32px 20px;font-size:12px;color:var(--muted)}.site-footer p{margin-bottom:7px}.status-wrap{max-width:720px;margin:60px auto;padding:0 24px}.status-card{background:#fff;border:1px solid var(--line);padding:36px;border-radius:3px}.status-card h1{font:42px/1.15 Georgia,serif;letter-spacing:-1.5px;color:var(--wine);margin-bottom:20px}.ticket-facts{display:grid;grid-template-columns:120px 1fr;font-size:14px;border-block:1px solid var(--line);padding:20px 0;margin:25px 0;gap:10px 20px}.ticket-facts dt{color:var(--muted)}.ticket-facts dd{margin:0;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:10px}.qr{width:170px;height:170px;display:block;margin:20px auto}.private-note{text-align:center;font-size:12px;color:var(--muted)}.cancel-area{margin-top:35px;padding-top:20px;border-top:1px solid var(--line)}.cancel-area summary{font-size:14px;cursor:pointer}.cancel-area p{font-size:13px;margin-top:15px}.cancel-area button{font-size:13px}.status-dot{display:inline-block;background:#e9f1e5;color:#37502e;padding:4px 10px;font-size:12px;border-radius:3px;margin-bottom:15px}@media(max-width:1000px){.invitation{gap:30px}.booking-card{padding:24px}.experience-grid{gap:50px}.details-grid{gap:55px}.site-header>span{display:none}.intro h1{font-size:75px}}@media(max-width:700px){.wrap{padding-left:22px;padding-right:22px}.site-header{padding:18px 22px;gap:15px}.site-header img{width:124px;max-height:60px}.header-link{font-size:12px}.invitation{display:block;padding-top:37px;padding-bottom:38px}.intro{padding:0}.intro h1{font-size:84px;margin-bottom:22px}.intro .eyebrow{margin-bottom:22px}.lead{font-size:24px}.intro>p:not(.eyebrow):not(.lead){font-size:14px}.date-block{margin:23px 0;padding:18px 0}.benefits{font-size:13px}.intro>.text-link{display:none}.booking-card{padding:24px 20px;margin-top:30px}.booking-card h2{font-size:31px}.experience-grid{display:flex;flex-direction:column;gap:25px;padding-top:37px;padding-bottom:37px;align-items:stretch}.experience h2{font-size:35px}.experience p{font-size:14px}.experience video{max-height:430px;max-width:300px;align-self:center}.details-grid{grid-template-columns:1fr;gap:40px;padding-top:38px;padding-bottom:38px}.details-grid .small{max-width:none}.status-wrap{margin:32px auto;padding:0 18px}.status-card{padding:25px 20px}.status-card h1{font-size:34px}.ticket-facts{grid-template-columns:85px 1fr;gap:10px}.actions .button{width:100%}.desktop-break{display:none}}@media(max-width:370px){.wrap{padding-left:15px;padding-right:15px}.booking-card{padding:22px 15px}.intro h1{font-size:72px}.session-option{padding:12px 9px;gap:7px}.availability{max-width:76px;font-size:10px}.price span{display:block}.header-link{max-width:108px;text-align:right}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Four focused sessions retain readable labels on narrow phones. */
.session-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:12px;align-items:center}.session-copy>.session-focus{font-size:14px;line-height:1.4;color:var(--ink);font-weight:600;margin-top:6px}.session-copy>.session-model{font-size:12px;line-height:1.4;margin-top:5px}.booking-card h2{font-size:31px}.session-copy strong{font-size:22px}.sessions{gap:12px}@media(max-width:430px){.session-option{grid-template-columns:18px minmax(0,1fr);padding:15px 13px;gap:7px 10px}.session-option>input{grid-column:1;grid-row:1 / 3;align-self:start;margin-top:6px}.session-copy{grid-column:2}.session-option .availability{grid-column:2;justify-self:start;max-width:none;margin-top:3px;font-size:11px}.session-copy>.session-focus{font-size:14px}.session-copy>.session-model{font-size:12px}.booking-card h2{font-size:29px}}
