
/* ---------- 1. Faces ---------- */
@font-face{font-family:'Archivo';src:url('../fonts/archivo-latin.woff2') format('woff2');font-weight:400 800;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Reem Kufi';src:url('../fonts/reemkufi-arabic.woff2') format('woff2');font-weight:400 700;font-display:swap;
  unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+FB50-FDFF,U+FE70-FEFF}

/* ---------- 2. Tokens ---------- */
:root{
  --wall:#123A31; --wall-dp:#0C2A23; --wall-up:#1A4A3E;
  --ox:#A63A24; --ox-dp:#8A2E1B; --ox-ink:#8A2E1B;
  --plaster:#EFE6D2; --plaster-dp:#E5DAC0; --plaster-hi:#F7F1E2;
  --ink:#231C14; --ink-soft:#54483A; --ink-faint:#665849;  /* 5.0:1 on the DEEPER bone too */
  --brass:#C9A227; --brass-ink:#6F5511;
  --on-dark:#EFE6D2; --on-dark-soft:#C2B79D;
  --indigo:#2C4A6B;

  --gut:clamp(1.25rem,4vw,3rem);
  --mast:84px;
  --shell:1240px;
  --dur:520ms; --dur-fast:240ms;
  --ease:cubic-bezier(.16,1,.3,1);
  --rule:1px solid rgba(35,28,20,.18);
  color-scheme:light;
}

/* ---------- 3. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;
  /* masthead + section bar + a little air. Do NOT also set scroll-margin-top on
     the targets: the two stack and the anchor lands a section short. */
  scroll-padding-top:calc(var(--mast) + 70px)}
/* the header and section bar both wrap taller on a narrow phone */
@media(max-width:400px){html{scroll-padding-top:calc(var(--mast) + 118px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--plaster);color:var(--ink);
  font-family:'Archivo',ui-sans-serif,system-ui,sans-serif;
  /* 18px floor: this site is read by people who do not zoom */
  font-size:1.125rem;line-height:1.7;
  font-variant-numeric:tabular-nums lining-nums;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4{margin:0;line-height:1.08;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
img,svg{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
button{font:inherit;color:inherit}

/* ---------- 4. Browser surfaces ---------- */
::selection{background:var(--ox);color:#fff}
:root{accent-color:var(--ox);caret-color:var(--ox)}
:focus-visible{outline:3px solid var(--ox);outline-offset:3px;border-radius:2px}
*{scrollbar-width:thin;scrollbar-color:var(--brass) transparent}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--plaster-dp)}
::-webkit-scrollbar-thumb{background:var(--brass);border:3px solid var(--plaster-dp);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:var(--ox)}

/* ---------- 5. Type helpers ---------- */
.u-display{font-weight:800;letter-spacing:-.035em;line-height:.95;text-transform:uppercase}
.u-ar{font-family:'Reem Kufi','Noto Naskh Arabic',serif;direction:rtl;unicode-bidi:isolate;font-weight:400;line-height:1.55}
.u-code{font-weight:700;font-size:.8125rem;letter-spacing:.12em;color:var(--ink-faint)}
.u-measure{max-width:66ch}

/* ---------- 6. Shell ---------- */
.shell{width:min(100% - (var(--gut) * 2),var(--shell));margin-inline:auto}
.skip{position:fixed;top:-6rem;left:var(--gut);z-index:300;background:var(--wall);color:var(--on-dark);
  padding:1rem 1.5rem;font-weight:700;transition:top var(--dur-fast) var(--ease)}
.skip:focus{top:1rem}

/* ---------- 7. Ornament ----------
   The frieze runs the width of the page and is lost at both ends, the way a
   woven edge is lost at the selvedge. Masking the element itself would fade
   its background colour too, so the pattern lives on a pseudo-element. */
.frieze{position:relative;height:34px;border:0;margin:0;background:transparent}
.frieze::before{content:'';position:absolute;inset:0;
  background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2226%22%20viewBox%3D%220%200%2024%2026%22%3E%20%3Crect%20x%3D%2211.4%22%20y%3D%220%22%20width%3D%221.2%22%20height%3D%2226%22%20fill%3D%22%236F5511%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%236F5511%22%20transform%3D%22translate(12%206)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%236F5511%22%20transform%3D%22translate(12%206)%20rotate(212)%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%236F5511%22%20transform%3D%22translate(12%2019)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%236F5511%22%20transform%3D%22translate(12%2019)%20rotate(212)%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%236F5511%22%20transform%3D%22translate(12%2032)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%236F5511%22%20transform%3D%22translate(12%2032)%20rotate(212)%22%2F%3E%20%3C%2Fsvg%3E');background-repeat:repeat-x;background-position:center;background-size:auto 26px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);}
.band--wall .frieze::before,.frieze--onDark::before{
  background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2226%22%20viewBox%3D%220%200%2024%2026%22%3E%20%3Crect%20x%3D%2211.4%22%20y%3D%220%22%20width%3D%221.2%22%20height%3D%2226%22%20fill%3D%22%23C9A227%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%206)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%206)%20rotate(212)%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2019)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2019)%20rotate(212)%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2032)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2032)%20rotate(212)%22%2F%3E%20%3C%2Fsvg%3E');background-repeat:repeat-x;background-position:center;background-size:auto 26px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);}

