:root{
  --paper:#f3ede2;--sheet:#fffaf1;--ink:#18201b;--blue:#24589e;--blue-deep:#17375f;--red:#b23a2e;--line:rgba(24,32,27,.24);
  --sans:'Inter',Arial,sans-serif;--serif:'Newsreader',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit;color:inherit}.eyebrow{font:600 9px/1.2 var(--sans);letter-spacing:.17em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.75,.2,1)}.reveal.in{opacity:1;transform:none}
.nav{position:fixed;z-index:60;top:12px;left:14px;right:14px;height:58px;border:1px solid rgba(24,32,27,.25);background:rgba(243,237,226,.9);backdrop-filter:blur(14px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 14px 0 18px;transition:.3s}.nav.compact{top:7px;height:52px;box-shadow:0 8px 24px rgba(20,28,22,.07)}.nav-brand{font:500 23px/1 var(--serif)}.nav-meta{display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.14em;text-transform:uppercase}.nav-meta i{width:22px;height:1px;background:currentColor}.nav-book{justify-self:end;background:var(--blue-deep);color:#fff;padding:12px 14px;font-size:8px;letter-spacing:.11em;text-transform:uppercase}.nav-book span{margin-left:8px}
.gingham{background-image:url('assets/gingham-blue.png');background-repeat:repeat-x;background-position:center;background-size:auto 100%}
.hero{min-height:100svh;padding:96px 3vw 40px;display:grid;place-items:center;background:linear-gradient(180deg,#f7f1e6 0,var(--paper) 100%)}.hero-sheet{width:min(1420px,94vw);min-height:calc(100svh - 136px);background:var(--sheet);border:1px solid rgba(24,32,27,.16);position:relative;padding:54px 5.5vw 58px;box-shadow:0 28px 80px rgba(57,44,29,.08)}.gingham-top,.gingham-bottom{position:absolute;left:0;right:0;height:18px}.gingham-top{top:0}.gingham-bottom{bottom:0}.hero-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--ink);padding-bottom:10px}.hero-head p{margin:0;font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.hero h1{font:400 clamp(104px,13vw,210px)/.72 var(--serif);letter-spacing:-.075em;text-align:center;margin:42px 0 28px}.hero-subline{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:end;margin-bottom:35px}.hero-subline p{margin:0;font:400 clamp(24px,2.7vw,47px)/1 var(--serif);letter-spacing:-.035em}.hero-subline p:last-child{text-align:right;font-size:clamp(31px,3.6vw,59px);color:var(--blue);font-style:italic}.hero-photo-run{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(200px,.7fr) minmax(180px,.75fr);gap:12px;height:min(40vh,390px)}.hero-photo-run figure{margin:0;position:relative;overflow:hidden;background:#d8cfbf}.hero-photo-run figure:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);pointer-events:none}.hero-photo-run figcaption{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(255,250,241,.93);padding:8px 10px;font-size:7px;letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px}.hero-photo-run figcaption b{font-weight:500}.hero-main-photo img,.hero-room-photo img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.hero-photo-run:hover .hero-main-photo img{transform:scale(1.025)}.hero-menu-note{background:var(--blue-deep);color:#fff;padding:23px 20px;display:flex;flex-direction:column;justify-content:space-between}.hero-menu-note>span{font-size:7px;font-weight:600;letter-spacing:.16em}.hero-menu-note strong{font:400 clamp(29px,2.4vw,43px)/.92 var(--serif);letter-spacing:-.025em}.hero-menu-note p{font-size:9px;line-height:1.55;margin:0;opacity:.78}.hero-room-photo figcaption{display:block}.hero-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:22px}.hero-bottom>a{font-size:9px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px}.hero-bottom>a span{margin-left:18px}.hero-bottom p{margin:0;font-size:8px;letter-spacing:.09em;text-transform:uppercase}.hero-bottom p a{border-bottom:1px solid}
.section-kicker{height:48px;border-block:1px solid var(--ink);display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;padding:0 4vw;font-size:8px;font-weight:600;letter-spacing:.15em}.section-kicker p{margin:0}.menu-stage{background:#f7f1e7;padding-bottom:90px}.menu-intro{padding:105px 5vw 80px;display:grid;grid-template-columns:2fr 1fr;gap:8vw;align-items:end}.menu-intro h2{font:400 clamp(78px,9.2vw,150px)/.76 var(--serif);letter-spacing:-.06em;margin:0}.menu-intro h2 em{color:var(--blue);font-weight:400}.menu-intro>p{max-width:440px;font-size:12px;line-height:1.7;margin:0 0 12px}.dish-theatre{min-height:770px;border-block:1px solid var(--ink);display:grid;grid-template-columns:46% 54%;background:var(--blue-deep);color:#fff}.dish-visual{min-height:770px;position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.28);display:grid;grid-template-rows:auto 1fr auto;padding:20px}.dish-frame-label{display:flex;justify-content:space-between;font-size:8px;font-weight:600;letter-spacing:.15em;position:relative;z-index:3}.dish-visual img{width:72%;height:64%;position:absolute;left:14%;top:18%;object-fit:cover;transition:opacity .25s,transform .55s cubic-bezier(.2,.75,.2,1);box-shadow:0 35px 65px rgba(0,0,0,.26)}.dish-visual img.swap{opacity:0;transform:scale(.94) translateY(12px)}.dish-visual>p{position:relative;z-index:3;align-self:end;margin:0;max-width:380px;font:400 24px/1.05 var(--serif);padding:13px 0}.dish-list{display:flex;flex-direction:column}.dish{flex:1;min-height:160px;background:transparent;color:#fff;border:0;border-bottom:1px solid rgba(255,255,255,.28);padding:19px 3vw;display:grid;grid-template-columns:52px 1fr auto;align-items:center;text-align:left;cursor:pointer;transition:.25s}.dish:last-child{border-bottom:0}.dish span,.dish small{font-size:8px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.dish strong{font:400 clamp(45px,4.4vw,76px)/.86 var(--serif);letter-spacing:-.045em}.dish small{opacity:.6;text-align:right}.dish:hover,.dish.active{background:#fff;color:var(--blue-deep)}.dish.active small{opacity:.75}.menu-footnote{margin:0 5vw;padding:26px 0;border-bottom:1px solid var(--ink);display:grid;grid-template-columns:1.3fr 1fr;gap:4vw}.menu-footnote span{font-size:9px;font-weight:600;letter-spacing:.13em}.menu-footnote p{font-size:10px;margin:0;text-align:right}
.recipe-story{padding:125px 7vw 145px;background:#76271f;color:#fff;display:grid;grid-template-columns:.78fr 1.22fr;gap:9vw;align-items:start}.recipe-copy{position:sticky;top:115px}.recipe-copy h2{font:400 clamp(68px,6.4vw,108px)/.79 var(--serif);letter-spacing:-.055em;margin:27px 0 35px}.recipe-copy h2 em{font-weight:400;color:#f1c7a5}.recipe-copy>p:last-child{font-size:12px;line-height:1.7;max-width:390px}.newspaper{background:#f1eadc;color:#191510;min-height:790px;padding:35px 38px 62px;box-shadow:13px 16px 0 rgba(51,15,11,.24),0 28px 70px rgba(32,8,6,.25);transform:rotate(1.2deg);position:relative}.newspaper:before{content:"";position:absolute;inset:10px;border:1px solid rgba(25,21,16,.26);pointer-events:none}.newspaper header{display:flex;justify-content:space-between;align-items:center;font:600 8px var(--sans);letter-spacing:.14em}.newspaper header b{font:500 32px var(--serif)}.news-rule{height:5px;border-block:1px solid;margin:11px 0 16px}.news-top{display:flex;justify-content:space-between;align-items:start}.news-top span{font-size:8px;font-weight:600;letter-spacing:.12em}.news-top strong{font:500 clamp(27px,2.7vw,44px)/.78 var(--serif);text-align:right}.newspaper h3{font:400 clamp(73px,8vw,132px)/.71 var(--serif);letter-spacing:-.065em;margin:42px 0 25px}.newspaper h3 i{font-weight:400;color:var(--red)}.byline{border-block:1px solid;padding:9px 0;display:flex;justify-content:space-between;align-items:center}.byline b{font:500 18px var(--serif)}.byline span{font-size:8px;letter-spacing:.13em;text-transform:uppercase}.ingredient-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}.ingredient-grid p{font-size:9px;line-height:1.55}.ingredient-grid b{text-transform:uppercase;letter-spacing:.08em}.news-copy{font:400 18px/1.35 var(--serif);columns:2;column-gap:28px;margin:28px 0 55px;max-width:90%}.newspaper>a{position:absolute;left:38px;bottom:31px;font-size:8px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:4px}.newspaper>a span{margin-left:11px}
.room-story{min-height:100svh;background:#d7ccba;position:relative;padding:95px 5vw;display:grid;grid-template-columns:1fr;align-items:center;overflow:hidden}.room-image-wrap{width:min(1180px,78vw);height:76svh;min-height:560px;max-height:850px;margin-left:auto;position:relative;overflow:hidden;background:#8f846f}.room-image{transform:scale(1.08);will-change:transform}.room-stamp{position:absolute;right:0;top:0;background:var(--sheet);border-left:1px solid var(--ink);border-bottom:1px solid var(--ink);width:165px;height:165px;display:grid;place-items:center;text-align:center;padding:15px}.room-stamp span{font-size:7px;font-weight:600;letter-spacing:.14em}.room-stamp b{font:400 65px/.8 var(--serif);color:var(--blue)}.room-panel{position:absolute;left:5vw;bottom:10vh;width:min(590px,44vw);background:rgba(255,250,241,.94);padding:53px 42px 35px;overflow:hidden}.room-panel:before{content:"";position:absolute;left:0;right:0;top:0;height:15px;background:url('assets/gingham-blue-clean.png') repeat-x left top/auto 100%}.room-panel h2{font:400 clamp(58px,5.8vw,97px)/.77 var(--serif);letter-spacing:-.055em;margin:26px 0 27px}.room-panel h2 em{font-weight:400;color:var(--blue)}.room-panel>p:not(.eyebrow){font-size:11px;line-height:1.7;max-width:430px}.room-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid;margin-top:28px;padding-top:18px}.room-facts span{font-size:8px;line-height:1.5;text-transform:uppercase;letter-spacing:.09em}.room-facts b{display:block;font:400 31px/1 var(--serif);letter-spacing:-.02em;text-transform:none;margin-bottom:5px}
.receipt-section{min-height:870px;background:var(--blue-deep);color:#fff;padding:115px 8vw;display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:center;position:relative}.receipt-section:before{content:"";position:absolute;top:0;left:0;right:0;height:16px;background:url('assets/gingham-blue.png') repeat-x center/auto 100%}.receipt-copy p{font:400 25px/1.25 var(--serif);opacity:.72;margin:0 0 25px}.receipt-copy h2{font:400 clamp(67px,7.2vw,124px)/.78 var(--serif);letter-spacing:-.06em;margin:0}.receipt-copy h2 em{font-weight:400;color:#d7e5f8}.receipt{width:min(390px,100%);justify-self:center;background:#fffaf1;color:var(--ink);padding:36px 31px 45px;box-shadow:17px 20px 0 rgba(0,0,0,.17);transform:rotate(1.8deg);position:relative}.receipt:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:18px;background:linear-gradient(135deg,#fffaf1 9px,transparent 0) 0 0/18px 18px repeat-x}.receipt header{text-align:center;display:flex;flex-direction:column;font-size:8px;font-weight:500;line-height:1.6;letter-spacing:.12em}.receipt header b{font:500 35px/1 var(--serif);margin-bottom:9px}.receipt-dash{border-top:1px dashed;margin:25px 0}.receipt-row{display:flex;justify-content:space-between;font-size:10px;font-weight:500;letter-spacing:.09em;padding:6px 0}.receipt p{font:400 25px/1.18 var(--serif);margin:27px 0}.receipt-total{border-block:2px solid;padding:13px 0;display:flex;justify-content:space-between;font-size:12px;font-weight:600}.receipt small{display:block;text-align:center;margin-top:25px;font-size:6px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;opacity:.6}
.booking{padding:120px 5vw;background:#f3ede2;display:grid;place-items:center}.booking-card{position:relative;overflow:hidden;background:var(--sheet);width:min(1060px,92vw);min-height:690px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:110px 14vw;box-shadow:0 30px 70px rgba(49,38,25,.11)}.booking-gingham{position:absolute;pointer-events:none;background-position:left top}.booking-gingham-top,.booking-gingham-bottom{left:0;right:0;height:42px;background-image:url('assets/gingham-blue-clean.png');background-repeat:repeat-x;background-size:auto 100%;z-index:3}.booking-gingham-top{top:0}.booking-gingham-bottom{bottom:0}.booking-gingham-left,.booking-gingham-right{top:0;bottom:0;width:42px;background-image:url('assets/gingham-blue-vertical.png');background-repeat:repeat-y;background-size:100% auto;z-index:2}.booking-gingham-left{left:0}.booking-gingham-right{right:0}.booking-card>p:first-of-type{font-size:9px;font-weight:600;letter-spacing:.15em;margin:0}.booking-card h2{font:400 clamp(76px,8.4vw,138px)/.75 var(--serif);letter-spacing:-.06em;margin:45px 0 30px}.booking-card h2 em{font-weight:400;color:var(--blue)}.booking-note{max-width:470px;font-size:11px;line-height:1.7;margin:0 0 28px}.phone{font:500 clamp(25px,2.8vw,43px)/1 var(--serif);border-bottom:1px solid;padding-bottom:5px}.booking-address{margin-top:23px;font-size:8px;line-height:1.7;letter-spacing:.12em;text-transform:uppercase}
footer{background:#121b2a;color:#fff;min-height:170px;padding:38px 4vw;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center}footer>a{font:400 45px var(--serif)}footer p{font-size:8px;letter-spacing:.13em;text-transform:uppercase;opacity:.55}footer nav{display:flex;gap:22px;font-size:8px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:1000px){.nav-meta{display:none}.nav{grid-template-columns:1fr auto}.hero-sheet{padding-inline:4vw}.hero-photo-run{grid-template-columns:1.7fr .7fr}.hero-room-photo{display:none}.menu-intro{grid-template-columns:1fr}.menu-intro>p{margin-left:auto}.dish-theatre{grid-template-columns:44% 56%}.dish strong{font-size:50px}.recipe-story{gap:5vw}.room-panel{width:52vw}.receipt-section{gap:5vw}.booking-card{padding-inline:10vw}}
@media(max-width:700px){.nav{top:7px;left:7px;right:7px;height:52px;padding:0 7px 0 12px}.nav-brand{font-size:20px}.nav-book{padding:11px}.nav-book span{display:none}.hero{min-height:auto;padding:72px 8px 22px}.hero-sheet{width:100%;min-height:0;padding:37px 13px 38px}.gingham-top,.gingham-bottom{height:12px}.hero-head{padding-bottom:8px}.hero-head p{font-size:5.5px;letter-spacing:.1em}.hero-head p:last-child{display:none}.hero h1{font-size:clamp(76px,23vw,104px);line-height:.75;margin:31px 0 19px;text-align:left;letter-spacing:-.068em}.hero-subline{grid-template-columns:1fr;gap:5px;margin-bottom:24px}.hero-subline p{font-size:26px;line-height:.96}.hero-subline p:last-child{text-align:left;font-size:34px}.hero-photo-run{height:auto;display:grid;grid-template-columns:1fr 116px;grid-template-rows:270px auto;gap:7px}.hero-main-photo{grid-column:1/3}.hero-menu-note{grid-column:1;padding:15px;min-height:175px}.hero-menu-note strong{font-size:27px;margin:16px 0}.hero-menu-note p{font-size:7px}.hero-room-photo{display:block;grid-column:2;grid-row:2;height:175px}.hero-photo-run figcaption{font-size:5.5px;padding:7px}.hero-main-photo figcaption b{display:none}.hero-bottom{align-items:flex-end;margin-top:18px}.hero-bottom>a{font-size:7px}.hero-bottom p{font-size:6px;text-align:right}.section-kicker{height:41px;padding:0 13px;grid-template-columns:28px 1fr;font-size:6px}.section-kicker p:last-child{display:none}.menu-stage{padding-bottom:55px}.menu-intro{padding:66px 14px 47px;gap:24px}.menu-intro h2{font-size:clamp(67px,20vw,87px);line-height:.75}.menu-intro>p{font-size:10px;line-height:1.65;margin:0}.dish-theatre{display:flex;flex-direction:column;min-height:0}.dish-visual{min-height:485px;border-right:0;border-bottom:1px solid rgba(255,255,255,.3);padding:15px}.dish-visual img{width:78%;height:67%;left:11%;top:16%}.dish-visual>p{font-size:20px}.dish{min-height:105px;padding:13px 14px;grid-template-columns:30px 1fr auto}.dish strong{font-size:37px}.dish span,.dish small{font-size:6px}.menu-footnote{margin:0 14px;padding:20px 0;grid-template-columns:1fr;gap:10px}.menu-footnote span{font-size:7px;line-height:1.5}.menu-footnote p{text-align:left;font-size:8px}.recipe-story{padding:76px 14px 92px;grid-template-columns:1fr;gap:45px}.recipe-copy{position:static}.recipe-copy h2{font-size:66px;line-height:.77;margin:21px 0 25px}.recipe-copy>p:last-child{font-size:10px}.newspaper{width:calc(100% - 5px);min-height:690px;padding:21px 19px 48px;box-shadow:8px 10px 0 rgba(51,15,11,.24),0 18px 40px rgba(32,8,6,.25)}.newspaper:before{inset:6px}.newspaper header{font-size:5px}.newspaper header b{font-size:24px}.news-top span{font-size:5.5px}.news-top strong{font-size:23px}.newspaper h3{font-size:clamp(60px,18vw,78px);margin:30px 0 19px}.byline{display:block}.byline b{display:block;font-size:13px;margin-bottom:3px}.byline span{font-size:6px}.ingredient-grid{gap:8px}.ingredient-grid p{font-size:6.6px}.news-copy{font-size:13px;columns:1;max-width:100%;margin:22px 0 46px}.newspaper>a{left:19px;bottom:25px;font-size:6.5px}.room-story{min-height:760px;padding:65px 14px 70px;display:block}.room-image-wrap{width:100%;height:60svh;min-height:430px;max-height:600px;margin:0}.room-stamp{width:105px;height:105px;padding:8px}.room-stamp span{font-size:4.5px}.room-stamp b{font-size:43px}.room-panel{position:relative;left:auto;bottom:auto;width:92%;margin:-65px auto 0;padding:39px 24px 25px}.room-panel:before{height:11px}.room-panel h2{font-size:58px;margin:20px 0 22px}.room-panel>p:not(.eyebrow){font-size:9.5px}.room-facts{grid-template-columns:1fr}.receipt-section{min-height:auto;padding:85px 14px 95px;grid-template-columns:1fr;gap:60px}.receipt-section:before{height:11px}.receipt-copy p{font-size:18px;margin-bottom:18px}.receipt-copy h2{font-size:59px}.receipt{width:min(92%,370px);padding:30px 25px 39px}.receipt p{font-size:22px}.booking{padding:72px 9px}.booking-card{width:100%;min-height:610px;padding:78px 32px}.booking-gingham-top,.booking-gingham-bottom{height:25px}.booking-gingham-left,.booking-gingham-right{width:25px}.booking-card>p:first-of-type{font-size:6px}.booking-card h2{font-size:70px;margin:34px 0 25px}.booking-note{font-size:9px;line-height:1.6}.phone{font-size:26px}.booking-address{font-size:6px}footer{padding:38px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:13px}footer>a{font-size:42px}footer p{margin:0}footer nav{width:100%;justify-content:space-between;gap:8px;font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.room-image,.hero-main-photo img{transition:none!important}}
