﻿/*
Theme Name: Brzh Real Estate
Theme URI: https://brzh.qa
Author: Brzh Real Estate
Description: Custom luxury real-estate theme for Brzh (برزه) Real Estate, Doha. Golden Ivory: bright white and ivory surfaces warmed with champagne, structured by gold leaf, anchored by dark basalt-green bookends. Includes a built-in Properties post type and a branded Coming Soon gate.
Version: 5.25.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: brzh
*/

/* ================= Fonts (self-hosted) ================= */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:500;src:url(assets/fonts/playfair-display-500.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;src:url(assets/fonts/playfair-display-600.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;src:url(assets/fonts/playfair-display-700.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Lora";font-style:normal;font-weight:400;src:url(assets/fonts/lora-400.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Lora";font-style:normal;font-weight:500;src:url(assets/fonts/lora-500.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Lora";font-style:italic;font-weight:400;src:url(assets/fonts/lora-400-italic.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;src:url(assets/fonts/jost-400.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;src:url(assets/fonts/jost-500.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Jost";font-style:normal;font-weight:600;src:url(assets/fonts/jost-600.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Noto Kufi Arabic";font-style:normal;font-weight:400;src:url(assets/fonts/noto-kufi-arabic-400.woff2) format("woff2");font-display:swap;}
@font-face{font-family:"Noto Kufi Arabic";font-style:normal;font-weight:600;src:url(assets/fonts/noto-kufi-arabic-600.woff2) format("woff2");font-display:swap;}

/* ================= Tokens — Golden Ivory (60% white/ivory, 30% champagne, 10% gold; green = bookends) ================= */
:root{
  /* bright surfaces */
  --white:#FFFFFF;
  --ivory:#FBF7F1;
  --champagne:#F8F1E4;
  --sand:#F4EAD7;
  /* dark bookends (header, hero, footer only) */
  --void:#0C1410;
  --deep:#0F1812;
  --basalt:#142018;
  --raised:#1B2B20;
  --raised-2:#223528;
  /* gold family */
  --gold:#CD923A;
  --gold-bright:#E3AE63;
  --gold-deep:#A9752C;
  --gold-leaf:linear-gradient(115deg,#A9752C 0%,#E3AE63 45%,#CD923A 70%,#8F6224 100%);
  /* type on dark */
  --marble:#F5E3D4;
  --smoke:#C9BBA8;
  --smoke-dim:rgba(201,187,168,.62);
  /* type on light */
  --ink:#1C2621;
  --ink-dim:#5F6A62;
  --paper:#FFFFFF;
  --line:rgba(28,38,33,.1);
  --hairline:rgba(205,146,58,.4);
  --shadow:rgba(139,101,49,.16);
  --shadow-deep:rgba(139,101,49,.24);
  --font-display:"Playfair Display",Georgia,serif;
  --font-label:"Jost","Century Gothic",sans-serif;
  --font-body:"Lora",Georgia,serif;
  --font-utility:Consolas,"Courier New",monospace;
  --font-arabic:"Noto Kufi Arabic",sans-serif;
  --wrap:1220px;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ================= Base ================= */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
/* no sideways drift on phones: any accidental overflow gets clipped,
   so centered blocks never appear shoved to one edge */
html,body{overflow-x:clip;}
body{
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:17px;line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
/* whisper of paper grain */
body::before{
  content:"";position:fixed;inset:0;z-index:2000;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.02;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--gold-deep);text-decoration:none;transition:color .2s;}
a:hover{color:var(--ink);}
h1,h2,h3,h4{
  font-family:var(--font-display);font-weight:500;line-height:1.16;
  color:var(--ink);text-wrap:balance;
}
h1 em,h2 em{font-style:italic;}
p{text-wrap:pretty;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px;}
.label{
  font-family:var(--font-label);text-transform:uppercase;
  letter-spacing:.32em;text-indent:.32em;font-weight:400;
}
.eyebrow{
  display:flex;align-items:center;justify-content:center;gap:16px;
  color:var(--gold-deep);font-size:13px;
}
.eyebrow.left{justify-content:flex-start;}
.diamond{width:8px;height:8px;background:var(--gold);transform:rotate(45deg);flex:none;}

/* keyboard focus */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px;}
/* Hidden by clipping, not by parking it at left:-9999px: an off-canvas element
   is real scrollable overflow in RTL, which made the Arabic page pan sideways
   on phones. */
.skip-link{
  position:absolute;top:0;inset-inline-start:0;z-index:100;
  width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
  background:var(--gold-deep);color:#fff;
  font-family:var(--font-label);font-size:13px;letter-spacing:.2em;text-transform:uppercase;
  padding:12px 24px;
}
.skip-link:focus{
  width:auto;height:auto;overflow:visible;
  clip:auto;clip-path:none;
}

/* ================= Buttons ================= */
.btn{
  display:inline-block;padding:15px 40px;
  font-family:var(--font-label);font-size:13px;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;
  color:var(--gold-deep);border:1px solid var(--gold);border-radius:2px;
  background:transparent;cursor:pointer;
  transition:background .3s ease,color .3s ease,border-color .3s ease,letter-spacing .4s ease,transform .15s ease,box-shadow .3s ease;
}
.btn:hover{background:var(--gold);color:#fff;letter-spacing:.34em;box-shadow:0 10px 26px var(--shadow-deep);}
.btn:active{transform:scale(.98);}
.btn--solid{
  background:linear-gradient(115deg,#C08430 0%,#DBA557 55%,#C08430 100%);
  color:#fff;border-color:var(--gold-deep);
  box-shadow:0 8px 22px var(--shadow);
}
.btn--solid:hover{background:var(--gold-deep);color:#fff;}

/* ================= Header (dark bookend) ================= */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(15,24,18,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(205,146,58,.3);
  transition:background .35s ease,box-shadow .35s ease;
}
body.scrolled .site-header{background:rgba(12,20,16,.97);box-shadow:0 12px 40px rgba(12,20,16,.3);}
.site-header .bar{
  max-width:var(--wrap);margin:0 auto;padding:12px 28px;
  display:flex;align-items:center;justify-content:space-between;
}
.site-logo img{width:132px;transition:width .35s ease;}
body.scrolled .site-logo img{width:108px;}
.site-nav ul{list-style:none;display:flex;gap:42px;}
.site-nav a{
  position:relative;
  font-family:var(--font-label);font-size:12.5px;letter-spacing:.26em;text-indent:.26em;text-transform:uppercase;
  color:var(--smoke);padding:10px 0;
}
.site-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
.site-nav a:hover,.site-nav .current-menu-item a,.site-nav .current_page_item a{color:var(--gold-bright);}
.site-nav a:hover::after,.site-nav .current-menu-item a::after,.site-nav .current_page_item a::after{transform:scaleX(1);}
.lang-ar .site-nav a::after{transform-origin:right;}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:10px;}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--marble);margin:6px 0;transition:.25s;}

@media (max-width:820px){
  /* Bar slips away while scrolling down, returns on the first scroll up (nav.js toggles hdr-hide) */
  .site-header{transition:background .35s ease,box-shadow .35s ease,transform .32s ease;}
  body.hdr-hide .site-header{transform:translateY(-100%);}
  body.nav-open .site-header{transform:none;}
  /* Hamburger sits at the far end of the bar, language pill just before it */
  .nav-toggle{display:block;order:3;}
  .nav-side{order:2;margin-inline-start:auto;}
  .site-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--deep);border-bottom:1px solid rgba(205,146,58,.3);
    padding:18px 28px 30px;
  }
  body.nav-open .site-nav{display:block;}
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0;}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
  .site-nav ul{flex-direction:column;gap:4px;}
  .site-nav a{display:block;padding:12px 0;}
  .site-nav a::after{display:none;}
}

/* ================= Language switcher ================= */
.nav-side{display:flex;align-items:center;gap:36px;}
.lang-switch{
  font-size:13px;letter-spacing:.1em;text-indent:.1em;
  color:var(--gold-bright);border:1px solid rgba(205,146,58,.4);
  padding:8px 18px;border-radius:30px;
  transition:background .25s,color .25s;
}
.lang-switch:hover{background:var(--gold);color:var(--basalt);}
@media (max-width:820px){
  .nav-side{gap:0;}
  .lang-switch{margin-inline-end:14px;}
}

/* ================= Hero (legacy centered — bright) ================= */
.hero{
  position:relative;overflow:hidden;
  padding:110px 28px 130px;text-align:center;
  background:radial-gradient(ellipse 1100px 640px at 50% 8%,var(--champagne) 0%,var(--ivory) 68%);
  color:var(--ink);
  border-bottom:1px solid var(--hairline);
}
.hero .eyebrow{margin-bottom:34px;}
.hero h1{font-size:clamp(38px,6vw,72px);font-weight:500;max-width:900px;margin:0 auto;}
.hero h1 em{color:var(--gold-deep);}
.hero .ar{
  font-family:var(--font-arabic);font-weight:400;color:var(--gold-deep);
  font-size:clamp(16px,2.2vw,22px);margin-top:26px;
}
.hero .lede{color:var(--ink-dim);font-size:19px;max-width:620px;margin:26px auto 0;}
.hero .actions{margin-top:48px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap;}
.hero .rule{width:110px;height:2px;background:var(--gold-leaf);margin:54px auto 0;}

/* ================= Cinematic hero (dark bookend) ================= */
.hero2{
  position:relative;overflow:hidden;
  min-height:min(92vh,1020px);
  min-height:min(100dvh,1020px);
  display:flex;align-items:center;
  background-color:var(--basalt);
  color:var(--marble);
}
.hero2 video{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
}
.hero2 .scrim{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(100deg, rgba(12,20,16,.94) 0%, rgba(12,20,16,.74) 32%, rgba(12,20,16,.2) 62%, rgba(12,20,16,.45) 100%),
    linear-gradient(0deg, rgba(20,32,24,.9) 0%, rgba(20,32,24,0) 30%);
}
.lang-ar .hero2 .scrim{
  background:
    linear-gradient(-100deg, rgba(12,20,16,.94) 0%, rgba(12,20,16,.74) 32%, rgba(12,20,16,.2) 62%, rgba(12,20,16,.45) 100%),
    linear-gradient(0deg, rgba(20,32,24,.9) 0%, rgba(20,32,24,0) 30%);
}
.hero2-content{
  position:relative;z-index:2;
  width:100%;max-width:var(--wrap);margin:0 auto;
  padding:140px 28px 120px;
}
.hero2 .eyebrow{margin-bottom:28px;color:var(--gold);}
.hero2 h1{
  font-size:clamp(34px,5.8vw,88px);
  line-height:1.04;letter-spacing:-.01em;
  max-width:14ch;color:var(--marble);
}
.hero2 h1 em{font-style:italic;color:var(--gold-bright);}
.lang-ar .hero2 h1{font-size:clamp(28px,4.8vw,68px);line-height:1.3;}
.hero2 .ar{
  font-family:var(--font-arabic);color:var(--gold);
  font-size:clamp(15px,1.8vw,20px);margin-top:22px;
}
.hero2 .lede{color:var(--smoke);font-size:18px;max-width:46ch;margin-top:26px;}
.hero2 .actions{margin-top:44px;display:flex;gap:20px;flex-wrap:wrap;}
.hero2 .btn{color:var(--gold-bright);}
.hero2 .btn:hover{color:var(--basalt);background:var(--gold);box-shadow:none;}
.hero2 .btn--solid{color:var(--basalt);background:var(--gold);border-color:var(--gold);}
.hero2 .btn--solid:hover{background:var(--gold-bright);color:var(--basalt);}
.scroll-cue{
  position:absolute;bottom:0;left:50%;transform:translateX(-50%);
  width:1px;height:64px;z-index:2;
  background:linear-gradient(180deg, var(--gold) 0%, rgba(205,146,58,0) 100%);
  animation:brzhCue 2.4s cubic-bezier(.4,0,.2,1) infinite;
  transform-origin:top;
}
@keyframes brzhCue{
  0%{transform:translateX(-50%) scaleY(0);opacity:0;}
  35%{opacity:1;}
  70%{transform:translateX(-50%) scaleY(1);opacity:1;}
  100%{transform:translateX(-50%) scaleY(1);opacity:0;}
}
@media (max-width:640px){
  .hero2{min-height:82vh;min-height:88dvh;}
  .hero2 video{display:none;}
  .hero2-content{padding:120px 28px 100px;}
}
@media (prefers-reduced-motion: reduce){
  .hero2 video{display:none;}
  .scroll-cue{animation:none;}
}

/* ================= Hero 3 — bright split hero with arched media ================= */
.hero3{
  position:relative;overflow:hidden;
  padding:56px 0 72px;
  background:
    radial-gradient(ellipse 900px 600px at 88% 10%, rgba(205,146,58,.12) 0%, rgba(205,146,58,0) 60%),
    radial-gradient(ellipse 1000px 700px at 0% 100%, var(--champagne) 0%, rgba(248,241,228,0) 70%),
    var(--ivory);
  border-bottom:1px solid var(--hairline);
}
/* live meta strip: weather (left) · next prayer (right) */
.hero3-meta{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  flex-wrap:wrap;
  margin-bottom:30px;min-height:36px;
}
.meta-chip{
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.78);backdrop-filter:blur(8px);
  border:1px solid rgba(205,146,58,.4);border-radius:30px;
  padding:8px 16px;
  font-family:var(--font-label);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-dim);white-space:nowrap;
  animation:brzhRise .8s .9s var(--ease) both;
}
.meta-chip[hidden]{display:none;}
.meta-chip svg{
  width:15px;height:15px;flex:none;
  stroke:var(--gold-deep);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
.meta-chip b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;}
.lang-ar .meta-chip{font-family:var(--font-arabic);letter-spacing:0;font-size:12.5px;}
@media (max-width:640px){
  .hero3-meta{margin-bottom:28px;}
  .meta-chip{padding:7px 12px;font-size:10.5px;gap:7px;}
}
.hero3-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
/* grid items must be allowed to shrink below min-content, or wide
   children (the nowrap weather/prayer chips) blow the column past
   the viewport on phones and shove everything off the right edge */
.hero3-grid>*{min-width:0;}
.hero3-copy .eyebrow{margin-bottom:26px;}
.hero3-copy h1{
  font-size:clamp(36px,4.6vw,72px);line-height:1.05;letter-spacing:-.01em;max-width:12ch;
}
.hero3-copy h1 em{
  font-style:italic;
  background:var(--gold-leaf);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero3-copy .ar{font-family:var(--font-arabic);color:var(--gold-deep);font-size:clamp(15px,1.6vw,19px);margin-top:20px;}
.hero3-copy .lede{color:var(--ink-dim);font-size:18px;max-width:44ch;margin-top:22px;}
.hero3-copy .actions{margin-top:38px;display:flex;gap:16px;flex-wrap:wrap;}
/* media half: villa photo covers the ENTIRE half of the hero, edge to edge */
.hero3-media{
  position:relative;z-index:1;align-self:stretch;
  display:flex;flex-direction:column;
  margin-top:-56px;margin-bottom:-72px;
  margin-inline-end:calc(50% - 50vw);
}
.arch-ghost{display:none;}
.arch{
  position:relative;z-index:1;margin:0;flex:1;
  overflow:hidden;min-height:640px;
  border:0;border-radius:0;
  border-inline-start:1px solid var(--hairline);
  box-shadow:0 30px 70px var(--shadow-deep);
}
/* showcase panel: featured residences + area quick-search */
.hero3-panel{
  position:absolute;bottom:26px;inset-inline-start:26px;z-index:2;
  width:min(400px,calc(100% - 52px));
  background:rgba(255,255,255,.93);backdrop-filter:blur(14px);
  border:1px solid rgba(205,146,58,.45);border-radius:14px;
  padding:18px 20px 16px;
  box-shadow:0 22px 54px var(--shadow-deep);
  animation:brzhRise .9s 1s var(--ease) both;
}
.hero3-panel .hp-label{
  display:block;font-size:9.5px;letter-spacing:.26em;text-indent:.26em;
  color:var(--gold-deep);margin-bottom:8px;
}
.hp-item{display:flex;align-items:center;gap:14px;padding:9px 0;color:var(--ink);}
.hp-item+.hp-item{border-top:1px solid var(--line);}
.hp-item .hp-t{flex:1;min-width:0;}
.hp-item b{
  display:block;font-family:var(--font-label);font-weight:600;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  line-height:1.5;color:var(--ink);transition:color .3s ease;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lang-ar .hp-item b{font-family:var(--font-arabic);font-weight:600;font-size:12.5px;letter-spacing:0;text-transform:none;}
.hp-item small{display:block;font-size:12px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hp-item .hp-p{
  font-family:var(--font-utility);font-variant-numeric:tabular-nums;
  font-size:12.5px;color:var(--gold-deep);white-space:nowrap;
}
.hp-item .hp-p span{font-size:10.5px;color:var(--ink-dim);}
.hp-item .hp-a{color:var(--gold-deep);font-family:var(--font-utility);transition:transform .3s var(--ease);}
.hp-item:hover b{color:var(--gold-deep);}
.hp-item:hover .hp-a{transform:translateX(4px);}
.lang-ar .hp-item:hover .hp-a{transform:translateX(-4px);}
/* keyword search bar */
.hp-search{
  display:flex;margin-top:12px;
  border:1px solid rgba(205,146,58,.45);border-radius:10px;overflow:hidden;
  background:#fff;
  transition:border-color .25s,box-shadow .25s;
}
.hp-search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(205,146,58,.15);}
.hp-search input{
  flex:1;min-width:0;border:0;background:transparent;
  padding:11px 14px;
  font-family:var(--font-body);font-size:14px;color:var(--ink);
}
.hp-search input:focus{outline:none;}
.hp-search input::placeholder{color:rgba(95,106,98,.55);}
.lang-ar .hp-search input{font-family:var(--font-arabic);}
.hp-search button{
  border:0;background:var(--gold);color:#fff;padding:0 16px;cursor:pointer;
  display:flex;align-items:center;
  transition:background .25s;
}
.hp-search button:hover{background:var(--gold-deep);}
.hp-search button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.hp-areas{margin-top:12px;}
.hp-chips{display:flex;flex-wrap:wrap;gap:8px;}
.hp-chips a{
  font-family:var(--font-label);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-dim);border:1px solid rgba(205,146,58,.4);border-radius:30px;
  padding:6px 13px;background:#fff;
  transition:background .25s,color .25s,border-color .25s;
}
.lang-ar .hp-chips a{font-family:var(--font-arabic);letter-spacing:0;font-size:12px;}
.hp-chips a:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
/* hero deal panel: the cheapest hot apartment, whole card clicks through to the listing */
.deal-panel{display:block;color:var(--ink);text-decoration:none;}
.deal-panel .hp-label{margin-bottom:10px;}
.deal-panel .deal-t{
  display:block;font-family:var(--font-label);font-weight:600;
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  line-height:1.5;color:var(--ink);
}
.lang-ar .deal-panel .deal-t{font-family:var(--font-arabic);letter-spacing:0;text-transform:none;font-size:15px;}
.deal-panel .deal-sub{
  display:block;font-size:13px;color:var(--ink-dim);margin-top:5px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.deal-panel .deal-price{
  display:block;font-family:var(--font-display);font-size:30px;line-height:1.15;
  color:var(--gold-deep);margin-top:12px;font-variant-numeric:tabular-nums;
}
.deal-panel .deal-price span{font-family:var(--font-body);font-size:14px;color:var(--ink-dim);}
.deal-panel .deal-specs{display:block;font-size:13.5px;color:var(--ink-dim);margin-top:6px;}
.deal-panel .deal-cta{
  display:flex;justify-content:center;margin-top:16px;padding:13px 20px;
}
.deal-panel:hover .deal-cta{background:var(--gold-deep);}
.deal-panel:hover .deal-t{color:var(--gold-deep);}
.arch img,.arch video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.arch::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(20,32,24,0) 55%, rgba(20,32,24,.3) 100%);
}
.hero3-card{
  position:relative;display:block;margin-top:16px;width:100%;
  background:var(--white);
  border:1px solid rgba(205,146,58,.4);border-radius:12px;
  border-inline-start:3px solid var(--gold);
  padding:16px 44px 15px 20px;
  box-shadow:0 14px 34px var(--shadow);
  transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease;
}
.lang-ar .hero3-card{padding:16px 20px 15px 44px;}
.hero3-card:hover{transform:translateY(-4px);border-color:var(--gold);}
.hero3-card .hc-label{display:block;font-size:9.5px;color:var(--gold-deep);margin-bottom:6px;}
.hero3-card b{display:block;font-family:var(--font-display);font-weight:500;font-size:17px;color:var(--ink);line-height:1.3;}
.lang-ar .hero3-card b{font-family:var(--font-arabic);font-weight:600;font-size:15.5px;}
.hero3-card .hc-meta{display:block;font-size:13px;color:var(--ink-dim);margin-top:4px;}
.hero3-card .hc-meta .gp{color:var(--gold-deep);font-variant-numeric:tabular-nums;}
.hero3-card .hc-meta span span{font-size:12px;color:var(--ink-dim);}
.hero3-card .hc-arrow{
  position:absolute;top:16px;inset-inline-end:16px;color:var(--gold-deep);
  font-family:var(--font-utility);transition:transform .3s var(--ease);
}
.hero3-card:hover .hc-arrow{transform:translateX(4px);}
.lang-ar .hero3-card:hover .hc-arrow{transform:translateX(-4px);}
/* entrance choreography: GSAP timeline in fx.js owns the hero intro.
   html.fx (set in header.php before paint) hides the pieces until the
   timeline's from-states take over; without JS nothing is ever hidden. */
html.fx .hero3 .eyebrow,html.fx .hero3 .hero3-meta,html.fx .hero3 .ar,
html.fx .hero3 .lede,html.fx .hero3 .actions,html.fx .hero3-media{opacity:0;}
html.fx .hero3 h1 .ln>span{transform:translateY(112%);}
.lang-ar .hero3-copy h1{font-size:clamp(30px,4vw,58px);line-height:1.35;}
/* mobile: photo stacks under copy, panel becomes a solid card below the photo.
   margin-inline/margin-block resets defeat the desktop full-bleed
   margin-inline-end:calc(50% - 50vw) in every writing direction. */
@media (max-width:900px){
  .hero3{padding:56px 0 72px;}
  .hero3-grid{grid-template-columns:1fr;gap:40px;}
  .hero3-media{
    max-width:560px;display:block;width:100%;
    margin:0 auto;margin-inline:auto;margin-block:0;
  }
  .arch{
    flex:none;min-height:0;aspect-ratio:4/3;width:100%;
    border-radius:18px;border:1px solid rgba(205,146,58,.35);
    box-shadow:0 20px 50px var(--shadow-deep);
  }
  .hero3-panel{
    position:static;width:100%;margin-top:14px;margin-inline:0;
    background:var(--white);backdrop-filter:none;
    box-shadow:0 14px 34px var(--shadow);
    animation-delay:.7s;
  }
}
@media (max-width:640px){
  .hero3{padding:40px 0 60px;}
  .hero3-copy .lede{font-size:16.5px;}
  .arch{border-radius:14px;}
  .hp-item b{font-size:11.5px;}
  .hp-chips a{padding:6px 11px;}
}
@media (prefers-reduced-motion: reduce){
  .arch video{display:none;}
}

/* archive bottom CTA */
.pf-cta{text-align:center;margin-top:64px;padding-top:44px;border-top:1px solid var(--hairline);}
.pf-cta-t{font-family:var(--font-display);font-size:24px;color:var(--ink);margin:0 0 20px;}
.lang-ar .pf-cta-t{font-family:var(--font-arabic);}
.pf-cta-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}