/* the quiet ground under beige sections — felt before it is noticed */
.band--deep{background:var(--plaster-dp);position:relative;isolation:isolate}
.band--deep::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22190%22%20height%3D%22190%22%20viewBox%3D%220%200%20190%20190%22%3E%20%3Cg%20fill%3D%22none%22%20stroke%3D%22%232C4A6B%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%3E%20%3Cpath%20d%3D%22M111.7%2054.6L108.4%2081.6L135.4%2078.3L114.0%2095.0L135.4%20111.7L108.4%20108.4L111.7%20135.4L95.0%20114.0L78.3%20135.4L81.6%20108.4L54.6%20111.7L76.0%2095.0L54.6%2078.3L81.6%2081.6L78.3%2054.6L95.0%2076.0Z%22%2F%3E%20%3Cpath%20d%3D%22M16.7%20-40.4L13.4%20-13.4L40.4%20-16.7L19.0%200.0L40.4%2016.7L13.4%2013.4L16.7%2040.4L0.0%2019.0L-16.7%2040.4L-13.4%2013.4L-40.4%2016.7L-19.0%200.0L-40.4%20-16.7L-13.4%20-13.4L-16.7%20-40.4L-0.0%20-19.0Z%22%2F%3E%3Cpath%20d%3D%22M206.7%20-40.4L203.4%20-13.4L230.4%20-16.7L209.0%200.0L230.4%2016.7L203.4%2013.4L206.7%2040.4L190.0%2019.0L173.3%2040.4L176.6%2013.4L149.6%2016.7L171.0%200.0L149.6%20-16.7L176.6%20-13.4L173.3%20-40.4L190.0%20-19.0Z%22%2F%3E%20%3Cpath%20d%3D%22M16.7%20149.6L13.4%20176.6L40.4%20173.3L19.0%20190.0L40.4%20206.7L13.4%20203.4L16.7%20230.4L0.0%20209.0L-16.7%20230.4L-13.4%20203.4L-40.4%20206.7L-19.0%20190.0L-40.4%20173.3L-13.4%20176.6L-16.7%20149.6L-0.0%20171.0Z%22%2F%3E%3Cpath%20d%3D%22M206.7%20149.6L203.4%20176.6L230.4%20173.3L209.0%20190.0L230.4%20206.7L203.4%20203.4L206.7%20230.4L190.0%20209.0L173.3%20230.4L176.6%20203.4L149.6%20206.7L171.0%20190.0L149.6%20173.3L176.6%20176.6L173.3%20149.6L190.0%20171.0Z%22%2F%3E%20%3Cpath%20d%3D%22M95.0%20-19.0L101.0%20-6.0L114.0%200.0L101.0%206.0L95.0%2019.0L89.0%206.0L76.0%200.0L89.0%20-6.0Z%22%2F%3E%3Cpath%20d%3D%22M0.0%2076.0L6.0%2089.0L19.0%2095.0L6.0%20101.0L0.0%20114.0L-6.0%20101.0L-19.0%2095.0L-6.0%2089.0Z%22%2F%3E%20%3Cpath%20d%3D%22M190.0%2076.0L196.0%2089.0L209.0%2095.0L196.0%20101.0L190.0%20114.0L184.0%20101.0L171.0%2095.0L184.0%2089.0Z%22%2F%3E%3Cpath%20d%3D%22M95.0%20171.0L101.0%20184.0L114.0%20190.0L101.0%20196.0L95.0%20209.0L89.0%20196.0L76.0%20190.0L89.0%20184.0Z%22%2F%3E%20%3Cpath%20d%3D%22M41.8%2041.8%20L148.20000000000002%20148.20000000000002M148.20000000000002%2041.8%20L41.8%20148.20000000000002%22%20opacity%3D%22.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');background-size:190px 190px;opacity:.085}

/* ---------- 8. Masthead ---------- */
.masthead{position:sticky;top:0;z-index:100;background:rgba(239,230,210,.96);
  backdrop-filter:blur(10px);border-bottom:var(--rule);
  transition:box-shadow var(--dur-fast) var(--ease),transform 320ms var(--ease)}
/* Reading down, the bar gets out of the way; reading back up, it returns. It
   never hides while the drawer is open or while anything inside it has focus. */
[data-nav='down'] .masthead{transform:translateY(-100%)}
[data-nav='down'] .masthead:focus-within{transform:none}
/* Reduced motion means do not ANIMATE it, not do not do it: the bar still gets
   out of the way, it just snaps instead of sliding. */
@media(prefers-reduced-motion:reduce){
  .masthead{transition:none}
  .secbar{transition:none}}
/* the menu's section bar takes the vacated space so it is always reachable */
[data-nav='down'] .secbar{top:0}
.masthead[data-stuck='true']{box-shadow:0 8px 26px -20px rgba(12,42,35,.6)}
.masthead__in{display:flex;align-items:center;gap:clamp(.75rem,2.5vw,2rem);min-height:var(--mast)}
.wordmark{display:flex;align-items:center;gap:.75rem;text-decoration:none;margin-inline-end:auto;padding-block:.5rem}
.wordmark img{width:48px;height:48px;object-fit:contain}
.wordmark__txt{display:grid}
.wordmark__l1{font-weight:800;font-size:1.0625rem;letter-spacing:-.015em;text-transform:uppercase;line-height:1.1}
@media(max-width:460px){.wordmark__l1{font-size:.875rem;line-height:1.15}.wordmark__l2{font-size:.8125rem}.wordmark img{width:40px;height:40px}.masthead__in{gap:.6rem}}
/* Below ~360px the row runs out of width and squeezes the button. The button is
   a tap target, so it holds its size and the wordmark gives way instead. */
@media(max-width:380px){
  .burger{flex:0 0 auto;width:48px;height:48px}
  .lang{flex:0 0 auto}
  .lang a{padding:.6rem .55rem}
  .wordmark{min-width:0}
  .wordmark img{width:34px;height:34px}
  .wordmark__l1{font-size:.8125rem}
  .wordmark__l2{font-size:.75rem}
  .masthead__in{gap:.45rem;min-height:76px}
}
.wordmark__l2{font-family:'Reem Kufi',serif;font-size:.9375rem;color:var(--brass-ink);direction:rtl;line-height:1.4}
.nav{display:flex;align-items:center;gap:clamp(.5rem,1.8vw,1.7rem)}
.nav a{text-decoration:none;font-weight:700;font-size:.9375rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);padding:.9rem .25rem;border-bottom:3px solid transparent;min-height:48px;display:flex;align-items:center}
.nav a:hover,.nav a[aria-current='page']{color:var(--ink);border-bottom-color:var(--ox)}
@media(max-width:1000px){.nav--main{display:none}}

.lang{display:flex;border:2px solid var(--ink);font-size:.8125rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lang a{padding:.6rem .7rem;text-decoration:none;min-height:44px;display:flex;align-items:center}
.lang a+a{border-left:2px solid var(--ink)}
.lang a[aria-current]{background:var(--ink);color:var(--plaster)}

.burger{display:none;background:none;border:2px solid var(--ink);width:52px;height:52px;padding:0;cursor:pointer;
  align-items:center;justify-content:center}
@media(max-width:1000px){.burger{display:inline-flex}}
.burger rect{transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease);transform-origin:center}
.burger[aria-expanded='true'] rect:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded='true'] rect:nth-child(2){opacity:0}
.burger[aria-expanded='true'] rect:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.drawer{display:none;border-top:var(--rule);background:var(--plaster-dp);padding-block:.5rem 1.5rem}
.drawer[data-open='true']{display:block}
.drawer .nav{flex-direction:column;align-items:stretch;gap:0}
.drawer .nav a{padding:1.1rem .25rem;border-bottom:var(--rule);border-top:0;font-size:1.125rem;
  display:flex;justify-content:space-between;align-items:baseline;min-height:60px}
