:root{--primary:#125B3C;--primary-dark:#0B3D29;--accent:#FFBE2E;--cream:#FFF4D6;--background:#F8F1DF;--ink:#173429;--soft:#FFF9E9;--line-soft:rgba(18,91,60,.16)}
*{box-sizing:border-box}
html{scroll-padding-top:148px}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink)}
body.rtl{font-family:'Noto Kufi Arabic',sans-serif}
.container{width:min(1180px,calc(100% - 36px))}
.topbar{background:var(--primary-dark);color:#f5dfd5;border:0}
.header{background:rgba(255,250,245,.94);border-bottom:1px solid var(--line-soft);color:var(--ink)}
.nav{height:82px}
.brand-logo{width:68px;height:52px;object-fit:contain;background:white;border-radius:8px}
.brand{letter-spacing:.02em;color:var(--primary-dark)}
.nav-links{gap:20px}
.nav-links a{position:relative;font-size:.9rem;font-weight:600}
.nav-links a:after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--primary);transition:.25s}
.nav-links a:hover:after{right:0}
.btn{border-radius:9px}
.btn-primary{background:var(--primary);color:white;box-shadow:0 10px 25px rgba(111,13,18,.22)}
.btn-primary:hover{background:var(--primary-dark)}
.btn-outline{border:1px solid rgba(74,30,26,.22);color:var(--primary-dark);background:transparent}
.btn-glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:white;backdrop-filter:blur(8px)}
.language-toggle{display:flex;align-items:center;gap:6px;border:1px solid rgba(74,30,26,.18);background:white;color:var(--primary-dark);border-radius:999px;padding:8px 11px;cursor:pointer}
.language-toggle span{font-size:1.1rem}
.language-toggle i{width:27px;height:16px;background:#e7d8ca;border-radius:99px;position:relative}
.language-toggle i:after{content:'';position:absolute;width:12px;height:12px;left:2px;top:2px;background:var(--primary);border-radius:50%;transition:.25s}
.language-toggle.arabic i:after{transform:translateX(11px)}
[dir=rtl] .language-toggle.arabic i:after{transform:translateX(-11px)}
.language-toggle b{font-size:.7rem}
.menu-toggle,.mobile-nav{display:none}
.hero{min-height:720px;display:flex;align-items:center;position:relative;background:#0B3D29}
.hero-media,.hero-shade{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-shade{background:linear-gradient(90deg,rgba(7,48,31,.95) 0%,rgba(11,61,41,.78) 46%,rgba(11,61,41,.2) 100%),linear-gradient(0deg,rgba(7,48,31,.58),transparent 55%)}
[dir=rtl] .hero-shade{background:linear-gradient(-90deg,rgba(7,48,31,.95) 0%,rgba(11,61,41,.78) 46%,rgba(11,61,41,.2) 100%),linear-gradient(0deg,rgba(7,48,31,.58),transparent 55%)}
.hero-content{position:relative;z-index:2}
.hero-copy{max-width:720px;padding:96px 0;color:white}
.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.2em}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(3.7rem,7.4vw,7rem);line-height:.91;letter-spacing:-.04em;margin:20px 0 26px}
.rtl .hero h1,.rtl h2{font-family:'Noto Kufi Arabic',sans-serif;line-height:1.35;letter-spacing:0}
.hero h1 span{color:#e8c88e}
.hero p{font-size:1.12rem;max-width:610px;color:#eadfd9}
.hero-proof{display:flex;gap:0;margin-top:38px;border-top:1px solid rgba(255,255,255,.2);max-width:650px}
.hero-proof>*{padding:20px 28px 0 0;margin-right:28px;border-right:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;color:white}
.hero-proof>*:last-child{border:0}
.hero-proof strong{font-size:1rem}
.hero-proof span{font-size:.75rem;color:#cdbfba}
.section{padding:100px 0}
.section-head h2,.story-copy h2,.visit-copy h2,.contact-grid h2,.reviews-head h2{font:700 clamp(2.5rem,4.5vw,4.5rem)/1.04 'Playfair Display',serif;color:var(--primary-dark);letter-spacing:-.035em}
.section-head p{color:#755f58}
.popular-section{background:#fffaf5}
.popular-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.popular-card,.menu-card{background:white;border:1px solid var(--line-soft);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.popular-card:hover,.menu-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(67,27,21,.13)}
.dish-media{height:220px;position:relative;background:#e5e3e1;overflow:hidden}
.popular-card .dish-media{height:260px}
.dish-media>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.popular-card:hover .dish-media>img,.menu-card:hover .dish-media>img{transform:scale(1.04)}
.dish-media em{position:absolute;top:14px;left:14px;background:var(--primary);color:white;border-radius:99px;padding:7px 10px;font-style:normal;font-size:.68rem;font-weight:700}
.dish-fallback{position:absolute;inset:0;display:none;place-items:center;text-align:center;color:#777;filter:grayscale(1);padding:25px}
.dish-fallback img{width:100px;opacity:.28}
.dish-fallback span{display:block;font-size:.72rem;margin-top:10px}
.dish-media.fallback .dish-fallback{display:grid}
.dish-copy{padding:19px;display:flex;flex:1;flex-direction:column}
.dish-copy h3{margin:0;color:var(--primary-dark)}
.dish-copy p{color:#786964;font-size:.86rem}
.price{color:var(--primary);margin-top:auto}
.text-link{color:var(--primary);font-weight:700;border-bottom:1px solid}
.menu-section{padding-bottom:50px;background:#f2ebe4}
.menu-search-wrap{position:relative}
.menu-search-wrap span{position:absolute;left:15px;top:12px;color:#8b7770}
.menu-search-wrap input{min-width:300px;padding:14px 18px 14px 42px;border:1px solid var(--line-soft);border-radius:10px;background:white;font:inherit}
.category-dock{position:sticky;top:81px;z-index:30;background:rgba(242,235,228,.94);backdrop-filter:blur(15px);border-block:1px solid var(--line-soft)}
.category-row{padding:12px 0;overflow:auto}
.chip{background:white;color:#5b423c;border-color:var(--line-soft)}
.chip.active{background:var(--primary);color:white}
.menu-sections{padding-top:24px}
.menu-category{scroll-margin-top:148px;padding:35px 0 50px}
.category-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.category-title h3{font:700 2rem 'Playfair Display',serif;color:var(--primary-dark);margin:0}
.category-title span{background:#dccab8;border-radius:99px;padding:4px 9px;font-size:.75rem}
.menu-grid{grid-template-columns:repeat(3,1fr)}
.story-section{background:var(--primary-dark);color:white}
.story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:75px;align-items:center}
.story-art{position:relative}
.story-art>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:160px 160px 20px 20px}
.story-stamp{position:absolute;right:-20px;bottom:45px;width:130px;height:130px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--accent);color:var(--primary-dark);transform:rotate(-8deg)}
.story-stamp b{font-family:'Playfair Display';font-size:1.3rem}
.story-copy h2{color:white}
.story-copy>p{color:#decfca;font-size:1.05rem}
.story-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.story-features span{color:var(--accent);font-weight:700}
.story-features h3{font-size:1rem}
.story-features p{color:#cbb9b3;font-size:.82rem}
.gallery-section{background:#fffaf5}
.social-links{display:flex;gap:12px}
.social-links a{color:var(--primary);font-weight:700}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:12px}
.gallery-item{margin:0;position:relative;overflow:hidden;border-radius:12px}
.gallery-item.g1,.gallery-item.g6{grid-column:span 2;grid-row:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.45s}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:.8rem;opacity:0;transition:.3s}
.gallery-item:hover figcaption{opacity:1}
.reviews-section{background:#231313;color:white}
.reviews-head{display:flex;justify-content:space-between;align-items:end}
.reviews-head h2{color:white}
.rating-lockup{display:flex;align-items:center;gap:16px}
.rating-lockup>b{font:700 4.8rem 'Playfair Display'}
.rating-lockup div{display:flex;flex-direction:column}
.rating-lockup span,.stars{color:var(--accent);letter-spacing:.08em}
.rating-lockup small{color:#bbaaa5}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}
.review-card{background:#301b1b;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px}
.review-card blockquote{font:600 1.25rem/1.5 'Playfair Display',serif;margin:22px 0;color:#f6ebe6}
.review-card small{display:block;color:#aa9893}
.review-cta{margin-top:24px;color:white;border-color:rgba(255,255,255,.25)}
.visit-section{background:#f2ebe4}
.visit-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;align-items:center}
.visit-copy address{font-style:normal;font-weight:700;color:var(--primary-dark);margin:22px 0 8px}
.map-frame{min-height:470px;border-radius:20px;overflow:hidden;box-shadow:0 25px 70px rgba(68,30,22,.18)}
.map-frame iframe{border:0;width:100%;height:470px}
.contact-section{background:#fffaf5}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}
.social-stack{margin-top:30px;display:grid;gap:10px}
.social-stack a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line-soft);padding:13px 0;font-weight:700;color:var(--primary)}
.social-stack span{color:#806d66;font-weight:400}
.form{background:white;border:1px solid var(--line-soft);box-shadow:0 20px 60px rgba(67,27,21,.08)}
.field input,.field textarea{background:#faf6f1;color:var(--ink);border-color:var(--line-soft)}
.footer{background:#160b0b;color:#cdbdb8;padding-bottom:100px}
.footer-main{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:45px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;font-size:.8rem}
.floating-whatsapp{position:fixed;right:22px;bottom:24px;z-index:70;background:#25d366;color:white;border-radius:999px;padding:13px 18px;display:flex;align-items:center;gap:9px;box-shadow:0 14px 35px rgba(9,85,36,.3);transition:.25s}
.floating-whatsapp:hover{transform:translateY(-4px) scale(1.02)}
.floating-whatsapp span{font-size:1.35rem}
.reveal{opacity:0;transform:translateY(24px)}
.reveal.visible{opacity:1;transform:none}
.empty-state{text-align:center;padding:60px}
.mobile-bar{display:none}

@media(max-width:950px){.nav-links{display:none}
.menu-toggle{display:block;border:0;background:transparent;font-size:1.5rem}
.mobile-nav{position:absolute;top:82px;left:0;right:0;background:white;padding:18px;box-shadow:0 20px 40px rgba(0,0,0,.12)}
.mobile-nav.open{display:grid}
.mobile-nav a{padding:10px}
.hero{min-height:680px}
.popular-grid{grid-template-columns:repeat(2,1fr)}
.story-grid,.visit-grid,.contact-grid{grid-template-columns:1fr}
.story-art{max-width:600px}
.menu-grid{grid-template-columns:repeat(2,1fr)}
.gallery-grid{grid-template-columns:repeat(2,1fr)}
.reviews-grid{grid-template-columns:1fr}
.footer-main{grid-template-columns:1fr 1fr}
}

@media(max-width:640px){.container{width:min(100% - 24px,1180px)}
.topbar .container{font-size:.7rem}
.nav{height:70px}
.header .brand span{display:none}
.brand-logo{width:58px;height:44px}
.desktop-order{display:none}
.language-toggle{padding:7px 9px}
.hero{min-height:690px}
.hero-copy{padding:75px 0 45px}
.hero h1{font-size:3.7rem}
.hero p{font-size:1rem}
.hero-proof{display:grid;grid-template-columns:1fr 1fr}
.hero-proof>*{padding:14px 12px 0 0;margin:0}
.hero-proof>*:last-child{grid-column:span 2;margin-top:10px}
.section{padding:68px 0}
.section-head{align-items:start}
.section-head h2,.story-copy h2,.visit-copy h2,.contact-grid h2,.reviews-head h2{font-size:2.7rem}
.popular-grid,.menu-grid{grid-template-columns:1fr}
.popular-card{display:grid;grid-template-columns:125px 1fr}
.popular-card .dish-media{height:100%}
.menu-search-wrap,.menu-search-wrap input{width:100%;min-width:0}
.category-dock{top:69px}
.menu-category{scroll-margin-top:135px}
.story-grid{gap:40px}
.story-art>img{aspect-ratio:1/1.15}
.story-features{grid-template-columns:1fr}
.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:155px}
.gallery-item.g1,.gallery-item.g6{grid-column:span 2;grid-row:span 2}
.reviews-head{align-items:start;flex-direction:column}
.rating-lockup>b{font-size:3.8rem}
.footer-main{grid-template-columns:1fr}
.footer-bottom{display:grid;gap:8px}
.floating-whatsapp{bottom:82px;right:14px;padding:12px}
.floating-whatsapp b{display:none}
.mobile-bar{display:grid}
.map-frame,.map-frame iframe{min-height:360px;height:360px}
.social-stack span{display:none}
}
