@font-face{font-family:'Cormorant Garamond';src:url('../assets/fonts/cormorant/CormorantGaramond-Italic-LT.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--color-background);color:var(--color-text);font:400 18px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-underline-offset:6px}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}[hidden]{display:none!important}:focus-visible,.confirmation:focus{outline:2px solid var(--color-focus);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.06}h1{font-size:clamp(50px,5.55vw,80px);letter-spacing:-.025em}h2{font-size:clamp(38px,4vw,56px)}h3{font-size:clamp(28px,2.5vw,38px)}em{font-weight:400;color:var(--color-accent)}p{max-width:43ch}p+p{margin-top:20px}.eyebrow{font:400 12px/1.6 var(--font-body);letter-spacing:2.6px;text-transform:uppercase;color:var(--color-accent)}.fine{font-size:16px;color:var(--color-muted)}.skip{position:fixed;top:-100px;left:20px;z-index:10;padding:12px;background:var(--color-paper);color:var(--color-ink)}.skip:focus{top:10px}.masthead{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 64px;border-bottom:1px solid var(--color-surface)}.brand{font:400 38px/1 var(--font-display);text-decoration:none;min-height:44px;display:flex;flex-direction:column;justify-content:center}.brand span{font:400 10px/1.8 var(--font-body);letter-spacing:3px;padding-top:6px}.masthead nav{display:flex;gap:40px}.masthead nav a{font-size:16px;letter-spacing:1px;min-height:44px;display:flex;align-items:center;gap:24px;text-decoration:none}.masthead nav a:hover{text-decoration:underline}.primary{border:1px solid var(--color-accent);background:transparent;color:var(--color-text);padding:13px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:48px;text-decoration:none;min-height:52px;font:400 17px/1.4 var(--font-body)}.primary:hover{background:var(--color-accent);color:var(--color-on-accent)}.primary span{font-size:22px}.text-button{border:0;background:none;color:inherit;min-height:44px;padding:10px 6px;text-decoration:underline;text-underline-offset:5px}.arrival{position:relative;min-height:700px;height:70svh;max-height:1080px;isolation:isolate;overflow:hidden;background:var(--color-wine)}.velvet-scene{position:absolute;inset:0;overflow:hidden;touch-action:pan-y}.velvet{width:100%;height:100%;display:block}.fold-dark{stop-color:var(--color-wine-dark)}.fold-mid{stop-color:var(--color-wine)}.fold-lit{stop-color:var(--color-wine-light)}.arrival-copy{position:relative;z-index:1;padding:clamp(140px,18svh,210px) 0 120px 8%;width:max-content;max-width:70%;pointer-events:none}.arrival-copy .eyebrow{margin-bottom:30px}.arrival-copy>p:not(.eyebrow){margin-top:28px;font-size:20px;color:var(--color-text)}.arrival-copy .primary{margin-top:36px;pointer-events:auto}.scene-number{position:absolute;right:7%;bottom:25%;font:italic 400 110px/1 var(--font-display);color:var(--color-accent);opacity:.35;pointer-events:none}.arrival-bottom{position:absolute;bottom:34px;left:64px;right:64px;display:flex;justify-content:space-between;gap:24px;pointer-events:none}.light-controls{display:flex;gap:20px;align-items:center;padding:18px 64px 0;flex-wrap:wrap}.light-controls label{font-size:14px;letter-spacing:1px}.light-controls input{width:150px;min-height:44px;accent-color:var(--color-accent);cursor:pointer}.light-controls button{color:var(--color-muted);background:none;border:0;border-bottom:1px solid var(--color-border);font-size:15px;min-height:44px}.light-controls [role=status]{margin-left:auto;font-size:14px;color:var(--color-muted)}.light-help{font-size:14px;color:var(--color-muted);padding:0 64px;max-width:none}.section{padding:120px 64px;max-width:1440px;margin:auto}.rooms,.evenings,.membership{display:grid;grid-template-columns:1fr 1.35fr;gap:9%}.section-heading .eyebrow{margin-bottom:24px}.section-heading>p:not(.eyebrow){margin-top:28px;color:var(--color-muted);max-width:32ch}.room-list article{display:flex;align-items:flex-start;gap:34px;border-top:1px solid var(--color-border);padding:32px 0}.room-number{font:italic 38px/1.2 var(--font-display);color:var(--color-accent);width:42px;flex-shrink:0}.room-list p{color:var(--color-muted);margin:14px 0 20px}.room-list .eyebrow{font-size:11px;letter-spacing:2px}.evenings{background:var(--color-surface);max-width:none}.evenings .section-heading{position:sticky;top:40px;align-self:start}.month-switch{display:flex;gap:20px;margin-top:36px}.month-switch button{background:none;color:var(--color-muted);border:0;border-bottom:1px solid var(--color-border);min-height:48px;padding:10px 4px}.month-switch button[aria-pressed=true]{color:var(--color-text);border-bottom:3px solid var(--color-accent)}fieldset{margin:0;padding:0;border:0;min-width:0}legend{font-size:18px;padding:0 0 18px}.event-row{display:grid;grid-template-columns:24px 58px 1fr;gap:16px;align-items:center;padding:24px 0;border-top:1px solid var(--color-border);cursor:pointer}.event-row input{width:20px;height:20px;accent-color:var(--color-accent);margin:0}.event-date{font:400 42px/1 var(--font-display);color:var(--color-accent)}.event-date small{display:block;font:400 11px/1.5 var(--font-body);letter-spacing:1px;margin-top:8px}.event-name{font:400 27px/1.1 var(--font-display)}.event-name small{display:block;color:var(--color-muted);font:400 15px/1.5 var(--font-body);margin-top:9px}.event-row:has(:checked){border-top-color:var(--color-accent);background:var(--color-background);padding-left:12px;padding-right:12px}.seat-desk{margin-top:48px;border-top:1px solid var(--color-accent);padding-top:28px}.seat-desk h3{margin-top:16px}.seat-desk>p:not(.eyebrow){color:var(--color-muted);margin-top:16px}.field-pair{display:grid;grid-template-columns:1fr 140px;gap:24px}.field{margin-top:26px;display:flex;flex-direction:column;gap:8px}.field label{font-size:17px}.field input,.field select{width:100%;min-height:52px;padding:10px 12px;background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border);border-radius:0}.field .fine{font-size:15px}.check{display:flex;gap:14px;align-items:flex-start;margin:26px 0;cursor:pointer;min-height:44px;padding:6px 0}.check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--color-accent);margin:5px 0 0}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:26px}.error{color:var(--color-error)!important;padding:14px 0;max-width:none}.confirmation{margin-top:32px;padding:28px;border:1px solid var(--color-accent)}.confirmation p{margin-top:18px;overflow-wrap:anywhere}.confirmation h3{margin-top:12px}.level{padding:30px 0;border-top:1px solid var(--color-border)}.level h3{margin:16px 0}.level p{color:var(--color-muted)}.membership .primary{margin-top:24px}.house-notes{border-top:1px solid var(--color-surface);max-width:1100px;padding-top:72px;padding-bottom:80px}.house-notes .eyebrow{margin-bottom:28px}details{border-top:1px solid var(--color-border);padding:6px 0}summary{cursor:pointer;padding:16px 8px 16px 0;min-height:56px;font-size:20px}details p{padding:12px 0 28px;color:var(--color-muted)}footer{margin:0 64px;border-top:1px solid var(--color-border);padding:48px 0;display:flex;align-items:center;justify-content:space-between;gap:32px}footer p{font-size:15px;color:var(--color-muted)}footer>a:last-child{min-height:44px;display:flex;align-items:center;font-size:16px}
.invitation{display:grid;grid-template-columns:58% 42%;min-height:780px;height:90svh;max-height:1080px}.invitation-scene{position:relative;isolation:isolate;overflow:hidden}.invitation-title{position:relative;pointer-events:none;padding:190px 10% 100px}.invitation-title .eyebrow{margin-bottom:30px}.invitation-title p:last-child{margin-top:26px;color:var(--color-text);font-size:20px}.invitation .scene-number{bottom:60px;font-size:90px}.invitation-letter{background:var(--color-paper);color:var(--color-ink);padding:65px 15%;display:flex;flex-direction:column;justify-content:center}.invitation-letter .eyebrow{color:var(--color-paper-muted)}.letter-salutation{font:italic 34px/1.2 var(--font-display);margin-top:38px}.invitation-letter p:not(.letter-salutation):not(.eyebrow){font-size:18px}.letter-steps{list-style:none;margin:28px 0;padding:0}.letter-steps li{padding:10px 0;border-top:1px solid var(--color-border)}.letter-steps span{color:var(--color-paper-muted);margin-right:20px;font-size:13px}.invitation-letter .primary{color:var(--color-ink);border-color:var(--color-ink);gap:20px}.invitation-letter .primary:hover{background:var(--color-ink);color:var(--color-paper)}.invitation-letter .fine{color:var(--color-paper-muted);margin-top:20px;font-size:15px!important}.application{margin-top:100px;background:var(--color-paper);color:var(--color-ink);display:grid;grid-template-columns:1fr 1.4fr;gap:12%;max-width:none}.application .eyebrow,.application em,.application .fine{color:var(--color-paper-muted)}.application h2{margin-top:24px}.step-rail{list-style:none;padding:0;margin:40px 0}.step-rail li{border-top:1px solid var(--color-border);padding:16px 0;color:var(--color-paper-muted)}.step-rail li[aria-current]{color:var(--color-ink);border-top:2px solid var(--color-ink)}.step-rail span{font-size:14px;margin-right:24px}.application form{max-width:600px;width:100%}.application form h3{margin-bottom:20px}.application .field input,.application .field select{color:var(--color-ink);background:var(--color-paper);accent-color:var(--color-ink)}.application .primary{border-color:var(--color-ink);color:var(--color-paper);background:var(--color-ink)}.application .primary:hover{background:var(--color-paper);color:var(--color-ink)}.application :focus-visible,.application .confirmation:focus,.invitation-letter :focus-visible{outline-color:var(--color-ink)}.application .error{color:var(--color-paper-error)!important}.application input{accent-color:var(--color-ink)}.choices{margin-top:30px}.choices label{border-top:1px solid var(--color-border);display:flex;gap:16px;align-items:flex-start;padding:18px 0;cursor:pointer}.choices input{width:20px;height:20px;margin:4px 0 0;flex-shrink:0}.choices strong{font:400 24px/1.2 var(--font-display)}.choices small{display:block;font:400 16px/1.5 var(--font-body);color:var(--color-paper-muted);margin-top:6px}.summary-list{margin:30px 0}.summary-list dt{font-size:14px;color:var(--color-paper-muted);padding-top:16px;border-top:1px solid var(--color-border)}.summary-list dd{font-size:20px;margin:5px 0 18px;overflow-wrap:anywhere}.application .confirmation{border-color:var(--color-ink)}.application .actions{gap:20px}.expectations{max-width:1100px}.expectations h2{margin:24px 0 40px}.expectation-columns{display:grid;grid-template-columns:1fr 1fr;gap:64px;color:var(--color-muted)}.expectation-columns p{margin:0}
@media(min-width:1600px){.evenings,.application{padding-left:max(64px,calc((100vw - 1312px)/2));padding-right:max(64px,calc((100vw - 1312px)/2))}}
@media(max-width:1000px){.masthead{padding:0 32px}.section{padding:90px 32px}.rooms,.evenings,.membership{gap:6%;grid-template-columns:1fr 1.25fr}.arrival-copy{padding-left:6%}.arrival-bottom{left:32px;right:32px}.light-controls{padding-left:32px;padding-right:32px}.light-help{padding:0 32px}.invitation{grid-template-columns:52% 48%}.invitation-letter{padding:48px 11%}.invitation-title{padding:160px 8% 80px}.invitation h1{font-size:56px}.application{gap:8%;grid-template-columns:.8fr 1.2fr}.field-pair{grid-template-columns:1fr 110px}footer{margin:0 32px}}
@media(max-width:650px){html{scroll-padding-top:16px}.masthead{height:96px;padding:0 22px}.brand{font-size:30px}.brand span{font-size:8px;letter-spacing:2px}.masthead nav{gap:20px}.masthead nav a{font-size:15px;gap:6px}.arrival{height:90svh;min-height:720px;max-height:900px}.arrival-copy{padding:120px 22px 140px;max-width:100%;width:100%}.arrival-copy .eyebrow{font-size:11px;letter-spacing:1.8px;max-width:28ch}.arrival h1{font-size:clamp(44px,12.5vw,54px)}.arrival-copy>p:not(.eyebrow){font-size:18px;max-width:27ch}.arrival-copy .primary{gap:34px;max-width:100%}.scene-number{font-size:80px;right:22px;bottom:90px}.arrival-bottom{left:22px;right:22px;bottom:24px;flex-direction:column;gap:8px}.arrival-bottom .eyebrow{font-size:10px;letter-spacing:1.8px}.light-controls{padding:14px 22px 0;gap:8px 16px}.light-controls input{width:125px}.light-controls [role=status]{margin-left:0}.light-help{padding:4px 22px 0;font-size:13px}.section{padding:64px 22px}.rooms,.evenings,.membership,.application{display:block}.room-list,.programme,.membership>div:last-child{margin-top:40px}.section-heading h2{font-size:40px}.section-heading>p:not(.eyebrow){max-width:34ch;font-size:18px}.evenings .section-heading{position:static}.room-list article{gap:20px;padding:28px 0}.room-list h3{font-size:30px}.room-list p{font-size:17px}.event-row{gap:12px;grid-template-columns:20px 48px 1fr}.event-date{font-size:36px}.event-name{font-size:25px}.field-pair{gap:16px;grid-template-columns:1fr 100px}.field-pair label{font-size:16px}.seat-desk .primary{gap:20px}.actions{gap:14px}.confirmation{padding:22px 16px}.level h3{font-size:34px}.house-notes{padding-top:52px;padding-bottom:56px}footer{margin:0 22px;display:grid;grid-template-columns:1fr auto;padding:36px 0;gap:24px}footer p{grid-row:2;grid-column:1/-1}footer>a:last-child{grid-row:1;grid-column:2}.invitation{display:block;min-height:0;height:auto;max-height:none}.invitation-scene{min-height:710px;height:85svh;max-height:900px}.invitation-title{padding:130px 22px 100px}.invitation h1{font-size:54px}.invitation-title .eyebrow{font-size:11px;letter-spacing:2px}.invitation-letter{padding:52px 28px}.invitation-letter .primary{align-self:flex-start}.application{margin-top:64px}.application form{margin-top:40px}.step-rail{display:flex;gap:16px;margin:30px 0 22px}.step-rail li{flex:1;font-size:15px}.step-rail span{display:block;margin:0 0 5px}.application-aside .fine{font-size:15px}.application h2{font-size:40px}.expectation-columns{display:block}.expectation-columns p+p{margin-top:24px}.expectations h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.invitation .scene-tools{position:absolute;bottom:18px;left:0;right:0}.invitation .light-controls{padding:12px 32px 0;gap:10px 16px}.invitation .light-help{padding:4px 32px 0}.invitation .scene-number{bottom:160px}.invitation .light-controls [role=status]{margin-left:0}@media(max-width:650px){.invitation .light-controls{padding-left:22px;padding-right:22px}.invitation .light-help{padding-left:22px;padding-right:22px}.invitation .scene-number{bottom:170px}}
.secondary-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;justify-self:start;color:var(--color-text);font:400 17px/1.4 var(--font-body);text-decoration:underline;text-decoration-color:var(--color-accent);text-decoration-thickness:1px;text-underline-offset:7px}.secondary-link:hover{color:var(--color-accent)}.secondary-link span{font-size:18px}