/* ================= Marquee — champagne gold band ================= */
.marquee{
  background:var(--champagne);
  border-block:1px solid var(--hairline);
  overflow:hidden;padding:20px 0;position:relative;
}
.marquee-track{
  display:flex;gap:70px;width:max-content;
  animation:brzhMq 30s linear infinite;
  font-family:var(--font-label);font-size:14px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--gold-deep);white-space:nowrap;
}
.marquee-track .ar{font-family:var(--font-arabic);letter-spacing:0;font-size:15px;}
.marquee-track span{display:inline-flex;align-items:center;gap:70px;}
@keyframes brzhMq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ================= Chapters — white / ivory / champagne rhythm ================= */
.ch{position:relative;padding:110px 0 120px;overflow:hidden;}
.ch--dark{
  background:
    radial-gradient(ellipse 1000px 600px at 82% 0%, rgba(205,146,58,.07) 0%, rgba(205,146,58,0) 55%),
    var(--white);
  border-block:1px solid var(--hairline);
}
.ch--cream{
  background:
    radial-gradient(ellipse 900px 560px at 12% 100%, rgba(205,146,58,.08) 0%, rgba(205,146,58,0) 60%),
    var(--champagne);
  border-block:1px solid var(--hairline);
}
.ch--tight{padding:90px 0;}
.ch-head{position:relative;margin-bottom:64px;}
.ch-head h2{
  font-size:clamp(30px,3.9vw,56px);line-height:1.08;font-weight:500;
  max-width:20ch;
}
.ch-head .eyebrow{margin-bottom:20px;}
/* gold rule that draws itself in under every chapter head */
.ch-head::after{
  content:"";display:block;width:76px;height:2px;margin-top:26px;
  background:var(--gold-leaf);
  transform:scaleX(0);transform-origin:left;
  transition:transform .9s var(--ease) .35s;
}
.ch-head.in::after{transform:scaleX(1);}
.lang-ar .ch-head::after{transform-origin:right;}
/* gold-leaf ghost numerals — clear of the headline, never colliding */
.ghost-num{
  position:absolute;top:-26px;inset-inline-end:0;z-index:0;pointer-events:none;
  font-family:var(--font-display);font-size:clamp(80px,9vw,150px);line-height:1;
  font-weight:600;
  background:var(--gold-leaf);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;opacity:.16;
}
.side-label{
  position:absolute;top:140px;inset-inline-start:26px;z-index:3;
  writing-mode:vertical-rl;
  font-family:var(--font-label);font-size:11px;letter-spacing:.4em;text-transform:uppercase;
  color:var(--gold-deep);opacity:.8;
}
@media (max-width:1280px){.side-label{display:none;}}

/* ================= Kinetic line reveals =================
   GSAP animates .ln>span; CSS only provides the mask. The hidden
   from-state lives under html.fx so no-JS visitors see everything. */