.drawer .nav a span{font-family:'Reem Kufi',serif;color:var(--brass-ink);font-size:1rem}

/* ---------- 9. Buttons ---------- */
.ticket{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  background:var(--ox);color:#fff;border:0;padding:1rem 1.75rem;
  font-weight:800;font-size:.9375rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;min-height:56px;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.ticket:hover{background:var(--ox-dp);transform:translateY(-1px)}
.ticket svg{width:20px;height:20px;flex:none}
.ticket--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px rgba(35,28,20,.4)}
.ticket--ghost:hover{background:var(--ink);color:var(--plaster)}
.ticket--onDark{background:transparent;color:var(--on-dark);box-shadow:inset 0 0 0 2px rgba(239,230,210,.5)}
.ticket--onDark:hover{background:var(--on-dark);color:var(--wall)}

/* ---------- 10. Hero ---------- */
.hero{position:relative;background:var(--wall-dp);
  background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22280%22%20height%3D%22280%22%20viewBox%3D%220%200%20280%20280%22%3E%20%3Crect%20width%3D%22280%22%20height%3D%22280%22%20fill%3D%22%230C2A23%22%2F%3E%20%3Cg%20stroke%3D%22%230C2A23%22%20stroke-width%3D%222.2%22%3E%20%3Cpath%20d%3D%22M173.2%2059.8L165.8%20114.2L220.2%20106.8L176.5%20140.0L220.2%20173.2L165.8%20165.8L173.2%20220.2L140.0%20176.5L106.8%20220.2L114.2%20165.8L59.8%20173.2L103.5%20140.0L59.8%20106.8L114.2%20114.2L106.8%2059.8L140.0%20103.5Z%22%20fill%3D%22%2317493D%22%2F%3E%20%3Cpath%20d%3D%22M33.2%20-80.2L25.8%20-25.8L80.2%20-33.2L36.5%200.0L80.2%2033.2L25.8%2025.8L33.2%2080.2L0.0%2036.5L-33.2%2080.2L-25.8%2025.8L-80.2%2033.2L-36.5%200.0L-80.2%20-33.2L-25.8%20-25.8L-33.2%20-80.2L-0.0%20-36.5Z%22%20fill%3D%22%2317493D%22%2F%3E%20%3Cpath%20d%3D%22M313.2%20-80.2L305.8%20-25.8L360.2%20-33.2L316.5%200.0L360.2%2033.2L305.8%2025.8L313.2%2080.2L280.0%2036.5L246.8%2080.2L254.2%2025.8L199.8%2033.2L243.5%200.0L199.8%20-33.2L254.2%20-25.8L246.8%20-80.2L280.0%20-36.5Z%22%20fill%3D%22%2317493D%22%2F%3E%20%3Cpath%20d%3D%22M33.2%20199.8L25.8%20254.2L80.2%20246.8L36.5%20280.0L80.2%20313.2L25.8%20305.8L33.2%20360.2L0.0%20316.5L-33.2%20360.2L-25.8%20305.8L-80.2%20313.2L-36.5%20280.0L-80.2%20246.8L-25.8%20254.2L-33.2%20199.8L-0.0%20243.5Z%22%20fill%3D%22%2317493D%22%2F%3E%20%3Cpath%20d%3D%22M313.2%20199.8L305.8%20254.2L360.2%20246.8L316.5%20280.0L360.2%20313.2L305.8%20305.8L313.2%20360.2L280.0%20316.5L246.8%20360.2L254.2%20305.8L199.8%20313.2L243.5%20280.0L199.8%20246.8L254.2%20254.2L246.8%20199.8L280.0%20243.5Z%22%20fill%3D%22%2317493D%22%2F%3E%20%3Cpath%20d%3D%22M140.0%20-36.5L155.5%20-15.5L176.5%200.0L155.5%2015.5L140.0%2036.5L124.5%2015.5L103.5%200.0L124.5%20-15.5Z%22%20fill%3D%22%237E3520%22%2F%3E%20%3Cpath%20d%3D%22M0.0%20103.5L15.5%20124.5L36.5%20140.0L15.5%20155.5L0.0%20176.5L-15.5%20155.5L-36.5%20140.0L-15.5%20124.5Z%22%20fill%3D%22%237E3520%22%2F%3E%20%3Cpath%20d%3D%22M280.0%20103.5L295.5%20124.5L316.5%20140.0L295.5%20155.5L280.0%20176.5L264.5%20155.5L243.5%20140.0L264.5%20124.5Z%22%20fill%3D%22%237E3520%22%2F%3E%20%3Cpath%20d%3D%22M140.0%20243.5L155.5%20264.5L176.5%20280.0L155.5%20295.5L140.0%20316.5L124.5%20295.5L103.5%20280.0L124.5%20264.5Z%22%20fill%3D%22%237E3520%22%2F%3E%20%3Cpath%20d%3D%22M70.0%2044.0L81.6%2058.4L96.0%2070.0L81.6%2081.6L70.0%2096.0L58.4%2081.6L44.0%2070.0L58.4%2058.4Z%22%20fill%3D%22%23CFC2A4%22%2F%3E%20%3Cpath%20d%3D%22M210.0%2044.0L221.6%2058.4L236.0%2070.0L221.6%2081.6L210.0%2096.0L198.4%2081.6L184.0%2070.0L198.4%2058.4Z%22%20fill%3D%22%23CFC2A4%22%2F%3E%20%3Cpath%20d%3D%22M70.0%20184.0L81.6%20198.4L96.0%20210.0L81.6%20221.6L70.0%20236.0L58.4%20221.6L44.0%20210.0L58.4%20198.4Z%22%20fill%3D%22%23CFC2A4%22%2F%3E%20%3Cpath%20d%3D%22M210.0%20184.0L221.6%20198.4L236.0%20210.0L221.6%20221.6L210.0%20236.0L198.4%20221.6L184.0%20210.0L198.4%20198.4Z%22%20fill%3D%22%23CFC2A4%22%2F%3E%20%3C%2Fg%3E%20%3Cg%20fill%3D%22%230F3A30%22%20stroke%3D%22%230C2A23%22%20stroke-width%3D%221.7600000000000002%22%3E%20%3Cpath%20d%3D%22M140%2050.4%20l28%2028%20l-28%2028%20l-28%20-28%20Z%22%20opacity%3D%220%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
  background-size:280px 280px;padding-block:clamp(2.5rem,5vw,3.75rem) 0}
