:root{
  --bg:#FBF3F1;
  --surface:#F4E4E1;
  --ink:#2B1210;
  --muted:#6E4A45;
  --accent:#9C2E22;
  --accent2:#B5622A;
  --radius:2px;
  --font-display:'Aref Ruqaa','Playfair Display',serif;
  --font-body:'Almarai','Karla',sans-serif;
  --step--1:0.9rem;
  --step-0:1rem;
  --step-1:1.414rem;
  --step-2:2rem;
  --step-3:2.827rem;
  --step-4:3.997rem;
  --step-5:5.653rem;
  --step-6:7.5rem;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;
  --section-pad:var(--space-9);
  --measure:62ch;
  --shadow-1:0 2px 8px rgba(43,18,16,0.08);
  --shadow-2:0 8px 24px rgba(43,18,16,0.14);
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur-1:0.5s;
  --dur-2:0.9s;
  --img-hero:none;
  --img-menu-1:none;
  --img-menu-2:none;
  --img-menu-3:none;
  --img-menu-4:none;
  --img-about:none;
}

*{box-sizing:border-box}

html{background:var(--bg)}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.7;
  font-size:var(--step-0);
}

h1,h2,h3{font-family:var(--font-display);color:var(--ink);line-height:1.25;margin:0}

p{margin:0}

a{color:inherit}

section{padding-block:var(--section-pad);position:relative;overflow:clip}

.ph{
  background:
    repeating-linear-gradient(135deg,var(--surface) 0 20px, var(--accent) 20px 40px);
  border:1px solid rgba(43,18,16,0.12);
  border-radius:var(--radius);
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
}
.ph::after{
  content:'';
  position:absolute;
  inset-inline-start:0;
  inset-block-end:0;
  inline-size:100%;
  block-size:40%;
  background:linear-gradient(to top, var(--accent2), transparent);
  opacity:0.55;
}

.dish-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:var(--radius);
}

/* Real dish/section images override placeholder gradient */
[data-image-slot="hero"]{
  background-image:var(--img-hero);
  background-size:cover;
  background-position:center;
  border:none;
}
[data-image-slot="hero"]::after{content:none}

[data-image-slot="menu"]{
  background-size:cover;
  background-position:center;
  border:none;
}
[data-image-slot="menu"]::after{content:none}

.menu-grid .menu-card:nth-child(1) [data-image-slot="menu"]{background-image:var(--img-menu-1)}
.menu-grid .menu-card:nth-child(2) [data-image-slot="menu"]{background-image:var(--img-menu-2)}
.menu-grid .menu-card:nth-child(3) [data-image-slot="menu"]{background-image:var(--img-menu-3)}
.menu-grid .menu-card:nth-child(4) [data-image-slot="menu"]{background-image:var(--img-menu-4)}

[data-image-slot="about"]{
  background-image:var(--img-about);
  background-size:cover;
  background-position:center;
  border:none;
}
[data-image-slot="about"]::after{content:none}

/* HEADER */
.bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-inline:var(--space-6);
  padding-block:var(--space-4);
  background:var(--bg);
  border-block-end:1px solid rgba(43,18,16,0.1);
  flex-wrap:wrap;
  gap:var(--space-4);
}
.wordmark{
  font-family:var(--font-display);
  font-size:var(--step-2);
  color:var(--accent);
}
.nav-links{
  display:flex;
  gap:var(--space-5);
  list-style:none;
  padding:0;margin:0;
  flex-wrap:wrap;
}
.nav-link{
  font-family:var(--font-body);
  text-decoration:none;
  color:var(--ink);
  position:relative;
  padding-block-end:2px;
}
.nav-link::after{
  content:'';
  position:absolute;
  inset-inline-end:0;
  inset-block-end:0;
  inline-size:0;
  block-size:1px;
  background:var(--accent);
  transition:inline-size var(--dur-1) var(--ease);
}
.nav-link:hover::after{inline-size:100%}
.nav-cta{
  font-family:var(--font-body);
  background:var(--accent);
  color:var(--bg);
  padding-inline:var(--space-5);
  padding-block:var(--space-3);
  border-radius:var(--radius);
  text-decoration:none;
  font-weight:700;
}

