
:root{--green:#113a2c;--green2:#0a271e;--green3:#235c45;--ochre:#d2a137;--gold:#efc865;--cream:#fbf7ed;--paper:#fffdf8;--ink:#17231d;--muted:#66726b;--line:rgba(17,58,44,.12);--shadow:0 20px 55px rgba(9,39,30,.12);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.58}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 40px));margin:auto}
header{position:sticky;top:0;z-index:50;background:rgba(251,247,237,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{display:flex;align-items:center;gap:12px;font-weight:900;color:var(--green2)}.logo img{width:74px;height:58px;object-fit:contain}.logo span small{display:block;color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.navlinks{display:flex;gap:25px;align-items:center;font-weight:800}.navlinks a:hover,.navlinks .active{color:var(--ochre)}.actions{display:flex;gap:9px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--ochre);color:var(--green2);box-shadow:0 12px 28px rgba(210,161,55,.23)}.btn-dark{background:var(--green2);color:white}.btn-line{border-color:rgba(17,58,44,.26);color:var(--green2)}
.kicker{font-size:.78rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase;color:var(--ochre);margin:0 0 12px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--green2);line-height:1.08}h1{font-size:clamp(2.65rem,5.5vw,5.4rem);margin:.1em 0 .3em}h2{font-size:clamp(2rem,3.3vw,3.4rem);margin:.15em 0 .35em}h3{font-size:1.25rem;margin:.1em 0}.lead{font-size:clamp(1.05rem,1.7vw,1.24rem);color:#e7eee9;max-width:720px}
.hero{min-height:680px;position:relative;display:grid;align-items:center;overflow:hidden;background:var(--green2)}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(7,31,23,.97) 0%,rgba(7,31,23,.9) 44%,rgba(7,31,23,.22) 100%),url("https://images.unsplash.com/photo-1564309927388-4caa290cc897?auto=format&fit=crop&fm=jpg&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&ixlib=rb-4.1.0&q=78&w=2200");background-size:cover;background-position:center}.hero::after{content:"";position:absolute;inset:auto -8% -46% 45%;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(236,190,76,.19),transparent 67%)}.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1fr .74fr;align-items:center;gap:50px}.hero h1{color:white;max-width:850px}.hero-logo{justify-self:end;width:min(430px,100%);filter:drop-shadow(0 24px 38px rgba(0,0,0,.4))}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-note{color:#bdcbc3;font-weight:700;margin-top:17px}
.orderbar{position:relative;z-index:5;margin-top:-34px;background:white;box-shadow:var(--shadow);border-radius:24px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.orderbar div{padding:25px 28px;border-right:1px solid var(--line)}.orderbar div:last-child{border:0}.orderbar strong{display:block;color:var(--green2)}.orderbar span{color:var(--muted)}
.section{padding:92px 0}.section-sm{padding:66px 0}.section-alt{background:#f1eadc}.intro{max-width:820px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo-card{overflow:hidden;border-radius:28px;background:white;box-shadow:var(--shadow);border:1px solid var(--line)}.photo-card img{height:300px;width:100%;object-fit:cover}.photo-card .copy{padding:25px}.photo-card p{margin-bottom:0;color:var(--muted)}.country{padding:30px;border-radius:26px;background:white;border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}.country::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-42px;bottom:-45px;background:rgba(210,161,55,.11)}.tag{display:inline-flex;background:rgba(210,161,55,.14);color:var(--green2);padding:8px 13px;border-radius:999px;font-weight:900;font-size:.83rem}.cta{border-radius:32px;padding:44px;background:var(--ochre);display:flex;align-items:center;justify-content:space-between;gap:28px}.cta h2{margin:0;max-width:690px}.info-dark{background:var(--green2);color:white;border-radius:30px;padding:38px}.info-dark h2,.info-dark h3{color:white}.hours{display:grid;gap:0}.hours div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.footer{padding:55px 0 100px;background:#061b14;color:#cad8d0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:36px}.footer-logo{width:112px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.3));margin-bottom:15px}.footer strong{color:white}.credits{font-size:.73rem;color:#758b7f;margin-top:25px}
.menu-hero{position:relative;padding:105px 0 72px;background:linear-gradient(135deg,#fffaf0,#f1e6cf);overflow:hidden}.menu-hero::before{content:"";position:absolute;inset:0 auto 0 0;width:38%;background:url("https://images.unsplash.com/photo-1515022376298-7333f33e704b?auto=format&fit=crop&fm=jpg&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&ixlib=rb-4.1.0&q=78&w=1800") center/cover;opacity:.1;mask-image:linear-gradient(90deg,#000,transparent)}.menu-hero .container{position:relative;z-index:2}.menu-hero .lead{color:var(--muted)}.menu-gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:14px;margin-top:36px}.menu-gallery figure{margin:0;border-radius:24px;overflow:hidden;height:280px}.menu-gallery img{width:100%;height:100%;object-fit:cover}
.menu-tools{position:sticky;top:78px;z-index:35;background:rgba(251,247,237,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.menu-tools-inner{display:flex;gap:15px;align-items:center;padding:13px 0;overflow:auto}.menu-search{min-width:260px;flex:0 0 300px;border:1px solid var(--line);background:white;border-radius:999px;padding:12px 17px;font:inherit;outline:none}.category-nav{display:flex;gap:8px;white-space:nowrap}.category-nav a{background:white;border:1px solid var(--line);padding:10px 14px;border-radius:999px;font-size:.82rem;font-weight:850}.category-nav a:hover{background:var(--green2);color:white}
.menu-wrap{padding:55px 0 90px}.menu-category{scroll-margin-top:155px;background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:0 12px 36px rgba(9,39,30,.07);margin-bottom:24px;overflow:hidden}.category-head{padding:24px 28px;background:linear-gradient(100deg,var(--green2),var(--green));color:white}.category-head>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.category-head h2{font-size:1.75rem;color:white;margin:0}.category-head p{margin:0;color:#cbd9d1;font-weight:700;font-size:.93rem}.lotus{color:var(--gold)}.dish-list{padding:6px 28px 16px}.dish{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px dashed rgba(17,58,44,.15)}.dish:last-child{border-bottom:0}.dish-no{font-weight:950;color:var(--ochre)}.dish-copy h3{font-family:Inter,Arial,sans-serif;font-size:1rem;margin:0;color:var(--ink)}.dish-copy p{margin:3px 0 0;color:var(--muted);font-size:.9rem}.dish-price{font-weight:950;color:var(--green2);font-size:1.02rem;white-space:nowrap}.menu-source{padding:18px 22px;border-left:4px solid var(--ochre);background:#fff7df;color:var(--muted);border-radius:8px;margin-bottom:28px}
.contact-hero{padding:105px 0 72px;color:white;background:linear-gradient(90deg,rgba(7,31,23,.96),rgba(7,31,23,.5)),url("https://images.unsplash.com/photo-1564309927388-4caa290cc897?auto=format&fit=crop&fm=jpg&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&ixlib=rb-4.1.0&q=78&w=2200") center/cover}.contact-hero h1{color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-card{padding:32px;background:white;border-radius:28px;box-shadow:var(--shadow);border:1px solid var(--line)}.number{font-size:clamp(1.8rem,4vw,3.1rem);font-weight:950;color:var(--green2);line-height:1.1;margin:18px 0}.map-wrap{overflow:hidden;border-radius:28px;box-shadow:var(--shadow);min-height:430px;background:#ddd}.map-wrap iframe{border:0;width:100%;height:430px}
.mobile-order{display:none;position:fixed;left:12px;right:12px;bottom:12px;z-index:80;background:rgba(6,27,20,.96);backdrop-filter:blur(13px);padding:10px;border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.35);gap:9px}.mobile-order a{flex:1}
@media(max-width:900px){.navlinks{display:none}.actions .btn-line{display:none}.hero{min-height:auto;padding:72px 0 100px}.hero .container{grid-template-columns:1fr}.hero-logo{justify-self:start;width:260px}.orderbar{grid-template-columns:1fr}.orderbar div{border-right:0;border-bottom:1px solid var(--line)}.grid3,.footer-grid,.contact-grid{grid-template-columns:1fr}.menu-gallery{grid-template-columns:1fr 1fr}.menu-gallery figure:first-child{grid-column:1/-1}.cta{flex-direction:column;align-items:flex-start}.mobile-order{display:flex}.footer{padding-bottom:115px}}
@media(max-width:620px){.container{width:min(100% - 24px,1180px)}.section{padding:68px 0}.section-sm{padding:50px 0}.nav{min-height:68px}.logo img{width:58px;height:48px}.logo small{display:none!important}.actions .btn{padding:0 15px;min-height:43px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-logo{width:215px}.menu-gallery{grid-template-columns:1fr}.menu-gallery figure{height:220px}.menu-gallery figure:first-child{grid-column:auto}.menu-tools{top:68px}.menu-search{flex-basis:230px;min-width:230px}.dish{grid-template-columns:38px 1fr auto;gap:8px}.dish-list{padding-left:18px;padding-right:18px}.category-head{padding:21px 20px}.cta{padding:28px}}


/* =========================================================
   RESPONSIVE MATRIX — phone / tablet / laptop / 4:3 / FHD / 2K / 4K
   ========================================================= */

/* structural helpers */
.location-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px;align-items:start}
#menuRoot{display:grid;grid-template-columns:1fr;gap:24px}
#menuRoot .menu-category{margin-bottom:0;min-width:0}

/* prevent awkward overflows everywhere */
.nav,.hero .container,.grid3,.contact-grid,.location-split,.footer-grid{min-width:0}
.number,.dish-price{font-variant-numeric:tabular-nums}
.contact-card,.country,.photo-card,.menu-category{min-width:0}

/* ---------------- SMALL PHONES: 320–430 ---------------- */
@media (max-width:430px){
  body{font-size:15px}
  .container{width:calc(100% - 20px)}
  .nav{min-height:62px;gap:8px}
  .logo{gap:7px}
  .logo img{width:50px;height:42px}
  .logo>span{font-size:.83rem;line-height:1.05}
  .actions{gap:6px}
  .actions .btn{min-height:39px;padding:0 12px;font-size:.78rem}
  h1{font-size:clamp(2.05rem,10.5vw,2.75rem)}
  h2{font-size:clamp(1.72rem,8.5vw,2.25rem)}
  .kicker{font-size:.68rem;letter-spacing:.11em}
  .lead{font-size:1rem}
  .hero{padding:48px 0 78px}
  .hero::before{background-position:61% center}
  .hero-logo{width:175px}
  .hero-actions{margin-top:22px;gap:8px}
  .hero-note{font-size:.86rem}
  .orderbar{margin-top:-22px;border-radius:18px}
  .orderbar div{padding:17px 18px}
  .section{padding:52px 0}
  .section-sm{padding:42px 0}
  .grid3{gap:16px}
  .country,.photo-card .copy,.contact-card{padding:20px}
  .photo-card img{height:215px}
  .cta{padding:24px;border-radius:24px}
  .info-dark{padding:25px;border-radius:24px}
  .hours div{align-items:flex-start;font-size:.92rem}
  .menu-hero{padding:58px 0 46px}
  .menu-gallery{gap:10px;margin-top:24px}
  .menu-gallery figure{height:195px;border-radius:18px}
  .menu-tools-inner{gap:8px;padding:9px 0}
  .menu-search{flex-basis:200px;min-width:200px;padding:10px 14px;font-size:.86rem}
  .category-nav{gap:6px}
  .category-nav a{padding:8px 11px;font-size:.75rem}
  .menu-wrap{padding:32px 0 70px}
  .menu-source{padding:14px 16px;font-size:.85rem;margin-bottom:18px}
  .menu-category{border-radius:20px}
  .category-head{padding:17px 16px}
  .category-head h2{font-size:1.35rem}
  .category-head p{font-size:.78rem}
  .dish-list{padding:3px 14px 10px}
  .dish{grid-template-columns:32px minmax(0,1fr) auto;gap:7px;padding:12px 0;align-items:start}
  .dish-no{font-size:.82rem;padding-top:1px}
  .dish-copy h3{font-size:.9rem;line-height:1.25}
  .dish-copy p{font-size:.78rem;line-height:1.35}
  .dish-price{font-size:.88rem}
  .contact-hero{padding:58px 0 48px;background-position:62% center}
  .number{font-size:1.72rem;word-break:normal;white-space:nowrap}
  .map-wrap,.map-wrap iframe{min-height:320px;height:320px}
  .footer{padding-top:42px}
  .footer-grid{gap:24px}
  .footer-logo{width:90px}
  .mobile-order{left:8px;right:8px;bottom:8px;padding:8px}
  .mobile-order .btn{min-height:42px;padding:0 10px;font-size:.82rem}
}

/* ---------------- PHONES: 431–767 ---------------- */
@media (min-width:431px) and (max-width:767px){
  .container{width:calc(100% - 28px)}
  h1{font-size:clamp(2.35rem,8.7vw,3.2rem)}
  h2{font-size:clamp(1.9rem,6.8vw,2.55rem)}
  .hero{padding:60px 0 88px}
  .hero-logo{width:205px}
  .section{padding:62px 0}
  .section-sm{padding:48px 0}
  .photo-card img{height:240px}
  .menu-hero{padding:70px 0 52px}
  .menu-gallery figure{height:230px}
  .dish{grid-template-columns:38px minmax(0,1fr) auto}
  .map-wrap,.map-wrap iframe{min-height:360px;height:360px}
}

/* ---------------- TABLETS: 768–1100 ---------------- */
@media (min-width:768px) and (max-width:1100px){
  .container{width:min(920px,calc(100% - 44px))}
  .nav{min-height:72px}
  .logo img{width:64px;height:52px}
  h1{font-size:clamp(3rem,6.2vw,4rem)}
  h2{font-size:clamp(2.15rem,4.3vw,3rem)}
  .hero{padding:72px 0 96px;min-height:auto}
  .hero .container{grid-template-columns:minmax(0,1fr) 230px;gap:28px}
  .hero-logo{justify-self:end;width:230px}
  .hero::before{background-position:60% center}
  .orderbar{grid-template-columns:repeat(3,1fr);margin-top:-30px}
  .orderbar div{padding:20px 18px;border-right:1px solid var(--line);border-bottom:0}
  .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid3>:last-child{grid-column:1/-1}
  .photo-card img{height:270px}
  .location-split{grid-template-columns:1fr;gap:22px}
  .cta{padding:36px}
  .menu-hero{padding:82px 0 58px}
  .menu-gallery{grid-template-columns:1.2fr 1fr;gap:12px}
  .menu-gallery figure{height:250px}
  .menu-gallery figure:first-child{grid-row:span 2;height:512px}
  .menu-gallery figure:nth-child(2),.menu-gallery figure:nth-child(3){height:250px}
  .menu-tools{top:72px}
  #menuRoot{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr 1fr}
  .map-wrap,.map-wrap iframe{min-height:390px;height:390px}
  .footer-grid{grid-template-columns:1.15fr .85fr}
  .footer-grid>:last-child{grid-column:1/-1}
}

/* ---------------- LAPTOPS: 1101–1499 ---------------- */
@media (min-width:1101px) and (max-width:1499px){
  .container{width:min(1140px,calc(100% - 56px))}
  .nav{min-height:72px}
  .logo img{width:66px;height:53px}
  .navlinks{gap:20px;font-size:.92rem}
  .actions .btn{min-height:44px;padding:0 17px;font-size:.88rem}
  h1{font-size:clamp(3.65rem,4.7vw,4.45rem)}
  h2{font-size:clamp(2.25rem,2.8vw,3rem)}
  .hero{min-height:590px}
  .hero .container{grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);gap:38px}
  .hero-logo{width:min(330px,100%)}
  .lead{font-size:1.08rem}
  .section{padding:72px 0}
  .section-sm{padding:54px 0}
  .photo-card img{height:245px}
  .country{padding:25px}
  .cta{padding:36px}
  .info-dark{padding:32px}
  .menu-hero{padding:82px 0 56px}
  .menu-gallery figure{height:235px}
  .menu-tools{top:72px}
  .menu-wrap{padding-top:44px}
  #menuRoot{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .category-head{padding:20px 22px}
  .category-head h2{font-size:1.5rem}
  .dish-list{padding:4px 22px 12px}
  .dish{grid-template-columns:45px minmax(0,1fr) auto;padding:12px 0;gap:9px}
  .dish-copy h3{font-size:.92rem}
  .dish-copy p{font-size:.81rem}
  .dish-price{font-size:.92rem}
  .map-wrap,.map-wrap iframe{min-height:390px;height:390px}
}

/* ---------------- 4:3 / 5:4 DESKTOPS ---------------- */
@media (min-width:1101px) and (max-aspect-ratio:3/2){
  .container{width:min(1080px,calc(100% - 50px))}
  .hero{min-height:600px}
  .hero .container{grid-template-columns:minmax(0,1fr) 285px;gap:30px}
  .hero-logo{width:285px}
  .hero h1{font-size:clamp(3.3rem,4.6vw,4.15rem)}
  .section{padding:68px 0}
  .photo-card img{height:230px}
  .location-split{grid-template-columns:minmax(0,1fr) minmax(310px,.8fr)}
  #menuRoot{grid-template-columns:1fr}
  .menu-gallery figure{height:220px}
}

/* ---------------- FULL HD / WIDE DESKTOP: 1500–2199 ---------------- */
@media (min-width:1500px) and (max-width:2199px){
  .container{width:min(1340px,calc(100% - 80px))}
  .nav{min-height:82px}
  .logo img{width:78px;height:62px}
  h1{font-size:clamp(4.3rem,4.5vw,5rem)}
  h2{font-size:clamp(2.55rem,2.7vw,3.35rem)}
  .hero{min-height:min(760px,72vh)}
  .hero .container{grid-template-columns:minmax(0,1fr) minmax(340px,.68fr);gap:70px}
  .hero-logo{width:min(390px,100%)}
  .lead{font-size:1.18rem;max-width:760px}
  .section{padding:86px 0}
  .section-sm{padding:62px 0}
  .photo-card img{height:310px}
  .country{padding:30px}
  .menu-hero{padding:98px 0 68px}
  .menu-gallery figure{height:285px}
  #menuRoot{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .menu-tools{top:82px}
  .map-wrap,.map-wrap iframe{min-height:440px;height:440px}
}

/* ---------------- 2K / QHD: 2200–3199 ---------------- */
@media (min-width:2200px) and (max-width:3199px){
  body{font-size:17px}
  .container{width:min(1500px,calc(100% - 120px))}
  .nav{min-height:88px}
  .logo img{width:84px;height:67px}
  .navlinks{gap:30px}
  .btn{min-height:52px;padding:0 23px}
  h1{font-size:5.2rem}
  h2{font-size:3.55rem}
  .hero{min-height:min(830px,70vh)}
  .hero .container{grid-template-columns:minmax(0,1fr) 450px;gap:88px}
  .hero-logo{width:430px}
  .lead{font-size:1.25rem;max-width:800px}
  .orderbar div{padding:28px 32px}
  .section{padding:98px 0}
  .section-sm{padding:72px 0}
  .grid3{gap:28px}
  .photo-card img{height:340px}
  .photo-card .copy,.country{padding:30px}
  .cta{padding:50px}
  .info-dark{padding:42px}
  .menu-hero{padding:110px 0 76px}
  .menu-gallery{gap:18px}
  .menu-gallery figure{height:320px}
  .menu-tools{top:88px}
  .menu-tools-inner{padding:15px 0}
  .menu-search{flex-basis:340px;min-width:340px;padding:14px 20px}
  #menuRoot{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .category-head{padding:27px 31px}
  .category-head h2{font-size:1.9rem}
  .dish-list{padding:8px 31px 18px}
  .dish{grid-template-columns:58px minmax(0,1fr) auto;padding:16px 0}
  .dish-copy h3{font-size:1.04rem}
  .dish-copy p{font-size:.92rem}
  .dish-price{font-size:1.05rem}
  .contact-card{padding:38px}
  .map-wrap,.map-wrap iframe{min-height:500px;height:500px}
  .footer{padding-top:68px}
}

/* ---------------- 4K: 3200+ ---------------- */
@media (min-width:3200px){
  body{font-size:18px}
  .container{width:min(1720px,calc(100% - 180px))}
  .nav{min-height:96px}
  .logo img{width:92px;height:74px}
  .logo>span{font-size:1.05rem}.logo span small{font-size:.72rem}
  .navlinks{gap:34px;font-size:1rem}
  .btn{min-height:56px;padding:0 26px}
  h1{font-size:5.75rem}
  h2{font-size:3.8rem}
  h3{font-size:1.4rem}
  .hero{min-height:min(940px,66vh)}
  .hero .container{grid-template-columns:minmax(0,1fr) 520px;gap:110px}
  .hero-logo{width:500px}
  .lead{font-size:1.35rem;max-width:860px}
  .hero-actions{margin-top:34px}
  .orderbar{border-radius:30px;margin-top:-38px}
  .orderbar div{padding:32px 36px}
  .section{padding:112px 0}
  .section-sm{padding:82px 0}
  .grid3{gap:32px}
  .photo-card img{height:390px}
  .photo-card .copy,.country{padding:34px}
  .cta{padding:56px;border-radius:38px}
  .info-dark{padding:48px}
  .menu-hero{padding:128px 0 86px}
  .menu-gallery{gap:22px}.menu-gallery figure{height:360px}
  .menu-tools{top:96px}
  .menu-tools-inner{padding:17px 0}
  .menu-search{flex-basis:380px;min-width:380px;padding:15px 22px}
  .category-nav a{padding:12px 17px;font-size:.9rem}
  .menu-wrap{padding:70px 0 118px}
  #menuRoot{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .menu-category{border-radius:32px}
  .category-head{padding:30px 34px}
  .category-head h2{font-size:2.05rem}
  .dish-list{padding:9px 34px 20px}
  .dish{grid-template-columns:64px minmax(0,1fr) auto;gap:14px;padding:18px 0}
  .dish-copy h3{font-size:1.08rem}
  .dish-copy p{font-size:.95rem}
  .dish-price{font-size:1.09rem}
  .contact-card{padding:42px}
  .map-wrap,.map-wrap iframe{min-height:560px;height:560px}
  .footer{padding:76px 0 120px}
  .footer-logo{width:135px}
}

/* landscape phones: keep the hero compact instead of becoming taller than the screen */
@media (max-width:1000px) and (max-height:520px) and (orientation:landscape){
  .hero{padding:35px 0 58px}
  .hero .container{grid-template-columns:minmax(0,1fr) 150px;gap:22px}
  .hero-logo{display:block;width:145px;justify-self:end}
  .hero h1{font-size:2.4rem}
  .hero .lead{font-size:.92rem;max-width:620px}
  .hero-actions{margin-top:16px;flex-direction:row}
  .hero-actions .btn{width:auto;min-height:42px}
  .hero-note{margin-top:10px}
  .orderbar{grid-template-columns:repeat(3,1fr)}
  .orderbar div{padding:14px 16px;border-right:1px solid var(--line);border-bottom:0}
  .mobile-order{display:none}
}


/* final aspect-ratio safeguard for classic 4:3 / 5:4 monitors, including 1600x1200 */
@media (min-width:1101px) and (max-aspect-ratio:3/2){
  .container{width:min(1160px,calc(100% - 56px))}
  .hero{min-height:min(680px,72vh)}
  .hero .container{grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:34px}
  .hero-logo{width:min(310px,100%)}
  .hero h1{font-size:clamp(3.45rem,4.2vw,4.35rem)}
  .lead{max-width:700px}
  .section{padding:72px 0}
  .section-sm{padding:54px 0}
  .photo-card img{height:245px}
  .menu-gallery figure{height:235px}
  #menuRoot{grid-template-columns:1fr}
  .location-split{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)}
  .map-wrap,.map-wrap iframe{min-height:400px;height:400px}
}

@media (max-width:767px){
  .location-split{grid-template-columns:1fr;gap:20px}
  .menu-gallery{grid-template-columns:1fr}
  .menu-gallery figure:first-child{grid-column:auto}
}


/* =========================================================
   MOBILE MENU-FIRST MODE
   On phones the actual menu starts immediately after a compact title.
   ========================================================= */
@media (max-width:767px){
  .menu-page header .nav{min-height:60px}
  .menu-page header .logo{gap:8px}
  .menu-page header .logo img{width:48px;height:40px}
  .menu-page header .logo>span{font-size:.82rem;line-height:1.05}
  .menu-page header .actions .btn-gold{min-height:38px;padding:0 12px;font-size:.76rem}

  .menu-page .menu-hero{
    padding:14px 0 12px;
    background:linear-gradient(135deg,#fffaf0,#f3ead7);
    border-bottom:1px solid var(--line);
  }
  .menu-page .menu-hero::before{display:none}
  .menu-page .menu-hero .kicker,
  .menu-page .menu-hero .lead,
  .menu-page .menu-hero .hero-actions,
  .menu-page .menu-gallery{display:none!important}
  .menu-page .menu-hero h1{
    margin:0;
    font-size:1.45rem;
    line-height:1.12;
    letter-spacing:-.02em;
  }
  .menu-page .menu-hero h1::before{
    content:'Speisekarte';
    display:block;
    color:var(--ochre);
    font-family:Inter,Arial,sans-serif;
    text-transform:uppercase;
    letter-spacing:.14em;
    font-size:.65rem;
    margin-bottom:3px;
  }

  .menu-page .menu-tools{
    top:60px;
    position:sticky;
    background:rgba(251,247,237,.985);
  }
  .menu-page .menu-tools-inner{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    padding:8px 0 9px;
    overflow:visible;
  }
  .menu-page .menu-search{
    width:100%;
    min-width:0;
    height:42px;
    padding:9px 14px;
    font-size:.9rem;
    border-radius:13px;
  }
  .menu-page .category-nav{
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    gap:6px;
    padding-bottom:2px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .menu-page .category-nav::-webkit-scrollbar{display:none}
  .menu-page .category-nav a{
    flex:0 0 auto;
    padding:7px 11px;
    border-radius:10px;
    font-size:.72rem;
  }

  .menu-page .menu-wrap{
    padding:10px 0 92px;
  }
  .menu-page .menu-source{display:none}
  .menu-page #menuRoot{display:block}
  .menu-page .menu-category{
    margin-bottom:12px;
    border-radius:16px;
    scroll-margin-top:150px;
    box-shadow:0 7px 22px rgba(9,39,30,.055);
  }
  .menu-page .category-head{
    padding:13px 14px;
  }
  .menu-page .category-head>div{gap:7px}
  .menu-page .category-head h2{
    font-size:1.18rem;
  }
  .menu-page .category-head p{
    width:100%;
    padding-left:20px;
    font-size:.72rem;
  }
  .menu-page .dish-list{
    padding:0 12px 5px;
  }
  .menu-page .dish{
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:7px;
    padding:10px 0;
    align-items:start;
  }
  .menu-page .dish-no{
    font-size:.8rem;
    padding-top:1px;
  }
  .menu-page .dish-copy h3{
    font-size:.88rem;
    line-height:1.25;
  }
  .menu-page .dish-copy p{
    font-size:.74rem;
    line-height:1.3;
    margin-top:2px;
  }
  .menu-page .dish-price{
    font-size:.84rem;
    padding-top:1px;
  }
}

@media (max-width:380px){
  .menu-page header .logo>span{display:none}
  .menu-page .menu-hero h1{font-size:1.28rem}
  .menu-page .dish{grid-template-columns:27px minmax(0,1fr) auto}
  .menu-page .dish-copy h3{font-size:.84rem}
  .menu-page .dish-price{font-size:.8rem}
}

.mobile-menu-title{display:none}

@media (max-width:767px){
  .menu-page .desktop-menu-title{display:none}
  .menu-page .mobile-menu-title{display:inline}
  .menu-page .menu-hero h1{font-size:1.35rem;line-height:1.05}
  .menu-page .menu-hero h1::before{content:none!important;display:none!important}
  .menu-page .menu-hero h1::after{
    content:'Hoi An Asia · Hechthausen';
    display:block;
    margin-top:3px;
    font-family:Inter,Arial,sans-serif;
    font-size:.68rem;
    line-height:1.2;
    font-weight:800;
    color:var(--ochre);
    letter-spacing:.04em;
  }
}


/* =========================================================
   HEADER QUICK MENU BUTTON
   Speisekarte is always directly left of WhatsApp.
   ========================================================= */
.header-menu-btn{
  background:var(--green2);
  color:#fff;
  border-color:var(--green2);
}
.header-menu-btn:hover{
  background:var(--green);
  border-color:var(--green);
}

/* On tablet/phone the call button disappears; menu + WhatsApp stay visible. */
@media (max-width:900px){
  .header-call-btn{display:none!important}
  .actions{
    flex:0 0 auto;
    align-items:center;
  }
  .header-menu-btn,
  .header-whatsapp-btn{
    white-space:nowrap;
  }
}

/* Small phones: prioritize the two important header actions. */
@media (max-width:430px){
  header .logo>span{display:none!important}
  header .logo img{width:46px;height:40px}
  header .nav{gap:6px}
  header .actions{gap:5px}
  header .header-menu-btn,
  header .header-whatsapp-btn{
    min-height:38px;
    padding:0 10px;
    font-size:.72rem;
  }
}

/* Very narrow devices still keep full "Speisekarte" wording. */
@media (max-width:350px){
  header .logo img{width:40px;height:36px}
  header .header-menu-btn,
  header .header-whatsapp-btn{
    padding:0 8px;
    font-size:.68rem;
  }
}


/* =========================================================
   LIEFERSERVICE
   ========================================================= */
.delivery-home{
  padding-top:18px;
}
.delivery-feature{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  align-items:center;
  gap:34px;
  padding:42px 46px;
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(circle at 92% 10%,rgba(239,200,101,.22),transparent 28%),
    linear-gradient(125deg,var(--green2),var(--green));
  box-shadow:var(--shadow);
}
.delivery-feature::after{
  content:"13 KM";
  position:absolute;
  right:-8px;
  bottom:-33px;
  font:900 clamp(5rem,10vw,9rem)/1 Georgia,serif;
  color:rgba(255,255,255,.055);
  pointer-events:none;
}
.delivery-feature h2{
  color:#fff;
  max-width:760px;
}
.delivery-feature p{
  color:#dbe7e0;
  max-width:760px;
}
.delivery-feature-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
  position:relative;
  z-index:2;
}
.delivery-mini{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.delivery-mini span{
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  border-radius:999px;
  color:#e9f0ec;
  font-size:.9rem;
}

.delivery-section{
  background:
    radial-gradient(circle at 88% 8%,rgba(210,161,55,.12),transparent 25%),
    var(--cream);
}
.delivery-section{
  scroll-margin-top:120px;
}
.delivery-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:30px;
}
.delivery-heading h2{
  max-width:760px;
}
.delivery-lead{
  max-width:770px;
  color:var(--muted);
  margin-bottom:0;
}
.delivery-hours{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:var(--green2);
  color:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow);
  margin-bottom:24px;
}
.delivery-hours>div{
  padding:22px 24px;
  border-right:1px solid rgba(255,255,255,.11);
}
.delivery-hours>div:last-child{
  border-right:0;
}
.delivery-hours span{
  display:block;
  color:#aebfb6;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:900;
  margin-bottom:4px;
}
.delivery-hours strong{
  font-size:1rem;
}
.delivery-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.delivery-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:24px;
  padding:27px;
  box-shadow:0 12px 36px rgba(9,39,30,.07);
  position:relative;
  overflow:hidden;
}
.delivery-card::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  border-radius:50%;
  background:rgba(210,161,55,.09);
  right:-46px;
  bottom:-50px;
}
.delivery-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:11px;
}
.delivery-zone{
  display:inline-flex;
  background:var(--green2);
  color:#fff;
  border-radius:999px;
  padding:7px 12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:.75rem;
}
.delivery-card-top strong{
  color:var(--green2);
  font-size:1.22rem;
}
.delivery-fee{
  color:var(--ochre);
  font-weight:950;
  margin-bottom:12px;
}
.delivery-card p{
  color:var(--muted);
  margin:0;
  max-width:90%;
}
.delivery-bottom{
  margin-top:22px;
  padding:24px 27px;
  border:1px solid rgba(17,58,44,.11);
  border-radius:22px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.delivery-bottom strong,
.delivery-bottom span{
  display:block;
}
.delivery-bottom span{
  margin-top:3px;
  color:var(--muted);
}
.delivery-bottom-actions{
  display:flex;
  gap:9px;
  flex:0 0 auto;
}

.menu-source a{
  color:var(--green2);
  text-decoration:underline;
  text-decoration-color:rgba(210,161,55,.65);
  text-underline-offset:3px;
}

@media(max-width:900px){
  .delivery-feature{
    grid-template-columns:1fr;
    padding:34px;
  }
  .delivery-feature-actions{
    flex-direction:row;
  }
  .delivery-feature-actions .btn{
    flex:1;
  }
  .delivery-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .delivery-hours{
    grid-template-columns:1fr;
  }
  .delivery-hours>div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.11);
  }
  .delivery-hours>div:last-child{
    border-bottom:0;
  }
  .delivery-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:620px){
  .delivery-home{
    padding-top:4px;
  }
  .delivery-feature{
    padding:27px 22px;
    border-radius:23px;
  }
  .delivery-feature h2{
    font-size:1.75rem;
  }
  .delivery-feature-actions{
    flex-direction:column;
  }
  .delivery-mini{
    gap:7px;
  }
  .delivery-mini span{
    width:100%;
    border-radius:14px;
  }

  .delivery-section{
    padding-top:58px;
  }
  .delivery-heading{
    margin-bottom:22px;
  }
  .delivery-heading .btn{
    width:100%;
  }
  .delivery-hours{
    border-radius:20px;
  }
  .delivery-hours>div{
    padding:17px 19px;
  }
  .delivery-card{
    padding:21px 19px;
    border-radius:20px;
  }
  .delivery-card-top{
    align-items:flex-start;
  }
  .delivery-card-top strong{
    font-size:1.1rem;
  }
  .delivery-card p{
    max-width:none;
    font-size:.93rem;
  }
  .delivery-bottom{
    flex-direction:column;
    align-items:stretch;
    padding:20px;
  }
  .delivery-bottom-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .delivery-bottom-actions .btn{
    padding-left:10px;
    padding-right:10px;
  }
}


/* =========================================================
   DISH HIGHLIGHTS FOR PHO / BUN
   ========================================================= */
.dish-highlights-wrap{
  padding-top:16px;
  padding-bottom:34px;
}
.dish-highlights-head{
  max-width:860px;
  margin-bottom:28px;
}
.highlight-intro{
  color:var(--muted);
  max-width:820px;
  margin-bottom:0;
}
.dish-highlights-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.dish-highlight-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(9,39,30,.08);
}
.dish-highlight-card img{
  width:100%;
  height:250px;
  object-fit:cover;
}
.dish-highlight-copy{
  padding:22px;
}
.dish-highlight-tag{
  display:inline-flex;
  background:rgba(210,161,55,.14);
  color:var(--green2);
  padding:7px 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.05em;
  margin-bottom:12px;
}
.dish-highlight-copy h3{
  margin:.05em 0 .35em;
}
.dish-highlight-copy p{
  color:var(--muted);
  margin-bottom:12px;
}
.mini-link{
  color:var(--green2);
  font-weight:900;
  text-decoration:underline;
  text-decoration-color:rgba(210,161,55,.6);
  text-underline-offset:3px;
}
.mini-link:hover{
  color:var(--green3);
}

@media(max-width:1100px){
  .dish-highlights-grid{
    grid-template-columns:1fr;
  }
  .dish-highlight-card{
    display:grid;
    grid-template-columns:260px 1fr;
    align-items:stretch;
  }
  .dish-highlight-card img{
    height:100%;
    min-height:220px;
  }
}

@media(max-width:620px){
  .dish-highlights-wrap{
    padding-top:0;
    padding-bottom:22px;
  }
  .dish-highlights-head{
    margin-bottom:18px;
  }
  .dish-highlights-grid{
    gap:14px;
  }
  .dish-highlight-card{
    grid-template-columns:1fr;
    border-radius:20px;
  }
  .dish-highlight-card img{
    min-height:0;
    height:210px;
  }
  .dish-highlight-copy{
    padding:18px;
  }
  .dish-highlight-copy p{
    font-size:.95rem;
  }
}