.hero::before{content:'';position:absolute;inset:0;background:rgba(12,42,35,.52)}
.hero__in{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(1.5rem,4vw,3rem);align-items:center}
@media(max-width:960px){.hero__in{grid-template-columns:1fr}}

.cart{background:var(--plaster);position:relative;margin-top:22px;
  padding:clamp(2rem,3.4vw,2.9rem) clamp(1.5rem,3vw,2.6rem) clamp(1.6rem,2.6vw,2.1rem);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.cart::before{content:'';position:absolute;left:0;right:0;top:-21px;height:22px;
  background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2246%22%20height%3D%2222%22%20viewBox%3D%220%200%2046%2022%22%3E%20%3Cpath%20d%3D%22M0%2022%20L0%2012.100000000000001%20C0%202.2%2023%200%2023%200%20C23%200%2046%202.2%2046%2012.100000000000001%20L46%2022%20Z%22%20fill%3D%22%23EFE6D2%22%2F%3E%20%3C%2Fsvg%3E');
  background-repeat:repeat-x;background-position:center bottom;background-size:46px 22px}
.cart h1{font-size:clamp(1.85rem,3.6vw,2.9rem);font-weight:800;letter-spacing:-.03em;
  text-transform:uppercase;line-height:1.04;margin-bottom:.85rem}
.cart p{color:var(--ink-soft);max-width:50ch}
.insc{display:flex;align-items:center;gap:1rem;margin:1rem 0 1.2rem;color:var(--brass-ink)}
.insc::before,.insc::after{content:'';height:1px;background:currentColor;opacity:.45;flex:1}
.insc span{font-family:'Reem Kufi',serif;font-size:clamp(1rem,1.7vw,1.2rem);direction:rtl;white-space:nowrap}
.acts{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}
.meta{display:flex;gap:clamp(1.2rem,3vw,2.2rem);flex-wrap:wrap;margin-top:1.6rem;padding-top:1.2rem;border-top:var(--rule)}
.meta div{display:grid;gap:.1rem}
.meta b{font-size:.8125rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink)}
.meta span{font-size:1.0625rem;font-weight:600}
.openDot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#4E9A51;margin-inline-end:.5rem;
  box-shadow:0 0 0 3px rgba(78,154,81,.24)}
.openDot[data-open='false']{background:var(--brass);box-shadow:0 0 0 3px rgba(201,162,39,.24)}

.window{position:relative;aspect-ratio:4/5;background:var(--wall-dp);
  clip-path:url(#archClip);filter:drop-shadow(0 26px 44px rgba(0,0,0,.5));display:grid;overflow:hidden}
.window__in{position:relative;overflow:hidden;min-height:0}
.window img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
/* Below 960 the window stops sitting beside the text and spans the column, so it
   takes a landscape crop. Declared after the base rule: an earlier media block
   with equal specificity loses the cascade. */
@media(max-width:960px){.window{aspect-ratio:3/2}}
/* ---------- Visit Us hero ---------- */
/* No photograph to put beside the text, so rather than float a pale card on the
   zellige with nothing next to it, the type sits straight on the ground. The
   scrim is a gradient rather than the flat 52% wash the other heroes use: the
   pattern stays readable on the right while the heading side goes dark enough
   to hold EFE6D2 at full contrast. */
.hero--plain{padding-block:clamp(3.25rem,6.5vw,5.5rem) clamp(2.75rem,5.5vw,4.5rem)}
.hero--plain::before{background:linear-gradient(96deg,
  rgba(12,42,35,.94) 0%, rgba(12,42,35,.88) 46%, rgba(12,42,35,.62) 100%)}
@media(min-width:961px){.hero__in--wide{grid-template-columns:1fr}}

.cart--bare{background:none;box-shadow:none;margin-top:0;padding:0;color:var(--on-dark)}
.cart--bare::before{content:none}                 /* the scallop belongs to the card */
.cart--bare h1{color:var(--on-dark);max-width:22ch;text-wrap:balance}
@media(min-width:961px){.cart--bare h1{max-width:none}}
.cart--bare>p{color:var(--on-dark-soft);max-width:58ch}
.cart--bare .insc{color:var(--brass);justify-content:flex-start;gap:0;margin:.55rem 0 1.35rem}
/* The flanking rules frame the Jawi nicely on the narrow light cards, but under
   a full-width left-aligned heading they read as one long stray line. Here the
   script carries itself. */
.cart--bare .insc::before,.cart--bare .insc::after{content:none}
.cart--bare .meta{border-top:1px solid rgba(239,230,210,.22)}
.cart--bare .meta b{color:var(--brass)}
.cart--bare .meta span{color:var(--on-dark)}
.window__frame{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none}
.window__tag{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:2.4rem 1rem 1rem;
  background:linear-gradient(to top,rgba(12,42,35,.92),transparent);
  color:var(--on-dark);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center}

.hem{position:relative;margin-top:clamp(2rem,4vw,3rem);height:58px;background-color:var(--wall-dp);
  background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2226%22%20viewBox%3D%220%200%2024%2026%22%3E%20%3Crect%20x%3D%2211.4%22%20y%3D%220%22%20width%3D%221.2%22%20height%3D%2226%22%20fill%3D%22%23C9A227%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%206)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%206)%20rotate(212)%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2019)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2019)%20rotate(212)%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2032)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2032)%20rotate(212)%22%2F%3E%20%3C%2Fsvg%3E'),url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%2212%22%20viewBox%3D%220%200%208%2012%22%3E%20%3Crect%20width%3D%228%22%20height%3D%223.5999999999999996%22%20y%3D%220%22%20fill%3D%22%23C9A227%22%2F%3E%20%3Crect%20width%3D%228%22%20height%3D%221.2000000000000002%22%20y%3D%224.800000000000001%22%20fill%3D%22%23C9A227%22%2F%3E%20%3Crect%20width%3D%228%22%20height%3D%221.2000000000000002%22%20y%3D%226.959999999999999%22%20fill%3D%22%23C9A227%22%2F%3E%20%3Crect%20width%3D%228%22%20height%3D%222.88%22%20y%3D%229.120000000000001%22%20fill%3D%22%23C9A227%22%2F%3E%20%3C%2Fsvg%3E');
  background-repeat:repeat-x,repeat-x;background-position:center bottom 5px,center top 10px;background-size:auto 26px,auto 12px}

