/* HAO PHONG RESTAURANT — V6 | restrained dark editorial restaurant design */
:root{
 --night:#1d1d1b;--night-2:#242321;--night-3:#2b2926;--cream:#f2eee6;--paper:#f7f3ec;--ivory:#f6f0e7;--muted:#b4afa6;--ink:#242321;--red:#bd4541;--red-dark:#a93a37;--stroke:rgba(246,240,231,.18);--paper-stroke:#d6cfc2;
 --serif:"Playfair Display",Georgia,serif;--sans:"Be Vietnam Pro",system-ui,-apple-system,sans-serif;--cjk:"Noto Sans SC","Microsoft YaHei","PingFang SC",sans-serif;--max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ivory);background:var(--night);font-family:var(--sans);font-size:14px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{overflow-wrap:break-word}address{font-style:normal}[hidden]{display:none!important}::selection{background:var(--red);color:white}
a:focus-visible,button:focus-visible,input:focus-visible,.carousel-track:focus-visible{outline:2px solid var(--red);outline-offset:4px}.skip-link{position:absolute;top:-120px;left:16px;z-index:300;background:var(--paper);color:var(--ink);padding:12px 20px}.skip-link:focus{top:16px}
.container{width:min(var(--max),calc(100% - 88px));margin-inline:auto}section[id]{scroll-margin-top:105px}
.eyebrow,.small-heading,.category-helper{font-size:10px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;line-height:1.8;color:var(--red)}.eyebrow{margin:0 0 19px}.eyebrow-line{display:inline-block;width:24px;height:1px;vertical-align:middle;background:currentColor;margin-right:10px}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:1.15}h1 em,h2 em{font-weight:400;letter-spacing:-.05em}
.underlined-link{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid currentColor;padding-bottom:8px;font-weight:600;font-size:12px;transition:color .2s}.underlined-link:hover{color:#db8c81}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;min-height:52px;padding:13px 22px;text-decoration:none;font-size:12px;font-weight:700;border:1px solid transparent;line-height:1.4;transition:background .2s,border-color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-red{background:var(--red);color:white}.button-red:hover{background:var(--red-dark)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#46413b}
/* masthead */
.announcement{background:#171716;border-bottom:1px solid rgba(255,255,255,.07);color:#bdb7af}.announcement-inner{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:10px;letter-spacing:.025em}.announcement a{color:var(--ivory)}.announcement a:hover{color:var(--red)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(29,29,27,.965);border-bottom:1px solid var(--stroke);backdrop-filter:blur(14px)}.header-inner{display:flex;min-height:86px;align-items:center;gap:38px}.brand{flex-shrink:0;display:flex;flex-direction:column;gap:2px;line-height:1.2}.brand strong{font-family:var(--serif);font-size:28px;letter-spacing:-.045em;font-weight:600;color:#cf514b}.brand-mark{color:#d8afa4}.brand small{font-size:8px;letter-spacing:.14em;color:var(--muted);font-weight:600}.main-nav{margin-left:auto;display:flex;gap:29px;align-items:center}.main-nav a{font-size:11px;font-weight:600;color:#d6d0c6;transition:color .2s;white-space:nowrap}.main-nav a:hover,.main-nav a.active{color:white}.main-nav a.active{border-bottom:1px solid var(--red);padding-bottom:5px}.header-call{border:1px solid rgba(255,255,255,.34);padding:11px 16px;white-space:nowrap;font-size:11px;font-weight:600;transition:border-color .2s}.header-call span{padding-left:12px}.header-call:hover{border-color:var(--red)}.mobile-toggle{display:none}
/* opening feature */
.hero{padding:87px 0 80px;background:var(--night);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(42px,6vw,100px);align-items:center}.hero-copy{padding-bottom:16px}.hero h1{font-size:clamp(55px,6.6vw,104px);margin:0 0 27px;color:var(--ivory);letter-spacing:-.07em;line-height:1.06;white-space:nowrap}.hero h1 em{color:#d3b6a8}.hero-subhead{font-size:14px;font-weight:600;margin-bottom:16px}.hero-subhead span{font-weight:400;color:#cbc4ba}.hero-description{max-width:450px;color:#bdb8b0;line-height:1.9;font-size:13px;margin:0 0 34px}.hero-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.hero-note{margin-top:71px;font-size:10px;letter-spacing:.08em;color:#aaa39a;text-transform:uppercase}.note-dot{display:inline-block;width:3px;height:3px;background:var(--red);border-radius:50%;vertical-align:middle;margin:0 7px}.hero-art{min-width:0}.hero-photo{background:#e9e7df;min-height:450px;height:min(38vw,560px);border:10px solid #e8e3db;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:contain}.photo-credit{display:flex;justify-content:space-between;gap:16px;font-size:9px;color:#a59e95;letter-spacing:.15em;font-weight:600;margin:13px 0 0}
.quick-info{border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke);background:#21211f}.info-grid{display:grid;grid-template-columns:repeat(4,1fr)}.info-grid>div{display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:109px;padding:17px 25px;border-right:1px solid var(--stroke)}.info-grid>div:first-child{padding-left:0}.info-grid>div:last-child{border-right:0}.info-grid small{color:#a7a197;font-size:9px;letter-spacing:.17em;font-weight:700}.info-grid a,.info-grid strong{font-size:12px;font-weight:600;color:#efe8dd}.info-grid a:hover{color:#e98a80}.info-grid a span{color:var(--red)}
/* headings */
.section{padding:116px 0}.section-heading{display:grid;grid-template-columns:1fr minmax(255px,360px);align-items:end;gap:70px;margin-bottom:38px}.section-heading h2{font-size:clamp(43px,4.7vw,70px);margin:0}.section-heading h2 em{color:#d3b7a5}.section-description,.heading-aside>p{max-width:360px;margin:0;color:#b4aea5;line-height:1.95;font-size:13px}.heading-aside{justify-self:end;width:100%}.heading-aside>p{margin-bottom:22px}.section-end,.gallery-end{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--stroke);margin-top:36px;padding-top:23px}.section-end>span,.gallery-end>span{font-size:9px;color:#a8a196;letter-spacing:.16em;font-weight:600}
/* carousel */
.specials-section{background:var(--night-2)}.carousel-controls{display:flex;gap:11px;justify-content:flex-end;align-items:center}.carousel-count{color:#bcb6ac;font-size:10px;font-weight:600;letter-spacing:.14em;margin-right:auto}.circle-arrow{display:grid;place-items:center;width:43px;height:43px;background:transparent;border:1px solid #706d67;border-radius:50%;color:var(--ivory);font-size:18px;transition:background .2s,border-color .2s}.circle-arrow:hover:not(:disabled){background:var(--red);border-color:var(--red)}.circle-arrow:disabled{opacity:.28;cursor:not-allowed}.carousel-viewport{width:100%;overflow:hidden}.carousel-track{display:flex;gap:25px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}.carousel-track::-webkit-scrollbar{display:none}.chef-card{flex:0 0 calc((100% - 50px)/3);min-width:0;scroll-snap-align:start}.chef-photo{aspect-ratio:1.22;background:#ece6dc;display:flex;align-items:center;justify-content:center;overflow:hidden}.chef-photo img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}.chef-detail{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:20px 0 8px}.dish-index{font-size:9px;letter-spacing:.16em;color:#a9a299;margin-bottom:11px;font-weight:600}.chef-detail h3{font-family:var(--serif);font-size:21px;line-height:1.42;font-weight:500;margin:0;letter-spacing:-.02em}.chef-price{white-space:nowrap;font-size:15px;font-weight:600;padding-top:27px;color:#e2c1aa}.photo-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:160px;background:#33312e;color:#d2c0a6;gap:7px;text-align:center}.placeholder-symbol{font-family:var(--serif);font-size:38px;color:var(--red)}.photo-placeholder>span:nth-child(2){font-family:var(--serif);font-weight:600;font-size:23px;letter-spacing:-.05em}.photo-placeholder small{font-size:9px;letter-spacing:.16em;color:#9c968a}
/* pale editorial interlude */
.menu-teaser{padding:109px 0;background:var(--cream);color:var(--ink)}.teaser-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:88px;align-items:end}.teaser-leading h2{font-size:clamp(43px,4.8vw,72px);line-height:1.2;margin:0}.teaser-leading h2 em{color:#976a5b}.teaser-trailing p{font-size:13px;color:#59534e;line-height:2;margin:0 0 28px}.teaser-trailing .button{width:100%;max-width:330px}.teaser-trailing>span{display:block;font-size:9px;letter-spacing:.15em;color:#8d857a;margin-top:17px}
/* gallery: editorial staggered columns; images keep intrinsic ratios */
.gallery-section{background:var(--night)}.gallery-grid{columns:4;column-gap:22px}.gallery-item{break-inside:avoid;display:block;margin:0 0 31px}.gallery-photo{background:#eee8df;overflow:hidden}.gallery-photo img{width:100%;height:auto;max-height:none;object-fit:contain;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.025)}.gallery-item figcaption{display:flex;align-items:baseline;gap:12px;color:#bcb6ad;font-size:10px;line-height:1.6;margin:10px 0 0}.gallery-item figcaption span{color:var(--red);font-size:9px;font-weight:700;letter-spacing:.05em}.gallery-end{margin-top:22px}
/* considered, minimal review treatment */
.reviews-section{background:#24221f}.review-card{flex:0 0 calc((100% - 50px)/3);min-width:0;min-height:278px;scroll-snap-align:start;border-top:1px solid #9b6259;border-bottom:1px solid var(--stroke);padding:24px 4px 23px 0;display:flex;flex-direction:column}.review-top{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#a99f93;letter-spacing:.11em;font-size:9px}.review-stars{color:#dda97b;font-size:12px;letter-spacing:.04em;white-space:nowrap}.review-summary{font-family:var(--serif);font-size:clamp(17px,1.5vw,20px);line-height:1.64;letter-spacing:-.015em;margin:23px 0 28px;color:var(--ivory);flex-grow:1}.review-bottom{display:flex;align-items:end;justify-content:space-between;gap:16px}.review-bottom strong{display:block;font-size:11px;font-weight:700}.review-bottom small{display:block;font-size:9px;color:#a9a29a;margin-top:5px;line-height:1.6}.review-bottom a{font-size:10px;flex-shrink:0;color:#d6b5a2;border-bottom:1px solid #716059;white-space:nowrap}.review-bottom a:hover{color:white}
/* location on light paper */
.visit-section{padding:117px 0;background:var(--cream);color:var(--ink)}.visit-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.visit-copy h2{font-size:clamp(44px,4.9vw,73px);margin:0 0 22px;line-height:1.18}.visit-copy h2 em{color:#9d665a}.visit-intro{font-size:13px;color:#655e55;line-height:2;max-width:380px;margin-bottom:38px}.visit-details{margin-bottom:30px}.visit-details>div{padding:17px 0;border-top:1px solid var(--paper-stroke)}.visit-details>div:last-child{border-bottom:1px solid var(--paper-stroke)}.visit-details small{display:block;font-size:10px;color:#8a8076;letter-spacing:.15em;font-weight:700;margin-bottom:7px}.visit-details address,.visit-details a,.visit-details p{font-size:13px;line-height:1.8;margin:0;color:#302c28}.visit-details a:hover{color:var(--red)}.visit-details p{display:flex;justify-content:space-between;gap:24px}.visit-details p span{white-space:nowrap}.visit-details small.hours-note{font-size:10px;letter-spacing:0;font-weight:400;color:#756d62;margin-top:10px}.map-wrap{width:100%;aspect-ratio:1/1.06;background:#dbd3c7;overflow:hidden}.map-wrap iframe{height:100%;width:100%;border:0;display:block}.map-column>p{display:flex;justify-content:space-between;gap:16px;font-size:9px;letter-spacing:.16em;color:#766d62;font-weight:600;margin:14px 0 0}
/* footer */
.footer{background:#191917;color:#e9e3d9}.footer-main{padding:77px 0;display:grid;grid-template-columns:1.5fr 1fr 1fr .7fr;gap:43px}.footer-logo{display:inline-block;font-family:var(--serif);color:#d0524d;font-weight:600;letter-spacing:-.05em;font-size:35px;line-height:1.1}.footer-logo span{color:#d5aa9d}.footer-identity p{margin:19px 0 0;font-size:11px;line-height:2;color:#a69e91}.footer-main>div>small{display:block;color:#a7a094;font-size:9px;letter-spacing:.17em;font-weight:700;margin-bottom:18px}.footer-main address,.footer-main>div>a:not(.footer-logo),.footer-main>div>p{font-size:11px;line-height:2;color:#ded8ce}.footer-main>div>p{color:#a6a094;margin:7px 0 0}.footer-nav{display:flex;flex-direction:column;align-items:start}.footer-nav a:hover,.footer-main>div>a:hover{color:#e59288}.footer-bottom{border-top:1px solid var(--stroke);padding:21px 0 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:9px;color:#999184;letter-spacing:.06em}.footer-bottom a:hover{color:white}.mobile-call{display:none}
/* menu route */
.menu-hero{padding:50px 0 84px;background:#232220;color:var(--ivory)}.back-link{font-size:10px;color:#beb5aa;border-bottom:1px solid #84796d;display:inline-block;padding-bottom:5px;margin-bottom:75px}.menu-hero .eyebrow{margin-bottom:13px}.menu-hero h1{font-size:clamp(62px,8vw,114px);margin:0 0 28px}.menu-hero h1 em{color:#d3b6a8}.menu-hero-footer{display:flex;justify-content:space-between;align-items:end;gap:25px}.menu-hero-footer p{font-size:12px;color:#b9b1a6;line-height:1.95;margin:0}.menu-hero-footer span{font-size:9px;letter-spacing:.16em;color:#a59c92}
.menu-page-section{padding:53px 0 99px;background:var(--paper);color:var(--ink);min-height:62vh}.menu-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:43px}.small-heading{color:#a1443e;margin:0 0 5px}.menu-count-text{margin:0;font-size:11px;color:#776e64}.search-field{display:flex;align-items:center;gap:11px;background:transparent;border:1px solid #bdb4a8;padding:0 15px;width:min(380px,100%);color:#5c5249;transition:border-color .2s}.search-field:focus-within{border-color:var(--red)}.search-field input{height:48px;width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:12px;min-width:0}.search-field input:focus-visible{outline:none}.search-field input::placeholder{color:#958b7e}.category-helper{color:#756d61;margin:0 0 13px}.category-scroller{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#b9a79b transparent;overscroll-behavior-x:contain;scroll-behavior:smooth;border-bottom:1px solid #c8beb1;margin-bottom:59px}.category-tabs{display:flex;align-items:center;gap:0;width:max-content;max-width:none}.category-tabs button{border:0;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;background:transparent;color:#80776c;padding:13px 18px 14px;font-size:11px;font-weight:600;line-height:1.5;transition:color .2s,border-color .2s}.category-tabs button:first-child{padding-left:0}.category-tabs button:hover{color:var(--red)}.category-tabs button.active{color:#a6413d;border-bottom-color:var(--red)}
.menu-content-header{display:flex;justify-content:space-between;align-items:end;gap:25px;border-bottom:2px solid var(--ink);padding-bottom:25px}.menu-content-header .eyebrow{margin:0 0 7px}.menu-content-header h2{font-size:clamp(32px,3.5vw,50px);margin:0;line-height:1.3}.menu-content-header>span{color:#686058;white-space:nowrap;font-size:11px;letter-spacing:.04em;margin-bottom:7px}.menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:68px;align-items:start}.menu-item{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:23px 0;border-bottom:1px solid #dad2c7;min-width:0}.menu-item-main{min-width:0;display:flex;flex-direction:column;align-items:start;gap:6px}.menu-item-main strong{font-size:12px;line-height:1.65;font-weight:700;color:#2c2924}.item-number{color:#aa5f54;font-weight:500}.menu-item-main small{color:#756e65;font-size:11px;line-height:1.65}.menu-item-main small.chinese-name{font-family:var(--cjk);font-size:12px}.menu-item-main small.search-category{color:#a7423e;border-top:1px solid #d8c9be;padding-top:6px;margin-top:3px;letter-spacing:.03em;font-size:10px}.menu-price{font-size:12px;color:#8f3937;font-weight:700;flex-shrink:0;text-align:right;max-width:150px;line-height:1.65}.menu-empty{padding:60px 0;border-bottom:1px solid var(--paper-stroke)}.menu-empty h3{font-family:var(--serif);font-weight:500;font-size:28px;margin-bottom:8px}.menu-empty p{color:#786e66}.menu-page-footer{margin-top:62px;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:28px;border-top:1px solid #c7bdb2}.menu-page-footer p{font-size:11px;color:#807469;max-width:600px;margin:0;line-height:1.9}.menu-page-footer .button{flex-shrink:0}
/* mid-sized devices */
@media(max-width:1100px){.container{width:min(var(--max),calc(100% - 60px))}.main-nav{gap:17px}.header-inner{gap:24px}.brand strong{font-size:25px}.header-call{padding:10px 13px}.hero-grid{gap:36px}.hero h1{font-size:clamp(53px,6.8vw,76px)}.hero-photo{min-height:365px}.chef-card,.review-card{flex-basis:calc((100% - 25px)/2)}.gallery-grid{columns:3}.visit-layout{gap:45px}.teaser-layout{gap:48px}.footer-main{grid-template-columns:1.2fr 1fr 1fr .7fr;gap:24px}}
@media(max-width:900px){.announcement-inner>span:nth-child(2){display:none}.site-header{top:0}.header-inner{min-height:76px}.mobile-toggle{width:43px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:none;border:1px solid #635d54;margin-left:auto;order:2}.mobile-toggle span{display:block;width:20px;height:1px;background:#f0e8dc}.main-nav{position:absolute;top:100%;left:0;right:0;margin:0;background:#252420;border-bottom:1px solid #60574b;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 30px 25px;max-height:calc(100vh - 76px);overflow-y:auto}.main-nav.open{display:flex}.main-nav a{padding:15px 0;font-size:13px;border-bottom:1px solid #49443d!important}.header-call{order:1;margin-left:auto}.hero{padding:72px 0 62px}.hero-grid{grid-template-columns:1fr 1.06fr;gap:22px}.hero h1{font-size:clamp(49px,6.4vw,68px)}.hero-subhead{font-size:12px}.hero-description{font-size:12px}.hero-photo{min-height:310px;height:39vw}.hero-note{margin-top:36px}.info-grid{grid-template-columns:repeat(2,1fr)}.info-grid>div:nth-child(2){border-right:0}.info-grid>div:nth-child(-n+2){border-bottom:1px solid var(--stroke)}.info-grid>div:first-child{padding-left:25px}.section{padding:86px 0}.section-heading{gap:36px}.visit-section{padding:86px 0}.visit-layout{grid-template-columns:1fr 1fr}.visit-details p{display:block}.visit-details p span{display:block}.footer-main{grid-template-columns:repeat(2,1fr);row-gap:36px}}
@media(max-width:640px){body{padding-bottom:57px}.container{width:calc(100% - 38px)}section[id]{scroll-margin-top:85px}.announcement-inner{min-height:29px;font-size:9px}.announcement-inner span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.announcement-inner>a{display:none}.header-inner{min-height:72px;gap:12px}.brand strong{font-size:25px}.brand small{font-size:7px;letter-spacing:.08em}.header-call{display:none}.main-nav{max-height:calc(100vh - 72px);padding:10px 19px 22px}.hero{padding:57px 0 52px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy{padding:0}.hero h1{font-size:clamp(55px,14.5vw,83px);margin-bottom:24px}.hero-subhead{font-size:13px;max-width:370px}.hero-description{font-size:12px;max-width:350px;margin-bottom:28px}.hero-actions{gap:26px}.hero-note{margin-top:45px}.hero-photo{height:72vw;min-height:260px;max-height:420px;border-width:6px}.photo-credit{font-size:8px}.info-grid{grid-template-columns:1fr 1fr}.info-grid>div{min-height:99px;padding:15px 13px}.info-grid>div:first-child{padding-left:0}.info-grid small{font-size:8px}.info-grid a,.info-grid strong{font-size:10px;line-height:1.65}.section{padding:75px 0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:clamp(40px,10.5vw,62px)}.section-description,.heading-aside>p{font-size:12px;max-width:380px;margin-top:20px}.heading-aside{margin-top:16px}.heading-aside>p{margin-bottom:18px}.carousel-controls{gap:9px;margin-top:13px}.carousel-count{font-size:10px}.circle-arrow{height:40px;width:40px}.carousel-track{gap:14px}.chef-card,.review-card{flex-basis:100%}.chef-photo{aspect-ratio:1.3}.chef-detail{padding-top:17px}.chef-detail h3{font-size:21px}.section-end,.gallery-end{align-items:start;flex-direction:column;gap:12px}.section-end>span,.gallery-end>span{font-size:8px}.underlined-link{font-size:11px}.menu-teaser{padding:75px 0}.teaser-layout{grid-template-columns:1fr;gap:30px}.teaser-leading h2{font-size:clamp(39px,10vw,61px)}.teaser-trailing p{max-width:420px;font-size:12px}.gallery-grid{columns:2;column-gap:13px}.gallery-item{margin-bottom:23px}.gallery-item figcaption{font-size:9px;gap:7px;line-height:1.5;margin-top:8px}.gallery-item figcaption span{font-size:8px}.reviews-section .review-summary{font-size:20px}.review-card{min-height:280px}.visit-section{padding:76px 0}.visit-layout{grid-template-columns:1fr;gap:45px}.visit-copy h2{font-size:clamp(43px,10vw,60px)}.visit-intro{font-size:12px}.visit-details p{display:flex}.visit-details p span{display:block}.map-wrap{aspect-ratio:1.12}.map-column>p{font-size:8px}.footer-main{grid-template-columns:1fr 1fr;gap:32px 16px;padding:56px 0}.footer-identity{grid-column:1/-1}.footer-logo{font-size:34px}.footer-main>div>small{font-size:8px}.footer-bottom{flex-wrap:wrap;font-size:8px;padding:20px 0 25px}.footer-bottom span:nth-child(2){display:none}.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:110;display:flex;align-items:center;justify-content:space-between;min-height:57px;background:var(--red);color:white;padding:0 20px;box-shadow:0 -5px 30px rgba(0,0,0,.18);font-weight:700;font-size:12px}.mobile-call span{font-weight:500}.menu-hero{padding:32px 0 58px}.back-link{margin-bottom:54px}.menu-hero h1{font-size:clamp(58px,15vw,86px)}.menu-hero-footer{display:block}.menu-hero-footer span{display:block;margin-top:24px}.menu-hero-footer p{font-size:11px}.menu-page-section{padding:35px 0 75px}.menu-controls{display:block;margin-bottom:33px}.menu-count-text{margin-bottom:20px}.search-field{width:100%}.category-scroller{margin-bottom:40px}.category-tabs button{font-size:11px;padding-inline:15px}.menu-content-header{align-items:start;gap:15px;padding-bottom:18px}.menu-content-header h2{font-size:clamp(31px,8vw,41px)}.menu-content-header>span{font-size:10px;margin-top:25px}.menu-items{grid-template-columns:1fr;column-gap:0}.menu-item{padding:18px 0}.menu-item-main strong{font-size:12px}.menu-item-main small{font-size:11px}.menu-price{font-size:11px;max-width:116px}.menu-page-footer{margin-top:43px;display:block}.menu-page-footer p{margin-bottom:25px}.menu-page-footer .button{width:100%}}
@media(max-width:370px){.container{width:calc(100% - 30px)}.hero h1{font-size:52px}.brand strong{font-size:23px}.mobile-call{font-size:11px}.info-grid a,.info-grid strong{font-size:9px}.menu-item{gap:10px}.menu-item-main strong{font-size:11px}.visit-details p{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* V6.1 branding + optional integrations */
.brand{flex-direction:row;align-items:center;gap:12px}.brand-text{display:flex;flex-direction:column;gap:3px}.brand-icon{width:43px;height:43px;flex:none}.footer-logo{display:inline-flex;align-items:center;gap:10px}.footer-logo img{height:36px;width:36px;flex:none}
.review-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.live-review-button{border-top:0;border-left:0;border-right:0;border-radius:0;color:var(--ivory);background:none;padding:0 0 8px;cursor:pointer}
.google-live-panel{max-width:780px;margin:30px 0 0;padding:22px;background:var(--paper);color:var(--ink);border:1px solid var(--paper-stroke)}
.google-place-widget{display:block;max-width:100%;width:100%;min-height:350px;max-height:720px;overflow:auto;color-scheme:light;--gmp-mat-font-family:"Be Vietnam Pro",Arial,sans-serif;--gmp-mat-color-primary:#a93a37}
.google-widget-error{margin:0;color:#4e423e;font-size:13px}.google-widget-error a{text-decoration:underline}
.map-open-link{position:absolute;bottom:15px;left:15px;z-index:1;display:inline-flex;background:var(--night);border:1px solid var(--stroke);color:var(--ivory);padding:8px 14px;font-size:11px;line-height:1.3}
.map-wrap{position:relative}
@media(max-width:640px){.brand{gap:8px}.brand-icon{width:32px;height:32px}.brand small{letter-spacing:.04em;font-size:6.6px}.brand strong{font-size:23px}.review-links{gap:15px}.google-live-panel{padding:12px}.footer-logo img{width:30px;height:30px}}
@media(max-width:370px){.brand strong{font-size:20px}.brand-icon{width:29px;height:29px}}

/* V6.6 — approved gold logo image (exact user-supplied artwork).
   Only header/footer brand presentation changed; menu, cards and typography stay untouched. */
.brand {display:flex; align-items:center; flex-shrink:0; gap:0; line-height:1;}
.brand-logo-image {display:block; width:238px; max-width:100%; height:auto; object-fit:contain;}
.footer-logo {display:inline-flex; align-items:center; line-height:1; max-width:100%;}
.footer-logo-image {display:block; width:338px; max-width:100%; height:auto; object-fit:contain;}
@media(max-width:1100px) { .brand-logo-image {width:208px;} }
@media(max-width:900px) { .brand-logo-image {width:215px;} }
@media(max-width:640px) {
  .header-inner {min-height:76px;}
  .brand-logo-image {width:195px;}
  .footer-logo-image {width:min(320px, 100%);}
}
@media(max-width:370px) { .brand-logo-image {width:178px;} }

/* Client-approved comparison: red-border / no-border original logo artwork.
   No re-rendering, text replacement or font approximation. */
.brand-logo-image{width:238px; height:auto; max-width:100%; object-fit:contain;}
.footer-logo-image{width:310px; height:auto; max-width:100%; object-fit:contain;}
@media(max-width:900px){.brand-logo-image{width:203px;}}
@media(max-width:640px){.brand-logo-image{width:174px;}.footer-logo-image{width:min(285px,100%);}}
@media(max-width:370px){.brand-logo-image{width:158px;}}

/* Client update — remove the beige photo frame from the homepage hero image a.webp.
   Keep the original photo intact, display at natural aspect ratio, no crop. */
body[data-page="home"] .hero-photo {
  border: 0;
  background: transparent;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 1920 / 1164;
  padding: 0;
}
body[data-page="home"] .hero-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
