*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;background:#fff;color:#2B2218;font-family:'Jost',system-ui,sans-serif;font-weight:300;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg,video,iframe{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:'Forum',serif;font-weight:400;text-transform:uppercase;line-height:1.05;letter-spacing:.08em}
p{margin:0 0 1.1em}
:focus-visible{outline:2px solid #C4852A;outline-offset:3px}

.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 22px}

.h2{font-size:clamp(2rem,5.2vw,3.9rem);color:#6B4522}

.btn{display:inline-block;font-family:'Jost',sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:15px 28px;transition:background .25s,color .25s,transform .25s}
.btn--gold{background:#C4852A;color:#fff;border:1px solid #C4852A}
.btn--gold:hover{background:#6B4522;border-color:#6B4522}

.ulink{display:inline-block;font-family:'Jost',sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:#6B4522;padding-bottom:5px;border-bottom:2px solid #C4852A;transition:color .25s,border-color .25s}
.ulink:hover{color:#C4852A}
.ulink--light{color:#FBEBE5;border-bottom-color:#C4852A}
.ulink--light:hover{color:#C4852A}

/* thin double-rule brand motif */
.fret{display:block;width:104px;height:10px;margin-top:30px;background:
 linear-gradient(#C4852A,#C4852A) 0 0/104px 2px no-repeat,
 linear-gradient(#C4852A,#C4852A) 0 8px/46px 2px no-repeat;opacity:.9}

/* utility bar */
.utilbar{background:#6B4522;color:#FBEBE5;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.utilbar__in{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding-top:8px;padding-bottom:8px}
.utilbar a{color:#FBEBE5;text-decoration:none}
.utilbar a:hover{color:#e9c48a}
.utilbar .dot{opacity:.5}

/* header */
.hdr{position:sticky;top:0;z-index:60;background:transparent;transition:background .3s,box-shadow .3s}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;padding-bottom:12px}
.hdr.is-solid{background:#FBEBE5;box-shadow:0 1px 0 #E3D2C8}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.brand__mark{width:52px;height:52px;border-radius:50%;flex:none}
.brand__txt{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}
.brand__a{font-family:'Forum',serif;font-size:1.4rem;color:#6B4522;letter-spacing:.02em}
.brand__b{font-family:'Forum',serif;font-size:.9rem;color:#2B2218;letter-spacing:.06em}
.hdr:not(.is-solid) .brand__a,.hdr:not(.is-solid) .brand__b{color:#fff;text-shadow:0 1px 12px rgba(43,34,24,.55)}

.burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:0 10px;background:rgba(251,235,229,.92);border:1px solid #E3D2C8;cursor:pointer;flex:none}
.burger span{display:block;height:2px;background:#6B4522;transition:transform .25s,opacity .25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav{position:fixed;top:0;right:0;bottom:0;width:min(84%,330px);background:#FBEBE5;padding:92px 26px 40px;transform:translateX(105%);transition:transform .32s ease;z-index:70;overflow-y:auto;border-left:1px solid #E3D2C8}
.nav.is-open{transform:none}
.nav__list{list-style:none;margin:0 0 26px;padding:0}
.nav__list a{display:block;padding:13px 0;text-decoration:none;font-size:.85rem;font-weight:500;letter-spacing:.18em;color:#2B2218;border-bottom:1px solid #E3D2C8}
.nav__list a[aria-current="page"]{color:#C4852A}
.nav__cta{width:100%;text-align:center}
.scrim-nav{position:fixed;inset:0;background:rgba(43,34,24,.5);z-index:65}

@media(min-width:1040px){
  .burger{display:none}
  .scrim-nav{display:none!important}
  .nav{position:static;width:auto;background:none;padding:0;transform:none;display:flex;align-items:center;gap:24px;border:0;overflow:visible}
  .nav__list{display:flex;gap:20px;margin:0}
  .nav__list a{border:0;padding:4px 0;font-size:.72rem;letter-spacing:.15em;color:#2B2218;position:relative}
  .hdr:not(.is-solid) .nav__list a{color:#fff;text-shadow:0 1px 10px rgba(43,34,24,.6)}
  .nav__list a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:#C4852A;transition:right .25s}
  .nav__list a:hover::after,.nav__list a[aria-current="page"]::after{right:0}
  .nav__cta{width:auto;padding:12px 20px}
  .brand__mark{width:58px;height:58px}
}

/* hero */
.hero{position:relative;margin-top:-80px;min-height:min(100svh,880px);display:flex;align-items:flex-end;isolation:isolate}
@media(min-width:1040px){.hero{margin-top:-92px}}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 62%;z-index:-2}
.hero__scrim{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(to top,rgba(43,34,24,.9) 0%,rgba(43,34,24,.55) 40%,rgba(43,34,24,.06) 72%),
  linear-gradient(to right,rgba(43,34,24,.66) 0%,rgba(43,34,24,0) 64%)}
.hero__in{padding-top:170px;padding-bottom:112px;color:#fff;max-width:900px}
.hero__h1{font-size:clamp(1.15rem,2.6vw,1.7rem);letter-spacing:.34em;color:#fff}
.hero__big{display:inline-block;font-size:clamp(2.5rem,7.6vw,5.4rem);letter-spacing:.05em;line-height:1.02;margin:.16em 0}
.hero__tail{display:inline-block;letter-spacing:.4em}
.hero__sub{margin:26px 0 32px;max-width:44ch;font-size:1.05rem;color:#f6e6de}
.hero__acts{display:flex;flex-wrap:wrap;align-items:center;gap:26px}
.scrollcue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:22px;height:38px;border:1px solid rgba(255,255,255,.55);border-radius:12px;display:none}
.scrollcue span{position:absolute;left:50%;top:8px;width:3px;height:7px;margin-left:-1.5px;background:#C4852A;border-radius:2px;animation:cue 1.7s infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{opacity:0}}
@media(min-width:1040px){.scrollcue{display:block}}

/* discover */
.discover{background:#fff;padding:clamp(64px,10vw,124px) 0}
.discover__grid{display:grid;gap:34px}
.discover__grid>*{min-width:0}
.discover__body{max-width:60ch}
.discover__fig{margin:0}
.discover__fig img{width:100%;height:clamp(290px,52vw,520px);object-fit:cover;object-position:45% 58%}
@media(min-width:900px){
  .discover__grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);column-gap:64px;row-gap:26px;align-items:start}
  .discover__head{grid-column:1;grid-row:1}
  .discover__body{grid-column:1;grid-row:2;padding-top:6px}
  .discover__fig{grid-column:2;grid-row:1 / span 2;margin-right:calc(50% - 50vw);align-self:stretch}
  .discover__fig img{height:100%;min-height:560px}
}

/* dishes */
.dishes{background:#FBEBE5;padding:clamp(64px,10vw,124px) 0;position:relative;overflow:hidden}
.dishes__h2{margin-bottom:46px}
.dishes__grid{display:grid;gap:30px}
.dishes__grid>*{min-width:0}
.dish{margin:0}
.dish__ph{overflow:hidden;background:#E3D2C8}
.dish__ph img{width:100%;height:clamp(240px,42vw,340px);object-fit:cover;transition:transform .6s ease}
.dish--a .dish__ph img{object-position:45% 58%}
.dish--b .dish__ph img{object-position:55% 72%}
.dish--c .dish__ph img{object-position:48% 68%}
.dish:hover .dish__ph img{transform:scale(1.05)}
.dish figcaption{padding-top:18px}
.dish__name{display:block;font-family:'Forum',serif;font-size:1.5rem;text-transform:uppercase;letter-spacing:.14em;color:#6B4522}
.dish__note{display:block;margin-top:8px;font-size:.95rem;max-width:34ch;color:#4b3d2e}
.cutout{margin:0;text-align:center}
.cutout img{width:100%;max-width:260px;margin:0 auto;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:50%;box-shadow:0 22px 44px rgba(107,69,34,.16);padding:10px}
.cutout figcaption{margin-top:14px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#6B4522}
.dishes__more{margin-top:46px}
@media(min-width:760px){
  .dishes__grid{grid-template-columns:repeat(6,1fr);gap:32px}
  .dish--a{grid-column:span 3}
  .dish--b{grid-column:span 3}
  .dish--c{grid-column:span 3}
  .cutout--soup{grid-column:span 3;align-self:center}
  .cutout--roti{grid-column:span 3;align-self:center}
  .dish--a .dish__ph img{height:400px}
}
@media(min-width:1040px){
  .dishes__grid{align-items:end;row-gap:46px}
  .dish--a{grid-column:span 4;grid-row:1}
  .dish--b{grid-column:span 2;grid-row:1}
  .dish--c{grid-column:span 2;grid-row:2}
  .cutout--soup{grid-column:span 2;grid-row:2;align-self:center}
  .cutout--roti{grid-column:span 2;grid-row:2;align-self:center;transform:translateY(-26px)}
  .dish--a .dish__ph img{height:470px}
  .dish--b .dish__ph img,.dish--c .dish__ph img{height:300px}
  .cutout img{max-width:230px}
}

/* essence */
.essence{background:#fff;padding:clamp(64px,10vw,140px) 0}
.essence__grid{position:relative;display:grid;gap:32px;background:#FBEBE5;padding:clamp(34px,6vw,80px)}
.essence__grid>*{min-width:0}
.essence__txt p{max-width:50ch;margin-top:26px}
.essence__fig,.essence__fig2{margin:0}
.essence__fig img,.essence__fig2 img{width:100%;object-fit:contain;filter:drop-shadow(0 26px 40px rgba(107,69,34,.24))}
.essence__fig2{display:none}
@media(min-width:900px){
  .essence__grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);column-gap:54px;row-gap:0;align-items:start;padding-bottom:clamp(40px,5vw,70px)}
  .essence__txt{grid-column:1;grid-row:1;padding-top:14px}
  .essence__fig{grid-column:2;grid-row:1 / span 2;align-self:center;margin-right:clamp(-70px,-4vw,-24px);margin-top:-56px;margin-bottom:-40px}
  .essence__fig2{display:block;grid-column:1;grid-row:2;width:190px;margin-top:34px;margin-bottom:-96px}
}

/* gallery */
.gallery{background:#fff;padding:clamp(20px,4vw,40px) 0 clamp(64px,10vw,124px)}
.gallery__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px}
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.mosaic>*{min-width:0}
.tile{position:relative;margin:0;overflow:hidden;background:#F6EDE8}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tile:hover img{transform:scale(1.04)}
.tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;color:#fff;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(to top,rgba(43,34,24,.8),rgba(43,34,24,0));opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.tile:hover figcaption,.tile:focus-within figcaption{opacity:1;transform:none}
.tile--1{grid-column:span 2;height:300px}
.tile--2,.tile--3,.tile--4,.tile--5{height:210px}
.tile--6{grid-column:span 2;height:270px}
.tile--1 img{object-position:55% 72%}
.tile--5 img{object-position:48% 68%}
/* cut-out photos sit on a blush field so no tile reads as an empty white gap */
.tile--cut{background:#FBEBE5}
.tile--cut img{object-fit:contain;padding:16px;transition:transform .6s ease}
.tile--cut figcaption{opacity:1;transform:none;color:#6B4522;background:none;font-weight:500}
.tile--cut:hover figcaption{color:#6B4522}
@media(min-width:820px){
  .mosaic{grid-template-columns:repeat(6,1fr);grid-auto-rows:172px;gap:16px}
  .tile--1{grid-column:span 3;grid-row:span 2;height:auto}
  .tile--2{grid-column:span 2;grid-row:span 2;height:auto}
  .tile--3{grid-column:span 1;grid-row:span 2;height:auto}
  .tile--4{grid-column:span 2;grid-row:span 2;height:auto}
  .tile--5{grid-column:span 2;grid-row:span 2;height:auto}
  .tile--6{grid-column:span 2;grid-row:span 2;height:auto}
}

/* delivery */
.delivery{background:#FBEBE5;padding:clamp(56px,8vw,110px) 0}
.delivery__in{display:grid;gap:34px}
.delivery__txt p{font-size:1.05rem;margin:14px 0 0}
.partners{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.partner{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #E3D2C8;padding:22px 18px;min-height:92px;transition:transform .25s,box-shadow .25s,border-color .25s}
.partner:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(107,69,34,.14);border-color:#C4852A}
.partner img{max-height:34px;width:auto;object-fit:contain}
@media(min-width:900px){
  .delivery__in{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;column-gap:56px}
  .partners{grid-template-columns:repeat(4,1fr)}
}

/* footer */
.ftr{background:#6B4522;color:#FBEBE5;padding:clamp(52px,8vw,90px) 0 0}
.ftr__grid{display:grid;gap:40px}
.ftr__grid>*{min-width:0}
.ftr__logo{width:78px;height:78px;border-radius:50%;margin-bottom:18px}
.ftr__name{font-family:'Forum',serif;font-size:1.6rem;letter-spacing:.05em;margin:0 0 10px}
.ftr__addr{margin:0 0 6px;font-size:.95rem;color:#f0dcd3}
.ftr__addr a{text-decoration:none;border-bottom:1px solid rgba(196,133,42,.7)}
.ftr__brand .ulink--light{margin-top:18px}
.mapcard{background:rgba(255,255,255,.06);border:1px solid rgba(251,235,229,.22);padding:26px}
.mapcard__label{display:block;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:#e0b779;margin-bottom:14px}
.mapcard__addr{font-family:'Forum',serif;font-size:1.35rem;letter-spacing:.05em;margin:0 0 12px}
.mapcard__note{font-size:.9rem;color:#eddcd3;margin-bottom:18px}
.ftr__nav ul{list-style:none;margin:0;padding:0}
.ftr__nav a{display:inline-block;padding:7px 0;text-decoration:none;font-size:.78rem;letter-spacing:.18em;font-weight:500;color:#f3e2da}
.ftr__nav a:hover,.ftr__nav a[aria-current="page"]{color:#e0b779}
.ftr__base{border-top:1px solid rgba(251,235,229,.2);margin-top:44px;padding-top:20px;padding-bottom:96px}
.ftr__base p{margin:0;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#e3cdc2}
@media(min-width:820px){
  .ftr__grid{grid-template-columns:1.1fr 1fr .7fr;column-gap:50px}
  .ftr__base{padding-bottom:26px}
}

/* mobile action bar */
.mobibar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;background:#2B2218;border-top:1px solid rgba(196,133,42,.4)}
.mobibar a{flex:1 1 0;min-width:0;text-align:center;padding:16px 6px;text-decoration:none;color:#FBEBE5;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.mobibar__cta{background:#C4852A;color:#fff}
@media(min-width:820px){.mobibar{display:none}}

/* reveals */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}
@media(min-width:1040px){
  .cutout--roti.reveal.is-in{transform:translateY(-26px)}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
html{scroll-behavior:smooth}