/* ---------- 11. Bands and heads ---------- */
.band{padding-block:clamp(3rem,6.5vw,5rem)}
@media(max-width:600px){
  .band{padding-block:2.5rem}
  /* three uneven columns orphaned the third item; rows read better and let the
     value sit against the right edge where the eye looks for it. */
  .meta{display:grid;gap:0;margin-top:1.25rem;padding-top:.35rem}
  .meta div{grid-template-columns:1fr auto;display:grid;align-items:baseline;gap:1rem;
    padding-block:.6rem;border-bottom:1px solid rgba(35,28,20,.12)}
  .meta div:last-child{border-bottom:0}
  .meta b{font-size:.75rem}
  .meta span{font-size:1rem;text-align:right}
  .stamp__rating{justify-content:flex-end}
  .sec__lede{margin-bottom:1.5rem}
  .sprig{margin-bottom:.6rem}
  .sprig svg{width:160px}
  .cart{padding:1.5rem 1.25rem 1.4rem}
  .hero{padding-block:2rem 0}
  .hero__in{gap:1.25rem}
  .meta{gap:1.1rem;margin-top:1.25rem;padding-top:1rem}
  .ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lplate{padding:.9rem 1rem 1rem;min-height:0}
  .lplate__name{font-size:.9375rem}
  .split{gap:1.5rem}
  .foot__grid{gap:1.5rem;padding-block:1.5rem 1.75rem}
}
.band--wall{background:var(--wall);color:var(--on-dark)}
.sprig{display:grid;place-items:center;margin-bottom:.9rem}
.sprig svg{width:210px;height:38px}
.sec__head{text-align:center;margin-bottom:.7rem}
.sec__h{font-size:clamp(1.4rem,2.9vw,2.05rem);font-weight:800;letter-spacing:-.028em;text-transform:uppercase}
.sec__ar{display:block;font-family:'Reem Kufi',serif;direction:rtl;font-size:clamp(1.05rem,2vw,1.28rem);
  color:var(--brass-ink);margin-top:.4rem}
.band--wall .sec__ar{color:var(--brass)}
.sec__lede{color:var(--ink-soft);max-width:62ch;margin:0 auto 2.1rem;text-align:center}
.band--wall .sec__lede{color:var(--on-dark-soft)}
.sec__act{margin-top:1.9rem;display:flex;justify-content:center}

/* ---------- 12. Dish plates ---------- */
.rack{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.9rem,2vw,1.5rem)}
@media(max-width:1000px){.rack{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.rack{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .dish{padding:7px 7px 0}
  .dish__body{padding:.6rem .2rem .75rem;margin-top:.5rem;gap:.1rem}
  .dish__name{font-size:.9375rem;line-height:1.25}
  .dish__ar{font-size:.8125rem}
  .dish__price{font-size:.9375rem}}
.dish{text-decoration:none;display:grid;grid-template-rows:auto 1fr;align-content:start;
  background:var(--plaster);padding:10px 10px 0}
.band--deep .dish{background:var(--plaster-hi)}
.dish__im{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--plaster-dp);clip-path:url(#archClip)}
.dish__im img,.dish__im svg{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;
  transition:transform .55s var(--ease)}
.dish:hover .dish__im img{transform:scale(1.045)}
.dish__body{display:grid;gap:.15rem;padding:.9rem .35rem 1.1rem;margin-top:.75rem;border-top:1px solid rgba(201,162,39,.5)}
.dish__name{font-weight:800;font-size:1.0625rem;letter-spacing:-.015em;line-height:1.25}
.dish__ar{font-family:'Reem Kufi',serif;font-size:.9375rem;color:var(--brass-ink);direction:rtl;text-align:right}
.dish__price{font-weight:800;font-size:1.0625rem;color:var(--ox-ink);margin-top:.15rem}

/* ---------- 12b. Origin cards (about page) ---------- */
.origins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.9rem)}
@media(max-width:860px){.origins{grid-template-columns:1fr;gap:1.25rem}}
.origin{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:start;
  background:var(--plaster);padding:10px}
@media(min-width:861px){.origin{grid-template-columns:1fr;gap:0}}
.origin__im{position:relative;overflow:hidden;background:var(--plaster-dp);clip-path:url(#archClip);
  width:108px;aspect-ratio:4/5}
@media(min-width:861px){.origin__im{width:auto;aspect-ratio:4/5}}
.origin__im img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.origin__b{display:grid;gap:.2rem;padding:.2rem .4rem .6rem}
@media(min-width:861px){.origin__b{padding:.95rem .35rem .5rem;margin-top:.75rem;border-top:1px solid rgba(201,162,39,.5)}}
.origin__n{font-weight:800;font-size:1.125rem;letter-spacing:-.018em}
.origin__from{font-size:.8125rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--brass-ink)}
.origin__d{color:var(--ink-soft);font-size:1rem;line-height:1.55;margin-top:.35rem}

/* a split that leans to the text rather than halving the row */
.split--weighted{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:center}
@media(max-width:860px){.split--weighted{grid-template-columns:1fr}}
.band--wall .prose p{color:var(--on-dark-soft)}
.band--wall .arch{background:var(--wall-up)}

/* ---------- 13. Menu sections on the home page ---------- */
.ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;
  background:rgba(35,28,20,.18);border:2px solid rgba(35,28,20,.18)}
@media(max-width:900px){.ledger{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lplate{background:var(--plaster);text-decoration:none;padding:1.15rem 1.25rem 1.25rem;
  display:grid;gap:.3rem;align-content:start;min-height:104px;
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.band--deep .lplate{background:var(--plaster-hi)}
.lplate:hover{background:var(--wall);color:var(--on-dark)}
.lplate__name{font-weight:800;font-size:1.0625rem;line-height:1.25}
.lplate__ar{font-family:'Reem Kufi',serif;font-size:.9375rem;color:var(--brass-ink);direction:rtl;text-align:right}
.lplate:hover .lplate__ar{color:var(--brass)}
.lplate__n{font-size:.9375rem;font-weight:600;color:var(--ink-faint)}
.lplate:hover .lplate__n{color:var(--on-dark-soft)}

/* ---------- 13b. Shop ---------- */
.fronts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;
  background:rgba(35,28,20,.18);border:2px solid rgba(35,28,20,.18)}
@media(max-width:900px){.fronts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.fronts{grid-template-columns:1fr}}
.front{background:var(--plaster);text-decoration:none;padding:1.35rem 1.3rem 1.4rem;
  display:grid;gap:.3rem;align-content:start;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}
.band--deep .front{background:var(--plaster-hi)}
.front:hover{background:var(--wall);color:var(--on-dark)}
.front__n{font-weight:800;font-size:1.25rem;letter-spacing:-.02em}
.front__k{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-ink)}
.front:hover .front__k{color:var(--brass)}
.front__d{color:var(--ink-soft);font-size:1rem;line-height:1.5}
.front:hover .front__d{color:var(--on-dark-soft)}
.front__go{margin-top:.5rem;font-size:.8125rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ox-ink)}
.front:hover .front__go{color:var(--brass)}