.ln{display:block;overflow:hidden;}
.ln>span{display:block;}
html.fx .lines:not(.in) .ln>span{transform:translateY(112%);}

/* ================= Sections (generic pages) ================= */
.section{padding:100px 0;}
.section--raised{background:var(--champagne);border-block:1px solid var(--hairline);}
.section-head{text-align:center;margin-bottom:60px;}
.section-head .eyebrow{margin-bottom:20px;}
.section-head h2{font-size:clamp(28px,3.4vw,42px);}
.section-head p{color:var(--ink-dim);max-width:560px;margin:16px auto 0;}

/* ================= Page hero — bright champagne ================= */
.page-hero{
  text-align:center;padding:96px 28px 72px;
  background:radial-gradient(ellipse 900px 480px at 50% 0%,var(--champagne) 0%,var(--ivory) 75%);
  border-bottom:1px solid var(--hairline);
  color:var(--ink);
}
.page-hero h1{font-size:clamp(32px,4.2vw,52px);}
.page-hero .eyebrow{margin-bottom:22px;}
.page-hero p{color:var(--ink-dim);}
.tax-filter{display:flex;gap:14px;justify-content:center;margin:38px 0 0;flex-wrap:wrap;}
.tax-filter a{
  font-family:var(--font-label);font-size:12px;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;
  color:var(--ink-dim);border:1px solid var(--hairline);border-radius:30px;padding:10px 24px;
  background:var(--white);
  transition:background .25s,color .25s,border-color .25s;
}
.tax-filter a:hover,.tax-filter a.on{color:#fff;background:var(--gold);border-color:var(--gold);}

/* ================= Filter bar (properties archive) ================= */
.pf-bar{
  display:grid;grid-template-columns:repeat(7,1fr) auto;gap:14px 16px;align-items:end;
  background:var(--white);
  border:1px solid rgba(205,146,58,.4);border-radius:14px;
  padding:20px 22px;margin-top:44px;
  box-shadow:0 18px 44px var(--shadow);
}
.pf-bar label{display:flex;flex-direction:column;gap:7px;min-width:0;}
.pf-bar .label{
  font-size:10px;letter-spacing:.18em;text-indent:.18em;text-transform:uppercase;
  color:var(--gold-deep);
}
.pf-bar select,.pf-bar input{
  width:100%;border:1px solid var(--hairline);border-radius:9px;
  background:#fff;color:var(--ink);
  font-family:var(--font-body);font-size:14px;
  padding:10px 12px;
  transition:border-color .25s,box-shadow .25s;
}
.pf-bar select:focus,.pf-bar input:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(205,146,58,.15);
}
.pf-bar input::placeholder{color:rgba(95,106,98,.5);}
.pf-actions{display:flex;align-items:center;gap:14px;}
.pf-actions .btn{padding:12px 26px;white-space:nowrap;}
.pf-clear{
  font-size:13px;color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px;
  white-space:nowrap;
}
.pf-clear:hover{color:var(--gold-deep);}
.pf-count{
  font-size:11px;letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;
  color:var(--ink-dim);margin-bottom:26px;
}
.lang-ar .pf-bar .label,.lang-ar .pf-count{font-family:var(--font-arabic);letter-spacing:0;text-indent:0;}
.lang-ar .pf-bar select,.lang-ar .pf-bar input{font-family:var(--font-arabic);}
@media (max-width:1100px){.pf-bar{grid-template-columns:repeat(4,1fr);}.pf-actions{grid-column:1/-1;justify-content:flex-end;}}
@media (max-width:700px){.pf-bar{grid-template-columns:repeat(2,1fr);padding:16px;gap:12px;}}
@media (max-width:400px){.pf-bar{grid-template-columns:1fr 1fr;}}

/* ================= Property cards — white on warm, gold-framed ================= */
.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 34px;}
@media (max-width:980px){.prop-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.prop-grid{grid-template-columns:1fr;}}
.prop-card{display:flex;flex-direction:column;}
.prop-card .ph{
  position:relative;aspect-ratio:16/10.5;overflow:hidden;border-radius:12px;display:block;
  background:linear-gradient(160deg,var(--sand),var(--champagne));
  box-shadow:0 18px 44px var(--shadow);
  border:1px solid rgba(205,146,58,.25);
}
.prop-card .ph img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s var(--ease),filter 1s ease;
}
.prop-card .ph::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(165deg, rgba(20,32,24,.12) 0%, rgba(20,32,24,0) 40%, rgba(205,146,58,.08) 100%);
  transition:opacity .8s ease;
}
.prop-card:hover .ph img{transform:scale(1.05);}
.prop-card:hover .ph::after{opacity:.3;}
.prop-card .badge{
  position:absolute;top:16px;inset-inline-start:16px;z-index:2;
  background:rgba(255,255,255,.92);border:1px solid var(--gold);
  color:var(--gold-deep);font-size:10px;
  padding:7px 14px;border-radius:2px;backdrop-filter:blur(4px);
}
.prop-card .body{padding:20px 2px 0;display:flex;flex-direction:column;gap:7px;flex:1;}
.prop-card .price{
  font-family:var(--font-utility);font-variant-numeric:tabular-nums;
  font-size:14.5px;letter-spacing:.06em;color:var(--gold-deep);
}
.prop-card .price span{font-family:var(--font-utility);font-size:12.5px;color:var(--ink-dim);}
/* card title = the short sans headline ("2BHK FOR RENT | DUHAIL"), big and dark;
   the long descriptive title only appears on the opened listing page */
.pc-kicker{font-size:15px;font-weight:600;letter-spacing:.12em;line-height:1.55;}
.pc-kicker a{
  color:var(--ink);
  background-image:linear-gradient(var(--gold),var(--gold));
  background-repeat:no-repeat;background-size:0 1px;background-position:0 100%;
  transition:background-size .45s var(--ease),color .3s;padding-bottom:2px;
}
.pc-kicker a:hover{color:var(--gold-deep);background-size:100% 1px;}
.lang-ar .pc-kicker a{background-position:100% 100%;}
.prop-card .loc{color:var(--ink-dim);font-size:14.5px;}
.prop-card .specs{
  display:flex;gap:22px;margin-top:14px;padding-top:14px;
  border-top:1px solid var(--hairline);
  color:var(--ink-dim);font-size:13.5px;
  font-variant-numeric:tabular-nums;
}
.prop-grid--feature .prop-card:first-child{grid-column:span 2;}
.prop-grid--feature .prop-card:first-child .ph{aspect-ratio:16/8.2;}
@media (max-width:640px){.prop-grid--feature .prop-card:first-child{grid-column:auto;}}

/* ================= Property Index — editorial list with cursor image preview ================= */
.idx{padding:96px 0 104px;background:var(--white);border-block:1px solid var(--hairline);}
.idx-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;
  margin-bottom:40px;
}
.idx-head .eyebrow{margin-bottom:12px;}
.idx-head h2{font-size:clamp(26px,2.9vw,38px);max-width:24ch;}
.idx-head .btn{flex:none;margin-bottom:4px;padding:12px 28px;font-size:12px;}
.idx-list{border-top:1px solid var(--hairline);}
.idx-row{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:52px 84px 1.5fr 1fr auto 34px;
  align-items:center;gap:24px;
  padding:20px 18px;
  border-bottom:1px solid var(--hairline);
  color:var(--ink);
}
/* dark green floods the row from the bottom on hover */
.idx-row::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(100deg, var(--deep) 0%, var(--basalt) 60%, var(--raised) 100%);
  transform:scaleY(0);transform-origin:bottom;
  transition:transform .38s var(--ease);
}
.idx-row:hover::before,.idx-row:focus-visible::before{transform:scaleY(1);}
.idx-row>*{position:relative;z-index:1;}
.ix-num{
  font-family:var(--font-utility);font-variant-numeric:tabular-nums;
  font-size:13px;letter-spacing:.14em;color:var(--gold-deep);
  transition:color .3s ease;
}
.ix-thumb{
  width:84px;height:64px;border-radius:8px;overflow:hidden;flex:none;
  border:1px solid rgba(205,146,58,.35);
  transition:transform .35s var(--ease);
}
.ix-thumb img{width:100%;height:100%;object-fit:cover;}
.idx-row:hover .ix-thumb{transform:scale(1.06);}
.ix-main b{
  display:block;font-family:var(--font-label);font-weight:600;
  font-size:clamp(13.5px,1.3vw,16px);line-height:1.5;color:var(--ink);
  text-transform:uppercase;letter-spacing:.12em;
  transition:color .3s ease;
}
.lang-ar .ix-main b{font-family:var(--font-arabic);font-weight:600;font-size:clamp(13.5px,1.35vw,16px);text-transform:none;letter-spacing:0;}
.ix-specs{
  font-family:var(--font-utility);font-variant-numeric:tabular-nums;
  font-size:12.5px;color:var(--ink-dim);letter-spacing:.04em;
  transition:color .3s ease;
}
.ix-price{
  font-family:var(--font-utility);font-variant-numeric:tabular-nums;
  font-size:14px;color:var(--gold-deep);white-space:nowrap;text-align:end;
  transition:color .3s ease;
}
.ix-price span{font-size:11.5px;color:var(--ink-dim);}
.ix-arrow{
  font-family:var(--font-utility);font-size:16px;color:var(--gold-deep);
  transition:transform .35s var(--ease),color .3s ease;text-align:center;
}
.idx-row:hover .ix-arrow{transform:translateX(6px);color:var(--gold-bright);}
.lang-ar .idx-row:hover .ix-arrow{transform:translateX(-6px);}
/* hover: everything flips to marble & bright gold on the green */
.idx-row:hover .ix-num{color:var(--gold-bright);}
.idx-row:hover .ix-main b{color:var(--marble);}
.idx-row:hover .ix-specs{color:var(--smoke);}
.idx-row:hover .ix-price{color:var(--gold-bright);}
.idx-row:hover .ix-price span{color:var(--smoke-dim);}
/* floating cursor image preview (desktop, injected by fx.js) */
.idx-preview{
  position:fixed;top:0;left:0;z-index:80;pointer-events:none;
  width:min(320px,26vw);aspect-ratio:16/11;
  border-radius:12px;overflow:hidden;
  border:1px solid var(--gold);
  box-shadow:0 30px 70px rgba(12,20,16,.4), 0 0 44px 4px rgba(205,146,58,.3);
  opacity:0;
  transition:transform .22s ease-out,opacity .25s ease;
}
.idx-preview img{width:100%;height:100%;object-fit:cover;}
.idx-preview.on{opacity:1;}
@media (max-width:860px){
  .idx{padding:64px 0 72px;}
  .idx-row{grid-template-columns:64px 1fr auto;gap:14px;padding:16px 6px;}
  .ix-num,.ix-specs,.ix-arrow{display:none;}
  .ix-thumb{width:64px;height:52px;}
  .ix-price{font-size:12.5px;}
  .idx-preview{display:none;}
}

/* ================= Services — gold hairline list ================= */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;}
@media (max-width:980px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr;}}
.svc{
  position:relative;overflow:hidden;
  background:var(--white);border:1px solid rgba(205,146,58,.3);border-radius:12px;
  padding:30px 28px;box-shadow:0 10px 30px var(--shadow);text-align:start;
  transition:transform .35s var(--ease),box-shadow .35s ease,border-color .35s ease;
}
.svc:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 22px 48px var(--shadow-deep);}
.svc .diamond{margin:0 0 20px;width:9px;height:9px;}
.svc h3{font-size:20px;margin-bottom:10px;}
.svc p{color:var(--ink-dim);font-size:14.5px;}

/* ================= CTA band — champagne with gold frame ================= */
.cta-band{
  text-align:center;padding:110px 28px;
  background:radial-gradient(ellipse 900px 500px at 50% 100%,var(--sand) 0%,var(--champagne) 75%);
  border-block:1px solid var(--hairline);
  color:var(--ink);
}
.cta-band h2{font-size:clamp(26px,3.6vw,44px);max-width:700px;margin:0 auto;}
.cta-band .actions{margin-top:44px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap;}

