@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(assets/dmsans.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(assets/instrument.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(assets/instrument-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Noto Sans Thai';font-weight:400 700;font-display:swap;src:url(assets/notosansthai.woff2) format('woff2');unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:'Noto Serif Thai';font-weight:400;font-display:swap;src:url(assets/notoserifthai.woff2) format('woff2');unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}

:root{--paper:#fcf8ef;--ink:#3a1713;--deep:#2a0f0c;--muted:#6b5a50;--accent:#a8452a;--gold:#eac374;--rule:#ddd1c0;
--serif:'Instrument Serif','Noto Serif Thai',Georgia,serif;--sans:'DM Sans','Noto Sans Thai',Arial,sans-serif;--pad:clamp(20px,5vw,72px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans)}
:lang(th){line-height:1.85}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,figure,ul,dl,dd{margin:0}
ul{padding:0;list-style:none}
a{color:inherit}
a:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
.menu a:focus-visible,.visit a:focus-visible,.foot a:focus-visible{outline-color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-80px;background:var(--paper);color:var(--ink);padding:10px 16px;z-index:50}
.skip:focus{top:12px}
em,i{font-style:italic}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;line-height:1.02}
h2{font-size:clamp(2.6rem,5vw,4.4rem)}
h1 em,h2 em{color:var(--accent)}

/* header sits over the photograph */
.top{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;gap:28px;padding:22px var(--pad);color:var(--paper);background:linear-gradient(rgba(20,6,4,.65),transparent)}
.mark{font:400 1.9rem/1 var(--serif);text-decoration:none;margin-right:auto;letter-spacing:-.02em}
.mark i{color:var(--gold);font-style:normal}
.sections{display:flex;gap:28px;font-size:.9375rem}
.sections a,.langs a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.sections a:hover,.langs a:hover{border-color:currentColor}
.langs{display:flex;gap:14px;font-size:.8125rem}
.langs a[aria-current]{border-color:var(--gold);color:var(--gold)}

/* hero: the photograph is the focal point */
.hero{position:relative;min-height:min(92svh,860px);display:flex;align-items:flex-end;background:var(--deep);color:var(--paper)}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%}
.hero img{object-fit:cover;object-position:30% 55%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,6,4,.88) 0%,rgba(20,6,4,.55) 38%,rgba(20,6,4,0) 70%)}
.hero-copy{position:relative;z-index:2;width:100%;max-width:1100px;padding:120px var(--pad) clamp(36px,6vw,72px)}
.kicker{font-size:.8125rem;letter-spacing:.14em;font-weight:600;color:var(--gold);margin-bottom:14px}
h1{font-size:clamp(3.4rem,9vw,7.6rem);line-height:.95;margin-bottom:20px}
h1 em{color:var(--gold)}
:lang(th) h1{line-height:1.2}
.lede{max-width:34em;font-size:clamp(1rem,1.5vw,1.2rem);margin-bottom:10px}
.hours-line{font-size:.9375rem;font-weight:500;margin-bottom:26px;color:var(--gold)}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 26px;border:1px solid currentColor;font-weight:600;font-size:.9375rem;text-decoration:none;transition:background .2s,color .2s}
.btn:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn.primary{background:var(--gold);color:var(--deep);border-color:var(--gold)}
.btn.primary:hover{background:var(--paper)}
.visit .btn{color:var(--ink)}
.visit .btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.visit .btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.visit .btn.primary:hover{background:var(--accent);border-color:var(--accent)}

/* menu: one typographic list, one price per row */
.menu{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);padding:clamp(64px,10vw,140px) var(--pad);max-width:1440px;margin:auto}
.menu-side{align-self:start;position:sticky;top:32px}
.menu-side h2{margin-bottom:16px}
.menu-side>p{color:var(--muted);margin-bottom:20px;max-width:28em}
.pdf{display:inline-block;font-weight:600;color:var(--accent);margin-bottom:28px;text-underline-offset:5px}
.menu-side img{width:100%;max-width:420px;aspect-ratio:1;object-fit:cover}
.group+.group{margin-top:44px}
.group h3{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding-bottom:10px;border-bottom:2px solid var(--ink)}
.group li{display:flex;justify-content:space-between;gap:24px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--rule)}
.group h4{font:600 1.125rem/1.3 var(--sans)}
.group li p{color:var(--muted);font-size:.9375rem}
.price{font:400 1.7rem/1 var(--serif);white-space:nowrap}
.note{margin-top:28px;font-size:.875rem;color:var(--muted)}
.guide{margin-top:8px;font-size:.9375rem}

/* story: dark band so the chef photograph's black background is seamless */
.story{background:#000;color:var(--paper);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,7vw,110px);align-items:center;padding:clamp(48px,8vw,110px) var(--pad)}
.story figure{max-width:460px;justify-self:end;width:100%}
.story figcaption{font-size:.8125rem;letter-spacing:.12em;color:var(--gold);margin-top:14px}
.story h2{margin-bottom:24px}
.story h2 em{color:var(--gold)}
.story-copy p+p{margin-top:16px}
.story-copy p{max-width:34em;font-size:1.0625rem}

.visit{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);padding:clamp(64px,10vw,140px) var(--pad);max-width:1440px;margin:auto}
.visit-lead h2{margin-bottom:18px}
.visit-lead>p{color:var(--muted);margin-bottom:28px}
.facts div{padding:18px 0;border-bottom:1px solid var(--rule)}
.facts div:first-child{padding-top:0}
dt{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:6px}
address{font-style:normal}
dd{font-size:1.0625rem}
dd span{font-weight:600}
.closed{color:var(--muted)}
dd a{text-underline-offset:4px}
.pay{grid-column:1/-1;font-size:.875rem;color:var(--muted)}

.foot{background:var(--deep);color:var(--paper);padding:48px var(--pad) 40px}
.foot-mark{font:400 2.2rem/1.1 var(--serif);margin-bottom:16px}
.foot-mark i{color:var(--gold);font-style:normal}
.foot-mark span{font-size:1.1rem;margin-left:10px;color:var(--gold)}
.links{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.9375rem;margin-bottom:20px}
.links a{padding:6px 0}
.img-note{font-size:.8125rem;color:#cdbfb2;max-width:60em}
.foot a:focus-visible{outline-color:var(--gold)}

.bar{display:none}
@media (max-width:900px){
 .menu,.visit,.story{grid-template-columns:1fr}
 .menu-side{position:static}
 .menu-side img{max-width:none;aspect-ratio:16/10}
 .story figure{justify-self:start;max-width:380px}
}
@media (max-width:760px){
 .sections{display:none}
 .top{padding-top:16px;flex-wrap:wrap;gap:6px 16px}
 .mark{font-size:1.6rem}
 .langs{gap:6px 16px;flex-wrap:wrap}
 .langs a{padding:8px 0}
 body{padding-bottom:68px}
 .hero{min-height:88svh}
 .hero img{object-position:35% 50%}
 .bar{display:flex;position:fixed;inset:auto 0 0;z-index:30;background:var(--deep);padding:10px 12px;gap:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .bar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;color:var(--paper);border:1px solid var(--paper);font-weight:600;text-decoration:none;font-size:.9375rem}
 .bar a.primary{background:var(--gold);color:var(--deep);border-color:var(--gold)}
 .bar a:focus-visible{outline-color:var(--paper)}
 .actions .btn{flex:1 1 100%}
 .hero .btn.primary{display:none}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *{transition:none!important}
}