.skus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.8rem)}
.skus--three{max-width:1050px;margin-inline:auto}
@media(max-width:960px){.skus{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.skus{grid-template-columns:1fr}}
.sku{background:var(--plaster);padding:10px;display:grid;grid-template-rows:auto 1fr;align-content:start}
.sku__im{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--plaster-dp);clip-path:url(#archClip)}
.sku__im img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .55s var(--ease)}
.sku:hover .sku__im img{transform:scale(1.04)}
.sku__b{display:grid;gap:.25rem;padding:.95rem .4rem .6rem;margin-top:.75rem;border-top:1px solid rgba(201,162,39,.5);align-content:start}
.sku__n{font-weight:800;font-size:1.125rem;letter-spacing:-.018em;line-height:1.25}
.sku__size{font-size:.8125rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-ink)}
.sku__d{color:var(--ink-soft);font-size:1rem;line-height:1.55;margin-top:.2rem}
.sku__p{font-weight:800;font-size:1.5rem;color:var(--ox-ink);margin-top:.4rem}
.sku__acts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.sku__acts .ticket{padding:.75rem 1.1rem;min-height:48px;font-size:.8125rem;flex:1 1 auto;justify-content:center}

/* ---------- 14. The menu page ---------- */
/* A section bar that sticks under the masthead and scrolls sideways, so a
   122-dish menu is never more than one tap from the part you want. */
.secbar{position:sticky;top:var(--mast);z-index:80;background:var(--wall);transition:top 320ms var(--ease);
  border-block:2px solid var(--wall-dp);box-shadow:0 10px 24px -20px rgba(12,42,35,.9)}

.secbar__in{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity}
.secbar__in::-webkit-scrollbar{display:none}
.secbar a{flex:0 0 auto;scroll-snap-align:start;text-decoration:none;color:var(--on-dark-soft);
  padding:1rem 1.1rem;font-weight:700;font-size:.9375rem;white-space:nowrap;min-height:56px;
  display:flex;align-items:center;border-bottom:4px solid transparent;
  transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}
.secbar a:hover{color:var(--on-dark);background:var(--wall-up)}
.secbar a[data-reading]{color:var(--on-dark);border-bottom-color:var(--ox);background:var(--wall-up)}
.secbar__edge{position:absolute;top:0;bottom:0;width:42px;pointer-events:none;z-index:2}
.secbar__edge--l{left:0;background:linear-gradient(to right,var(--wall),transparent)}
.secbar__edge--r{right:0;background:linear-gradient(to left,var(--wall),transparent)}

.plate{margin-bottom:clamp(2.5rem,5vw,3.75rem)}
.plate__head{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:1rem;
  padding-bottom:.8rem;border-bottom:3px solid var(--ink);margin-bottom:.3rem}
.plate__name{font-size:clamp(1.3rem,2.8vw,1.9rem);font-weight:800;letter-spacing:-.028em;text-transform:uppercase}
.plate__ar{font-family:'Reem Kufi',serif;font-size:clamp(1.05rem,2.1vw,1.3rem);color:var(--brass-ink);direction:rtl}
.plate__lede{color:var(--ink-soft);max-width:66ch;padding-block:1rem;font-size:1.0625rem}

.rows{border-top:var(--rule)}
.row{display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;gap:.5rem 1.25rem;
  padding:1.15rem 0;border-bottom:var(--rule);align-items:baseline}
.row__code{font-weight:700;font-size:.8125rem;letter-spacing:.1em;color:var(--ink-faint)}
.row__name{font-weight:800;font-size:1.125rem;letter-spacing:-.012em;line-height:1.3}
.row__serves{font-weight:600;font-size:.875rem;color:var(--ink-faint);margin-inline-start:.6rem;white-space:nowrap}
.row__desc{color:var(--ink-soft);font-size:1rem;line-height:1.6;margin-top:.3rem;max-width:64ch}
.row__prices{display:grid;gap:.15rem;justify-items:end;text-align:right}
.row__price{white-space:nowrap;font-size:1.0625rem}
.row__price b{font-weight:800;color:var(--ox-ink)}
.row__price i{font-style:normal;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-faint);margin-inline-end:.5rem}
@media(max-width:600px){
  .row{grid-template-columns:2.9rem minmax(0,1fr)}
  .row__prices{grid-column:2;justify-items:stretch;text-align:left;margin-top:.45rem;min-width:0}
  /* The label and the figure sit on one line and separate to the edges; the
     label may wrap. Nowrap here clipped long Malay labels off-screen, and
     because body uses overflow-x:clip the price could not even be scrolled to. */
  .row__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;
    justify-content:space-between;white-space:normal;width:100%}
  .row__price i{min-width:0;margin-inline-end:0;flex:1 1 auto}
  .row__price b{flex:0 0 auto}
}
.codeNote{color:var(--ink-soft);font-size:1rem;max-width:64ch;margin:0 0 2.25rem;
  padding:1rem 1.15rem;background:var(--plaster-dp);border:1px solid rgba(201,162,39,.55)}
.indexH{font-size:.8125rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .8rem}
.priceNote{color:var(--ink-faint);font-size:.9375rem;border-top:var(--rule);padding-top:1.1rem}

/* ---------- 15. Info cells ---------- */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:2px;
  background:rgba(35,28,20,.18);border:2px solid rgba(35,28,20,.18)}
