:root{--black:#0c0b0a;--ink:#15120f;--cream:#e8e1d5;--paper:#d7d0c4;--ember:#e65f23;--copper:#a64b28;--ash:#7e7971;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font:400 15px/1.6 "Manrope",sans-serif}body.dialog-open{overflow:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.skip-link{position:fixed;z-index:1000;top:10px;left:10px;padding:10px 15px;color:var(--black);background:white;transform:translateY(-160%)}.skip-link:focus{transform:none}.grain{position:fixed;z-index:999;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}.scroll-progress{position:fixed;z-index:100;right:0;top:0;bottom:0;width:2px;background:rgba(255,255,255,.08)}.scroll-progress span{display:block;width:100%;height:100%;background:var(--ember);transform:scaleY(0);transform-origin:top}
.nav{position:absolute;z-index:20;top:0;right:0;left:0;height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,.2)}.brand{display:flex;align-items:center;color:inherit;text-decoration:none;font:600 21px "DM Sans",sans-serif;letter-spacing:.12em}.brand i{width:7px;height:7px;margin:0 3px;border-radius:50%;background:var(--ember);box-shadow:0 0 16px var(--ember)}.nav nav{display:flex;gap:38px}.nav nav a{position:relative;color:inherit;text-decoration:none;font-size:11px}.nav nav a:after{content:"";position:absolute;right:0;bottom:-6px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 180ms var(--ease-out)}.nav-reserve{justify-self:end;padding:13px 0;border:0;color:inherit;background:transparent;cursor:pointer;font-size:11px}.nav-reserve span{display:inline-block;margin-left:18px}
.hero{position:relative;height:100svh;min-height:700px;overflow:hidden}.hero__media{position:absolute;inset:-10%;overflow:hidden}.hero__media img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,0,0) scale(1.12);will-change:transform}.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,3,.86),rgba(5,4,3,.18) 64%),linear-gradient(0deg,rgba(5,4,3,.6),transparent 55%)}.hero__ember{position:absolute;right:10%;bottom:12%;width:160px;height:160px;border-radius:50%;background:rgba(230,95,35,.18);filter:blur(55px);animation:ember-breathe 4s linear infinite alternate}.hero__meta{position:absolute;z-index:2;top:128px;right:4vw;left:4vw;display:flex;justify-content:space-between;font:500 9px "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase}.hero__title{position:absolute;z-index:2;right:4vw;bottom:7vh;left:4vw}.hero__title>p{margin:0 0 18px;font:600 9px "DM Sans",sans-serif;letter-spacing:.23em;text-transform:uppercase}.hero h1{display:flex;align-items:center;margin:0;font:500 clamp(120px,19vw,300px)/.64 "DM Sans",sans-serif;letter-spacing:-.085em}.hero h1 .spark{flex:none;width:18px;height:18px;margin:25px 12px 0 20px;border-radius:50%;background:var(--ember);box-shadow:0 0 35px rgba(230,95,35,.75)}.hero__statement{width:min(770px,65vw);display:flex;align-items:flex-end;justify-content:space-between;margin-top:55px}.hero__statement p{margin:0;color:rgba(255,255,255,.8);font-size:14px}.hero__statement a{color:white;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55);font-size:11px}.hero__statement a span{display:inline-block;margin-left:18px}.hero__index{position:absolute;z-index:2;right:4vw;bottom:8vh;display:flex;align-items:center;gap:8px;font:500 9px "DM Sans",sans-serif}.hero__index i{width:50px;height:1px;background:rgba(255,255,255,.5)}.hero-reveal{opacity:0;transform:translateY(32px);transition:opacity 900ms var(--ease-out),transform 900ms var(--ease-out)}body.is-ready .hero-reveal{opacity:1;transform:none}.hero__meta{transition-delay:80ms}.word-b{transition-delay:100ms}.hero__statement{transition-delay:180ms}
.section-tag{display:flex;gap:25px;font:600 9px "DM Sans",sans-serif;letter-spacing:.19em;text-transform:uppercase}.section-tag span{color:var(--ember)}.philosophy{position:relative;min-height:1050px;display:grid;grid-template-columns:20% 1fr;grid-template-rows:auto 1fr;padding:130px 6vw;overflow:hidden;color:var(--ink);background:var(--cream)}.philosophy__headline{align-self:center}.philosophy__headline>p{margin:0 0 55px;color:#756e65;font-size:13px}.philosophy h2,.ingredient h2,.menu h2{margin:0;font:500 clamp(66px,8vw,124px)/.84 "DM Sans",sans-serif;letter-spacing:-.07em}.philosophy h2 em,.ingredient h2 em,.menu h2 em,.room h2 em,.reservation h2 em{color:var(--copper);font:400 italic 1.08em "Newsreader",Georgia,serif}.philosophy__aside{grid-column:2;width:440px;justify-self:end;align-self:end;margin-right:6vw}.philosophy__aside p{color:#625b53}.philosophy__aside span{display:block;margin-top:28px;padding-top:12px;border-top:1px solid #aaa096;font:600 9px "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase}.philosophy__mark{position:absolute;right:-50px;bottom:-170px;color:rgba(40,30,22,.045);font:600 520px/.8 "DM Sans",sans-serif;letter-spacing:-.1em}
.fire-story{height:300vh}.fire-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.fire-sticky__media{position:absolute;inset:-12%;overflow:hidden}.fire-sticky__media img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,0,0) scale(1.12);will-change:transform}.fire-sticky__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,4,.65),rgba(8,6,4,.04) 70%),linear-gradient(0deg,rgba(8,6,4,.45),transparent)}.fire-sticky__top{position:absolute;z-index:2;top:40px;right:4vw;left:4vw;display:flex;justify-content:space-between;font:500 9px "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase}.fire-sticky__line{position:absolute;z-index:2;top:0;bottom:0;left:4vw;width:1px;background:rgba(255,255,255,.2)}.fire-sticky__line span{display:block;width:1px;height:100%;background:var(--ember);transform:scaleY(.08);transform-origin:top}.fire-scene{position:absolute;z-index:2;top:50%;left:9vw;opacity:0;transform:translateY(8%);transition:opacity 500ms var(--ease-out),transform 500ms var(--ease-out)}.fire-scene.is-active{opacity:1;transform:translateY(-50%)}.fire-scene>span{color:var(--ember);font:500 10px "DM Sans",sans-serif}.fire-scene h2{margin:20px 0 28px;font:500 clamp(75px,9vw,145px)/.8 "DM Sans",sans-serif;letter-spacing:-.07em}.fire-scene h2 em{color:var(--ember);font:400 italic 1.02em "Newsreader",Georgia,serif}.fire-scene p{margin:0;padding-top:12px;border-top:1px solid rgba(255,255,255,.55);font-size:11px}
.ingredient{position:relative;min-height:1300px;padding:140px 6vw;overflow:hidden;color:var(--ink);background:var(--paper)}.ingredient__layout{display:grid;grid-template-columns:1fr 42%;gap:10vw;margin-top:90px}.ingredient__copy{align-self:center}.ingredient h2{font-size:clamp(62px,7vw,108px)}.ingredient__copy p{max-width:430px;margin:48px 0 0 18%;color:#686158}.ingredient__image{position:relative;z-index:1;margin:0}.ingredient__image>div{height:820px;overflow:hidden}.ingredient__image img{width:100%;height:120%;margin-top:-10%;object-fit:cover;transform:translate3d(0,0,0) scale(1.08);will-change:transform}.ingredient__image figcaption{display:flex;justify-content:space-between;margin-top:14px;font:600 9px "DM Sans",sans-serif;letter-spacing:.15em;text-transform:uppercase}.ingredient__image figcaption span:last-child{color:#756e65}.ingredient__word{position:absolute;left:-20px;bottom:-70px;color:rgba(20,16,13,.04);font:600 clamp(250px,35vw,530px)/.7 "DM Sans",sans-serif;letter-spacing:-.1em}
.menu{padding:140px 6vw;color:var(--cream);background:var(--black)}.menu__header{display:grid;grid-template-columns:20% 1fr 25%;align-items:end}.menu h2{font-size:clamp(64px,7vw,110px)}.menu__intro{align-self:end}.menu__intro p{color:#8c857c}.menu__intro strong{font:500 12px "DM Sans",sans-serif}.courses{list-style:none;margin:110px 0 0;padding:0;border-top:1px solid #38332e}.courses li{display:grid;grid-template-columns:8% 1fr 15%;align-items:center;min-height:116px;border-bottom:1px solid #38332e;transition:background-color 180ms ease,color 180ms ease}.courses li>span{color:var(--ember);font:500 9px "DM Sans",sans-serif}.courses li div{display:flex;align-items:baseline;gap:30px}.courses strong{font:400 32px "Newsreader",Georgia,serif}.courses small{color:#8d867c}.courses i{justify-self:end;color:#6f6961;font:400 italic 17px "Newsreader",Georgia,serif}.menu__note{margin:30px 0 0;color:#6d6760;font-size:10px}
.room{position:relative;min-height:1000px;display:flex;align-items:flex-end;overflow:hidden}.room__media{position:absolute;inset:-10%;overflow:hidden}.room__media img{width:100%;height:100%;object-fit:cover;transform:translate3d(0,0,0) scale(1.12);will-change:transform}.room__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,4,3,.72),rgba(6,4,3,.05) 70%),linear-gradient(0deg,rgba(6,4,3,.58),transparent 55%)}.room__copy{position:relative;z-index:2;width:min(900px,75vw);padding:0 0 10vh 6vw}.room__copy>span{font:600 9px "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase}.room h2{margin:25px 0 35px;font:500 clamp(68px,8vw,124px)/.82 "DM Sans",sans-serif;letter-spacing:-.07em}.room__copy p{max-width:450px;color:rgba(255,255,255,.7)}.room__details{position:absolute;z-index:2;right:4vw;bottom:9vh;display:flex;gap:28px;font:500 9px "DM Sans",sans-serif;letter-spacing:.15em;text-transform:uppercase}
.booking-cta{position:relative;min-height:760px;display:grid;place-content:center;justify-items:center;overflow:hidden;color:var(--ink);background:var(--ember);text-align:center}.booking-cta>p{margin:0;font:500 clamp(70px,10vw,150px)/.82 "DM Sans",sans-serif;letter-spacing:-.075em}.booking-cta>button{display:flex;align-items:center;gap:40px;margin-top:60px;padding:7px 7px 7px 23px;border:1px solid rgba(20,12,8,.5);border-radius:99px;color:var(--ink);background:transparent;cursor:pointer}.booking-cta>button i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:var(--cream);background:var(--ink);font-style:normal;transition:transform 180ms var(--ease-out)}.booking-cta__embers{position:absolute;inset:0;pointer-events:none}.booking-cta__embers i{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffb078;opacity:.7;animation:float-ember 4s linear infinite}.booking-cta__embers i:nth-child(1){left:18%;bottom:20%;animation-delay:-1s}.booking-cta__embers i:nth-child(2){left:73%;bottom:15%;animation-delay:-2.5s}.booking-cta__embers i:nth-child(3){left:88%;bottom:38%;animation-delay:-.5s}
.footer{min-height:430px;display:grid;grid-template-columns:1fr 1fr;align-content:space-between;padding:75px 6vw 35px;background:#080706}.footer>div:nth-child(2){display:grid;grid-template-columns:repeat(3,1fr);gap:40px;color:#827b73;font-size:11px}.footer a{color:inherit}.footer__bottom{grid-column:1/-1;display:flex!important;justify-content:space-between;padding-top:20px;border-top:1px solid #302c28;font:500 9px "DM Sans",sans-serif!important;letter-spacing:.13em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 700ms var(--ease-out),transform 700ms var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}
.reservation{width:min(660px,calc(100% - 30px));padding:0;border:0;color:var(--ink);background:var(--cream);box-shadow:0 35px 100px rgba(0,0,0,.5)}.reservation::backdrop{background:rgba(4,3,2,.82);backdrop-filter:blur(8px)}.reservation[open]{animation:dialog-in 260ms var(--ease-out)}.reservation__close{position:absolute;z-index:2;top:18px;right:18px;width:42px;height:42px;border:1px solid #a79d90;border-radius:50%;background:transparent;cursor:pointer;font-size:21px}.reservation__form,.reservation__success{padding:65px 58px 55px}.reservation__form>p,.reservation__success>p{margin:0 0 18px;font:600 9px "DM Sans",sans-serif;letter-spacing:.18em;text-transform:uppercase}.reservation h2{margin:0;font:500 56px/.88 "DM Sans",sans-serif;letter-spacing:-.055em}.reservation form{margin-top:38px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.reservation label{display:block;margin-bottom:18px;color:#665e55;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.reservation input:not([type="checkbox"]),.reservation select{width:100%;margin-top:8px;padding:12px 0;border:0;border-bottom:1px solid #9b9186;border-radius:0;background:transparent;outline:none}.reservation input:focus,.reservation select:focus{border-bottom-color:var(--ink);box-shadow:0 1px var(--ink)}.reservation .consent{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;line-height:1.45}.reservation .consent input{margin-top:2px;accent-color:var(--ember)}.reservation form>button,.reservation__success button{width:100%;display:flex;justify-content:space-between;padding:17px 20px;border:0;color:var(--cream);background:var(--ink);cursor:pointer}.reservation__success{display:none;min-height:550px;text-align:center;place-content:center}.reservation__success>span{width:50px;height:50px;display:grid;margin:0 auto 25px;place-items:center;border-radius:50%;color:white;background:var(--copper)}.reservation__success small{display:block;margin-top:24px;color:#776e64}.reservation__success button{display:block;max-width:210px;margin:35px auto 0}.reservation.is-success .reservation__form{display:none}.reservation.is-success .reservation__success{display:grid}
@keyframes ember-breathe{to{opacity:.55;transform:scale(1.12)}}@keyframes float-ember{0%{opacity:0;transform:translate3d(0,20px,0)}25%{opacity:.8}100%{opacity:0;transform:translate3d(30px,-180px,0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(4%) scale(.97)}}
@media(hover:hover) and (pointer:fine){.nav nav a:hover:after{transform:scaleX(1);transform-origin:left}.booking-cta>button:hover i{transform:rotate(45deg)}.courses li:hover{color:var(--black);background:var(--ember)}.courses li:hover small,.courses li:hover i,.courses li:hover>span{color:var(--black)}}
@media(max-width:800px){.scroll-progress{display:none}.nav{height:76px;grid-template-columns:1fr auto;padding:0 18px}.nav nav{display:none}.brand{font-size:17px}.nav-reserve{font-size:10px}.hero{min-height:760px}.hero__meta{top:105px;right:18px;left:18px}.hero__meta span:nth-child(2){display:none}.hero__title{right:18px;bottom:80px;left:18px}.hero h1{font-size:clamp(92px,31vw,138px)}.hero h1 .spark{width:10px;height:10px;margin:15px 6px 0 10px}.hero__statement{width:100%;display:block;margin-top:35px}.hero__statement a{display:inline-block;margin-top:25px}.hero__index{display:none}.philosophy{min-height:900px;grid-template-columns:1fr;grid-template-rows:auto;padding:90px 20px}.philosophy__headline{margin-top:90px}.philosophy h2,.ingredient h2,.menu h2{font-size:54px}.philosophy__aside{grid-column:1;width:100%;margin:70px 0 0}.philosophy__mark{font-size:330px}.fire-story{height:270vh}.fire-sticky__top{right:18px;left:18px}.fire-sticky__top span:last-child{display:none}.fire-sticky__line{left:12px}.fire-scene{left:30px}.fire-scene h2{font-size:62px}.ingredient{min-height:auto;padding:90px 20px}.ingredient__layout{grid-template-columns:1fr;gap:70px;margin-top:70px}.ingredient__copy p{margin:35px 0 0}.ingredient__image>div{height:620px}.ingredient__word{font-size:230px}.menu{padding:90px 20px}.menu__header{grid-template-columns:1fr;gap:50px}.courses{margin-top:70px}.courses li{grid-template-columns:35px 1fr;min-height:110px}.courses li div{display:block}.courses strong{font-size:27px}.courses small{display:block}.courses i{display:none}.room{min-height:780px}.room__copy{width:100%;padding:0 20px 120px}.room h2{font-size:58px}.room__details{right:20px;bottom:35px;left:20px;justify-content:space-between}.booking-cta{min-height:680px;padding:0 18px}.booking-cta>p{font-size:63px}.footer{grid-template-columns:1fr;gap:60px;padding:70px 20px 30px}.footer>div:nth-child(2){grid-template-columns:1fr;gap:15px}.footer__bottom{grid-column:1;flex-direction:column;gap:8px}.reservation__form,.reservation__success{padding:65px 24px 35px}.form-grid{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.hero-reveal,.fire-scene{transform:none!important;transition-property:opacity!important;transition-duration:160ms!important}.parallax{transform:none!important}}

.brand{gap:10px;font-size:18px}.brand img{width:38px;height:38px;object-fit:contain}
@media(max-width:800px){.brand img{width:32px;height:32px}}
