:root {
  --green: #333b27;
  --beige: #e6dac8;
  --offwhite: #faf7f1;
  --gold: #b79a72;
  --line: rgba(51, 59, 39, .16);
  --serif: 'Playfair Display', 'Inter', serif;
  --sans: 'Inter', 'Playfair Display', sans-serif;
  --arabic-head: 'Aref Ruqaa', 'Noto Sans Arabic', serif;
  --arabic-body: 'Noto Sans Arabic', 'Aref Ruqaa', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; max-width: 100%; overflow-x: hidden; }
body {
  margin: 0;
  max-width: 100%;
  overflow-x: hidden;
  background: var(--offwhite);
  color: var(--green);
  font-family: var(--sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}
body.lock { overflow: hidden; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.shell { width: min(1240px, calc(100% - 64px)); margin: auto; }
.shell-wide { width: min(1440px, calc(100% - 40px)); margin: auto; }
.section-space { padding: 120px 0; }
.kicker {
  margin: 0 0 17px;
  color: var(--gold);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .19em;
  text-transform: uppercase;
}

/* Header */
.announcement {
  min-height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  background: var(--green);
  color: var(--offwhite);
  font-size: 9px;
  letter-spacing: .13em;
  text-align: center;
  text-transform: uppercase;
}
.site-header {
  height: 80px;
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250, 247, 241, .94);
  border-bottom: 1px solid rgba(51, 59, 39, .08);
  backdrop-filter: blur(14px);
}
.nav {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nav-right { justify-content: flex-end; }
.wordmark,
.footer-wordmark {
  font-family: 'Playfair Display', 'Inter', serif;
}
.wordmark {
  font-size: 29px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .27em;
  text-indent: .27em;
  white-space: nowrap;
}
.language,
.request-link {
  border: 0;
  background: none;
  color: inherit;
  padding: 10px 0;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.request-link b {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  margin-left: 5px;
  border-radius: 50%;
  background: var(--green);
  color: var(--offwhite);
  font-size: 9px;
}

/* Shared interactions */
.nav-links a,
.footer-links a,
.footer-links button,
.underline-button,
.text-button {
  position: relative;
  transition: opacity .25s ease, color .25s ease, transform .25s ease;
}
.nav-links a::after,
.footer-links a::after {
  content: '';
  position: absolute;
  right: 100%;
  bottom: -5px;
  left: 0;
  height: 1px;
  background: currentColor;
  transition: right .3s ease;
}
.nav-links a:hover::after,
.footer-links a:hover::after { right: 0; }
.nav-links a:hover,
.footer-links a:hover { opacity: .72; }
.button {
  border: 0;
  padding: 16px 22px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}
.button.solid { background: var(--green); color: var(--offwhite); }
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(51, 59, 39, .12); }
.text-button,
.underline-button {
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--green);
  padding: 10px 0;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.underline-button:hover,
.text-button:hover { transform: translateX(4px); }
.full { width: 100%; }

/* Hero */
.hero {
  min-height: calc(100vh - 110px);
  display: grid;
  grid-template-columns: 42% 58%;
  gap: 34px;
  padding-top: 28px;
  padding-bottom: 28px;
  background: var(--offwhite);
}
.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 4vw 50px;
}
.hero-arabic {
  margin-bottom: 25px;
  color: var(--gold);
  font: 400 28px/1 var(--arabic-head);
}
.hero h1 {
  max-width: 640px;
  margin: 0 0 32px;
  font: 500 clamp(62px, 7vw, 110px)/.93 var(--serif);
  letter-spacing: -.045em;
}
.hero-text {
  max-width: 570px;
  margin: 0;
  color: var(--green);
  font-size: 15px;
  line-height: 1.85;
}
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.hero-gallery {
  min-height: 720px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
}
.hero-gallery figure { margin: 0; overflow: hidden; background: var(--beige); }
.hero-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.hero-gallery figure:hover img { transform: scale(1.025); filter: saturate(1.03); }
.hero-main { grid-row: 1 / 3; }
.hero-small-top { grid-column: 2; grid-row: 1; }
.hero-small-bottom { grid-column: 2; grid-row: 2; }

/* Brand manifesto */
.manifesto {
  display: grid;
  grid-template-columns: .6fr 1.4fr;
  gap: 12vw;
  align-items: start;
  background: var(--beige);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 0 0 100vmax var(--beige);
  clip-path: inset(0 -100vmax);
}
.manifesto-copy {
  max-width: 970px;
  margin: 0;
  font: 500 clamp(31px, 3.4vw, 52px)/1.32 var(--serif);
  letter-spacing: -.02em;
}
.inline-arabic { font-family: var(--arabic-head); font-weight: 700; letter-spacing: 0; }
.lang-ar { display: none; }

/* Collections */
.collections { overflow: hidden; }
.collection {
  min-height: 780px;
  display: grid;
  grid-template-columns: 38% 62%;
  background: var(--offwhite);
}
.collection-table { grid-template-columns: 62% 38%; }
.collection-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 90px clamp(40px, 6vw, 100px);
}
.collection-copy h2 {
  margin: 0 0 21px;
  font: 500 clamp(58px, 6vw, 94px)/.98 var(--serif);
  letter-spacing: -.04em;
}
.collection-copy > p:not(.kicker):not(.collection-list) {
  max-width: 470px;
  color: var(--green);
  font-size: 14px;
  line-height: 1.85;
}
.collection-list {
  margin: 0 0 26px;
  color: var(--green);
  font: italic 500 17px/1.5 var(--serif);
}
.collection-no {
  position: absolute;
  top: 42px;
  right: 48px;
  color: var(--gold);
  font: italic 500 15px/1 var(--serif);
}
.collection-price { display: flex; align-items: baseline; margin: 4px 0 22px; }
.collection-price strong { color: var(--green); font: 500 31px/1 var(--serif); }
.collection-copy .underline-button { align-self: flex-start; margin-top: 20px; }
.collection-images { min-height: 780px; }
.three-up { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--beige); }
.three-up img {
  width: 100%;
  height: 100%;
  min-height: 780px;
  object-fit: cover;
  transform: scale(1.002);
  transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}