.facts--stack{grid-template-columns:1fr}
.band--wall .facts{background:rgba(239,230,210,.22);border-color:rgba(239,230,210,.22)}
.fact{background:var(--plaster);padding:1.5rem 1.4rem;display:grid;gap:.45rem;align-content:start}
.band--deep .fact{background:var(--plaster-hi)}
.band--wall .fact{background:var(--wall)}
.fact__k{font-size:.8125rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-ink)}
.band--wall .fact__k{color:var(--brass)}
.fact__v{font-size:1.0625rem;line-height:1.6}
.fact__v a{color:var(--ink);font-weight:600}
.band--wall .fact__v a{color:var(--on-dark)}
.fact__v a:hover{color:var(--ox-ink)}
.fact__figure{font-size:2rem;font-weight:800;display:flex;align-items:center;gap:.4rem}
.fact__sub{color:var(--ink-faint);font-size:.9375rem}
.hours{display:grid;gap:.4rem}
.hours__row{display:flex;justify-content:space-between;gap:1rem;font-size:1.0625rem}
.hours__row[data-today='true']{color:var(--ink);font-weight:800}
.hours__row--last{color:var(--ox-ink);margin-top:.4rem;font-weight:600}

.chRows{border-top:1px solid rgba(239,230,210,.3)}
.chRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1.25rem;align-items:center;
  padding:1.2rem 0;border-bottom:1px solid rgba(239,230,210,.2)}
.chRow__n{font-weight:800;font-size:1.125rem;color:var(--on-dark)}
.chRow__d{font-size:1rem;color:var(--on-dark-soft);line-height:1.5}
@media(max-width:620px){
  .chRow{grid-template-columns:1fr;text-align:center;justify-items:center;padding:1.4rem 0;gap:.35rem}
  .chRow__d{max-width:34ch}
  .chRow .ticket{justify-self:center;margin-top:.9rem;min-width:min(100%,220px)}
}

/* ---------- 16. Prose, FAQ, map ---------- */
.prose{max-width:66ch;display:grid;gap:1.2rem;align-content:start}
.prose p{color:var(--ink-soft)}
.prose p.lead{font-size:1.25rem;color:var(--ink)}
.prose a{color:var(--ox-ink);font-weight:700}
.inlineArrow{width:17px;height:17px;display:inline-block;vertical-align:-3px;margin-inline-start:.35rem}
.starMark{width:17px;height:17px;color:var(--brass);display:inline-block;flex:none}
.starMark--lg{width:24px;height:24px}
.stamp__rating{display:flex;align-items:center;gap:.35rem}

.faq{border-top:3px solid var(--ink);max-width:70ch;margin-inline:auto}
.faq details{border-bottom:var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:1.3rem 3rem 1.3rem 0;font-weight:800;font-size:1.125rem;position:relative;min-height:60px}
.faq summary::-webkit-details-marker{display:none}
.faq__chev{position:absolute;right:.4rem;top:50%;width:22px;height:22px;margin-top:-11px;
  color:var(--ox);transition:transform var(--dur-fast) var(--ease)}
.faq details[open] .faq__chev{transform:rotate(180deg)}
.faq__a{padding-bottom:1.4rem;color:var(--ink-soft);font-size:1.0625rem}

.mapFrame{border:2px solid rgba(35,28,20,.25);background:var(--wall);aspect-ratio:16/9;position:relative;overflow:hidden}
/* Beside the facts list the map is a grid item and should match its height;
   a fixed aspect-ratio leaves a dead gap under it. */
.mapFrame--fill{aspect-ratio:auto;min-height:100%}
@media(max-width:760px){.mapFrame--fill{aspect-ratio:4/3;min-height:0}}
.mapFrame__fb{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:1.2rem;
  text-align:center;padding:var(--gut);color:var(--on-dark);
  background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22190%22%20height%3D%22190%22%20viewBox%3D%220%200%20190%20190%22%3E%20%3Cg%20fill%3D%22none%22%20stroke%3D%22%23C9A227%22%20stroke-width%3D%221%22%20stroke-linejoin%3D%22round%22%3E%20%3Cpath%20d%3D%22M111.7%2054.6L108.4%2081.6L135.4%2078.3L114.0%2095.0L135.4%20111.7L108.4%20108.4L111.7%20135.4L95.0%20114.0L78.3%20135.4L81.6%20108.4L54.6%20111.7L76.0%2095.0L54.6%2078.3L81.6%2081.6L78.3%2054.6L95.0%2076.0Z%22%2F%3E%20%3Cpath%20d%3D%22M16.7%20-40.4L13.4%20-13.4L40.4%20-16.7L19.0%200.0L40.4%2016.7L13.4%2013.4L16.7%2040.4L0.0%2019.0L-16.7%2040.4L-13.4%2013.4L-40.4%2016.7L-19.0%200.0L-40.4%20-16.7L-13.4%20-13.4L-16.7%20-40.4L-0.0%20-19.0Z%22%2F%3E%3Cpath%20d%3D%22M206.7%20-40.4L203.4%20-13.4L230.4%20-16.7L209.0%200.0L230.4%2016.7L203.4%2013.4L206.7%2040.4L190.0%2019.0L173.3%2040.4L176.6%2013.4L149.6%2016.7L171.0%200.0L149.6%20-16.7L176.6%20-13.4L173.3%20-40.4L190.0%20-19.0Z%22%2F%3E%20%3Cpath%20d%3D%22M16.7%20149.6L13.4%20176.6L40.4%20173.3L19.0%20190.0L40.4%20206.7L13.4%20203.4L16.7%20230.4L0.0%20209.0L-16.7%20230.4L-13.4%20203.4L-40.4%20206.7L-19.0%20190.0L-40.4%20173.3L-13.4%20176.6L-16.7%20149.6L-0.0%20171.0Z%22%2F%3E%3Cpath%20d%3D%22M206.7%20149.6L203.4%20176.6L230.4%20173.3L209.0%20190.0L230.4%20206.7L203.4%20203.4L206.7%20230.4L190.0%20209.0L173.3%20230.4L176.6%20203.4L149.6%20206.7L171.0%20190.0L149.6%20173.3L176.6%20176.6L173.3%20149.6L190.0%20171.0Z%22%2F%3E%20%3Cpath%20d%3D%22M95.0%20-19.0L101.0%20-6.0L114.0%200.0L101.0%206.0L95.0%2019.0L89.0%206.0L76.0%200.0L89.0%20-6.0Z%22%2F%3E%3Cpath%20d%3D%22M0.0%2076.0L6.0%2089.0L19.0%2095.0L6.0%20101.0L0.0%20114.0L-6.0%20101.0L-19.0%2095.0L-6.0%2089.0Z%22%2F%3E%20%3Cpath%20d%3D%22M190.0%2076.0L196.0%2089.0L209.0%2095.0L196.0%20101.0L190.0%20114.0L184.0%20101.0L171.0%2095.0L184.0%2089.0Z%22%2F%3E%3Cpath%20d%3D%22M95.0%20171.0L101.0%20184.0L114.0%20190.0L101.0%20196.0L95.0%20209.0L89.0%20196.0L76.0%20190.0L89.0%20184.0Z%22%2F%3E%20%3Cpath%20d%3D%22M41.8%2041.8%20L148.20000000000002%20148.20000000000002M148.20000000000002%2041.8%20L41.8%20148.20000000000002%22%20opacity%3D%22.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');background-size:190px 190px;background-repeat:repeat}
.mapFrame__addr{font-size:1.0625rem;line-height:1.6;color:var(--on-dark)}
.mapFrame iframe{position:relative;z-index:1;width:100%;height:100%;border:0;display:block}
@media(max-width:700px){.mapFrame{aspect-ratio:4/3}}

/* ---------- 17. Arch, layout utilities ---------- */
.arch{position:relative;background:var(--plaster-dp);clip-path:url(#archClip);aspect-ratio:4/5;overflow:hidden}
.arch img{width:100%;height:100%;object-fit:cover}
.arch--story{max-width:400px;margin-inline:auto}
.stack{display:grid;gap:clamp(1.25rem,3vw,2rem);align-content:start}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(1.5rem,4vw,3rem)}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- 18. Footer ---------- */
.foot{background:var(--wall-dp);color:var(--on-dark-soft);padding-block:clamp(2.5rem,6vw,4rem) 1.5rem;position:relative}
.foot::before{content:'';position:absolute;top:0;left:0;right:0;height:22px;
  background-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2222%22%20viewBox%3D%220%200%2024%2022%22%3E%20%3Crect%20x%3D%2211.4%22%20y%3D%220%22%20width%3D%221.2%22%20height%3D%2222%22%20fill%3D%22%23C9A227%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%206)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%206)%20rotate(212)%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2019)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2019)%20rotate(212)%22%2F%3E%20%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2032)%20rotate(-32)%22%2F%3E%3Cpath%20d%3D%22M0%200%20C3.6%20-5%2010.5%20-5.4%2014.5%200%20C10.5%205.4%203.6%205%200%200%20Z%22%20fill%3D%22%23C9A227%22%20transform%3D%22translate(12%2032)%20rotate(212)%22%2F%3E%20%3C%2Fsvg%3E');background-repeat:repeat-x;background-position:center;background-size:auto 22px;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%);opacity:.6}