/* ================= Content ================= */
.entry-content{max-width:68ch;margin:0 auto;color:var(--ink);}
.entry-content p{margin-bottom:1.4em;color:var(--ink-dim);}
.entry-content>p:first-child{color:var(--ink);font-size:19px;}
.entry-content h2,.entry-content h3{margin:1.7em 0 .7em;}
.entry-content a{border-bottom:1px solid var(--hairline);}
.entry-content ul,.entry-content ol{margin:0 0 1.4em 1.3em;color:var(--ink-dim);}
.entry-content blockquote{
  border-inline-start:2px solid var(--gold);padding-inline-start:22px;margin:1.6em 0;
  font-style:italic;color:var(--ink-dim);
}
.entry-content img{border-radius:12px;}
.entry-content em{color:var(--gold-deep);}
.pagination{display:flex;gap:10px;justify-content:center;margin-top:64px;}
.pagination .page-numbers{
  font-family:var(--font-utility);font-variant-numeric:tabular-nums;color:var(--ink-dim);
  border:1px solid var(--line);padding:8px 16px;border-radius:2px;background:var(--white);
  transition:border-color .25s,color .25s;
}
.pagination a.page-numbers:hover{border-color:var(--gold);color:var(--gold-deep);}
.pagination .page-numbers.current{color:#fff;background:var(--gold);border-color:var(--gold);}

/* ================= Single property ================= */
.prop-hero{position:relative;max-height:560px;overflow:hidden;}
.prop-hero img{width:100%;height:100%;object-fit:cover;}
.prop-hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,32,24,.06) 55%,rgba(251,247,241,.9) 100%);}
.prop-main{padding:70px 0 110px;}
.prop-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:40px;}
.prop-head h1{
  font-family:var(--font-label);font-weight:600;
  font-size:clamp(24px,3vw,36px);line-height:1.3;
  text-transform:uppercase;letter-spacing:.1em;
}
.lang-ar .prop-head h1{font-family:var(--font-arabic);font-weight:600;text-transform:none;letter-spacing:0;}
.prop-head .prop-sub{
  margin-top:10px;font-size:15px;line-height:1.6;color:var(--ink-dim);max-width:62ch;
}
.prop-head .loc{color:var(--ink-dim);margin-top:12px;}
.prop-head .price{font-family:var(--font-display);font-size:34px;color:var(--gold-deep);white-space:nowrap;}
.prop-head .price span{font-size:16px;color:var(--ink-dim);font-family:var(--font-body);}
.spec-strip{
  display:flex;gap:44px;flex-wrap:wrap;
  border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);
  padding:22px 0;margin-bottom:44px;color:var(--ink-dim);
  font-variant-numeric:tabular-nums;
}
.spec-strip b{color:var(--ink);font-weight:500;}
.prop-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:48px;align-items:start;}
@media (max-width:920px){.prop-layout{grid-template-columns:1fr;}}
.prop-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.prop-gallery .shot{display:block;border-radius:12px;overflow:hidden;box-shadow:0 14px 38px var(--shadow);border:1px solid rgba(205,146,58,.2);}
.prop-gallery .shot img{
  width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;
  transition:transform 1.2s var(--ease);
}
.prop-gallery .shot:hover img{transform:scale(1.04);}
.prop-gallery .shot--lead{grid-column:1/-1;}
.prop-gallery .shot--lead img{aspect-ratio:16/9;}
.prop-gallery .entry-content{grid-column:1/-1;}
.prop-side{position:sticky;top:100px;}
.side-card{
  background:var(--white);border:1px solid rgba(205,146,58,.3);border-radius:12px;
  border-top:3px solid var(--gold);
  padding:32px 32px 28px;box-shadow:0 22px 54px var(--shadow);
}
.side-card .price{
  font-family:var(--font-display);font-variant-numeric:tabular-nums;
  font-size:32px;color:var(--gold-deep);margin-bottom:6px;
}
.side-card .price span{font-size:16px;color:var(--ink-dim);font-family:var(--font-body);}
.lang-ar .side-card .price{font-family:var(--font-arabic);font-weight:600;}
.side-facts{list-style:none;margin:18px 0 24px;}
.side-facts li{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:11px 0;border-bottom:1px solid var(--line);
}
.side-facts .k{font-size:10.5px;color:var(--ink-dim);}
.side-facts b{font-weight:500;color:var(--ink);text-align:end;font-variant-numeric:tabular-nums;}
.side-cta{display:flex;flex-direction:column;gap:12px;}
.side-cta .btn{text-align:center;}
.side-note{margin-top:16px;font-size:13.5px;color:var(--ink-dim);text-align:center;}
.prop-cta{
  margin-top:60px;padding:40px;border-radius:12px;
  background:var(--white);border:1px solid rgba(205,146,58,.3);border-inline-start:3px solid var(--gold);
  color:var(--ink);box-shadow:0 14px 38px var(--shadow);
  display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
}
.prop-cta .t{font-family:var(--font-display);font-size:22px;color:var(--ink);}
.prop-cta .actions{display:flex;gap:16px;flex-wrap:wrap;}

/* ================= Lead / contact forms ================= */
.brzh-form{max-width:640px;margin:0 auto;}
.brzh-form--tight{margin:22px 0 0;max-width:none;}
.brzh-form .row{margin-bottom:18px;position:relative;}
.brzh-form label{
  display:block;margin-bottom:8px;
  font-family:var(--font-label);font-size:11px;letter-spacing:.24em;text-indent:.24em;text-transform:uppercase;
  color:var(--gold-deep);
}
.brzh-form input,.brzh-form select,.brzh-form textarea{
  width:100%;padding:14px 16px;
  background:var(--white);color:var(--ink);
  border:1px solid rgba(28,38,33,.16);border-radius:2px;
  font-family:var(--font-body);font-size:16px;
  transition:border-color .25s,box-shadow .25s;
}
.brzh-form textarea{min-height:130px;resize:vertical;line-height:1.7;}
.brzh-form input:focus,.brzh-form select:focus,.brzh-form textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(205,146,58,.18);
}
.brzh-form input::placeholder,.brzh-form textarea::placeholder{color:rgba(95,106,98,.55);}
.brzh-form .row.invalid input,.brzh-form .row.invalid textarea{border-color:#B3402F;}
.brzh-form .field-err{display:none;color:#B3402F;font-size:13.5px;margin-top:6px;}
.brzh-form .row.invalid .field-err{display:block;}
.brzh-form .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden;}
.brzh-form .form-note{color:var(--ink-dim);font-size:13.5px;margin-top:14px;}
.brzh-form .form-ok{
  display:none;padding:18px 22px;border:1px solid var(--gold);border-radius:2px;
  color:var(--ink);background:rgba(205,146,58,.1);margin-bottom:18px;
}
.brzh-form .form-fail{
  display:none;padding:18px 22px;border:1px solid #B3402F;border-radius:2px;
  color:#7C2C1F;background:rgba(179,64,47,.07);margin-bottom:18px;
}
.brzh-form.sent .form-ok{display:block;}
.brzh-form.failed .form-fail{display:block;}
.brzh-form.sent form{display:none;}
.brzh-form .btn[disabled]{opacity:.55;cursor:wait;}
.brzh-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
@media (max-width:560px){.brzh-form .grid2{grid-template-columns:1fr;}}
.lang-ar .brzh-form label{letter-spacing:0;text-indent:0;font-family:var(--font-arabic);font-size:13px;}
.lang-ar .brzh-form input,.lang-ar .brzh-form select,.lang-ar .brzh-form textarea{font-family:var(--font-arabic);}

/* ================= Footer (dark bookend) ================= */
.site-footer{
  border-top:2px solid var(--gold);
  background:var(--void);color:var(--smoke);
  padding:64px 28px 46px;text-align:center;
}
.site-footer .logo img{width:170px;margin:0 auto 30px;}
.site-footer .addr{
  color:var(--smoke);font-family:var(--font-label);font-size:11px;
  letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;line-height:2.2;
}
.site-footer .net{margin-top:14px;font-family:var(--font-label);font-size:12px;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;}
.site-footer .net a{color:var(--gold);margin:0 12px;}
.site-footer .net a:hover{color:var(--gold-bright);}
.site-footer .fine{margin-top:34px;color:var(--smoke-dim);font-size:12.5px;}

.bigfoot{
  background:var(--void);color:var(--smoke);
  padding:130px 28px 0;text-align:center;overflow:hidden;
  border-top:2px solid var(--gold);
}
.bigfoot .eyebrow{color:var(--gold);}
.bigfoot .cta-line{font-family:var(--font-display);font-size:clamp(26px,3.4vw,44px);color:var(--marble);max-width:24ch;margin:26px auto 0;line-height:1.2;text-wrap:balance;}
.lang-ar .bigfoot .cta-line{font-family:var(--font-arabic);font-weight:600;line-height:1.5;}
.bigfoot .actions{margin:44px 0 84px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap;}
.bigfoot .btn{color:var(--gold-bright);}
.bigfoot .btn:hover{color:var(--basalt);background:var(--gold);box-shadow:none;}
.bigfoot .btn--solid{color:var(--basalt);background:var(--gold);border-color:var(--gold);}
.bigfoot .btn--solid:hover{background:var(--gold-bright);color:var(--basalt);}
.bigfoot .bigmark{margin:0 auto -30px;max-width:min(860px,88vw);opacity:.94;}
.bigfoot .bigmark img{width:100%;}
.bigfoot .rows{
  border-top:1px solid rgba(205,146,58,.25);padding:36px 0 42px;position:relative;z-index:2;
}
.bigfoot .addr{
  color:var(--smoke);font-family:var(--font-label);font-size:11px;
  letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;line-height:2.2;
}
.bigfoot .net{margin-top:14px;font-family:var(--font-label);font-size:12px;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;}
.bigfoot .net a{color:var(--gold);margin:0 12px;}
.bigfoot .net a:hover{color:var(--gold-bright);}
.bigfoot .fine{margin-top:34px;color:var(--smoke-dim);font-size:12.5px;padding-bottom:8px;}
.foot-links{margin-top:30px;font-size:11px;letter-spacing:.22em;text-indent:.22em;}
.foot-links a{color:var(--smoke);margin:0 14px;}
.foot-links a:hover{color:var(--gold-bright);}
.lang-ar .foot-links{letter-spacing:0;text-indent:0;font-family:var(--font-arabic);font-size:13px;}

/* ================= Editorial details ================= */
.secnum{
  font-family:var(--font-utility);font-size:13px;letter-spacing:.3em;
  color:var(--gold-deep);margin-bottom:14px;
}
.page-hero .secnum{color:var(--gold-deep);}
.hero--photo{background-size:cover;background-position:center 30%;background-repeat:no-repeat;}
.about-split{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center;}
@media (max-width:880px){.about-split{grid-template-columns:1fr;gap:36px;}}
.about-img{border-radius:12px;overflow:hidden;box-shadow:0 22px 54px var(--shadow);border:1px solid rgba(205,146,58,.2);}
.about-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
.about-text h2{font-size:clamp(26px,3.6vw,44px);margin:14px 0 18px;}
.about-text p{color:var(--ink-dim);max-width:52ch;}
.about-text .eyebrow{margin-top:6px;}

/* ================= Benefits — asymmetric editorial split ================= */
.bene-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:44px 40px;}
.bene:first-child{grid-row:1/3;}
.bene:first-child .ph{aspect-ratio:4/4.6;}
.bene .ph{aspect-ratio:16/9.5;border-radius:12px;overflow:hidden;box-shadow:0 18px 44px var(--shadow);border:1px solid rgba(205,146,58,.2);}
.bene .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);}
.bene:hover .ph img{transform:scale(1.05);}
.bene .body{padding:22px 2px 0;}
.bene h3{font-size:26px;margin-bottom:10px;}
.bene p{color:var(--ink-dim);font-size:15.5px;max-width:52ch;}
@media (max-width:900px){
  .bene-grid{grid-template-columns:1fr;}
  .bene:first-child{grid-row:auto;}
  .bene:first-child .ph{aspect-ratio:16/9.5;}
}

/* ================= News ================= */
.news-list{display:flex;flex-direction:column;gap:0;max-width:900px;margin:0 auto;}
.news-item{
  display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:center;
  padding:34px 0;border-bottom:1px solid var(--hairline);
}
.news-item:first-child{border-top:1px solid var(--hairline);}
@media (max-width:720px){.news-item{grid-template-columns:1fr;}}
.news-item .ph{display:block;border-radius:12px;overflow:hidden;border:1px solid rgba(205,146,58,.2);}
.news-item .ph img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;transition:transform 1.2s var(--ease);}
.news-item .ph:hover img{transform:scale(1.04);}
/* Fallback tile for posts with no featured image: keeps the row two-column. */
.news-item .ph--none{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  aspect-ratio:16/10;background:linear-gradient(150deg,var(--ivory) 0%,var(--champagne) 55%,var(--sand) 100%);
}
.news-item .ph--none .ph-label{font-size:10px;letter-spacing:.34em;color:var(--gold-deep);}
.lang-ar .news-item .ph--none .ph-label{font-family:var(--font-arabic);letter-spacing:.08em;font-size:13px;}
/* Belt and braces: if a row ever renders with no image cell at all, go full width. */
.news-item:not(:has(.ph)){grid-template-columns:1fr;}
.news-item .body{padding:0;}
.news-item .date{font-family:var(--font-utility);font-size:11px;letter-spacing:.2em;color:var(--gold-deep);margin-bottom:8px;}
.news-item h2{font-size:24px;margin-bottom:8px;}
.news-item h2 a{color:var(--ink);}
.news-item h2 a:hover{color:var(--gold-deep);}
.news-item p{color:var(--ink-dim);font-size:15px;}

.news-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 34px;}
@media (max-width:900px){.news-mini{grid-template-columns:1fr;}}
.nm{display:block;}
.nm .ph{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:12px;box-shadow:0 14px 38px var(--shadow);border:1px solid rgba(205,146,58,.2);}
.nm .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease);}
.nm:hover .ph img{transform:scale(1.05);}
.nm .date{display:block;padding:18px 2px 0;font-family:var(--font-utility);font-size:11px;letter-spacing:.2em;color:var(--gold-deep);}
.nm .t{
  display:block;padding:8px 2px 0;
  font-family:var(--font-display);font-size:21px;line-height:1.35;color:var(--ink);
  transition:color .3s;
}
.nm:hover .t{color:var(--gold-deep);}
.lang-ar .nm .t{font-family:var(--font-arabic);}