/* HERO */
.hero{
  display:grid;
  grid-template-columns:33vw 1fr;
  align-items:stretch;
  min-block-size:100vh;
  padding-inline:0;
  gap:0;
  position:relative;
}
.hero-empty{grid-column:1}
.hero-content{
  grid-column:2;
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:end;
  gap:var(--space-6);
  min-block-size:100vh;
  padding-inline-end:var(--space-6);
}
.hero-image{
  position:absolute;
  inset-block-start:0;
  inset-inline-start:0;
  inline-size:55%;
  block-size:100vh;
  z-index:0;
}
.hero-image .ph,
.hero-image .dish-img{
  block-size:100%;
  inline-size:100%;
  aspect-ratio:auto;
  border-radius:0;
}
.hero-text{
  grid-column:2/3;
  position:relative;
  z-index:1;
  padding-block-end:var(--space-7);
}
.eyebrow{
  font-family:var(--font-body);
  color:var(--accent2);
  font-size:var(--step-0);
  letter-spacing:0.05em;
  margin-block-end:var(--space-3);
  display:block;
}
.hero-title{
  grid-column:1/3;
  position:relative;
  z-index:1;
  font-size:clamp(2.2rem, 9vw, var(--step-6));
  color:var(--ink);
  margin-block-end:var(--space-4);
  margin-inline-start:-15%;
}
.hero-sub{
  font-family:var(--font-body);
  color:var(--muted);
  max-inline-size:var(--measure);
  margin-block-end:var(--space-5);
  font-size:var(--step-0);
}
.hero-ctas{display:flex;gap:var(--space-4);flex-wrap:wrap}
.btn{
  font-family:var(--font-body);
  font-weight:700;
  text-decoration:none;
  padding-inline:var(--space-6);
  padding-block:var(--space-4);
  border-radius:var(--radius);
  display:inline-block;
}
.btn-primary{background:var(--accent);color:var(--bg)}
.btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}

/* ABOUT */
.about{
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:var(--space-7);
  padding-inline:var(--space-6);
  align-items:start;
}
.about-img .ph{aspect-ratio:1/1;max-inline-size:320px;margin-block-start:var(--space-8)}
.about-content{max-inline-size:var(--measure)}
.about-rule{
  border:none;
  border-block-start:1px solid var(--muted);
  margin-block-end:var(--space-5);
  inline-size:60px;
}
.about-title{font-size:var(--step-3);margin-block-end:var(--space-4)}
.about-text{color:var(--muted);font-size:var(--step-0)}