.foot__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:2rem;
  padding:1.8rem 0 2.2rem;border-bottom:1px solid rgba(201,162,39,.28)}
/* a single stacked column reads better centred than ragged-left */
@media(max-width:620px){
  .foot{text-align:center}
  .foot__grid{gap:1.75rem;padding:1.6rem 0 1.9rem}
  .foot__list{justify-items:center}
  .foot__bot{justify-content:center;text-align:center;gap:1.1rem}
  .social{justify-content:center;width:100%}
}
.foot__k{font-size:.8125rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin-bottom:.8rem}
.foot a{color:var(--on-dark-soft);text-decoration:none}
.foot a:hover{color:var(--plaster-hi);text-decoration:underline}
.foot__list{display:grid;gap:.55rem;font-size:1rem}
.foot__last{color:var(--brass)}
.foot__bot{padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.9375rem}
.social{display:flex;gap:.75rem}
.social a{width:48px;height:48px;border:1px solid rgba(239,230,210,.3);display:grid;place-items:center;
  transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.social a:hover{background:var(--brass);border-color:var(--brass);color:var(--wall-dp)}
.social svg{width:19px;height:19px}

/* ---------- 19. Mobile action bar ---------- */
.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:95;display:none;background:var(--wall);
  border-top:2px solid var(--brass);padding:.6rem;gap:.6rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom))}
@media(max-width:800px){.actionbar{display:grid;grid-template-columns:1fr 1fr}body{padding-bottom:90px}}
.actionbar .ticket{width:100%;padding-inline:.75rem;font-size:.875rem;min-height:54px}

/* ---------- 20. Motion ---------- */
@media(prefers-reduced-motion:no-preference){
  .js [data-rise]{opacity:0;transform:translateY(16px);filter:blur(5px);
    transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease),filter var(--dur) var(--ease)}
  .js [data-rise][data-in='true']{opacity:1;transform:none;filter:none}
  .js [data-rise]:nth-child(2){transition-delay:60ms}
  .js [data-rise]:nth-child(3){transition-delay:120ms}
  .js [data-rise]:nth-child(4){transition-delay:180ms}
}

/* ---------- WhatsApp floating button ---------- */
/* Hidden below 801px: the .actionbar already covers that case full-width.
   Uses the house green rather than WhatsApp's own #25D366, which would be the
   only unmixed brand colour on the page; the glyph carries the recognition. */
.wafab{position:fixed;right:clamp(1rem,2.5vw,2rem);bottom:clamp(1rem,2.5vw,2rem);z-index:96;
  display:none;align-items:center;gap:0;overflow:hidden;
  min-height:56px;padding:0;border-radius:999px;
  background:var(--wall);color:var(--on-dark);text-decoration:none;
  box-shadow:0 10px 26px rgba(0,0,0,.34),0 0 0 1px rgba(201,162,39,.5) inset;
  transition:width .28s var(--ease),background .2s var(--ease),transform .2s var(--ease)}
@media(min-width:801px){.wafab{display:inline-flex}}
.wafab__ico{display:grid;place-items:center;width:56px;height:56px;flex:0 0 56px}
.wafab__ico svg{width:26px;height:26px}
.wafab__txt{white-space:nowrap;font-weight:700;font-size:.9375rem;letter-spacing:.01em;
  max-width:0;opacity:0;padding-right:0;
  transition:max-width .28s var(--ease),opacity .2s var(--ease),padding-right .28s var(--ease)}
.wafab:hover,.wafab:focus-visible{background:var(--ox);transform:translateY(-2px)}
.wafab:hover .wafab__txt,.wafab:focus-visible .wafab__txt{max-width:14rem;opacity:1;padding-right:1.35rem}
.wafab:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  .wafab,.wafab__txt{transition:none}
  .wafab:hover,.wafab:focus-visible{transform:none}
}

@media print{.masthead,.actionbar,.secbar,.social,.wafab{display:none!important}body{background:#fff}}