/* ================= Fact strip — slim dark band before footer ================= */
.fact-strip{
  background:var(--deep);
  border-top:1px solid rgba(205,146,58,.35);
  padding:40px 0;
}
.fact-strip .facts{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
@media (max-width:820px){.fact-strip .facts{grid-template-columns:repeat(2,1fr);row-gap:34px;}}
.fact .k{display:block;font-size:10.5px;color:var(--gold);margin-bottom:8px;}
.fact b{font-family:var(--font-display);font-weight:500;font-size:19px;color:var(--marble);}

/* ================= City chapter (now on white) ================= */
.city-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:74px;align-items:center;}
@media (max-width:920px){.city-grid{grid-template-columns:1fr;gap:44px;}}
.city-copy p{font-size:clamp(18px,1.7vw,22px);line-height:1.75;color:var(--ink);max-width:46ch;}
.city-copy p+p{margin-top:24px;color:var(--ink-dim);font-size:17px;}
.city-pair{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
.city-pair .duo:first-child{aspect-ratio:3/4;}
.city-pair .duo:last-child{aspect-ratio:3/4;margin-top:64px;}

/* ================= Imagery — warm, honest color ================= */
.duo{position:relative;overflow:hidden;border-radius:12px;box-shadow:0 18px 44px var(--shadow);}
.duo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform 1.6s var(--ease);
}
.duo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(160deg, rgba(20,32,24,.14) 0%, rgba(20,32,24,0) 45%, rgba(205,146,58,.1) 100%);
  transition:opacity .9s ease;
}
.duo:hover img,a:hover .duo img{transform:scale(1.045);}
.duo:hover::after,a:hover .duo::after{opacity:.3;}

/* ================= Areas ================= */
.area-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;}
.area-card{position:relative;display:block;border-radius:12px;overflow:hidden;grid-column:span 2;aspect-ratio:4/3;box-shadow:0 18px 44px var(--shadow);}
.area-card:nth-child(1),.area-card:nth-child(2){grid-column:span 3;aspect-ratio:16/9;}
@media (max-width:900px){.area-card,.area-card:nth-child(1),.area-card:nth-child(2){grid-column:1/-1;aspect-ratio:16/9;}}
.area-card .duo{position:absolute;inset:0;border-radius:0;box-shadow:none;}
/* photo text needs the dark gradient for legibility — kept */
.area-card .duo::after{background:linear-gradient(180deg, rgba(12,20,16,.05) 30%, rgba(12,20,16,.85) 100%);}
.area-card .meta{
  position:absolute;inset-inline:24px;bottom:20px;z-index:2;color:var(--marble);
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
}
.area-card .meta b{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.4vw,30px);color:#fff;}
.area-card .meta span{font-family:var(--font-arabic);color:var(--gold-bright);font-size:15px;}
.area-card .line{
  position:absolute;inset-inline:24px;bottom:66px;z-index:2;
  color:rgba(245,227,212,.92);font-size:14.5px;max-width:44ch;
  opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease;
}
.area-card:hover .line{opacity:1;transform:none;}
@media (hover:none){.area-card .line{opacity:1;transform:none;}}

.areax{display:grid;grid-template-columns:1fr 1fr;gap:74px;align-items:center;margin-bottom:120px;}
.areax:last-child{margin-bottom:0;}
.areax:nth-child(even) .areax-img{order:2;}
@media (max-width:900px){.areax{grid-template-columns:1fr;gap:30px;}.areax:nth-child(even) .areax-img{order:0;}}
.areax-img .duo{aspect-ratio:4/3;}
.areax-copy .num{font-family:var(--font-utility);color:var(--gold-deep);font-size:13px;letter-spacing:.3em;}
.areax-copy h2{font-size:clamp(26px,3vw,40px);margin:12px 0 6px;}
.areax-copy .arname{font-family:var(--font-arabic);color:var(--gold-deep);font-size:17px;}
.areax-copy p{color:var(--ink-dim);margin-top:18px;max-width:52ch;}
.areax-copy .suits{
  margin-top:18px;padding-top:16px;border-top:1px solid var(--hairline);
  font-size:14px;color:var(--ink);
}
.areax-copy .suits b{font-family:var(--font-label);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);display:block;margin-bottom:4px;}

/* ================= Process steps — numbered UI cards ================= */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:56px;}
@media (min-width:901px){.steps .step:nth-child(even){margin-top:30px;}}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.steps{grid-template-columns:1fr;}}
.step{
  position:relative;overflow:hidden;
  background:var(--white);border:1px solid rgba(205,146,58,.3);border-radius:12px;
  padding:30px 28px 28px;box-shadow:0 10px 30px var(--shadow);
  transition:transform .35s var(--ease),box-shadow .35s ease,border-color .35s ease;
}
.step:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 22px 48px var(--shadow-deep);}
.step::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--gold-leaf);
  transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--ease);
}
.step:hover::before{transform:scaleX(1);}
.lang-ar .step::before{transform-origin:right;}
.step .n{
  display:block;
  font-family:var(--font-display);font-size:38px;font-weight:600;line-height:1;
  background:var(--gold-leaf);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;margin-bottom:16px;
}
.step .ic{display:block;margin-bottom:14px;}
.step .ic svg{width:26px;height:26px;stroke:var(--gold-deep);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.step h3{font-size:20px;margin:0 0 8px;}
.step p{font-size:14.5px;color:var(--ink-dim);}

/* ================= Interaction layer ================= */
/* Lenis smooth scroll (fx.js) */
html.lenis,html.lenis body{height:auto;}
.lenis.lenis-smooth{scroll-behavior:auto!important;}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain;}
.lenis.lenis-stopped{overflow:hidden;}
/* gold scroll-progress bar */
.brzh-progress{
  position:fixed;top:0;left:0;height:3px;width:0;
  background:var(--gold-leaf);z-index:3000;pointer-events:none;
}
/* cursor spotlight on UI cards (fx.js feeds --mx/--my) */
.step::after,.svc::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(205,146,58,.14),transparent 65%);
  transition:opacity .4s ease;
}
.step:hover::after,.svc:hover::after{opacity:1;}
/* light sweep across buttons on hover */
.btn{position:relative;overflow:hidden;}
.btn::before{
  content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-20deg);transition:left .55s ease;pointer-events:none;
}
.btn:hover::before{left:115%;}
/* breathing diamonds */
@keyframes brzhDia{
  0%,100%{transform:rotate(45deg) scale(1);}
  50%{transform:rotate(45deg) scale(1.28);}
}
.eyebrow .diamond{animation:brzhDia 3.2s ease-in-out infinite;}
/* inline icons inside buttons (contact CTAs) */
.btn svg{
  width:15px;height:15px;vertical-align:-2px;margin-inline-end:10px;
  stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
/* fact strip icons */
.fact svg{
  width:22px;height:22px;display:block;margin:0 auto 10px;
  stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
}

/* ================= Cursor ================= */
.brzh-cursor{
  position:fixed;top:0;left:0;width:10px;height:10px;border-radius:50%;
  background:var(--gold);pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .25s ease,height .25s ease,opacity .3s ease;
  opacity:0;
}
body.cursor-on .brzh-cursor{opacity:.85;}
.brzh-cursor.grow{width:36px;height:36px;opacity:.4;}
@media (hover:none){.brzh-cursor{display:none;}}

/* ================= Parallax ================= */
[data-plx]{will-change:transform;}

/* ================= Motion ================= */
@keyframes brzhRise{
  from{opacity:0;transform:translateY(26px);}
  to{opacity:1;transform:none;}
}
@keyframes brzhRuleGrow{
  from{transform:scaleX(0);}
  to{transform:scaleX(1);}
}
.hero .eyebrow,.hero2 .eyebrow{animation:brzhRise .9s .1s var(--ease) both;}
.hero h1,.hero2 h1{animation:brzhRise 1s .25s var(--ease) both;}
.hero .ar,.hero2 .ar{animation:brzhRise 1s .45s var(--ease) both;}
.hero .lede,.hero2 .lede{animation:brzhRise 1s .6s var(--ease) both;}
.hero .actions,.hero2 .actions{animation:brzhRise 1s .75s var(--ease) both;}
.hero .rule{animation:brzhRuleGrow 1.1s 1s var(--ease) both;}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* ================= Interaction pass II (ported from the Bayern motion system, 19 Aug 2026) ================= */
/* Property cards: the frame separates from the page while the pointer tilt (fx.js) carries the card */
.prop-card .ph{transition:box-shadow .5s ease,border-color .4s ease;}
.prop-card:hover .ph{border-color:var(--gold);box-shadow:0 30px 60px var(--shadow-deep);}
.prop-card:hover .pc-kicker a{color:var(--gold-deep);background-size:100% 1px;}
/* Ghost buttons lift; solids stay with the magnetic pull in fx.js */
.btn:not(.btn--solid):hover{transform:translateY(-2px);}
.btn:not(.btn--solid):active{transform:translateY(0) scale(.98);}
/* Footer links: drawn gold underline instead of a bare colour swap */
.bigfoot .net a,.site-footer .net a,.foot-links a{
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;background-size:0 1px;background-position:0 100%;
  transition:background-size .3s var(--ease),color .25s ease;padding-bottom:2px;
}
.lang-ar .bigfoot .net a,.lang-ar .site-footer .net a,.lang-ar .foot-links a{background-position:100% 100%;}
.bigfoot .net a:hover,.site-footer .net a:hover,.foot-links a:hover{background-size:100% 1px;}
/* Fact strip: numbers settle into gold once the strip has revealed (fx.js adds .in) */
.fact b{transition:color .8s ease .35s;}
.facts.in .fact b{color:var(--gold-bright);}
/* Closing chapter: a slow gold light drifts across the dark ground */
@keyframes brzhGlow{to{transform:translate(45%,26%);}}
.bigfoot{position:relative;}
.bigfoot::before{
  content:"";position:absolute;width:56%;aspect-ratio:1;border-radius:50%;
  top:-24%;inset-inline-start:-10%;pointer-events:none;
  background:radial-gradient(circle,rgba(205,146,58,.10),transparent 62%);
  animation:brzhGlow 16s var(--ease) infinite alternate;
}

@media (prefers-reduced-motion: reduce){
  .hero .eyebrow,.hero h1,.hero .ar,.hero .lede,.hero .actions,.hero .rule,
  .hero2 .eyebrow,.hero2 h1,.hero2 .ar,.hero2 .lede,.hero2 .actions{animation:none;}
  .reveal{opacity:1;transform:none;transition:none;}
  .marquee-track{animation:none;}
  .ln>span{transform:none;transition:none;}
  .duo img,.duo::after,.prop-card .ph img,.btn,.site-header,.site-logo img{transition:none;}
  .brzh-cursor{display:none;}
  [data-plx]{transform:none!important;}
  .eyebrow .diamond{animation:none;}
  .btn::before{display:none;}
  .step,.svc{transition:none;}
  .ch-head::after{transform:scaleX(1);transition:none;}
  .bigfoot::before{animation:none;}
  .prop-card .ph,.bigfoot .net a,.site-footer .net a,.foot-links a,.fact b{transition:none;}
  .btn:not(.btn--solid):hover{transform:none;}
  .facts .fact b{color:var(--marble);}
}

/* ================= Mobile polish ================= */
@media (max-width:640px){
  body{font-size:16px;}
  .wrap{padding:0 20px;}
  .site-header .bar{padding:10px 20px;}
  .site-logo img{width:112px;}
  .ch{padding:72px 0 80px;}
  .ch--tight{padding:64px 0;}
  .ch-head{margin-bottom:40px;}
  .ch-head::after{margin-top:20px;}
  .ghost-num{font-size:68px;top:-10px;opacity:.13;}
  .hero2-content{padding:96px 20px 76px;}
  .hero2 .lede{font-size:16.5px;}
  .hero2 .actions,.hero .actions,.cta-band .actions,.bigfoot .actions{gap:12px;}
  .btn{padding:13px 26px;font-size:12px;letter-spacing:.22em;text-indent:.22em;}
  .btn:hover{letter-spacing:.22em;}
  .page-hero{padding:64px 20px 52px;}
  .tax-filter{gap:10px;}
  .tax-filter a{padding:8px 18px;font-size:11px;}
  .prop-grid{gap:34px 24px;}
  .pc-kicker{font-size:13.5px;}
  .city-grid{gap:36px;}
  .city-pair{gap:14px;}
  .city-pair .duo:last-child{margin-top:30px;}
  .steps{gap:18px;margin-top:40px;}
  .step,.svc{padding:24px 22px;}
  .bene-grid{gap:34px;}
  .marquee{padding:14px 0;}
  .marquee-track{font-size:12px;gap:44px;}
  .marquee-track span{gap:44px;}
  .section{padding:64px 0;}
  .prop-main{padding:44px 0 72px;}
  .prop-layout{gap:32px;}
  .side-card{padding:26px 24px 22px;}
  .prop-cta{padding:28px 24px;}
  .bigfoot{padding:80px 20px 0;}
  .bigfoot .actions{margin:34px 0 56px;}
  .fact-strip{padding:30px 0;}
  .news-mini{gap:32px;}
  .areax{margin-bottom:72px;}
  .brzh-form input,.brzh-form select,.brzh-form textarea{font-size:16px;padding:13px 14px;}
}
/* comfortable tap targets on any touch device */
@media (hover:none){
  .site-nav a,.tax-filter a,.foot-links a{padding-top:12px;padding-bottom:12px;}
  .step:hover,.svc:hover{transform:none;}
}

/* ================= Mobile quick-contact bar ================= */
.mobilebar{display:none;}
@media (max-width:820px){
  .mobilebar{
    position:fixed;bottom:0;left:0;right:0;z-index:90;
    display:grid;grid-template-columns:1fr 1fr;
    background:var(--basalt);
    border-top:1px solid var(--hairline);
    padding-bottom:env(safe-area-inset-bottom);
    box-shadow:0 -6px 24px rgba(12,20,16,.25);
  }
  .mobilebar a{
    display:flex;align-items:center;justify-content:center;gap:9px;
    padding:15px 10px;min-height:52px;
    font-family:var(--font-label);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--marble);text-decoration:none;
  }
  .mobilebar .mb-wa{background:var(--raised);color:var(--gold-bright);}
  .mobilebar a:active{background:var(--raised-2);}
  .lang-ar .mobilebar a{letter-spacing:0;font-size:14.5px;}
  body{padding-bottom:calc(52px + env(safe-area-inset-bottom));}
  .bigfoot{padding-bottom:calc(24px + env(safe-area-inset-bottom));}
  /* filter bar: 16px stops iOS auto-zoom on focus */
  .pf-bar select,.pf-bar input{font-size:16px;min-height:44px;}
  /* FAQ + chips: full-thumb tap targets */
  .faq-list summary{padding-top:16px;padding-bottom:16px;}
  .area-cta .btn{width:100%;text-align:center;}
  .pagination .page-numbers{padding:10px 14px;min-width:42px;display:inline-block;}
}