.collection:hover .three-up img { transform: scale(1.018); filter: saturate(1.03); }

/* Al Muneh */
.muneh {
  background: var(--beige);
  box-shadow: 0 0 0 100vmax var(--beige);
  clip-path: inset(0 -100vmax);
}
.section-head {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 100px;
  align-items: end;
  margin-bottom: 68px;
}
.section-head h2 {
  max-width: 820px;
  margin: 0;
  font: 500 clamp(48px, 5.2vw, 78px)/1.02 var(--serif);
  letter-spacing: -.035em;
}
.section-head > p { max-width: 420px; margin: 0; color: var(--green); font-size: 14px; line-height: 1.8; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 66px 24px; }
.product-card { cursor: pointer; transition: transform .35s ease; }
.product-card:hover { transform: translateY(-4px); }
.product-visual { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--beige); }
.product-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.7,.2,1); }
.product-card:hover .product-visual img { transform: scale(1.022); }
.product-collection {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 7px 9px;
  background: rgba(250, 247, 241, .90);
  color: var(--green);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.product-info { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding-top: 17px; }
.product-info h3 { margin: 0 0 7px; font: 500 27px/1.15 var(--serif); }
.product-info p { margin: 0; color: var(--green); font-size: 11px; }
.product-price { display: block; margin-top: 11px; color: var(--green); font: 500 17px/1 var(--serif); }
.product-plus { padding-top: 6px; font-size: 20px; font-weight: 200; line-height: 1; transition: transform .25s ease; }
.product-card:hover .product-plus { transform: rotate(90deg); }

/* Audience */
.for-whom {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 90px;
  align-items: start;
  background: var(--offwhite);
  border-top: 1px solid var(--line);
  box-shadow: 0 0 0 100vmax var(--offwhite);
  clip-path: inset(0 -100vmax);
}
.for-whom-intro h2 {
  max-width: 700px;
  margin: 0;
  font: 500 clamp(46px, 5vw, 76px)/1.02 var(--serif);
  letter-spacing: -.035em;
}
.audience-grid { border-top: 1px solid var(--line); }
.audience-grid article {
  display: grid;
  grid-template-columns: 52px 1fr;
  column-gap: 24px;
  padding: 27px 0;
  border-bottom: 1px solid var(--line);
}
.audience-grid article span {
  grid-row: 1 / 3;
  padding-top: 7px;
  color: var(--gold);
  font: italic 500 12px/1 var(--serif);
}
.audience-grid h3 { margin: 0 0 8px; font: 500 25px/1.15 var(--serif); }
.audience-grid p { max-width: 520px; margin: 0; color: var(--green); font-size: 12px; line-height: 1.75; }

/* Story */
.story { min-height: 830px; display: grid; grid-template-columns: 54% 46%; background: var(--beige); }
.story-image { min-height: 830px; overflow: hidden; }
.story-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.story-image:hover img { transform: scale(1.025); filter: saturate(1.03); }
.story-copy { display: flex; flex-direction: column; justify-content: center; padding: 110px clamp(52px, 7vw, 115px); }
.story-copy h2 { margin: 0 0 35px; font: 500 clamp(50px, 5.4vw, 82px)/1.01 var(--serif); letter-spacing: -.04em; }
.story-copy > p:not(.kicker):not(.story-signoff) { max-width: 570px; color: var(--green); font-size: 14px; line-height: 1.92; }
.story-signoff { margin-top: 28px; font: italic 500 22px/1.5 var(--serif); }

/* Made to order */
.made-to-order {
  background: var(--offwhite);
  box-shadow: 0 0 0 100vmax var(--offwhite);
  clip-path: inset(0 -100vmax);
}
.order-head { margin-bottom: 60px; }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.steps article {
  margin-inline-end: 30px;
  padding: 35px 30px 44px 0;
  padding-inline-end: 30px;
  border-inline-end: 1px solid var(--line);
}
.steps article:last-child { margin-inline-end: 0; padding-inline-end: 0; border-inline-end: 0; }
.steps span { color: var(--gold); font: italic 500 12px/1 var(--serif); }
.steps h3 { margin: 25px 0 10px; font: 500 26px/1.2 var(--serif); }
.steps p { max-width: 240px; color: var(--green); font-size: 12px; line-height: 1.7; }

/* Closing */
.closing { min-height: 700px; display: grid; grid-template-columns: 49% 51%; background: var(--beige); color: var(--green); }
.closing-image { min-height: 700px; overflow: hidden; }
.closing-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.closing-image:hover img { transform: scale(1.025); filter: saturate(1.03); }
.closing-copy { display: flex; flex-direction: column; justify-content: center; padding: 95px clamp(55px, 8vw, 125px); }
.closing-copy h2 { margin: 0 0 42px; color: var(--green); font: italic 500 clamp(52px, 5.8vw, 88px)/1.02 var(--serif); letter-spacing: -.035em; }
.closing-copy .button { align-self: flex-start; }

/* Footer */
.footer { padding: 76px 0; background: var(--green); color: var(--offwhite); }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr .6fr; gap: 80px; }
.footer-wordmark { color: var(--gold); font-size: 34px; font-weight: 500; line-height: 1; letter-spacing: .26em; }
.footer-arabic { margin-top: 12px; color: var(--gold); font: 700 25px/1 var(--arabic-head); }
.footer p { max-width: 400px; color: var(--offwhite); font-size: 12px; line-height: 1.75; }
.footer .muted { color: var(--offwhite); opacity: .55; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; color: var(--offwhite); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.footer-links button { border: 0; border-bottom: 1px solid rgba(250, 247, 241, .45); background: none; color: var(--offwhite); padding: 0; font-size: inherit; letter-spacing: inherit; text-transform: inherit; }

/* Request drawer and modals */
.close-x { position: absolute; top: 20px; right: 24px; border: 0; background: none; color: inherit; font-size: 29px; line-height: 1; }
.backdrop { position: fixed; inset: 0; z-index: 70; opacity: 0; pointer-events: none; background: rgba(51, 59, 39, .50); transition: opacity .25s ease; }
.backdrop.open { opacity: 1; pointer-events: auto; }
.request-drawer {
  width: min(470px, 100%);
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 80;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  touch-action: pan-y;
  padding: 75px 42px 36px;
  background: var(--beige);
  color: var(--green);
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.request-drawer.open { transform: none; }
.request-drawer h2 { margin: 0 0 30px; font: 500 45px/1.03 var(--serif); }
.request-items { margin-bottom: 26px; border-top: 1px solid var(--line); }
.request-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 14px; align-items: center; min-width: 0; padding: 16px 0; border-bottom: 1px solid var(--line); }
.request-row-main { min-width: 0; overflow-wrap: anywhere; }
.request-row strong { font: 500 18px/1.2 var(--serif); }
.request-row small { display: block; margin-top: 5px; color: var(--green); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.request-line-price { display: block; margin-top: 7px; font: 500 14px/1.25 var(--serif); }
.request-line-price em { margin-inline-start: 6px; color: var(--green); font: 400 10px/1 var(--sans); opacity: .7; }
.quantity-controls { display: inline-grid; grid-template-columns: 30px 30px 30px; align-items: center; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; }
.quantity-button { width: 30px; height: 30px; border: 0; background: transparent; color: var(--green); font: 400 18px/1 var(--sans); transition: background .2s ease; }
.quantity-button:hover { background: var(--beige); }
.quantity-value { display: grid !important; place-items: center; min-width: 30px; margin: 0 !important; font: 500 12px/1 var(--sans) !important; }
.remove-item { width: 28px; height: 28px; border: 0; background: none; color: var(--green); font-size: 19px; line-height: 1; opacity: .65; }
.remove-item:hover { opacity: 1; }
.request-empty { padding: 18px 0 32px; color: var(--green); font-size: 13px; line-height: 1.7; }
.drawer-total { display: flex; justify-content: space-between; margin-top: 5px; padding-top: 18px; border-top: 1px solid var(--line); }
.drawer-total span { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.drawer-total strong { font: 500 22px/1 var(--serif); }
.shipping-note { margin: 10px 0 18px; color: var(--green); font-size: 10px; line-height: 1.6; }
.modal { position: fixed; inset: 0; z-index: 90; display: none; align-items: center; justify-content: center; padding: 30px; background: rgba(51, 59, 39, .64); }
.modal.open { display: flex; }
.modal-card { width: min(1100px, 100%); max-height: calc(100dvh - 60px); position: relative; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; background: var(--offwhite); color: var(--green); }
.modal-x { z-index: 4; }
#productModal .modal-card { overflow: hidden; }
.product-detail { display: grid; grid-template-columns: 1fr 1fr; height: min(700px, calc(100dvh - 60px)); min-height: min(560px, calc(100dvh - 60px)); }
.product-detail-image { min-height: 0; background: var(--beige); }
.product-detail-image img { width: 100%; height: 100%; object-fit: cover; }
.product-detail-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 7vh, 80px) 62px; }
.product-detail-copy h2 { margin: 0 0 12px; font: 500 clamp(48px, 5vw, 72px)/1 var(--serif); letter-spacing: -.035em; }
.product-detail-copy .descriptor { margin-bottom: 30px; color: var(--green); font: italic 500 17px/1.4 var(--serif); }
.modal-price { margin: -12px 0 20px; color: var(--green); font: 500 28px/1 var(--serif); }
.product-detail-copy > p { color: var(--green); font-size: 14px; line-height: 1.85; }
.product-detail-copy .button { align-self: flex-start; margin-top: 25px; }
.request-modal-card { width: min(680px, 100%); padding: 62px; }
.request-modal-card h2 { margin: 0 0 17px; font: 500 50px/1.02 var(--serif); letter-spacing: -.03em; }
.request-lead { color: var(--green); font-size: 13px; line-height: 1.7; }
.request-modal-card form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.request-modal-card label { display: flex; flex-direction: column; gap: 7px; font-size: 9px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.request-modal-card .wide { grid-column: 1 / -1; }
.request-modal-card input,
.request-modal-card textarea,
.prepared-request textarea { width: 100%; min-width: 0; border: 1px solid var(--line); background: var(--offwhite); color: var(--green); padding: 13px; outline: none; resize: vertical; }
.form-summary { padding: 17px; background: var(--beige); color: var(--green); font-size: 12px; line-height: 1.7; }
.form-note { margin: 0; color: var(--green); font-size: 9px; text-align: center; }
.prepared-request { margin-top: 25px; }
.prepared-request p { color: var(--green); font-size: 13px; line-height: 1.6; }
.prepared-request textarea { width: 100%; margin-bottom: 12px; }
.gift-choice { min-width: 0; margin: 0; padding: 15px 16px 13px; border: 1px solid var(--line); }
.gift-choice legend { padding: 0 5px; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.gift-choice label { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 7px !important; margin-right: 20px; font-size: 12px !important; letter-spacing: 0 !important; text-transform: none !important; }
.gift-choice input { width: auto !important; }
.gift-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.gift-fields[hidden] { display: none; }
.hp-field { width: 1px !important; height: 1px !important; position: absolute !important; left: -9999px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* Arabic */
[dir='rtl'] body { font-family: var(--arabic-body); }
[dir='rtl'] h1,
[dir='rtl'] h2,
[dir='rtl'] h3,
[dir='rtl'] .manifesto-copy,
[dir='rtl'] .story-signoff,
[dir='rtl'] .hero-arabic,
[dir='rtl'] .footer-arabic,
[dir='rtl'] .request-drawer h2,
[dir='rtl'] .request-row strong,
[dir='rtl'] .product-info h3,
[dir='rtl'] .collection-price strong,
[dir='rtl'] .modal-price { font-family: var(--arabic-head); }
[dir='rtl'] .wordmark,
[dir='rtl'] .footer-wordmark { direction: ltr; font-family: 'Playfair Display', 'Inter', serif; }
[dir='rtl'] .language { direction: ltr; font-family: 'Inter', 'Playfair Display', sans-serif; letter-spacing: .08em; }
[dir='rtl'] .hero-copy,
[dir='rtl'] .collection-copy,
[dir='rtl'] .story-copy,
[dir='rtl'] .section-head,
[dir='rtl'] .product-info { text-align: right; }
[dir='rtl'] .hero-copy h1,
[dir='rtl'] .collection-copy h2,
[dir='rtl'] .story-copy h2,
[dir='rtl'] .section-head h2,
[dir='rtl'] .for-whom-intro h2,
[dir='rtl'] .closing-copy h2 { line-height: 1.35; letter-spacing: 0; }
[dir='rtl'] .hero-text,
[dir='rtl'] .manifesto-copy,
[dir='rtl'] .collection-copy > p,
[dir='rtl'] .story-copy > p,
[dir='rtl'] .audience-grid p,
[dir='rtl'] .section-head > p,
[dir='rtl'] .steps p,
[dir='rtl'] .closing-copy,
[dir='rtl'] .footer p,
[dir='rtl'] .request-lead { line-height: 2; }
[dir='rtl'] .kicker { letter-spacing: .04em; }
[dir='rtl'] .collection-copy .underline-button { align-self: flex-end; }
[dir='rtl'] .request-drawer { right: auto; left: 0; transform: translateX(-100%); }
[dir='rtl'] .request-drawer.open { transform: none; }
[dir='rtl'] .nav-links a::after,
[dir='rtl'] .footer-links a::after { right: 0; left: 100%; }
[dir='rtl'] .nav-links a:hover::after,
[dir='rtl'] .footer-links a:hover::after { left: 0; }
[dir='rtl'] .lang-en { display: none; }
[dir='rtl'] .lang-ar { display: inline; }

/* Tablet */
@media (max-width: 1050px) {
  .nav { grid-template-columns: 1fr auto 1fr; column-gap: 18px; }
  .nav-links { gap: 18px; font-size: 9px; letter-spacing: .09em; }
  .language, .request-link { display: inline-flex; align-items: center; white-space: nowrap; }
  .wordmark { font-size: 24px; letter-spacing: .22em; text-indent: .22em; }

  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 18px; }
  .hero-copy { padding: 70px 4vw 40px; }
  .hero-gallery { min-height: 690px; }
  .manifesto { grid-template-columns: 1fr; gap: 30px; }
  .collection, .collection-table { grid-template-columns: 1fr; min-height: auto; }
  .collection-table .collection-images { order: 2; }
  .collection-table .collection-copy { order: 1; }
  .collection-copy { min-height: 520px; }
  .collection-images, .three-up img { min-height: 630px; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .for-whom { grid-template-columns: 1fr; gap: 50px; }
  .story { grid-template-columns: 1fr; }
  .story-image { min-height: 700px; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .steps article:nth-child(2) { margin-inline-end: 0; padding-inline-end: 0; border-inline-end: 0; }
  .closing { grid-template-columns: 1fr; }
  .closing-image { min-height: 640px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-links { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
}

/* Mobile navigation — same five desktop controls, two clean rows */
@media (max-width: 850px) {
  .site-header { height: 100px; }
  .nav {
    width: calc(100% - 24px);
    height: 100px;
    display: grid;
    grid-template-columns: 2fr 3fr;
    grid-template-rows: 50px 42px;
    column-gap: 0;
    align-items: center;
  }
  .wordmark {
    grid-column: 1 / 3;
    grid-row: 1;
    justify-self: center;
    align-self: center;
    font-size: 22px;
    letter-spacing: .24em;
    text-indent: .24em;
    white-space: nowrap;
  }
  .nav-left {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    height: 42px;
  }
  .nav-right {
    grid-column: 2;
    grid-row: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    height: 42px;
  }
  .nav-left a,
  .nav-right > a,
  .language,
  .request-link {
    min-width: 0;
    width: 100%;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 3px;
    border: 0;
    background: transparent;
    color: var(--green);
    font-size: clamp(7.8px, 2.25vw, 9px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: .045em;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .request-link { gap: 3px; }
  .request-link b {
    width: 17px;
    height: 17px;
    min-width: 17px;
    display: inline-grid;
    place-items: center;
    margin: 0;
    font-size: 8px;
    line-height: 17px;
  }
  [dir='rtl'] .nav { direction: ltr; }
  [dir='rtl'] .nav-left,
  [dir='rtl'] .nav-right { direction: ltr; }
  [dir='rtl'] .nav-left a,
  [dir='rtl'] .nav-right > a,
  [dir='rtl'] .request-link {
    direction: rtl;
    font-family: var(--arabic-body);
  }
  [dir='rtl'] .language,
  [dir='rtl'] .wordmark {
    direction: ltr;
    font-family: 'Inter', 'Playfair Display', sans-serif;
  }
  [dir='rtl'] .wordmark { font-family: 'Playfair Display', 'Inter', serif; }

  .announcement { height: auto; padding: 7px 14px; line-height: 1.35; }
  .hero { padding-top: 0; }
  .hero h1 { font-size: clamp(48px, 15vw, 60px); }
  .manifesto-copy { font-size: clamp(29px, 8.5vw, 33px); }
  .collection-copy h2 { font-size: clamp(48px, 15vw, 58px); }
  .section-head h2 { font-size: clamp(42px, 13vw, 48px); }
  .story-copy h2 { font-size: clamp(44px, 13vw, 50px); }
  .closing-copy h2 { font-size: clamp(44px, 13vw, 51px); }
  .request-drawer h2 { font-size: clamp(38px, 12vw, 45px); }
}

/* Small phones */
@media (max-width: 680px) {
  .shell { width: calc(100% - 34px); }
  .shell-wide { width: 100%; }
  .section-space { padding: 82px 0; }
  .nav { width: calc(100% - 24px); }
  .announcement { font-size: 8px; }

  .hero { padding: 0; }
  .hero-copy { padding: 65px 24px 50px; }
  .hero-text { font-size: 14px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
  .hero-gallery { min-height: 0; grid-template-columns: 1fr 1fr; grid-template-rows: 480px 280px; gap: 4px; }
  .hero-main { grid-row: 1; grid-column: 1 / 3; }
  .hero-small-top { grid-row: 2; grid-column: 1; }
  .hero-small-bottom { grid-row: 2; grid-column: 2; }

  .manifesto { padding-left: 20px; padding-right: 20px; }
  .collection-copy { min-height: auto; padding: 72px 24px; }
  .collection-no { top: 30px; right: 25px; }
  .collection-images { min-height: 0; }
  .three-up { grid-template-columns: repeat(3, 78%); gap: 4px; overflow: auto; scroll-snap-type: x mandatory; }
  .three-up img { min-height: 560px; scroll-snap-align: start; }

  .section-head { grid-template-columns: 1fr; gap: 27px; margin-bottom: 45px; }
  .product-grid { grid-template-columns: 1fr; gap: 48px; }
  .product-visual { aspect-ratio: 4 / 5; }
  .for-whom { padding-left: 17px; padding-right: 17px; }
  .audience-grid article { grid-template-columns: 38px 1fr; }

  .story-image { min-height: 560px; }
  .story-copy { padding: 75px 24px; }

  .steps { grid-template-columns: 1fr; }
  .steps article,
  .steps article:nth-child(2) {
    margin: 0;
    padding: 26px 0 32px;
    border-inline-end: 0;
    border-bottom: 1px solid var(--line);
  }
  .steps article:last-child { border-bottom: 0; }

  .closing-image { min-height: 520px; }
  .closing-copy { padding: 75px 24px; }

  .footer-grid { grid-template-columns: 1fr; gap: 35px; }
  .footer-links { grid-column: auto; flex-direction: column; }
  .footer-arabic { font-size: 28px; }

  .modal { padding: 12px; }
  .modal-card { width: 100%; height: auto; max-height: calc(100dvh - 24px); }
  #productModal .modal-card { overflow: hidden; }
  .product-detail { grid-template-columns: 1fr; height: auto; min-height: 0; }
  .product-detail-image { height: min(34dvh, 260px); min-height: 0; }
  .product-detail-copy { padding: 28px 24px 30px; }
  .product-detail-copy h2 { font-size: clamp(38px, 11vw, 48px); }
  .product-detail-copy .descriptor { margin-bottom: 18px; }
  .modal-price { margin: -6px 0 14px; font-size: 24px; }
  .product-detail-copy > p { margin: 0; font-size: 13px; line-height: 1.65; }
  .product-detail-copy .button { margin-top: 16px; }
  .request-modal-card { padding: 55px 22px; }
  .request-modal-card form { grid-template-columns: 1fr; }
  .request-modal-card .wide { grid-column: auto; }
  .request-row { grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
  .quantity-controls { grid-column: 1 / 2; justify-self: start; margin-top: 2px; }
  .remove-item { grid-column: 2; grid-row: 1; align-self: start; }
  .request-drawer { width: 100%; max-width: 470px; padding: 70px 23px 30px; }
  .gift-fields { grid-template-columns: 1fr; }
  .gift-choice label { display: flex !important; margin: 8px 0; }
}

@media (max-width: 380px) {
  .nav { width: calc(100% - 12px); }
  .wordmark { font-size: 20px; letter-spacing: .20em; text-indent: .20em; }
  .nav-left a,
  .nav-right > a,
  .language,
  .request-link {
    padding: 0 1px;
    font-size: 7.4px;
    letter-spacing: .015em;
  }
  .request-link { gap: 2px; }
  .request-link b { width: 15px; height: 15px; min-width: 15px; font-size: 7px; line-height: 15px; }
}

/* Footer brand alignment: ARDAAK and أرضك remain one left-aligned stack in both languages and at all screen sizes. */
.footer-grid > div:first-child {
  direction: ltr;
  justify-self: start;
  text-align: left;
}
.footer-arabic,
[dir='rtl'] .footer-arabic {
  direction: rtl;
  text-align: left;
}
