
  /* One committed look: royal green, brass, and Downtown plaster. Painted explicitly, not theme-switched. */
  :root{
    color-scheme: dark;
    --night:#0A1F17;
    --wood:#0E3325;
    --wood-2:#165239;
    --brass:#C49A52;
    --glow:#EBC57E;
    --plaster:#E6DFD2;
    --plaster-2:#D8CFBE;
    --ink:#10241B;
    --ink-soft:#485A4F;
    --on-dark:#EDE4D4;
    --on-dark-soft:#A8B5A6;
    --roof:#0F3D2C;
    --roof-2:#175239;
    --line-dark:rgba(196,154,82,.28);
    --line-light:rgba(16,36,27,.18);
    --serif:"Newsreader", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
    --sans:"Tajawal", "Segoe UI", system-ui, -apple-system, sans-serif;
    --gutter:clamp(16px, 4vw, 56px);
    --max:1240px;
    --lattice:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cg fill='none' stroke='%23C49A52' stroke-width='1.1'%3E%3Cellipse cx='15' cy='15' rx='4.2' ry='5.4'/%3E%3Cpath d='M0 15h10.8M19.2 15H30M15 0v9.6M15 20.4V30'/%3E%3C/g%3E%3C/svg%3E");
  }
  html{background:var(--night);scroll-behavior:smooth}
  @media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
  body{margin:0;background:var(--night);color:var(--on-dark);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit}
  :focus-visible{outline:2px solid var(--glow);outline-offset:3px}
  .wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
  .eyebrow{font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
  html[lang="ar"] .eyebrow{letter-spacing:0;font-size:.92rem}
  .display{font-family:var(--serif);font-weight:300;line-height:1.04;letter-spacing:-.015em;text-wrap:balance;margin:0}
  .display em{font-style:italic;color:var(--glow)}
  html[lang="ar"] .display{font-family:var(--sans);font-weight:300;letter-spacing:0;line-height:1.25}
  html[lang="ar"] .display em{font-style:normal;font-weight:400}
  p{margin:0}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:500 .95rem/1 var(--sans);padding:.95em 1.5em;border-radius:2px;border:1px solid var(--brass);background:var(--brass);color:var(--night);cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
  .btn:hover{background:var(--glow);border-color:var(--glow)}
  .btn.ghost{background:transparent;color:var(--on-dark)}
  .btn.ghost:hover{background:rgba(196,154,82,.12);color:var(--glow)}
  .mask{display:block;background:var(--brass);-webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat}

  /* ---------- NAV ---------- */
  .nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(10,31,23,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark)}
  .nav .wrap{display:flex;align-items:center;gap:24px;min-height:72px}
  .nav .logo{--src:url(img/logo-bilingual.png);width:140px;height:37px;flex:none}
  .nav ul{display:flex;gap:28px;list-style:none;margin:0 0 0 auto;padding:0}
  html[dir="rtl"] .nav ul{margin:0 auto 0 0}
  .nav ul a{text-decoration:none;font-size:.95rem;color:var(--on-dark-soft);transition:color .2s}
  .nav ul a:hover{color:var(--glow)}
  .dial{width:84px;height:46px;flex:none}
  .dial text{font:500 7.5px var(--sans);fill:var(--on-dark-soft)}
  .dial .on{fill:var(--glow)}
  .nav-actions{display:flex;align-items:center;gap:10px}
  .lang{background:transparent;border:1px solid var(--line-dark);color:var(--on-dark);font:500 .9rem/1 var(--sans);padding:.7em .9em;border-radius:2px;cursor:pointer;min-width:52px}
  .lang:hover{border-color:var(--brass);color:var(--glow)}
  .nav .btn{padding:.75em 1.2em}
  @media (max-width:980px){.nav ul,.dial{display:none}.nav-actions{margin-inline-start:auto}}
  @media (max-width:420px){.nav .logo{width:112px;height:30px}.nav .btn{padding:.7em .9em}}

  /* ---------- HERO ---------- */
  .hero{position:relative;background:var(--night);overflow:hidden}
  .hero::before{content:"";position:absolute;inset:0;background:var(--lattice);opacity:.07;pointer-events:none}
  .hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,80px);align-items:end;padding-block:clamp(40px,7vw,96px) 0}
  .hero-text{display:grid;gap:26px;padding-block-end:clamp(40px,6vw,110px)}
  .hero h1{font-size:clamp(2.6rem,6.2vw,5.4rem)}
  .hero .lede{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--on-dark-soft);max-width:34em;font-weight:300}
  .hero .actions{display:flex;flex-wrap:wrap;gap:12px}
  .arch{position:relative;margin:0}
  .arch .frame{aspect-ratio:3/4;max-width:100%;border-radius:999px 999px 0 0;overflow:hidden;border:1px solid var(--line-dark);border-bottom:0;padding:10px 10px 0;background:linear-gradient(var(--wood),var(--night))}
  .arch img{width:100%;height:100%;object-fit:cover;border-radius:999px 999px 0 0;object-position:50% 40%}
  .arch figcaption{position:absolute;inset-inline-start:-14px;bottom:28px;background:var(--night);border:1px solid var(--line-dark);padding:10px 14px;font-size:.82rem;color:var(--on-dark-soft);max-width:220px;line-height:1.4}
  @media (max-width:860px){
    .hero .wrap{grid-template-columns:1fr;align-items:start}
    .hero-text{padding-block-end:0}
    .arch{max-width:460px;justify-self:center;width:100%}
    .arch figcaption{inset-inline-start:8px}
  }

  /* ---------- STORY (plaster) ---------- */
  .light{background:var(--plaster);color:var(--ink)}
  .light .eyebrow{color:#8A6428}
  .light .display em{color:#8A6428}
  .story{padding-block:clamp(72px,10vw,140px)}
  .story-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,6vw,80px)}
  .story-head h2{font-size:clamp(2.2rem,4.8vw,4rem)}
  .story-head p{font-size:1.1rem;color:var(--ink-soft);max-width:32em}
  .story-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
  .building{position:sticky;top:110px;display:grid;gap:18px}
  .elev{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:stretch}
  .stack{display:grid;gap:3px;width:150px}
  .roofline{height:26px;border:1px solid var(--ink);border-bottom:0;border-radius:40px 40px 0 0;position:relative;display:grid;place-items:center}
  .roofline span{width:9px;height:12px;background:#B07F32;border-radius:3px 3px 5px 5px;box-shadow:0 0 12px 3px rgba(235,197,126,.7)}
  .fl{height:26px;border:1px solid var(--ink);display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:5px 9px}
  .fl i{background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 4px);opacity:.55}
  .fl.new{background:var(--ink);border-color:var(--ink)}
  .fl.new i{background:repeating-linear-gradient(90deg,var(--glow) 0 1px,transparent 1px 4px);opacity:.9}
  .fl.base{height:34px}
  .fl.base i:nth-child(2){background:#B07F32;opacity:1}
  .elev-labels{display:grid;grid-template-rows:26px 4fr 6fr;gap:3px;font-size:.86rem;line-height:1.3}
  .elev-labels div{border-inline-start:1px solid var(--line-light);padding-inline-start:12px;display:flex;flex-direction:column;justify-content:center}
  .elev-labels b{font-weight:700;display:block}
  .elev-labels span{color:var(--ink-soft)}
  .polaroid{background:#F6F1E6;padding:10px 10px 14px;box-shadow:0 18px 40px -18px rgba(16,36,27,.45);transform:rotate(-1.6deg);max-width:360px}
  .polaroid img{width:100%;aspect-ratio:4/3;object-fit:cover}
  .polaroid figcaption{font-size:.82rem;color:var(--ink-soft);padding-top:8px}
  .timeline{list-style:none;margin:0;padding:0;display:grid}
  .timeline li{display:grid;grid-template-columns:130px 1fr;gap:24px;padding-block:28px;border-top:1px solid var(--line-light)}
  .timeline li:last-child{border-bottom:1px solid var(--line-light)}
  .timeline .when{font-family:var(--serif);font-size:1.6rem;line-height:1.1;font-weight:400;color:#8A6428}
  html[lang="ar"] .timeline .when{font-family:var(--sans);font-size:1.3rem;font-weight:500}
  .timeline h3{margin:0 0 6px;font-size:1.15rem;font-weight:700}
  .timeline p{color:var(--ink-soft);max-width:36em}
  .archive-pair{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px;align-items:start}
  .archive-pair figure{margin:0}
  .archive-pair img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.9)}
  .archive-pair figcaption{font-size:.82rem;color:var(--ink-soft);padding-top:8px}
  @media (max-width:860px){
    .story-head,.story-body{grid-template-columns:1fr}
    .building{position:static}
    .timeline li{grid-template-columns:1fr;gap:6px}
  }
  @media (max-width:520px){.archive-pair{grid-template-columns:1fr 1fr}.archive-pair figure:first-child{grid-column:1/-1}}

  /* ---------- RULE QUOTE ---------- */
  .rule{background:var(--wood);border-block:1px solid var(--line-dark);position:relative;overflow:hidden}
  .rule::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:30%;background:var(--lattice);opacity:.12;-webkit-mask:linear-gradient(90deg,transparent,#000);mask:linear-gradient(90deg,transparent,#000)}
  .rule::after{-webkit-mask:linear-gradient(270deg,transparent,#000);mask:linear-gradient(270deg,transparent,#000)}
  html[dir="rtl"] .rule::after{-webkit-mask:linear-gradient(90deg,transparent,#000);mask:linear-gradient(90deg,transparent,#000)}
  .rule .wrap{position:relative;z-index:1;padding-block:clamp(56px,8vw,110px)}
  .rule-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
  .rule-text{display:grid;gap:18px}
  .rule-pics{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;align-items:end}
  .rule-pics figure{margin:0}
  .rule-pics img{width:100%;aspect-ratio:3/4;object-fit:cover}
  .rule-pics figure:last-child img{aspect-ratio:3/4.3}
  .rule-pics figcaption{font-size:.8rem;color:var(--on-dark-soft);padding-top:8px}
  @media (max-width:900px){.rule-grid{grid-template-columns:1fr}}
  .rule blockquote{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,5.6vw,4.6rem);line-height:1.05;text-wrap:balance;max-width:14em}
  .rule blockquote em{color:var(--glow)}
  html[lang="ar"] .rule blockquote{font-family:var(--sans);line-height:1.3}
  .rule p{color:var(--on-dark-soft);max-width:38em}

  /* ---------- FILM STRIP ---------- */
  .film{padding-block:clamp(48px,6vw,80px);background:var(--night)}
  .gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px 14px}
  .film figure{margin:0}
  .gallery .p{grid-column:span 3}
  .gallery .l{grid-column:span 4}
  .gallery img{width:100%;object-fit:cover}
  .gallery .p img{aspect-ratio:3/4}
  .gallery .l img{aspect-ratio:3/2}
  .film figcaption{font-size:.82rem;color:var(--on-dark-soft);padding-top:10px}
  @media (max-width:760px){
    .gallery{grid-template-columns:1fr 1fr;gap:18px 10px}
    .gallery .p{grid-column:span 1}
    .gallery .l{grid-column:1/-1}
  }
  /* then & now */
  .thennow{background:var(--plaster);color:var(--ink);padding-block:clamp(72px,10vw,130px)}
  .thennow .eyebrow,.thennow .display em{color:#8A6428}
  .thennow .section-head p{color:var(--ink-soft)}
  .pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,56px)}
  .pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .pair figure{margin:0;position:relative}
  .pair img{width:100%;aspect-ratio:4/5;object-fit:cover}
  .pair figure:first-child img{filter:sepia(.12)}
  .stamp{position:absolute;top:10px;inset-inline-start:10px;background:var(--plaster);box-shadow:0 1px 6px rgba(16,36,27,.35);color:var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px}
  .stamp.now{background:var(--ink);color:var(--glow)}
  html[lang="ar"] .stamp{letter-spacing:0;font-size:.85rem}
  .pair-cap{grid-column:1/-1;font-size:.95rem;color:var(--ink-soft);padding-top:6px;border-top:1px solid var(--line-light)}
  @media (max-width:900px){.pairs{grid-template-columns:1fr}}

  /* ---------- ROOMS ---------- */
  .rooms{padding-block:clamp(72px,10vw,140px);background:var(--night)}
  .section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(36px,5vw,64px)}
  .section-head h2{font-size:clamp(2.2rem,4.8vw,4rem)}
  .section-head p{max-width:30em;color:var(--on-dark-soft)}
  .room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
  .room{display:grid;grid-template-rows:auto 1fr;background:var(--wood);border:1px solid var(--line-dark)}
  .room .ph{position:relative;aspect-ratio:4/5;overflow:hidden}
  .room .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
  .room:hover .ph img{transform:scale(1.04)}
  .room .tag{position:absolute;top:10px;inset-inline-start:10px;font-size:.7rem;background:rgba(10,31,23,.8);color:var(--on-dark-soft);padding:4px 8px;letter-spacing:.04em}
  .room .body{display:grid;gap:14px;padding:20px;align-content:start}
  .room h3{margin:0;font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.1}
  html[lang="ar"] .room h3{font-family:var(--sans);font-weight:500;font-size:1.4rem}
  .specs{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:.9rem}
  .specs dt{color:var(--on-dark-soft)}
  .specs dd{margin:0;text-align:end;font-variant-numeric:tabular-nums}
  .specs .tbc{color:var(--on-dark-soft);font-style:italic}
  .stay-facts{display:flex;flex-wrap:wrap;gap:10px 36px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line-dark);font-size:.95rem;color:var(--on-dark-soft)}
  .stay-facts b{color:var(--on-dark);font-weight:500}
  .disclaimer{font-size:.8rem;color:var(--on-dark-soft);opacity:.8;margin-top:14px}
  @media (max-width:1040px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media (max-width:520px){.room-grid{grid-template-columns:1fr}.room .ph{aspect-ratio:4/3}}

  /* ---------- ROOFTOP ---------- */
  .roof{background:var(--roof);position:relative;overflow:hidden;padding-block:clamp(72px,10vw,140px)}
  .roof::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 80% 10%,rgba(235,197,126,.18),transparent 70%)}
  .roof .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
  .floor-badge{display:inline-flex;align-items:baseline;gap:10px;color:var(--brass)}
  .floor-badge b{font-family:var(--serif);font-weight:300;font-size:5.5rem;line-height:.8;color:var(--glow)}
  .roof h2{font-size:clamp(2.2rem,4.6vw,3.8rem);margin-top:18px}
  .roof .copy{display:grid;gap:22px}
  .roof .copy p{color:var(--on-dark-soft);max-width:34em}
  .roof .copy p strong{color:var(--on-dark);font-weight:500}
  .roof-facts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line-dark)}
  .roof-facts li{padding:16px 14px 16px 0;font-size:.92rem;line-height:1.35}
  html[dir="rtl"] .roof-facts li{padding:16px 0 16px 14px}
  .roof-facts li + li{border-inline-start:1px solid var(--line-dark);padding-inline-start:14px}
  .roof-facts b{display:block;font-weight:500;color:var(--on-dark)}
  .roof-facts span{color:var(--on-dark-soft);font-size:.84rem}
  .collage{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
  .collage figure{margin:0;display:flex;flex-direction:column}
  .collage .tall{grid-row:1/3}
  .collage .wide{grid-column:1/-1}
  .collage img{width:100%;object-fit:cover;flex:1;min-height:0}
  .collage .tall img{aspect-ratio:3/4.2}
  .collage .sq img{aspect-ratio:1/1}
  .collage .wide img{aspect-ratio:16/8}
  .collage figcaption{font-size:.8rem;color:var(--on-dark-soft);padding-top:8px}
  .collage .old img{filter:sepia(.15)}
  @media (max-width:900px){.roof .wrap{grid-template-columns:1fr}}
  @media (max-width:520px){.roof-facts{grid-template-columns:1fr}.roof-facts li + li{border-inline-start:0;border-top:1px solid var(--line-dark);padding-inline-start:0}}

  /* ---------- MEMORIES ---------- */
  .memories{padding-block:clamp(72px,10vw,140px)}
  .memories .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,96px);align-items:start}
  .memories h2{font-size:clamp(2.2rem,4.8vw,4rem);margin-top:14px}
  .memories .lead{font-size:1.12rem;color:var(--ink-soft);margin-top:22px;max-width:32em}
  .told{margin:40px 0 0;padding:28px 0 0;border-top:1px solid var(--line-light)}
  .told p{font-family:var(--serif);font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.4;font-weight:300;font-style:italic;max-width:26em}
  html[lang="ar"] .told p{font-family:var(--sans);font-style:normal;font-size:1.35rem;line-height:1.8}
  .told footer{margin-top:14px;font-size:.88rem;color:var(--ink-soft)}
  @media (max-width:860px){.memories .wrap{grid-template-columns:1fr}}

  /* ---------- VISIT ---------- */
  .visit{padding-block:clamp(72px,10vw,130px);background:var(--night)}
  .visit .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
  .visit h2{font-size:clamp(2.2rem,4.4vw,3.6rem);margin-top:14px}
  .address{font-size:1.2rem;margin-top:22px;font-weight:300;line-height:1.5}
  .address small{display:block;color:var(--on-dark-soft);font-size:.95rem;margin-top:6px}
  .contact{display:grid;gap:8px;margin-top:28px;font-size:.98rem}
  .contact div{display:flex;gap:14px}
  .contact dt{min-width:92px;color:var(--brass)}
  .contact dd{margin:0}
  .contact .tbc{color:var(--on-dark-soft);font-style:italic}
  .dist{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
  .dist caption{text-align:start;padding-bottom:14px}
  .dist td{padding:15px 0;border-bottom:1px solid var(--line-dark)}
  .dist td:last-child{text-align:end;color:var(--glow);font-family:var(--serif);font-size:1.25rem;white-space:nowrap;padding-inline-start:16px}
  html[lang="ar"] .dist td:last-child{font-family:var(--sans);font-size:1.05rem}
  .times{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
  .times div{border:1px solid var(--line-dark);padding:16px 18px}
  .times small{display:block;color:var(--on-dark-soft);font-size:.8rem}
  .times b{font-family:var(--serif);font-weight:300;font-size:2rem;color:var(--on-dark)}
  @media (max-width:860px){.visit .wrap{grid-template-columns:1fr}}

  /* ---------- FOOTER ---------- */
  .site-foot{background:var(--wood);border-top:1px solid var(--brass);padding-block:56px 40px}
  .site-foot .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:end}
  .site-foot .stacked{--src:url(img/logo-stacked.png);width:150px;aspect-ratio:700/682;height:auto}
  .site-foot p{color:var(--on-dark-soft);font-size:.88rem}
  .site-foot nav{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:.92rem}
  .site-foot nav a{text-decoration:none;color:var(--on-dark-soft)}
  .site-foot nav a:hover{color:var(--glow)}
  .preview-note{font-size:.78rem;color:var(--on-dark-soft);opacity:.75;margin-top:6px}
  @media (max-width:760px){.site-foot .wrap{grid-template-columns:1fr;align-items:start}}


  /* ---------- v2 ADDITIONS ---------- */
  .room .foot{border-top:1px solid var(--line-dark);padding-top:14px;margin-top:auto}
  .room .foot .btn{width:100%;padding:.75em 1em;font-size:.9rem}
  .btn .arrow{font-size:.9em;opacity:.8}
  html[dir="rtl"] .btn .arrow{transform:scaleX(-1)}

  /* amenities + stay panel */
  .panel{margin-top:clamp(32px,4vw,56px);border:1px solid var(--line-dark);background:var(--wood);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .panel > div{padding:clamp(22px,3vw,36px)}
  .panel .p-head{border-inline-end:1px solid var(--line-dark);display:grid;gap:12px;align-content:start}
  .panel h3{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,2.6vw,2.4rem);line-height:1.1}
  html[lang="ar"] .panel h3{font-family:var(--sans);font-weight:400;font-size:1.6rem}
  .panel p{color:var(--on-dark-soft);font-size:.95rem}
  .amenity-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;font-size:.95rem}
  .amenity-list li{display:flex;gap:10px;align-items:baseline;color:var(--on-dark)}
  .amenity-list li::before{content:"";flex:none;width:5px;height:5px;background:var(--brass);transform:rotate(45deg)}
  .facts{list-style:none;margin:0;padding:0;display:grid;gap:0}
  .facts li{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line-dark);font-size:.97rem}
  .facts li:last-child{border-bottom:0}
  .facts b{font-weight:500}
  .facts span{color:var(--on-dark-soft);text-align:end}
  @media (max-width:820px){.panel{grid-template-columns:1fr}.panel .p-head{border-inline-end:0;border-bottom:1px solid var(--line-dark)}.amenity-list{grid-template-columns:1fr}}

  /* then & now, v2 */
  .tn-note{margin-top:28px;font-size:.92rem;color:var(--ink-soft);max-width:44em}
  .pairs{gap:clamp(28px,3.5vw,44px)}
  .pair img{aspect-ratio:4/3}

  /* staff */
  .staff{background:var(--wood);padding-block:clamp(72px,10vw,130px);border-block:1px solid var(--line-dark)}
  .staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,40px)}
  .person{display:grid;gap:14px;align-content:start}
  .person .shots{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .person figure{margin:0;position:relative}
  .person img{width:100%;aspect-ratio:4/3;object-fit:cover}
  .person .shots figure:first-child img{filter:sepia(.12)}
  .person .stamp{position:absolute;top:8px;inset-inline-start:8px;background:rgba(10,31,23,.85);color:var(--brass);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 7px;box-shadow:none}
  html[lang="ar"] .person .stamp{letter-spacing:0;font-size:.78rem}
  .person h3{margin:0;font-family:var(--serif);font-weight:400;font-size:1.5rem}
  html[lang="ar"] .person h3{font-family:var(--sans);font-weight:500;font-size:1.3rem}
  .person .role{color:var(--brass);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
  html[lang="ar"] .person .role{letter-spacing:0;font-size:.92rem;text-transform:none}
  .person p{color:var(--on-dark-soft);font-size:.95rem}
  @media (max-width:900px){.staff-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}}

  /* day in cairo */
  .day{background:var(--night);padding-block:clamp(72px,10vw,130px)}
  .day-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
  .itinerary{list-style:none;margin:0;padding:0}
  .itinerary li{display:grid;grid-template-columns:150px 1fr;gap:22px;padding-block:22px;border-top:1px solid var(--line-dark)}
  .itinerary li:last-child{border-bottom:1px solid var(--line-dark)}
  .itinerary .when{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);padding-top:4px}
  html[lang="ar"] .itinerary .when{letter-spacing:0;font-size:.92rem;text-transform:none}
  .itinerary p{color:var(--on-dark-soft)}
  .itinerary strong{color:var(--on-dark);font-weight:500}
  .day-pics{display:grid;gap:14px;position:sticky;top:110px}
  .day-pics figure{margin:0}
  .day-pics img{width:100%;aspect-ratio:4/3;object-fit:cover}
  .day-pics figcaption{font-size:.8rem;color:var(--on-dark-soft);padding-top:8px}
  @media (max-width:900px){.day-grid{grid-template-columns:1fr}.itinerary li{grid-template-columns:1fr;gap:6px}.day-pics{position:static}}

  /* memories cta */
  .memories .wrap{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .story-cta{border:1px solid var(--line-light);background:#F1EBDF;padding:clamp(24px,3vw,34px);display:grid;gap:14px;align-content:start}
  .story-cta h3{margin:0;font-family:var(--serif);font-weight:400;font-size:1.6rem;line-height:1.2}
  html[lang="ar"] .story-cta h3{font-family:var(--sans);font-weight:500;font-size:1.35rem}
  .story-cta p{color:var(--ink-soft);font-size:.97rem}
  .story-cta .btn{justify-self:start;background:var(--ink);border-color:var(--ink);color:var(--plaster)}
  .story-cta .btn:hover{background:#7E5E26;border-color:#7E5E26}

  /* visit: map + actions */
  .map-card{display:block;position:relative;border:1px solid var(--line-dark);background:var(--wood);margin-bottom:22px;overflow:hidden}
  .map-card iframe{display:block;width:100%;height:300px;border:0;filter:grayscale(.25) contrast(1.05)}
  .map-card iframe{position:relative;z-index:1}
  .map-fallback{position:absolute;inset:0;display:none;place-content:center;gap:10px;justify-items:center;text-align:center;padding:24px;background:var(--wood);z-index:2;pointer-events:none}
  .map-card.no-embed iframe{display:none}
  .map-card.no-embed{min-height:300px}
  .map-card.no-embed .map-fallback{display:grid}
  .map-fallback::before{content:"";position:absolute;inset:0;background-image:var(--lattice);opacity:.12}
  .map-fallback span{position:relative}
  .map-card .open-map{position:absolute;bottom:0;inset-inline-start:0;right:0;background:linear-gradient(transparent,rgba(10,31,23,.92));color:var(--glow);font-size:.9rem;padding:26px 16px 12px;text-decoration:none}
  .actions-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
  .contact a{text-decoration:none;border-bottom:1px solid var(--line-dark)}
  .contact a:hover{color:var(--glow);border-color:var(--brass)}

  /* sticky mobile cta */
  .sticky-cta{display:none}
  @media (max-width:760px){
    .sticky-cta{display:block;position:fixed;inset-inline:0;bottom:0;z-index:50;background:rgba(10,31,23,.94);backdrop-filter:blur(8px);border-top:1px solid var(--brass);padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
    .sticky-cta .btn{width:100%;padding:1em}
    body{padding-bottom:78px}
  }

  /* ---------- v3: legibility, warmth, motion ---------- */
  :root{
    --on-dark-soft:#C3CEC0;
    --ink-soft:#3F5147;
    --brass-ink:#7A5620;
    --max:1320px;
  }
  body{font-size:17.5px;line-height:1.7}
  .light .eyebrow,.thennow .eyebrow,.light .display em,.thennow .display em{color:var(--brass-ink)}
  .story-cta h3{color:var(--ink)}
  .share label,.dist caption{color:var(--brass-ink)}

  /* lead paragraphs get the serif, at a size you can read across a room */
  .hero .lede,.story-head p,.section-head p,.roof .copy p,.memories .lead,.day .section-head p{
    font-family:var(--serif);font-weight:300;font-size:clamp(1.14rem,1.45vw,1.32rem);line-height:1.62}
  html[lang="ar"] .hero .lede,html[lang="ar"] .story-head p,html[lang="ar"] .section-head p,
  html[lang="ar"] .roof .copy p,html[lang="ar"] .memories .lead{font-family:var(--sans);font-weight:300;line-height:1.95;font-size:1.12rem}
  .hero .lede{color:#D3DCCF;max-width:32em}
  .roof .copy p{color:#D3DCCF}
  .timeline p,.person p,.itinerary p,.panel p,.pair-cap,.tn-note{font-size:1.04rem;line-height:1.66}
  figcaption,.film figcaption,.collage figcaption,.day-pics figcaption,.arch figcaption{font-size:.88rem;line-height:1.45}
  .specs,.facts li,.amenity-list{font-size:1rem}
  .roof-facts li{font-size:1rem}
  .roof-facts span{font-size:.9rem}

  /* quiet entrance — only after JS says motion is welcome */
  .anim .reveal{opacity:.001;transform:translateY(16px)}
  .anim .reveal.in{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}
  @media (prefers-reduced-motion: reduce){.anim .reveal{opacity:1;transform:none}}

  /* the lounge photograph breathes */
  .arch .frame{overflow:hidden}
  .arch img{animation:kenburns 26s ease-in-out infinite alternate;will-change:transform}
  @keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}
  @media (prefers-reduced-motion: reduce){.arch img{animation:none}}

  /* quick facts under the hero */
  .quickfacts{background:var(--wood);border-block:1px solid var(--line-dark)}
  .quickfacts .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
  .qf{padding:22px 24px;border-inline-end:1px solid var(--line-dark);display:grid;gap:4px}
  .qf:last-child{border-inline-end:0}
  .qf b{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,2.4vw,2.1rem);color:var(--glow);line-height:1}
  html[lang="ar"] .qf b{font-family:var(--sans);font-weight:400;font-size:1.6rem}
  .qf span{font-size:.9rem;color:var(--on-dark-soft)}
  @media (max-width:760px){.quickfacts .wrap{grid-template-columns:1fr 1fr}.qf{border-bottom:1px solid var(--line-dark)}.qf:nth-child(2){border-inline-end:0}}

  /* photographs invite a closer look */
  .gallery figure,.collage figure,.pair figure{position:relative}
  .gallery button.zoom,.collage button.zoom{all:unset;display:block;cursor:zoom-in;width:100%}
  .gallery img,.collage img{transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .4s}
  .gallery button.zoom:hover img,.collage button.zoom:hover img{transform:scale(1.035)}
  .gallery figure,.collage figure{overflow:hidden}
  .gallery figcaption,.collage figcaption{overflow:visible}

  /* lightbox */
  .lb{position:fixed;inset:0;z-index:80;background:rgba(5,16,12,.94);display:none;place-items:center;padding:24px}
  .lb.open{display:grid}
  .lb img{max-width:min(1200px,94vw);max-height:84vh;object-fit:contain;box-shadow:0 30px 80px -30px #000}
  .lb figcaption{color:var(--on-dark-soft);text-align:center;padding-top:14px;font-size:.95rem}
  .lb .close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));inset-inline-end:16px;background:transparent;border:1px solid var(--line-dark);color:var(--on-dark);width:44px;height:44px;font-size:1.3rem;cursor:pointer}
  .lb .nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:1px solid var(--line-dark);color:var(--on-dark);width:48px;height:60px;font-size:1.4rem;cursor:pointer}
  .lb .prev{inset-inline-start:12px}.lb .next{inset-inline-end:12px}
  .lb .nav-btn:hover,.lb .close:hover{border-color:var(--brass);color:var(--glow)}

  /* mobile menu */
  .burger{display:none;background:transparent;border:1px solid var(--line-dark);color:var(--on-dark);width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center;flex:none}
  .burger span{display:block;width:18px;height:1px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
  .mobile-menu{display:none;border-top:1px solid var(--line-dark);background:var(--wood)}
  .mobile-menu.open{display:block}
  .mobile-menu ul{list-style:none;margin:0;padding:8px 0}
  .mobile-menu a{display:block;padding:14px var(--gutter);text-decoration:none;color:var(--on-dark);border-bottom:1px solid var(--line-dark)}
  .mobile-menu li:last-child a{border-bottom:0}
  @media (max-width:980px){.burger{display:flex}}

  /* sound, if a track is supplied */
  .sound{display:none;align-items:center;gap:9px;background:transparent;border:1px solid var(--line-dark);color:var(--on-dark-soft);font:500 .85rem/1 var(--sans);padding:.75em 1.1em;border-radius:2px;cursor:pointer;justify-self:start}
  .sound.available{display:inline-flex}
  .sound:hover{border-color:var(--brass);color:var(--glow)}
  .sound .bars{display:inline-flex;gap:2px;align-items:flex-end;height:12px}
  .sound .bars i{width:2px;height:4px;background:currentColor;display:block}
  .sound.playing .bars i{animation:eq .9s ease-in-out infinite alternate}
  .sound.playing .bars i:nth-child(2){animation-delay:.15s}
  .sound.playing .bars i:nth-child(3){animation-delay:.3s}
  @keyframes eq{from{height:3px}to{height:12px}}

  /* restoration / investor panel */
  .restore{background:var(--wood);border-block:1px solid var(--line-dark);padding-block:clamp(56px,7vw,96px)}
  .restore .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
  .restore h2{font-size:clamp(1.9rem,3.4vw,2.8rem)}
  .restore p{color:var(--on-dark-soft);margin-top:18px}
  .restore .numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-dark);border:1px solid var(--line-dark)}
  .restore .numbers div{background:var(--wood);padding:22px}
  .restore .numbers b{display:block;font-family:var(--serif);font-weight:300;font-size:2.4rem;color:var(--glow);line-height:1}
  html[lang="ar"] .restore .numbers b{font-family:var(--sans);font-weight:400;font-size:2rem}
  .restore .numbers span{font-size:.92rem;color:var(--on-dark-soft)}
  .restore .line{margin-top:22px;font-size:.95rem}
  @media (max-width:860px){.restore .wrap{grid-template-columns:1fr}}

  /* ---------- v4: alternating grounds + mashrabiya on more sections ---------- */
  .pattern{position:relative;isolation:isolate}
  .pattern::before{content:"";position:absolute;inset:0;background:var(--lattice);opacity:.06;pointer-events:none;z-index:0}
  .light.pattern::before{opacity:.085}
  .pattern > .wrap{position:relative;z-index:1}

  /* ROOMS on plaster */
  .rooms.light{background:var(--plaster);color:var(--ink)}
  .rooms.light .section-head p{color:var(--ink-soft)}
  .rooms.light .room{background:#F2ECE0;border-color:var(--line-light)}
  .rooms.light .room h3{color:var(--ink)}
  .rooms.light .specs dt{color:var(--ink-soft)}
  .rooms.light .specs dd{color:var(--ink)}
  .rooms.light .room .foot{border-top-color:var(--line-light)}
  .rooms.light .room .tag{background:rgba(230,223,210,.9);color:var(--ink-soft)}
  .rooms.light .panel{background:#F2ECE0;border-color:var(--line-light)}
  .rooms.light .panel .p-head{border-inline-end-color:var(--line-light)}
  .rooms.light .panel h3{color:var(--ink)}
  .rooms.light .panel p{color:var(--ink-soft)}
  .rooms.light .amenity-list li{color:var(--ink)}
  .rooms.light .facts li{border-bottom-color:var(--line-light);color:var(--ink)}
  .rooms.light .facts span{color:var(--ink-soft)}
  @media (max-width:820px){.rooms.light .panel .p-head{border-bottom-color:var(--line-light)}}

  /* RESTORATION BRIEF + NUMBERS on plaster */
  .rule.light{background:var(--plaster);color:var(--ink);border-block-color:rgba(122,86,32,.35)}
  .rule.light::after{opacity:.09}
  .rule.light blockquote{color:var(--ink)}
  .rule.light blockquote em{color:var(--brass-ink)}
  .rule.light p{color:var(--ink-soft)}
  .rule.light .rule-pics figcaption{color:var(--ink-soft)}
  .restore.light{background:var(--plaster);color:var(--ink);border-block-color:rgba(122,86,32,.35);padding-top:0}
  .restore.light p{color:var(--ink-soft)}
  .restore.light .numbers{background:var(--line-light);border-color:var(--line-light)}
  .restore.light .numbers div{background:#F2ECE0}
  .restore.light .numbers b{color:var(--brass-ink)}
  .restore.light .numbers span{color:var(--ink-soft)}
  .restore.light .line a{color:var(--brass-ink)}

  /* THEN & NOW on the dark ground */
  .thennow.on-dark{background:var(--night);color:var(--on-dark)}
  .thennow.on-dark .eyebrow,.thennow.on-dark .display em{color:var(--glow)}
  .thennow.on-dark .section-head p,.thennow.on-dark .pair-cap,.thennow.on-dark .tn-note{color:var(--on-dark-soft)}
  .thennow.on-dark .pair-cap{border-top-color:var(--line-dark)}
  .thennow.on-dark .stamp{background:rgba(10,31,23,.88);color:var(--brass);box-shadow:none}
  .thennow.on-dark .stamp.now{background:var(--brass);color:var(--night)}

  /* INTERIORS on plaster */
  .film.light{background:var(--plaster);color:var(--ink)}
  .film.light figcaption{color:var(--ink-soft)}

  /* FOOTER on plaster */
  .site-foot.light{background:var(--plaster);color:var(--ink);border-top:1px solid rgba(122,86,32,.5)}
  .site-foot.light .stacked{background:var(--brass-ink)}
  .site-foot.light p,.site-foot.light nav a{color:var(--ink-soft)}
  .site-foot.light nav a:hover,.site-foot.light a:hover{color:var(--brass-ink)}
  .site-foot.light a{color:var(--ink)}

  /* a touch more glow where the roof meets the plaster above and below it */
  .roof.pattern::before{opacity:.05}
