:root{--site-primary:#234e44;--site-background:#fcfbf7;--site-text:#172e29;--site-button-text:#ffffff;}
@font-face{font-family:Dekiru;src:url(fonts/font-021e6df3063b.ttf) format("truetype");font-weight:400;font-display:swap;}
/* User-pinned reference: Le Mékong. Image aspect ratios and desktop rhythm match the source. */
:root{color-scheme:dark;--brown:#281912;--header:#291c14;--copper:#d38e4d;--copy:#d7d1ce;--white:#fff;--line:#c18343;--container:80%;--gap:5.5%}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--brown);color:var(--copy);font-family:Roboto,Arial,sans-serif;font-size:17px;font-weight:500;line-height:1.8}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:var(--copper);text-decoration:none}
a:hover{color:#f0b77d}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #ffe3bd;outline-offset:6px}
img{max-width:100%;display:block}
p{margin:0 0 17px}
p:last-child{margin-bottom:0}
h1,h2,h3{margin:0;font-weight:500}
.container{width:var(--container);max-width:1920px;margin-inline:auto}
.skip-link{position:fixed;top:8px;left:8px;z-index:30;background:#fff;color:#281912;padding:10px 18px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.masthead{background:var(--header)}
.navigation{display:flex;justify-content:space-between;align-items:center;min-height:111px;gap:32px}
.brand{display:block;flex-shrink:1;line-height:0}
.brand img{width:414px;height:auto}
#main-navigation{display:flex;align-items:center;gap:25px;font-family:Dekiru,Arial,sans-serif;font-size:16px;font-weight:400;white-space:nowrap;line-height:1.3}
#main-navigation>a,.restaurant-menu summary{color:#fff;text-transform:uppercase}
#main-navigation>a:hover,.restaurant-menu summary:hover{color:var(--copper)}
.restaurant-menu{position:relative}
.restaurant-menu summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}
.restaurant-menu summary::-webkit-details-marker{display:none}
.dropdown{position:absolute;right:0;top:calc(100% + 28px);width:280px;padding:20px;background:var(--header);border-top:2px solid var(--copper);z-index:10;box-shadow:0 10px 30px #0005}
.dropdown a{display:block;white-space:normal;line-height:1.6;padding:10px 8px;color:#fff}
.dropdown a:hover{background:#ffffff09;color:var(--copper)}
.menu-toggle{display:none;background:none;border:0;color:var(--copper);padding:10px}
.introduction{padding-top:50px}
.story-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--gap);align-items:center;padding-block:2%}
.story-copy{min-width:0}
.welcome-copy h1{font-family:'Roboto Slab',Georgia,serif;color:#fff;font-size:48px;line-height:1;letter-spacing:0;padding-bottom:10px;margin-bottom:64.7px}
.small-heading{font-family:Dekiru,Arial,sans-serif;color:var(--copper);font-size:25px;font-weight:700;line-height:1.3;text-transform:uppercase;padding-bottom:10px;margin-bottom:12px}
.rule{height:23px;border-top:1px solid var(--line);margin-bottom:10px}
.prose{text-align:justify}
.prose p{line-height:1.8}
.photo{display:block;padding:0;border:0;border-radius:0;background:none;width:100%;text-align:inherit;position:relative}
.photo img{width:100%;height:auto;transition:filter .25s ease}
.photo:hover img{filter:brightness(1.08)}
.portrait{aspect-ratio:290/450}
.temple{aspect-ratio:580/1024}
.portrait img,.temple img{height:100%;object-fit:cover}
.history-copy{padding-block:32px}
.cuisine{position:relative;padding-top:77px;padding-bottom:78px}
.cuisine h2{font-family:Dekiru,Arial,sans-serif;font-size:48px;font-weight:700;color:var(--copper);text-align:center;line-height:1.3;padding-bottom:10px}
.cuisine .rule{margin-bottom:10px}
.cuisine-copy{max-width:700px;margin:0 auto;text-align:center;min-height:326px}
.dish-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3%;align-items:start;padding-block:28.8px;margin-top:27px}
.menu-action{text-align:center;padding-top:28.8px}
.copper-button{display:inline-block;background:var(--copper);border:2px solid #fff;color:#fff;font-size:15px;line-height:1.7;letter-spacing:1px;font-weight:700;padding:4.5px 15px;text-transform:uppercase;transition:background .2s ease,color .2s ease}
.copper-button:hover{background:#e2a268;color:var(--brown)}
.mountains{position:absolute;bottom:0;left:0;width:100%;height:100px;fill:var(--copper);pointer-events:none;z-index:0}
.cuisine>.container{position:relative;z-index:1}
.footer{background:var(--header);padding:25px 0;font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.7}
.footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:27px 0;text-align:center;gap:12px}
.footer-links a,.footer-links button{font-family:Dekiru,Arial,sans-serif;font-size:14px;background:none;border:0;color:#fff;padding:0;line-height:1.7}
.footer-links a:hover,.footer-links button:hover{color:var(--copper)}
.copyright{padding-left:70px;color:#b9aaa0;font-size:13px}
dialog{color:var(--copy);background:var(--brown);border:1px solid var(--copper);padding:42px;width:min(620px,calc(100% - 32px));max-height:90dvh;overflow:auto}
dialog::backdrop{background:#100a07e8}
dialog h2,dialog h3{font-family:Dekiru,Arial,sans-serif;color:var(--copper);line-height:1.3}
dialog h2{font-size:32px;padding-right:20px;margin-bottom:12px}
dialog h3{font-size:24px;margin-top:28px;margin-bottom:14px}
.dialog-intro{margin-bottom:24px}
.close{position:absolute;right:8px;top:4px;width:40px;height:40px;font-family:Arial,sans-serif;font-size:32px;line-height:1;color:#fff;background:transparent;border:0;z-index:3}
address{font-style:normal}
address a{display:block}
address a:empty{display:none}
restolib-booking,restolib-hours{display:block}
restolib-booking label{display:block;font-size:15px;margin:14px 0 6px}
restolib-booking input,restolib-booking select,restolib-booking textarea{width:100%;padding:10px 12px;background:#38271e;color:#fff;border:1px solid #99775e;border-radius:0}
restolib-booking button{background:var(--copper);color:#281912;border:1px solid var(--copper);padding:9px 14px;line-height:1.5;margin:14px 6px 0 0}
restolib-booking button:disabled{opacity:.55;cursor:not-allowed}
restolib-booking [role=alert]{color:#ffcbc2}
restolib-hours ul{list-style:none;padding:0;margin:0}
restolib-hours li{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid #634330;font-size:15px}
.lightbox{width:100%;height:100%;max-width:100%;max-height:100%;border:0;padding:45px 65px;background:transparent;overflow:hidden}
.lightbox[open]{display:grid;grid-template-columns:1fr;place-items:center}
.lightbox figure{margin:0;max-width:100%;display:flex;flex-direction:column;align-items:center;min-height:0;max-height:100%}
.lightbox img{max-width:100%;max-height:calc(100dvh - 150px);object-fit:contain}
.lightbox figcaption{text-align:center;padding-top:14px;font-size:14px;color:#fff}
.lightbox .close{right:20px;top:16px}
.photo-previous,.photo-next{position:absolute;top:45%;width:45px;height:55px;padding:10px;background:none;border:0;color:#fff}
.photo-previous{left:10px}.photo-next{right:10px}
.photo-previous svg,.photo-next svg{width:100%;height:100%}
body:has(dialog[open]){overflow:hidden}
/* The reference reveals each block once, over one second, as it enters view. */
.scroll-reveal{transition:opacity 1s ease-in-out,transform 1s ease-in-out}
.scroll-reveal.is-waiting{opacity:0;transform:var(--reveal-from)}
.reveal-heading{--reveal-from:translateY(50%)}
.reveal-copy{--reveal-from:translateY(-4%)}
.reveal-photo{--reveal-from:translateX(-10%)}
.reveal-dish{--reveal-from:translateY(-10%)}
.reveal-menu{--reveal-from:scale(.8)}
.language-switcher{position:fixed;right:100px;bottom:25px;z-index:20;color:#555;background:#fff;border-radius:4px;box-shadow:0 5px 18px #0004;font-family:Arial,sans-serif;font-size:20px;line-height:1.2}
.language-switcher[hidden],.language-flag[hidden]{display:none}
.language-switcher summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;cursor:pointer;list-style:none}
.language-switcher summary::-webkit-details-marker{display:none}
.language-flag{display:block;width:30px;height:20px;flex:none;border-radius:2px;overflow:hidden}
.language-chevron{width:12px;height:8px;margin-left:2px;transition:transform .15s ease}
.language-switcher[open] .language-chevron{transform:rotate(180deg)}
.language-options{position:absolute;bottom:calc(100% + 8px);right:0;width:180px;overflow:hidden;border-radius:4px;background:#fff;box-shadow:0 5px 18px #0004;padding:6px}
.language-options button{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;border:0;border-radius:2px;padding:10px;background:#fff;color:#444;text-align:left;font-size:16px}
.language-options button:hover,.language-options button[aria-pressed=true]{background:#f0e6dc;color:#281912}
.option-code{font-size:13px;font-weight:700;width:24px}
.language-switcher summary:focus-visible,.language-options button:focus-visible{outline:2px solid #7e4d25;outline-offset:-3px}
.restolib-widget-frame{display:block;width:100%;border:0;background:transparent;min-height:80px;color-scheme:dark}
@media(max-width:980px){.language-switcher{right:20px;bottom:20px}}
@media print{.scroll-reveal.is-waiting{opacity:1;transform:none}.language-switcher{display:none}}
@media(min-width:981px) and (max-width:1250px){#main-navigation{gap:18px;font-size:14px}.brand img{width:350px}.welcome-copy h1{font-size:42px}}
@media(max-width:980px){
 .container{width:80%}.navigation{min-height:0;position:relative;gap:20px;padding:15px 20px 10px}.brand{flex:0 0 calc(65% - 30px);max-width:414px}.brand img{width:100%}
 .menu-toggle{display:block;flex-shrink:0;width:32px;height:32px;padding:3px;margin-right:6px}#main-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--header);border-top:3px solid var(--copper);padding:22px;z-index:10;white-space:normal}
 #main-navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:22px}.dropdown{position:static;margin-top:16px;width:100%;box-shadow:none;border-top:1px solid #634330;padding:10px 0}.restaurant-menu summary{justify-content:space-between}
 .introduction{padding-top:0}.story-row{display:flex;flex-direction:column;gap:30px;padding-block:30px}.story-copy{width:100%}.welcome-copy h1{font-size:48px;line-height:1;margin-bottom:63px}
 .portrait,.temple{max-width:580px}.history-row .history-copy{order:-1;padding-top:30px;padding-bottom:0}.small-heading{font-size:25px}.prose{text-align:left}
 .cuisine{padding-top:40px}.cuisine h2{font-size:48px}.cuisine-copy{text-align:center;min-height:0}.dish-gallery{gap:22px;grid-template-columns:1fr;max-width:700px;margin-inline:auto}.menu-action{padding-top:15px}.copyright{padding-left:0;text-align:center}
}
@media(max-width:600px){
 .navigation{gap:8px}.brand img{max-width:100%}
 .small-heading{font-size:25px}.prose{font-size:17px}.cuisine{padding-top:42px;padding-bottom:96px}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-block:18px}.footer{padding-block:22px}.copyright{padding-top:12px;font-size:12px}.lightbox{padding:60px 38px}.photo-previous,.photo-next{width:35px;padding:7px}.photo-previous{left:0}.photo-next{right:0}.lightbox figcaption{font-size:12px}dialog{padding:36px 22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.scroll-reveal.is-waiting{opacity:1;transform:none}}