/* ================= Arabic (RTL) ================= */
.lang-ar{font-family:var(--font-arabic);}
.lang-ar h1,.lang-ar h2,.lang-ar h3,.lang-ar h4{font-family:var(--font-arabic);font-weight:600;line-height:1.45;}
.lang-ar .hero h1{font-size:clamp(34px,5.2vw,62px);}
.lang-ar em,.lang-ar .entry-content em{font-style:normal;color:var(--gold-deep);}
.lang-ar .hero2 h1 em{font-style:normal;color:var(--gold-bright);}
.lang-ar .label,.lang-ar .btn,.lang-ar .site-nav a,.lang-ar .lang-switch,
.lang-ar .eyebrow .t,.lang-ar .fact .k,.lang-ar .prop-card .badge,.lang-ar .tax-filter a{
  font-family:var(--font-arabic);letter-spacing:0;text-indent:0;
}
.lang-ar .btn{font-size:15px;padding:14px 36px;}
.lang-ar .btn:hover{letter-spacing:0;}
.lang-ar .site-nav a{font-size:15px;}
.lang-ar .lede,.lang-ar p{line-height:2;}
.lang-ar .price{font-family:var(--font-arabic);font-weight:600;}
.lang-ar .prop-card .price{font-size:15px;}
.lang-ar .fact b{font-family:var(--font-arabic);font-weight:600;font-size:17px;}
.lang-ar .secnum{font-family:var(--font-arabic);letter-spacing:.12em;}
.lang-ar .fine,.lang-ar .addr{letter-spacing:.04em;text-indent:0;font-family:var(--font-arabic);}
.lang-ar .site-footer .net,.lang-ar .bigfoot .net{letter-spacing:.04em;text-indent:0;font-family:var(--font-arabic);}
.lang-ar .nm .date,.lang-ar .news-item .date,.lang-ar .areax-copy .num{font-family:var(--font-arabic);letter-spacing:.08em;}

