@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@400;500;600&display=swap');

:root{--limestone:#d8cbb4;--cream:#f1ecdf;--ivory:#f8f5ed;--charcoal:#292826;--ink:#34312c;--muted:#746e65;--burgundy:#6f3031;--gold:#ad8a4e;--line:#bdb09b;--dark-line:#56504a;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',Arial,sans-serif;--pad:clamp(1.25rem,4vw,5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}body::before{position:fixed;z-index:-1;inset:0;content:"";opacity:.16;background-image:radial-gradient(#665f54 .45px,transparent .6px);background-size:8px 8px}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.91;letter-spacing:-.035em}h1{font-size:clamp(5.5rem,11vw,11rem)}h2{font-size:clamp(3.7rem,7vw,7rem)}h3{font-size:clamp(2rem,3vw,3.2rem)}.skip-link{position:fixed;z-index:999;top:.5rem;left:.5rem;padding:.7rem 1rem;background:var(--charcoal);color:var(--ivory);transform:translateY(-150%)}.skip-link:focus{transform:none}.section-label,.period-heading,.season-line{font-size:.6rem;font-weight:600;letter-spacing:.18em}.button{display:inline-flex;gap:3rem;align-items:center;padding:1rem 1.25rem;border:1px solid var(--ink);font-size:.63rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:.25s}.button:hover,.button:focus-visible{background:var(--ink);color:var(--ivory)}.button.dark{background:var(--charcoal);color:var(--ivory)}.button.dark:hover{background:var(--burgundy);border-color:var(--burgundy)}.line-link{display:inline-flex;gap:3rem;padding-bottom:.45rem;border-bottom:1px solid;font-size:.62rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}address{font-style:normal}

.site-header{position:relative;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:5.5rem;padding:1rem var(--pad);border-bottom:1px solid var(--line);background:rgba(241,236,223,.92);backdrop-filter:blur(10px)}.mini-crest{justify-self:start;display:grid;width:2.8rem;height:2.8rem;place-items:center;border:1px solid var(--ink);font-family:var(--serif);font-size:.9rem}.mini-crest::after{position:absolute;width:2.2rem;height:2.2rem;border:1px solid var(--gold);content:"";transform:rotate(45deg);pointer-events:none}.site-nav{display:flex;gap:2.5rem}.site-nav a{position:relative;font-size:.62rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.site-nav a::after{position:absolute;right:0;bottom:-.55rem;left:0;border-top:1px solid var(--burgundy);content:"";transform:scaleX(0);transition:.2s}.site-nav a:hover::after,.site-nav a[aria-current]::after{transform:scaleX(1)}.reserve-link{justify-self:end;font-family:var(--serif);font-size:1rem;font-style:italic}.reserve-link span{margin-left:1.5rem}.menu-button{display:none}

.cartouche-arrival{position:relative;display:flex;min-height:calc(100svh - 5.5rem);flex-direction:column;padding:0 var(--pad) 2rem;background:var(--limestone)}.season-line{display:flex;justify-content:space-between;padding:1.1rem 0;border-bottom:1px solid rgba(52,49,44,.35)}.cartouche{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;width:min(72rem,88%);margin:2.5rem auto;padding:4rem;border:1px solid var(--ink);text-align:center}.cartouche::before,.cartouche::after{position:absolute;inset:10px;border:1px solid rgba(52,49,44,.45);content:""}.cartouche::after{inset:20px;border-style:double}.cartouche-flourish{position:absolute;z-index:2;top:-1.1rem;padding:0 1rem;background:var(--limestone);color:var(--burgundy);font-size:1.5rem}.cartouche>p{font-size:.62rem;font-weight:600;letter-spacing:.2em}.cartouche h1{position:relative;z-index:2;margin:1rem 0 1.8rem}.cartouche-sub{display:flex;width:65%;gap:1.5rem;align-items:center;justify-content:center;font-size:.62rem;letter-spacing:.18em}.cartouche-sub i{flex:1;border-top:1px solid}.cartouche address{margin-top:1.5rem;font-family:var(--serif);font-size:1.05rem}.arrival-ledger{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.arrival-ledger>div{padding:1rem;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);text-align:center}.arrival-ledger span{font-size:.54rem;letter-spacing:.15em}.arrival-ledger p{margin:.3rem 0 0;font-family:var(--serif)}.opening-note{align-self:center;margin-top:1.7rem;font-family:var(--serif);font-style:italic}.opening-note span{margin-left:2rem}

.period{padding:8rem var(--pad)}.period-heading{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;padding:1rem 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.period-heading span:last-child{text-align:right}.rooms-period{min-height:100vh;background:var(--ivory)}.rooms-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:6rem;align-items:end;padding:7rem 0}.rooms-intro h2{margin:0}.rooms-intro p{font-family:var(--serif);font-size:1.2rem}.room-programme{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.room-programme article{display:grid;grid-template-columns:.25fr 1fr;gap:2rem;min-height:20rem;padding:3rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.room-programme article:first-child{grid-row:span 2;align-items:center}.period-number{align-self:start;color:var(--burgundy);font-family:var(--serif);font-size:3rem;font-style:italic}.room-programme h3{margin:0 0 1.5rem}.room-programme p{font-family:var(--serif);font-size:1.05rem}.room-programme dl{margin:2rem 0 0;padding-top:1rem;border-top:1px solid var(--line)}.room-programme dt{font-size:.55rem;letter-spacing:.14em}.room-programme dd{margin:.3rem 0 0;font-family:var(--serif)}.rooms-period>.button{margin-top:3rem}

.lunch-period{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:5rem;background:var(--charcoal);color:var(--ivory)}.lunch-period .period-heading{grid-column:1/-1;border-color:var(--dark-line)}.lunch-title h2{margin:1.5rem 0}.lunch-title>p,.menu-list span{font-size:.55rem;letter-spacing:.16em}.menu-list>div{padding:1.5rem 0;border-bottom:1px solid var(--dark-line)}.menu-list p{margin:.5rem 0 0;color:#c5bfb4;font-family:var(--serif);font-size:1.05rem}.lunch-note{align-self:end}.lunch-note p{color:#c5bfb4;font-family:var(--serif);font-size:1.1rem}.lunch-note .line-link{margin-top:1.5rem}

.terrace-period{display:grid;grid-template-columns:.65fr 1.35fr;gap:7rem;align-items:center;background:var(--limestone)}.terrace-period .period-heading{grid-column:1/-1}.terrace-copy h2{margin:1.5rem 0 2rem}.terrace-copy>p:last-child{font-family:var(--serif);font-size:1.15rem}.classical-inset{margin:4rem 0}.image-frame{position:relative;padding:1.1rem;border:1px solid var(--ink)}.image-frame::after{position:absolute;inset:6px;border:1px solid rgba(52,49,44,.5);content:"";pointer-events:none}.image-frame img{aspect-ratio:10/7}.classical-inset figcaption,.drawing-period figcaption{display:flex;justify-content:space-between;margin-top:.8rem;font-family:var(--serif);font-style:italic}.classical-inset figcaption span{font-family:var(--sans);font-size:.55rem;font-style:normal;letter-spacing:.16em}

.drawing-period{display:grid;grid-template-columns:1.1fr .9fr;gap:7rem;align-items:center;background:var(--ivory)}.drawing-period .period-heading{grid-column:1/-1}.drawing-period figure{margin:4rem 0 0}.drawing-period figure img{aspect-ratio:7/6}.drawing-period figcaption{font-family:var(--sans);font-size:.53rem;font-style:normal;letter-spacing:.16em}.drawing-copy h2{margin:1.5rem 0 3rem}.timetable{border-top:1px solid var(--line)}.timetable>div{display:grid;grid-template-columns:.25fr 1fr;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--line)}.timetable time{font-family:var(--serif);font-size:1.1rem}.timetable p{margin:0;font-family:var(--serif)}.candle-interlude{display:grid;grid-template-columns:.35fr 1fr;gap:5rem;align-items:center;padding:5rem max(var(--pad),12vw);background:var(--charcoal);color:var(--ivory)}.candle-interlude figure{margin:0}.candle-interlude img{aspect-ratio:18/13}.candle-interlude figcaption{margin-top:.7rem;font-size:.5rem;letter-spacing:.15em}.candle-interlude>p{font-family:var(--serif);font-size:clamp(2rem,4vw,4.2rem);line-height:1.05}.casino-door{background:var(--burgundy);color:var(--ivory)}.casino-door .period-heading{border-color:#a86f70}.casino-door>div{max-width:64rem;margin:auto;padding:8rem 0;text-align:center}.casino-door h2{margin:1.5rem 0 2rem}.casino-door>div>p:not(.section-label){max-width:47rem;margin:0 auto 3rem;color:#e1ceca;font-family:var(--serif);font-size:1.25rem}.casino-door>div>p a{text-decoration:underline}.casino-door .button{border-color:var(--ivory)}.casino-door small{display:block;margin-top:1.5rem;font-size:.6rem;letter-spacing:.12em}

.programme-footer{display:grid;grid-template-columns:1.3fr 1fr .7fr 1.2fr auto;gap:3rem;padding:4rem var(--pad) 2rem;border-top:4px double var(--line);background:var(--charcoal);color:var(--ivory)}.programme-footer span{font-size:.55rem;letter-spacing:.16em}.programme-footer p{margin:.5rem 0;font-family:var(--serif);font-size:1.2rem}.programme-footer address{color:#bbb4aa;font-family:var(--serif)}.programme-footer nav,.programme-footer>div:nth-of-type(2){display:flex;flex-direction:column}.programme-footer nav a,.programme-footer>div:nth-of-type(2) a{font-size:.67rem}.programme-footer small{align-self:end;color:#827d76;font-size:.5rem;letter-spacing:.13em}

.casino-page{background:var(--ivory)}.casino-cartouche{padding:6rem var(--pad);background:var(--limestone)}.casino-title-frame{position:relative;max-width:72rem;margin:auto;padding:5rem;border:4px double var(--ink);text-align:center}.casino-title-frame::before,.casino-title-frame::after{position:absolute;top:50%;width:3rem;border-top:1px solid var(--burgundy);content:""}.casino-title-frame::before{left:-1.5rem}.casino-title-frame::after{right:-1.5rem}.casino-title-frame span,.casino-title-frame p{font-size:.58rem;letter-spacing:.18em}.casino-title-frame h1{margin:1rem 0}.manifesto{display:grid;grid-template-columns:1.3fr .4fr;gap:7rem;max-width:92rem;margin:auto;padding:9rem var(--pad)}.manifesto>div{align-self:center}.manifesto h2{margin:1.5rem 0 2.5rem}.manifesto>div>p:not(.section-label){max-width:52rem;font-family:var(--serif);font-size:1.3rem}.manifesto-ledger{display:flex;gap:2rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.2rem;border-top:1px solid var(--line)}.manifesto-ledger span{font-size:.54rem;letter-spacing:.13em}.manifesto figure{margin:0}.manifesto figure img{aspect-ratio:9/14}.manifesto figcaption{margin-top:.7rem;font-size:.52rem;letter-spacing:.15em}.gallery-programme{padding:0 var(--pad) 9rem;background:var(--charcoal);color:var(--ivory)}.gallery-period{padding-top:8rem}.gallery-period header{display:grid;grid-template-columns:.35fr 1fr auto;gap:3rem;align-items:end;padding-bottom:1.5rem;border-bottom:1px solid var(--dark-line)}.gallery-period header span,.gallery-period time{font-size:.56rem;letter-spacing:.16em}.gallery-period h2{margin:0;font-size:clamp(3.5rem,6vw,6.5rem)}.gallery-period figure{margin:2rem 0 0}.gallery-period figure img{height:min(68vw,58rem)}.gallery-period figcaption{display:grid;grid-template-columns:.35fr 1fr;gap:3rem;padding:1.2rem 0}.gallery-period figcaption span{font-size:.54rem;letter-spacing:.16em}.gallery-period figcaption p{max-width:45rem;color:#bdb8af;font-family:var(--serif);font-size:1.05rem}.closing-notice{display:grid;grid-template-columns:.65fr 1.2fr .5fr;gap:6rem;padding:10rem var(--pad);background:var(--limestone)}.closing-notice h2{margin:1.5rem 0}.rules-column{border-top:1px solid var(--ink)}.rules-column>div{display:grid;grid-template-columns:.3fr 1fr;gap:2rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.rules-column span{font-size:.55rem;letter-spacing:.14em}.rules-column p{margin:0;font-family:var(--serif)}.closing-notice aside{align-self:end}.closing-notice aside p{color:var(--muted);font-size:.7rem}.closing-notice aside p a{text-decoration:underline}.closing-notice aside .button{margin-top:1rem}

.contact-page{background:var(--cream)}.appointments-main{padding:9rem var(--pad)}.appointments-heading{display:grid;grid-template-columns:.35fr 1fr .6fr;gap:4rem;align-items:end;max-width:90rem;margin:auto 8rem}.appointments-heading h1{margin:0;font-size:clamp(5rem,9vw,9rem)}.appointments-heading>p:last-child{font-family:var(--serif);font-size:1.15rem}.appointment-ledger{display:grid;grid-template-columns:repeat(3,1fr);max-width:90rem;margin:auto;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.appointment-ledger>div{display:flex;min-height:15rem;flex-direction:column;padding:2rem;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.appointment-ledger span{font-size:.56rem;font-weight:600;letter-spacing:.15em}.appointment-ledger p{font-family:var(--serif)}.appointment-ledger a{font-size:.72rem;overflow-wrap:anywhere}.appointment-card{display:grid;grid-template-columns:.65fr 1.35fr;gap:6rem;max-width:90rem;margin:9rem auto;padding:5rem;border:4px double var(--ink);background:var(--ivory)}.card-heading h2{margin:1.5rem 0 2rem;font-size:clamp(3.5rem,5vw,5.6rem)}.card-heading span{font-size:.55rem;letter-spacing:.16em}.card-heading>p{font-family:var(--serif)}.appointment-card form{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem}.appointment-card label{display:grid;gap:.5rem}.appointment-card label span{font-size:.55rem;font-weight:600;letter-spacing:.14em}.appointment-card input,.appointment-card select,.appointment-card textarea{width:100%;padding:.8rem 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;outline:0;background:transparent;color:var(--ink);font-family:var(--serif);font-size:1.1rem}.appointment-card input:focus,.appointment-card select:focus,.appointment-card textarea:focus{border-color:var(--burgundy)}.appointment-card .full{grid-column:1/-1}.appointment-card .button{justify-self:start}.arrival-card{display:grid;grid-template-columns:1fr 1fr 1fr;max-width:90rem;margin:auto;border-top:1px solid var(--line)}.arrival-card>div{padding:2rem;border-right:1px solid var(--line)}.arrival-card>div:first-child{border-left:1px solid var(--line)}.arrival-card span{font-size:.55rem;font-weight:600;letter-spacing:.14em}.arrival-card p,.arrival-card address{margin-top:1rem;font-family:var(--serif)}

@media(max-width:1000px){.site-header{grid-template-columns:1fr auto}.reserve-link{display:none}.menu-button{display:block;padding:.7rem;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}.site-nav{position:absolute;top:100%;right:0;left:0;display:flex;flex-direction:column;gap:0;padding:1.5rem var(--pad);background:var(--cream);opacity:0;pointer-events:none;transform:translateY(-.5rem);transition:.2s}.site-nav.is-open{opacity:1;pointer-events:auto;transform:none}.site-nav a{padding:1rem 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.5rem;text-transform:none}.rooms-intro{grid-template-columns:1fr 1fr}.lunch-period{grid-template-columns:1fr 1fr}.lunch-note{grid-column:2}.terrace-period,.drawing-period{gap:4rem}.programme-footer{grid-template-columns:1fr 1fr 1fr}.programme-footer small{display:none}.manifesto{gap:4rem}.closing-notice{grid-template-columns:1fr 1.4fr}.closing-notice aside{grid-column:2}.appointments-heading{grid-template-columns:.35fr 1fr}.appointments-heading>p:last-child{grid-column:2}.appointment-card{grid-template-columns:1fr 1.4fr;gap:4rem;padding:3rem}}

@media(max-width:720px){h1{font-size:4.5rem}h2{font-size:3.6rem}.site-header{min-height:5rem}.cartouche-arrival{min-height:calc(100svh - 5rem)}.cartouche{width:100%;padding:3rem 1rem}.cartouche h1{font-size:4.4rem}.cartouche-sub{width:90%}.arrival-ledger{grid-template-columns:1fr}.arrival-ledger>div:nth-child(n+2){display:none}.period{padding:6rem var(--pad)}.period-heading{grid-template-columns:1fr auto}.period-heading span:last-child{display:none}.rooms-intro{display:block;padding:5rem 0}.rooms-intro p{margin-top:2rem}.room-programme{display:block}.room-programme article{min-height:0;padding:2.5rem 1.5rem}.lunch-period,.terrace-period,.drawing-period{display:block}.lunch-title,.menu-list,.lunch-note{margin-top:4rem}.classical-inset,.drawing-period figure{margin:4rem 0}.drawing-copy{margin-top:4rem}.candle-interlude{display:block;padding:5rem var(--pad)}.candle-interlude figure{width:70%;margin-bottom:3rem}.casino-door>div{padding:6rem 0}.programme-footer{display:block}.programme-footer>*{display:block;margin-top:2rem}.programme-footer nav{display:flex}.casino-cartouche{padding:8rem 1.25rem 4rem}.casino-title-frame{padding:4rem 1rem}.casino-title-frame h1{font-size:5.2rem}.manifesto{display:block;padding:6rem var(--pad)}.manifesto figure{width:62%;margin:4rem 0 0 auto}.gallery-programme{padding:0 var(--pad) 6rem}.gallery-period header{grid-template-columns:1fr auto}.gallery-period header h2{grid-column:1/-1;grid-row:2}.gallery-period figure img{height:65vh;min-height:31rem}.gallery-period figcaption{display:block}.closing-notice{display:block;padding:6rem var(--pad)}.closing-notice header,.closing-notice .rules-column,.closing-notice aside{margin-top:4rem}.rules-column>div{display:block}.rules-column span{display:block;margin-bottom:.5rem}.appointments-main{padding:6rem var(--pad)}.appointments-heading{display:block;margin:3rem auto 5rem}.appointments-heading h1{margin:1.5rem 0 2rem;font-size:4.5rem}.appointment-ledger{grid-template-columns:1fr}.appointment-ledger>div{min-height:12rem}.appointment-card{display:block;margin:6rem auto;padding:2rem 1.5rem}.appointment-card form{grid-template-columns:1fr;margin-top:4rem}.appointment-card .full{grid-column:auto}.arrival-card{grid-template-columns:1fr}.arrival-card>div{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