/* MENU */
.menu{padding-inline:var(--space-6)}
.section-head{margin-block-end:var(--space-6);text-align:start}
.section-title{font-size:var(--step-3)}
.section-sub{color:var(--muted);margin-block-start:var(--space-3)}
.menu-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:var(--space-5);
}
.menu-card{
  position:relative;
  overflow:visible;
  display:block;
}
.card-media{
  position:relative;
  overflow:visible;
  border-radius:var(--radius);
}
.card-media .ph,
.card-media .dish-img{aspect-ratio:4/5;transition:transform var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);position:relative;z-index:1}
.menu-card:hover .card-media .ph,
.menu-card:hover .card-media .dish-img{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.card-ghost{
  position:absolute;
  inset-inline-start:60%;
  inset-block-start:20%;
  font-family:var(--font-display);
  font-size:var(--step-6);
  color:rgba(0,0,0,0.12);
  white-space:nowrap;
  z-index:0;
  pointer-events:none;
  transform:translateX(20%);
}
.card-body{position:relative;z-index:1;padding-block-start:var(--space-4)}
.card-title{font-size:var(--step-1);margin-block-end:var(--space-2)}
.card-text{color:var(--muted);font-size:var(--step--1)}

/* MARKET */
.market{
  background:var(--surface);
  padding-inline:var(--space-6);
}
.market-row{
  display:flex;
  gap:var(--space-4);
  overflow-x:auto;
  margin-block-end:var(--space-5);
}
.market-row .ph{
  inline-size:120px;
  block-size:120px;
  flex:0 0 auto;
  aspect-ratio:1/1;
}
.market-line{
  font-size:var(--step-1);
  font-family:var(--font-display);
  color:var(--accent);
  text-align:start;
}

/* HALL */
.hall{
  display:grid;
  grid-template-columns:3fr 2fr;
  gap:0;
  padding-inline:var(--space-6);
}
.hall-img .ph{aspect-ratio:4/5;block-size:100%}
.hall-content{
  padding-inline-start:var(--space-7);
  border-inline-start:1px solid rgba(43,18,16,0.15);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hall-title{font-size:var(--step-3);margin-block-end:var(--space-4)}
.hall-text{color:var(--muted);max-inline-size:var(--measure)}

/* HOURS */
.hours{
  background:var(--ink);
  color:var(--bg);
  padding-inline:var(--space-6);
}
.hours-table{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-3) var(--space-6);
  font-family:'Courier New',monospace;
  font-size:var(--step-2);
  max-inline-size:600px;
}
.hours-label{color:var(--accent2)}
.hours-val{color:var(--accent2)}

/* TESTIMONIAL */
.testimonial{
  padding-inline:var(--space-8);
  text-align:center;
}
.testi-rule{
  border:none;
  border-block-start:1px solid var(--muted);
  inline-size:80px;
  margin-inline:auto;
  margin-block-end:var(--space-6);
}
.testi-rule.bottom{margin-block-start:var(--space-6);margin-block-end:0}
.testi-quote{
  font-family:var(--font-display);
  font-style:italic;
  font-size:var(--step-3);
  max-inline-size:900px;
  margin-inline:auto;
}
.testi-attr{
  display:block;
  margin-block-start:var(--space-5);
  font-family:var(--font-body);
  color:var(--muted);
  font-style:normal;
}

/* CONTACT */
.contact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-7);
  padding-inline:var(--space-6);
}
.contact-info{
  display:flex;
  flex-direction:column;
  gap:var(--space-5);
}
.contact-info .ph{aspect-ratio:1/1;max-inline-size:300px}
.contact-title{font-size:var(--step-3)}
.contact-sub{color:var(--muted)}
.contact-body{
  font-family:'Courier New',monospace;
  white-space:pre-line;
  color:var(--muted);
  font-size:var(--step--1);
}
.lead-form{
  background:var(--surface);
  padding:var(--space-6);
  border-radius:var(--radius);
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}
.lead-form input,
.lead-form textarea{
  font-family:var(--font-body);
  padding:var(--space-3) var(--space-4);
  border:1px solid rgba(43,18,16,0.2);
  border-radius:var(--radius);
  background:var(--bg);
  color:var(--ink);
  font-size:var(--step-0);
}
.lead-form button{
  font-family:var(--font-body);
  font-weight:700;
  background:var(--accent);
  color:var(--bg);
  padding-block:var(--space-4);
  border:none;
  border-radius:var(--radius);
  cursor:pointer;
}
.lead-done{color:var(--accent2);font-weight:700}

/* FOOTER */
footer{
  background:var(--ink);
  color:var(--bg);
  padding-inline:var(--space-6);
  padding-block:var(--space-6);
  text-align:center;
}
.footer-note{color:var(--muted);margin-block-start:var(--space-2);font-size:var(--step--1)}

@media (max-width:768px){
  .hero{grid-template-columns:1fr}
  .hero-empty{display:none}
  .hero-content{grid-column:1;grid-template-columns:1fr;min-block-size:70vh}
  .hero-image{
    position:absolute;
    inset:0;
    inline-size:100%;
    block-size:100%;
    z-index:0;
  }
  .hero-image .ph{block-size:100%}
  .hero-title{margin-inline-start:0;color:var(--bg);position:relative;z-index:2}
  .hero-text{position:relative;z-index:2}
  .eyebrow{color:var(--bg)}
  .hero-sub{color:var(--bg)}
  .hero-content::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(43,18,16,0.75), rgba(43,18,16,0.15));
    z-index:1;
  }
  .about{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:1fr 1fr}
  .hall{grid-template-columns:1fr}
  .hall-content{padding-inline-start:0;border-inline-start:none;padding-block-start:var(--space-6)}
  .contact{grid-template-columns:1fr}
}

@media (max-width:390px){
  .menu-grid{grid-template-columns:1fr}
  .hours-table{grid-template-columns:1fr}
  .card-ghost{display:none}
}


@media (prefers-reduced-motion: reduce){[data-motion]{opacity:1;transform:none}}