/* ================= Staff portal (light SaaS tool — unchanged) ================= */
.papp-body{
  --ink:#1C2621;--ink-dim:#5F6A62;--paper:#FFFFFF;--line:rgba(28,38,33,.12);
  background:#F2EEE7;font-family:var(--font-label);color:var(--ink);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
.papp-body::before{display:none;}
.papp{display:flex;min-height:100vh;}
.papp-side{
  width:248px;flex:none;background:var(--basalt);color:var(--smoke);
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;
}
.papp-logo{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:26px 24px 20px;border-bottom:1px solid rgba(205,146,58,.18);}
.papp-logo img{width:104px;}
.papp-logo span{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);}
.papp-nav{padding:18px 14px;display:flex;flex-direction:column;gap:2px;flex:1;}
.papp-nav-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(201,187,168,.45);padding:16px 12px 8px;}
.papp-nav a{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;border-radius:8px;color:var(--smoke);font-size:14px;
  transition:background .15s,color .15s;
}
.papp-nav a svg{width:17px;height:17px;flex:none;opacity:.75;}
.papp-nav a:hover{background:rgba(205,146,58,.1);color:var(--marble);}
.papp-nav a.on{background:rgba(205,146,58,.16);color:var(--gold-bright);}
.papp-user{display:flex;align-items:center;gap:12px;padding:18px 22px;border-top:1px solid rgba(205,146,58,.18);}
.papp-user .ava{
  width:36px;height:36px;border-radius:50%;flex:none;
  background:var(--gold);color:var(--basalt);font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.papp-user .who b{display:block;color:var(--marble);font-weight:500;font-size:13.5px;}
.papp-user .who a{color:rgba(201,187,168,.7);font-size:12px;}
.papp-user .who a:hover{color:var(--gold-bright);}
.papp-main{flex:1;min-width:0;padding:34px 44px 80px;max-width:1200px;}
.papp-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px;}
.papp-top .crumb{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:4px;}
.papp-top .crumb a{color:var(--gold-deep);}
.papp-top h1{font-family:var(--font-display);font-weight:500;font-size:32px;color:var(--ink);}
.papp-toast{
  background:#123B22;color:#D9F2E0;border-radius:10px;
  padding:13px 20px;margin-bottom:22px;font-size:14px;
  box-shadow:0 6px 18px rgba(18,59,34,.25);
}
.papp .primary,.papp button.primary{
  display:inline-block;background:var(--gold);color:#fff;border:0;border-radius:9px;
  padding:12px 26px;font-family:var(--font-label);font-size:14px;font-weight:500;cursor:pointer;
  transition:background .15s,transform .1s;text-decoration:none;
}
.papp .primary:hover{background:var(--gold-deep);}
.papp .primary:active{transform:translateY(1px);}
.papp .ghost{
  display:inline-block;padding:12px 20px;border-radius:9px;color:var(--ink-dim);
  border:1px solid rgba(28,38,33,.18);font-size:14px;background:#fff;
}
.papp .ghost:hover{color:var(--ink);border-color:rgba(28,38,33,.35);}
.papp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
@media (max-width:900px){.papp-kpis{grid-template-columns:repeat(2,1fr);}}
.kpi{
  background:#fff;border:1px solid rgba(28,38,33,.08);border-radius:14px;
  padding:20px 22px;box-shadow:0 1px 3px rgba(28,38,33,.05);
}
.kpi .n{display:block;font-family:var(--font-display);font-size:32px;color:var(--ink);line-height:1.1;font-variant-numeric:tabular-nums;}
.kpi .l{font-size:12.5px;color:var(--ink-dim);letter-spacing:.04em;}
.papp-filter{display:flex;gap:4px;margin-bottom:14px;background:rgba(28,38,33,.05);border-radius:10px;padding:4px;width:max-content;}
.papp-filter a{padding:8px 20px;border-radius:8px;font-size:13.5px;color:var(--ink-dim);}
.papp-filter a:hover{color:var(--ink);}
.papp-filter a.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(28,38,33,.12);font-weight:500;}
.papp-tablecard{
  background:#fff;border:1px solid rgba(28,38,33,.08);border-radius:14px;
  box-shadow:0 1px 3px rgba(28,38,33,.05);overflow-x:auto;
}
.papp-table{width:100%;border-collapse:collapse;font-size:14px;min-width:760px;}
.papp-table th{
  text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-dim);font-weight:500;padding:14px 18px;border-bottom:1px solid rgba(28,38,33,.1);
  background:#FBFAF7;
}
.papp-table td{padding:13px 18px;border-bottom:1px solid rgba(28,38,33,.06);vertical-align:middle;}
.papp-table tbody tr{transition:background .12s;}
.papp-table tbody tr:hover{background:#FBF7F0;}
.papp-table tbody tr:last-child td{border-bottom:0;}
.papp-table .thumb{width:64px;padding-right:0;}
.papp-table .thumb img{width:52px;height:40px;object-fit:cover;border-radius:8px;display:block;}
.papp-table .title a{color:var(--ink);font-weight:500;}
.papp-table .title a:hover{color:var(--gold-deep);}
.papp-table .title small{display:block;color:var(--ink-dim);font-size:12.5px;}
.papp-table .price{font-family:var(--font-utility);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums;}
.papp-table .price span{color:var(--ink-dim);}
.papp-table .date{color:var(--ink-dim);font-size:13px;white-space:nowrap;}
.papp-table .acts{text-align:right;white-space:nowrap;}
.papp-table .acts a{margin-left:16px;font-size:13px;color:var(--gold-deep);}
.papp-table .acts a:hover{color:var(--ink);}
.papp-table .acts .danger{color:#B3402F;}
.papp-table tr.st-trash td{opacity:.5;}
.papp-table .empty{text-align:center;color:var(--ink-dim);padding:48px;}
.pill{
  display:inline-block;padding:4px 12px;border-radius:20px;
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
}
.pill-publish{background:#E3F2E6;color:#1E6B33;}
.pill-draft{background:#F5EBDC;color:var(--gold-deep);}
.pill-trash{background:#F8E5E1;color:#B3402F;}
.pill-pending{background:#E8EDF7;color:#3B5AA3;}
/* sales & rentals log */
.pill-sale{background:#E3F2E6;color:#1E6B33;}
.pill-rental{background:#E9E4F6;color:#4B3A80;}
.pill-pay-paid{background:#E3F2E6;color:#1E6B33;}
.pill-pay-partial{background:#F5EBDC;color:var(--gold-deep);}
.pill-pay-pending{background:#F8E5E1;color:#B3402F;}
/* lead statuses */
.pill-lead-new{background:#E8EDF7;color:#3B5AA3;}
.pill-lead-contacted{background:#F5EBDC;color:var(--gold-deep);}
.pill-lead-viewing{background:#E9E4F6;color:#4B3A80;}
.pill-lead-won{background:#E3F2E6;color:#1E6B33;}
.pill-lead-lost{background:#F8E5E1;color:#B3402F;}
/* list toolbar: filter pills left, export buttons right */
.papp-listbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.papp-exports{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.papp-table .lead-msg{max-width:260px;color:var(--ink-dim);font-size:13px;}
.pdocs{list-style:none;margin:0;padding:0;}
.pdocs li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(28,38,33,.08);}
.pdocs li a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.pdocs li a:hover{color:var(--gold-deep);}
.pdocs .del{font-size:12px;color:#B3402F;white-space:nowrap;}
.papp-form{max-width:860px;}
.pcard{
  background:#fff;border:1px solid rgba(28,38,33,.08);border-radius:14px;
  box-shadow:0 1px 3px rgba(28,38,33,.05);margin-bottom:20px;overflow:hidden;
}
.pcard>header{padding:20px 26px 0;}
.pcard>header h2{font-family:var(--font-display);font-size:19px;font-weight:500;color:var(--ink);}
.pcard>header p{font-size:13px;color:var(--ink-dim);margin-top:2px;}
.pcard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;padding:20px 26px 26px;}
.pcard-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.pcard-grid.cols-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:820px){.pcard-grid,.pcard-grid.cols-3,.pcard-grid.cols-4{grid-template-columns:1fr;}}
.pcard-grid .full{grid-column:1/-1;}
.pcard-grid .span2{grid-column:span 2;}
@media (max-width:820px){.pcard-grid .span2{grid-column:auto;}}
.pcard-grid label{display:block;font-size:12.5px;font-weight:500;color:var(--ink);margin-bottom:6px;}
.pcard-grid label em{font-style:normal;font-weight:400;color:var(--ink-dim);}
.pcard-grid input,.pcard-grid select,.pcard-grid textarea{
  width:100%;padding:11px 13px;border:1px solid rgba(28,38,33,.16);border-radius:9px;
  background:#fff;color:var(--ink);font-family:var(--font-label);font-size:14.5px;
  transition:border-color .15s,box-shadow .15s;
}
.pcard-grid textarea{line-height:1.6;resize:vertical;}
.pcard-grid input:focus,.pcard-grid select:focus,.pcard-grid textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(205,146,58,.18);
}
.pcard-grid input[type=file]{border-style:dashed;background:#FBFAF7;padding:14px;cursor:pointer;}
.pimgs{display:flex;gap:14px;flex-wrap:wrap;}
.pimg{position:relative;width:112px;text-align:center;cursor:pointer;}
.pimg img{width:112px;height:84px;object-fit:cover;border-radius:9px;border:1px solid rgba(28,38,33,.12);}
.pimg .tag{
  position:absolute;top:6px;left:6px;background:rgba(20,32,24,.82);color:var(--gold-bright);
  font-size:9.5px;padding:2px 8px;border-radius:10px;letter-spacing:.08em;text-transform:uppercase;
}
.pimg .del{display:block;margin-top:5px;font-size:12px;color:#B3402F;}
.papp-savebar{
  position:sticky;bottom:0;z-index:5;
  background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
  border:1px solid rgba(28,38,33,.1);border-radius:14px;
  box-shadow:0 -4px 24px rgba(28,38,33,.08);
  padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
}
.papp-savebar .left{display:flex;align-items:center;gap:12px;}
.papp-savebar .left label{font-size:12.5px;font-weight:500;color:var(--ink-dim);}
.papp-savebar select{
  padding:10px 14px;border:1px solid rgba(28,38,33,.16);border-radius:9px;
  font-family:var(--font-label);font-size:14px;background:#fff;
}
.papp-savebar .right{display:flex;align-items:center;gap:12px;}
@media (max-width:860px){
  .papp{flex-direction:column;}
  .papp-side{width:100%;height:auto;position:static;flex-direction:row;align-items:center;flex-wrap:wrap;gap:0 10px;}
  .papp-logo{border-bottom:0;padding:16px 20px;}
  .papp-nav{flex-direction:row;flex-wrap:wrap;padding:0 12px;align-items:center;}
  .papp-nav-label{display:none;}
  .papp-user{margin-left:auto;border-top:0;}
  .papp-main{padding:24px 20px 70px;}
}

/* ================= Photo lightbox (property album) ================= */
body.lb-open{overflow:hidden;}
.brzh-lb{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  overscroll-behavior:contain;touch-action:none;
}
.brzh-lb[hidden]{display:none;}
.brzh-lb-backdrop{position:absolute;inset:0;background:rgba(12,20,16,.98);backdrop-filter:blur(16px);}
.brzh-lb-stage{
  position:relative;z-index:1;margin:0;
  width:min(1200px,calc(100vw - 32px));height:calc(100dvh - 140px);
  display:flex;align-items:center;justify-content:center;
}
.brzh-lb-stage img{
  max-width:100%;max-height:100%;width:auto;height:auto;
  border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);
  opacity:0;transform:scale(.985);transition:opacity .3s ease,transform .3s var(--ease);
  user-select:none;-webkit-user-drag:none;cursor:pointer;
}
.brzh-lb-stage img.is-loaded{opacity:1;transform:none;}
.brzh-lb-btn{
  position:absolute;z-index:2;
  width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(20,32,24,.72);border:1px solid rgba(205,146,58,.45);
  color:var(--marble);cursor:pointer;padding:0;
  transition:background .25s,border-color .25s;
}
.brzh-lb-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.brzh-lb-btn:hover{background:rgba(205,146,58,.25);border-color:var(--gold-bright);color:var(--gold-bright);}
.brzh-lb-prev{left:18px;top:50%;transform:translateY(-50%);}
.brzh-lb-next{right:18px;top:50%;transform:translateY(-50%);}
.brzh-lb-close{top:16px;right:16px;}
.brzh-lb-count{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;
  font-family:var(--font-label);font-size:12px;letter-spacing:.26em;text-indent:.26em;text-transform:uppercase;
  color:var(--smoke);
}
@media (max-width:640px){
  .brzh-lb-stage{width:100vw;height:calc(100dvh - 120px);}
  .brzh-lb-stage img{border-radius:0;}
  .brzh-lb-btn{width:42px;height:42px;}
  .brzh-lb-prev{left:10px;}
  .brzh-lb-next{right:10px;}
  .brzh-lb-close{top:12px;right:12px;}
}
@media (prefers-reduced-motion: reduce){
  .brzh-lb-stage img{transition:none;transform:none;}
}

/* ================= Misc ================= */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
::selection{background:var(--gold);color:#fff;}

/* ================= Instagram feed (homepage) ================= */
.igfeed .ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.ig-tile{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:14px;border:1px solid rgba(169,117,44,.22);}
.ig-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,.61,.36,1);}
.ig-tile:hover img{transform:scale(1.05);}
.ig-io{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(12,20,16,.45);opacity:0;transition:opacity .35s ease;}
.ig-io svg{width:34px;height:34px;}
.ig-tile:hover .ig-io,.ig-tile:focus-visible .ig-io{opacity:1;}
@media(max-width:820px){.igfeed .ig-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}

/* ================= Hero v6: 3D villa timelapse ================= */
.hero4{position:relative;height:100svh;min-height:600px;background:var(--basalt);color:var(--marble);overflow:hidden;display:flex;align-items:flex-end;}
#brzh-hero3d{position:absolute;inset:0;}
#brzh-hero3d canvas{width:100%;height:100%;display:block;}
.hero4-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,20,16,.30),transparent 32%,transparent 52%,rgba(12,20,16,.82));pointer-events:none;z-index:1;}
.hero4 .side-label{z-index:2;}
.hero4-wrap{position:relative;z-index:2;width:100%;padding-bottom:110px;}
.hero4-content{max-width:660px;opacity:0;transform:translateY(26px);animation:hero4in 1.1s cubic-bezier(.22,.61,.36,1) .3s forwards;}
@keyframes hero4in{to{opacity:1;transform:none;}}
.hero4 h1{font-size:clamp(46px,6.4vw,88px);line-height:1.02;color:var(--marble);margin:16px 0 8px;font-weight:400;letter-spacing:-.01em;}
.hero4 h1 em{font-style:italic;color:var(--gold-bright);}
.hero4 .ar{color:var(--gold);font-size:19px;margin:0 0 14px;}
.hero4 .lede{color:var(--smoke);max-width:520px;font-size:17px;line-height:1.65;margin:0 0 30px;}
.hero4 .actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero4 .btn{border-color:rgba(245,227,212,.35);color:var(--marble);}
.hero4 .btn--solid{background:var(--gold);border-color:var(--gold);color:#16130C;}
.hero4 .btn--solid:hover{background:var(--gold-bright);border-color:var(--gold-bright);}
.hero4.no3d #brzh-hero3d{display:none;}
.hero4.no3d{background:var(--basalt) var(--hero-fallback) center/cover no-repeat;}
.hero4 .scroll-cue{z-index:2;}
@media (max-width:820px){
  .hero4{min-height:560px;height:92svh;}
  .hero4-wrap{padding-bottom:88px;}
  .hero4 .lede{font-size:15.5px;}
}

/* ================= Finder (search below hero) ================= */
.finder{background:var(--ivory);padding:0 0 6px;}
.finder .wrap{position:relative;z-index:3;}
.finder-bar{display:grid;grid-template-columns:1.35fr repeat(4,1fr) auto;align-items:end;gap:14px;background:#fff;border:1px solid rgba(169,117,44,.28);border-radius:18px;padding:20px;margin-top:-58px;box-shadow:0 30px 70px -32px rgba(20,32,24,.45);}
.finder-bar .pf-actions{display:flex;}
.finder-bar .pf-actions .btn{width:100%;}
.finder--flat{padding-top:38px;}
.finder--flat .finder-bar{margin-top:0;}
.finder-contact{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0 10px;flex-wrap:wrap;}
.finder-contact .label{color:var(--gold-deep);letter-spacing:.22em;}
.finder-contact .btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 26px;white-space:nowrap;text-decoration:none;}
.finder-contact .btn svg{width:17px;height:17px;margin-inline-end:9px;flex:0 0 auto;}
@media (max-width:980px){.finder-bar{grid-template-columns:repeat(2,1fr);}.finder-bar .pf-q{grid-column:1/-1;}}
@media (max-width:640px){.finder-bar{grid-template-columns:1fr 1fr;padding:16px;gap:11px;margin-top:-46px;}.finder-bar .pf-actions{grid-column:1/-1;}.finder-bar .pf-q{grid-column:1/-1;}.finder-contact{gap:10px;}.finder-contact .label{width:100%;text-align:center;}.finder-contact .btn{flex:1 1 0;padding:13px 14px;}}

/* ================= Featured properties + contact strip ================= */
.feat{background:var(--ivory);padding:74px 0 90px;}
.feat .ch-head{margin-bottom:44px;}
.cnow{background:var(--basalt);color:var(--marble);}
.cnow-in{display:flex;align-items:center;justify-content:space-between;gap:26px;padding-top:54px;padding-bottom:54px;flex-wrap:wrap;}
.cnow-copy h3{font-size:clamp(26px,3vw,38px);margin:0 0 8px;color:var(--marble);font-weight:400;}
.cnow-copy .label{color:var(--gold-bright);margin:0;letter-spacing:.2em;}
.cnow-actions{display:flex;gap:14px;flex-wrap:wrap;}
.cnow .btn{border-color:rgba(245,227,212,.35);color:var(--marble);}
.cnow .btn--solid{background:var(--gold);border-color:var(--gold);color:#16130C;}
.cnow .btn--solid:hover{background:var(--gold-bright);border-color:var(--gold-bright);}
@media (max-width:640px){.cnow-in{flex-direction:column;align-items:flex-start;}}
.hero4-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* Cine hero: crossfading stills with Ken Burns drift (zero decode cost) */
.hero4{background:var(--basalt) var(--hero-fallback) center/cover no-repeat;}
.hero4-cine{position:absolute;inset:0;overflow:hidden;}
.hero4-cine img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:cf2 27s linear infinite,cinezoom 27s ease-in-out infinite alternate;will-change:opacity,transform;}
.hero4-cine img:nth-child(1){animation-name:cf1,cinezoom;}
.hero4-cine img:nth-child(3){animation-name:cf3,cinezoom;}
@keyframes cf1{0%,33%{opacity:1}41%,92%{opacity:0}100%{opacity:1}}
@keyframes cf2{0%,25%{opacity:0}33%,66%{opacity:1}74%,100%{opacity:0}}
@keyframes cf3{0%,58%{opacity:0}66%,97%{opacity:1}100%{opacity:0}}
@keyframes cinezoom{from{transform:scale(1)}to{transform:scale(1.085)}}
@media (prefers-reduced-motion:reduce){.hero4-cine img{animation:none;}.hero4-cine img:first-child{opacity:1;}}

/* Preloader disabled 2026-07-31: it covered the page until window.load, which waits for
   every image (~2MB on the homepage), so first visits sat on a dark screen for up to
   2.6s. header.php now releases it on DOMContentLoaded instead, but that PHP change
   cannot be deployed on this host yet, so it is switched off here. To bring it back,
   delete this one rule. */
#brzh-loader{display:none!important;}

/* ---------- Brand preloader (برزه, shown once per session until page load) ---------- */
#brzh-loader{position:fixed;inset:0;z-index:99999;background:#142018;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:1;transition:opacity .45s ease;}
#brzh-loader.bl-hide{opacity:0;pointer-events:none;}
.bl-logo{position:relative;width:172px;}
.bl-logo img{width:100%;height:auto;display:block;animation:blGlow 2.4s ease-in-out infinite;}
.bl-logo::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(227,174,99,.95) 50%,transparent 60%);background-size:260% 100%;background-repeat:no-repeat;-webkit-mask:url('assets/img/logo-marble-sm.webp') center/contain no-repeat;mask:url('assets/img/logo-marble-sm.webp') center/contain no-repeat;animation:blShine 1.9s ease-in-out infinite;}
.bl-diamond{width:11px;height:11px;background:#CD923A;transform:rotate(45deg);animation:blPulse 1.2s ease-in-out infinite;}
@keyframes blShine{0%{background-position:130% 0;}55%,100%{background-position:-60% 0;}}
@keyframes blGlow{0%,100%{filter:drop-shadow(0 0 10px rgba(205,146,58,.18));}50%{filter:drop-shadow(0 0 24px rgba(227,174,99,.45));}}
@keyframes blPulse{0%,100%{opacity:.3;transform:rotate(45deg) scale(.8);}50%{opacity:1;transform:rotate(45deg) scale(1.12);}}
@media (prefers-reduced-motion:reduce){.bl-logo img,.bl-logo::after,.bl-diamond{animation:none;}}

/* ================= PF search bar (v5.17: homepage hero centerpiece) ================= */
.pfx{
  background:#fff;
  border:1px solid rgba(169,117,44,.28);border-radius:18px;
  padding:16px 18px 18px;
  box-shadow:0 30px 70px -30px rgba(20,32,24,.42);
}
/* pill segmented purpose tabs */
.pfx-tabs{
  display:inline-flex;gap:2px;
  background:var(--ivory);border:1px solid var(--hairline);border-radius:40px;
  padding:4px;margin-bottom:14px;
}
.pfx-tab{position:relative;}
.pfx-tab input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.pfx-tab span{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:36px;padding:7px 24px;border-radius:30px;cursor:pointer;
  font-family:var(--font-label);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-dim);white-space:nowrap;
  transition:background .25s ease,color .25s ease;
}
.pfx-tab input:checked+span{background:var(--basalt);color:var(--marble);}
.pfx-tab input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px;}
.lang-ar .pfx-tab span{font-family:var(--font-arabic);letter-spacing:0;font-size:14px;}
/* fields row */
.pfx-fields{
  display:grid;grid-template-columns:1.15fr 1fr .85fr 1fr 1fr auto;
  gap:12px 14px;align-items:end;
}
.pfx-f{display:flex;flex-direction:column;gap:7px;min-width:0;}
.pfx-f .label{
  font-size:10px;letter-spacing:.18em;text-indent:.18em;text-transform:uppercase;
  color:var(--gold-deep);
}
.lang-ar .pfx-f .label{font-family:var(--font-arabic);letter-spacing:0;text-indent:0;font-size:12px;}
.pfx select{
  width:100%;border:1px solid var(--hairline);border-radius:9px;
  background:#fff;color:var(--ink);
  font-family:var(--font-body);font-size:14px;
  padding:10px 12px;min-height:44px;
  transition:border-color .25s,box-shadow .25s;
}
.lang-ar .pfx select{font-family:var(--font-arabic);}
.pfx select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(205,146,58,.15);}
.pfx-go{display:flex;}
.pfx-go .btn{padding:13px 30px;white-space:nowrap;width:100%;}
/* floated variant under the hero4 banner */
.pfx--float .pfx{margin-top:-58px;position:relative;z-index:3;}
/* classic hero integration: copy left, photo right, search spanning the full width below */
.hero3--pf .hero3-grid{grid-template-rows:auto auto;gap:36px 56px;}
.hero3--pf .hero3-copy{grid-row:1;grid-column:1;align-self:center;}
.hero3--pf .hero3-media{grid-row:1;grid-column:2;margin-bottom:0;}
.hero3--pf .arch{min-height:440px;}
.hero3--pf .pfx{grid-row:2;grid-column:1/-1;}
@media (max-width:980px){
  .pfx-fields{grid-template-columns:repeat(2,1fr);}
  .pfx-f--area{grid-column:1/-1;}
  .pfx-go{grid-column:1/-1;}
}
@media (max-width:900px){
  /* single column: copy, then search, then the deal photo (DOM order) */
  .hero3--pf .hero3-grid{gap:26px;}
  .hero3--pf .hero3-meta{display:none;}
  .hero3--pf .hero3-copy,.hero3--pf .hero3-media,.hero3--pf .pfx{grid-row:auto;grid-column:auto;}
  .pfx-tabs{display:flex;}
  .pfx-tab{flex:1;}
  .pfx-tab span{width:100%;padding:7px 10px;min-height:44px;}
}
@media (max-width:640px){
  .hero3--pf{padding:32px 0 52px;}
  .hero3--pf .hero3-copy .actions{display:none;}
  .hero3--pf .hero3-copy h1{font-size:clamp(32px,9vw,40px);}
  .hero3--pf .hero3-copy .lede{font-size:15.5px;margin-top:14px;}
  .pfx{padding:14px 14px 16px;border-radius:14px;}
  /* 16px inputs stop iOS auto-zoom; 44px+ keeps everything thumb-friendly */
  .pfx select{font-size:16px;min-height:46px;}
  .pfx-go .btn{min-height:48px;}
}
/* applied filters as removable chips (properties archive) */
.pf-chips{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px;}
.pf-chip{
  display:inline-flex;align-items:center;gap:9px;
  background:#fff;border:1px solid rgba(205,146,58,.4);border-radius:30px;
  padding:8px 14px;min-height:38px;
  font-family:var(--font-label);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);
  transition:border-color .25s,color .25s,background .25s;
}
.lang-ar .pf-chip{font-family:var(--font-arabic);letter-spacing:0;font-size:13.5px;text-transform:none;}
.pf-chip b{
  font-weight:400;font-size:15px;line-height:1;color:var(--gold-deep);
  transition:color .25s;
}
.pf-chip:hover{border-color:var(--gold);color:var(--gold-deep);}
.pf-chip:hover b{color:var(--ink);}
@media (max-width:640px){.pf-chip{min-height:44px;}}

/* ================= Hero — cinematic full-bleed, art-directed per screen =================
   Desktop keeps the 16:9 frame (Corniche skyline low-left, villa dominating the right,
   clean sky upper-left for the headline). Phones and portrait tablets get a separately
   composed 9:16 frame instead of a squeezed desktop crop: villa upper right, empty sky
   through the middle, skyline sitting as a band behind the lower text. */
.hero3--cine{
  position:relative;overflow:hidden;isolation:isolate;
  background:var(--basalt);
  border-bottom:0;
  min-height:620px;height:100svh;
  display:flex;align-items:flex-start;
  padding:150px 0 120px;
}
.hero-cine-bg{position:absolute;inset:0;z-index:0;display:block;}
.hero-cine-bg img{
  width:100%;height:100%;object-fit:cover;object-position:center center;display:block;
}
/* RTL mirrors the frame so the villa sits opposite the Arabic copy instead of under it */
.lang-ar .hero-cine-bg img{transform:scaleX(-1);}
/* readability layer: heavy on the copy side, clear over the architecture */
.hero-cine-scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(100deg, rgba(10,17,13,.86) 0%, rgba(10,17,13,.62) 26%, rgba(10,17,13,.26) 46%, rgba(10,17,13,.04) 66%, rgba(10,17,13,0) 82%),
    linear-gradient(180deg, rgba(10,17,13,.40) 0%, rgba(10,17,13,0) 24%, rgba(10,17,13,0) 74%, rgba(10,17,13,.34) 100%);
}
.lang-ar .hero-cine-scrim{
  background:
    linear-gradient(260deg, rgba(10,17,13,.86) 0%, rgba(10,17,13,.62) 26%, rgba(10,17,13,.26) 46%, rgba(10,17,13,.04) 66%, rgba(10,17,13,0) 82%),
    linear-gradient(180deg, rgba(10,17,13,.40) 0%, rgba(10,17,13,0) 24%, rgba(10,17,13,0) 74%, rgba(10,17,13,.34) 100%);
}
.hero3--cine .wrap{position:relative;z-index:2;width:100%;}
.hero3--cine .hero3-grid{grid-template-columns:1fr;gap:0;}
.hero3--cine .hero3-copy{max-width:760px;}
.hero3--cine .side-label{color:var(--gold-bright);opacity:.85;z-index:3;}
/* type stays exactly as it was, only the ink flips for a dark ground */
.hero3--cine .hero3-copy h1{color:var(--marble);}
.hero3--cine .hero3-copy .lede{color:var(--smoke);}
/* the gradient-clipped gold turns to mud over a photograph, so the accent word
   is a flat warm gold italic here */
.hero3--cine .hero3-copy h1 em{background:none;-webkit-text-fill-color:currentColor;color:var(--gold-bright);}
.hero3--cine .hero3-copy .ar{color:var(--gold-bright);}
.hero3--cine .eyebrow{color:var(--gold-bright);}
.hero3--cine .btn{border-color:rgba(245,227,212,.42);color:var(--marble);}
.hero3--cine .btn:hover{border-color:var(--gold-bright);color:var(--gold-bright);}
.hero3--cine .btn--solid{background:var(--gold);border-color:var(--gold);color:#16130C;}
.hero3--cine .btn--solid:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:#16130C;}
.hero3--cine .meta-chip{
  background:rgba(20,32,24,.55);border-color:rgba(245,227,212,.28);color:var(--marble);
  backdrop-filter:blur(8px);
}
.hero3--cine .meta-chip svg{stroke:var(--gold-bright);}
.hero3--cine .meta-chip b{color:var(--marble);}
/* the search card sits wholly inside the second section, not straddling the
   frame edge */
.hero3--cine + .finder{background:var(--ivory);padding:54px 0 8px;}
.hero3--cine + .finder .pfx--float .pfx{margin-top:0;position:relative;z-index:3;}

/* portrait tablets and phones: mobile frame, copy bottom-anchored so the skyline
   reads as the backdrop of the text instead of being cropped away */
/* short landscape phones: no tall frame, let the hero size to its copy */
@media (orientation:landscape) and (max-height:560px){
  .hero3--cine{height:auto;min-height:0;padding:52px 0 92px;}
}
/* portrait tablets keep the wide frame but sized to the copy, so neither the
   villa nor the skyline gets over-cropped by a full-height box */
@media (min-width:701px) and (max-width:1180px){
  .hero3--cine{height:auto;min-height:520px;padding:60px 0 112px;}
  .hero3--cine .hero-cine-bg img{object-position:center center;}
  .hero3--cine .hero3-copy{max-width:none;}
}
/* Phones: the frame is the whole screen and carries nothing but the search
   card, centred. No headline, no buttons, no copy over the picture. */
@media (orientation:portrait) and (max-width:700px){
  .hero3--cine{
    height:100svh;min-height:0;padding:0;display:block;
    background:var(--basalt);position:relative;
  }
  .hero3--cine .hero-cine-bg{position:absolute;inset:0;}
  .hero3--cine .hero-cine-bg img{
    width:100%;height:100%;object-fit:cover;object-position:center center;
  }
  .hero3--cine .hero-cine-scrim,
  .lang-ar .hero3--cine .hero-cine-scrim{
    inset:0;height:auto;
    background:linear-gradient(180deg, rgba(10,17,13,.42) 0%, rgba(10,17,13,0) 26%, rgba(10,17,13,0) 70%, rgba(10,17,13,.30) 100%);
  }
  /* the whole copy block is desktop-only */
  .hero3--cine .wrap{display:none;}
  /* pull the finder back over the frame and centre the card in it */
  .hero3--cine + .finder{
    margin-top:-100svh;height:100svh;
    display:flex;
    align-items:center;
    /* if the card is ever taller than the space (small phone, both browser bars
       showing), overflow downward over the skyline rather than upward under the
       logo. Older engines ignore this line and keep plain centring. */
    align-items:safe center;
    background:transparent;box-sizing:border-box;
    /* top pad reserves the fixed header so the card can never tuck under the
       logo on a short viewport; bottom pad keeps it clear of the tower line */
    padding:calc(env(safe-area-inset-top, 0px) + 106px) 0 calc(env(safe-area-inset-bottom, 0px) + 88px);
    position:relative;z-index:4;
  }
  .hero3--cine + .finder .wrap{width:100%;}
  .hero3--cine + .finder .pfx--float .pfx{margin-top:0;}
}
@media (max-width:640px){
  .hero3--cine + .finder .pfx{padding:14px 14px 16px;}
}

/* A bare "+974 5001 7720" inside Arabic copy is reordered by the bidi algorithm
   and renders as 7720 5001 974+. Isolate every phone number as its own LTR run. */
.lang-ar a[href^="tel:"],
.lang-ar .phone,
[dir="rtl"] a[href^="tel:"]{
  direction:ltr;unicode-bidi:isolate;
}

/* purpose tabs sit centred on the homepage search card, not shoved left */
.pfx--float .pfx-tabs{display:flex;width:max-content;margin-inline:auto;}

/* Homepage header floats over the hero frame with nothing behind it, and only
   takes its glass back once the page is scrolled a little. */
body.home .site-header{
  position:fixed;inset-inline:0;top:0;
  background:transparent;backdrop-filter:none;
  border-bottom-color:transparent;box-shadow:none;
}
body.home.scrolled .site-header{
  background:rgba(12,20,16,.97);backdrop-filter:blur(14px);
  border-bottom-color:rgba(205,146,58,.3);
  box-shadow:0 12px 40px rgba(12,20,16,.3);
}
/* the nav sits on open sky, but keep a whisper of shade under it so the marble
   logo and links never fall onto a bright patch of the frame */
body.home .hero3--cine::before{
  content:"";position:absolute;inset-inline:0;top:0;height:200px;z-index:1;
  background:linear-gradient(180deg, rgba(10,17,13,.62) 0%, rgba(10,17,13,.30) 45%, rgba(10,17,13,0) 100%);
  pointer-events:none;
}
body.home.scrolled .hero3--cine::before{opacity:0;transition:opacity .35s ease;}

/* Describe-what-you-want field. Phone only, as asked: the desktop bar is a
   single tidy row of dropdowns and this would break that rhythm. */
.pfx-f--nl{display:none;}
.pfx-f--nl input{
  width:100%;
  background:#fff;color:var(--ink);
  border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;min-height:48px;
  font-family:var(--font-body);font-size:16px;
  -webkit-appearance:none;appearance:none;
}
.pfx-f--nl input::placeholder{color:var(--ink-dim);opacity:.75;}
.pfx-f--nl input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(205,146,58,.15);}
.lang-ar .pfx-f--nl input{font-family:var(--font-arabic);}
@media (orientation:portrait) and (max-width:700px){
  .pfx-f--nl{display:block;grid-column:1/-1;}
}

/* Short phone viewports (an iPhone showing both Safari bars, small Androids):
   the card gets compact instead of overflowing up into the header. */
@media (orientation:portrait) and (max-width:700px) and (max-height:800px){
  .hero3--cine + .finder .pfx{padding:12px 14px 14px;}
  .pfx-tabs{margin-bottom:10px;padding:3px;}
  .pfx-tab span{min-height:34px;padding:6px 16px;}
  .pfx-fields{gap:9px 12px;}
  .pfx-f{gap:5px;}
  .pfx-f .label{font-size:10px;}
  .pfx select{min-height:42px;}
  .pfx-f--nl input{min-height:44px;padding:10px 12px;}
  .pfx-go .btn{min-height:44px;padding:11px 24px;}
}
@media (orientation:portrait) and (max-width:700px) and (max-height:700px){
  .hero3--cine + .finder{
    padding:calc(env(safe-area-inset-top, 0px) + 100px) 0 calc(env(safe-area-inset-bottom, 0px) + 62px);
  }
  .hero3--cine + .finder .pfx{padding:10px 12px 12px;}
  .pfx-tabs{margin-bottom:8px;}
  .pfx-tab span{min-height:32px;}
  .pfx-fields{gap:8px 10px;}
  .pfx select{min-height:40px;}
  .pfx-f--nl input{min-height:42px;}
  /* the placeholder already says what the field is */
  .pfx-f--nl .label{display:none;}
  .pfx-go .btn{min-height:42px;}
}
