:root{
  --font-head:"Manrope",system-ui,sans-serif;
  --font-body:"Manrope",system-ui,sans-serif;
  --on-gold:#1a1206;
  --gold-rgb:214,168,90;
  --purple-rgb:162,63,196;
  --bg:#08090d;
  --bg-2:#0e1016;
  --card:#12141b;
  --card-2:#171a22;
  --line:rgba(255,255,255,.09);
  --line-2:rgba(255,255,255,.16);
  --text:#f4f1ea;
  --muted:#a3a3ab;
  --gold:#d6a85a;
  --gold-2:#f0cb85;
  --gold-dark:#a87b33;
  --purple:#a23fc4;
  --radius:14px;
  --wrap:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.container{width:100%;max-width:var(--wrap);margin:0 auto;padding-left:24px;padding-right:24px}
/* undo Bootstrap reboot spacing so our own spacing applies */
h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,figure,dl{margin:0}
ul,ol{padding:0}
h1,h2,h3,h4,h5,h6{color:inherit;line-height:inherit}
label{margin:0}
/* UAE Dirham symbol */
svg.dh{display:inline-block;width:.82em;height:.82em;vertical-align:-.06em;margin-right:.2em;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
svg.i{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- buttons ---------- */
.btn-outline{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--gold);border-radius:8px;color:var(--gold-2);font-weight:600;font-size:13px;letter-spacing:.2px;transition:.25s;white-space:nowrap}
.btn-outline:hover,.btn-outline:focus-visible{background:var(--gold);border-color:var(--gold);color:#111}
.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 26px;border-radius:10px;background:linear-gradient(135deg,var(--gold-2),var(--gold) 55%,var(--gold-dark));color:var(--on-gold);font-weight:700;font-size:14px;transition:.25s;box-shadow:0 8px 24px -8px rgba(var(--gold-rgb),.6)}
.btn-gold:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-outline svg.i,.btn-gold svg.i{width:15px;height:15px}

/* ---------- header ---------- */
.header{position:fixed;inset:0 0 auto 0;z-index:50;padding:14px 0;transition:.3s}
/* floating glass pill navbar — the bar floats below the top edge as a rounded frosted capsule */
.header{padding:14px 0;background:none;pointer-events:none}
.header .container{pointer-events:auto;max-width:min(var(--wrap),calc(100% - 28px));padding:8px 8px 8px 20px;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.025));background-color:rgba(8,9,13,.28);background-color:color-mix(in srgb,var(--bg) 28%,transparent);
  backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);
  border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 34px -14px rgba(0,0,0,.65);transition:background-color .3s,box-shadow .3s,padding .3s}
.header.scrolled{padding:10px 0}
.header.scrolled .container{background-color:rgba(8,9,13,.6);background-color:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);
  border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 16px 40px -14px rgba(0,0,0,.75)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header .container,.header.scrolled .container{background-color:rgba(8,9,13,.92)}}
.header .container{display:flex;align-items:center;justify-content:space-between;gap:16px}
.header .hdr-cta{border-radius:999px;padding:10px 18px}
.logo{display:flex;align-items:center;gap:10px}
.logo-mark{width:38px;height:38px;border-radius:9px;background:var(--purple);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:#fff;line-height:1}
.logo-mark span{display:inline;color:#fff}
.logo-text{line-height:1}
.logo-text b{display:block;font-size:21px;font-weight:800;letter-spacing:-.3px}
.logo-text b em{font-style:normal;color:var(--purple)}
.logo-text small{display:block;font-size:9px;letter-spacing:3px;color:var(--muted);margin-top:3px;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:2px}
.nav a{font-size:14px;font-weight:500;color:#d9d6cf;position:relative;padding:8px 13px;border-radius:999px;transition:.2s;white-space:nowrap}
.nav a:hover{color:var(--gold-2);background:rgba(255,255,255,.06)}
.nav a.active{color:var(--gold-2);background:rgba(var(--gold-rgb),.14);box-shadow:inset 0 0 0 1px rgba(var(--gold-rgb),.28)}
.menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line-2);border-radius:50%;place-items:center;background:rgba(255,255,255,.05)}
.menu-btn svg.i{width:22px;height:22px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:640px;height:92vh;max-height:860px;display:flex;align-items:center;justify-content:center;text-align:center}
.hero-clip{position:absolute;inset:0;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url(../images/hero-dubai.jpg) center 40%/cover no-repeat;transform:scale(1.04);animation:heroZoom 18s ease-out forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(8,9,13,.75) 0%,rgba(8,9,13,.25) 35%,rgba(8,9,13,.45) 70%,var(--bg) 100%),
  radial-gradient(ellipse at center,rgba(8,9,13,0) 30%,rgba(8,9,13,.55) 100%)}
.hero-inner{position:relative;z-index:5;width:100%;padding-top:70px}
.hero h1{font-size:clamp(40px,7vw,84px);font-weight:800;line-height:1.02;letter-spacing:-2px;text-shadow:0 6px 40px rgba(0,0,0,.45)}
.hero p.sub{font-size:clamp(16px,1.6vw,20px);color:#e9e5dc;margin-top:14px;font-weight:500}
.search{max-width:860px;margin:56px auto 0;text-align:left}
.search-tabs{display:inline-flex;background:rgba(14,16,22,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;padding:6px 6px 0}
.search-tabs button{padding:10px 28px 12px;font-size:14px;font-weight:600;color:var(--muted);position:relative}
.search-tabs button.on{color:var(--gold-2)}
.search-tabs button.on::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;background:var(--gold);border-radius:2px}
.search-box{padding:14px;background:rgba(14,16,22,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:0 14px 14px 14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.field{position:relative;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid var(--line);transition:.2s}
.field:hover,.field:focus-within{border-color:rgba(var(--gold-rgb),.55)}
.field>svg.i{color:var(--gold)}
.field label{display:block;font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.3px}
.field select{appearance:none;-webkit-appearance:none;width:100%;background:transparent;border:0;outline:0;color:var(--text);font:600 14px var(--font-body);cursor:pointer;padding-right:18px}
.field select option{background:#14161d;color:var(--text)}
.field .f-in{flex:1;min-width:0}
.field .chev{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}
.search-box .btn-gold{min-height:58px;width:100%}
.search-box .field{height:100%}

/* ---------- section helpers ---------- */
section{position:relative}
.sec{padding:80px 0 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold)}
.sec-head h2{font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.6px;margin-top:6px;line-height:1.15}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- award ---------- */
.award-wrap{margin-top:-40px;position:relative;z-index:3}
.award{display:grid;grid-template-columns:1fr 1.15fr;border-radius:18px;overflow:hidden;border:1px solid rgba(var(--gold-rgb),.28);background:linear-gradient(110deg,#121318 0%,#0f1014 50%,#0b0b0e 100%);min-height:290px;box-shadow:0 30px 70px -30px rgba(0,0,0,.8)}
.award-text{padding:48px 44px;display:flex;flex-direction:column;justify-content:center}
.award-text h2{font-size:clamp(24px,2.6vw,34px);line-height:1.22;font-weight:700;margin:14px 0 18px;letter-spacing:-.4px}
.award-text h2 span{background:linear-gradient(90deg,var(--gold-2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.award-text p{color:#cfccc4;max-width:420px}
.award-media{position:relative;min-height:260px;background:#000}
.award-media img,.award-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.award-media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0f1014 0%,rgba(15,16,20,.55) 28%,rgba(0,0,0,.15) 60%,rgba(0,0,0,.25) 100%);pointer-events:none}
.play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;transition:.25s}
.play::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(var(--gold-rgb),.45);animation:pulse 2.2s ease-out infinite}
@keyframes pulse{from{transform:scale(.85);opacity:1}to{transform:scale(1.35);opacity:0}}
.play:hover{background:var(--gold);border-color:var(--gold)}
.play svg{width:26px;height:26px;fill:#fff;margin-left:4px}
.award-badge{position:absolute;z-index:2;right:22px;bottom:20px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold-2);background:rgba(0,0,0,.55);border:1px solid rgba(var(--gold-rgb),.4);padding:7px 12px;border-radius:30px}

/* ---------- stats ---------- */
.stats{margin:22px 0 0;border:1px solid var(--line);border-radius:16px;background:var(--bg-2);overflow:hidden}
.stat{padding:28px 14px;text-align:center;position:relative}
.stat::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--line-2)}
.stat:first-child::before{display:none}
.stat svg.i{width:34px;height:34px;color:var(--gold);stroke-width:1.3;margin:0 auto 12px}
.stat .num{font-size:30px;font-weight:800;line-height:1;letter-spacing:-.5px}
.stat .num sup{color:var(--gold);font-size:18px;top:-.6em;margin-left:1px}
.stat h6{font-size:13px;font-weight:600;color:#cfccc4;margin-top:8px}

/* ---------- property cards ---------- */
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.35s;display:flex;flex-direction:column}
.pcard:hover{transform:translateY(-6px);border-color:rgba(var(--gold-rgb),.4);box-shadow:0 26px 50px -24px rgba(0,0,0,.9)}
.pcard .ph{position:relative;aspect-ratio:4/3;overflow:hidden}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.pcard:hover .ph img{transform:scale(1.06)}
.tag{position:absolute;left:14px;top:14px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;background:rgba(8,9,13,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:6px 10px;border-radius:6px;border:1px solid var(--line-2)}
.tag.new{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.fav{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;background:rgba(8,9,13,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--line-2);display:grid;place-items:center;transition:.2s}
.fav svg.i{width:18px;height:18px}
.fav:hover{border-color:var(--gold)}
.fav.on svg.i{fill:#e5484d;stroke:#e5484d}
.pcard .pb{padding:18px 18px 18px;display:flex;flex-direction:column;flex:1}
.ploc{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px;font-weight:500}
.ploc svg.i{width:14px;height:14px;color:var(--gold)}
.pcard h3{font-size:17px;font-weight:700;line-height:1.3;margin:6px 0 12px;min-height:44px}
.pmeta{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto}
.price{font-size:19px;font-weight:800;color:var(--gold-2)}
.price small{display:block;font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.4px;text-transform:uppercase;margin-bottom:2px}
.beds{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#cfccc4;font-weight:600;white-space:nowrap}
.beds svg.i{width:16px;height:16px;color:var(--gold)}
.pcard .btn-outline{justify-content:center;margin-top:16px;padding:11px}

/* ---------- communities ---------- */
.comm{display:block;height:100%;position:relative;aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);isolation:isolate}
.comm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s ease}
.comm::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.85) 100%)}
.comm:hover img{transform:scale(1.08)}
.comm .cn{position:absolute;left:16px;right:16px;bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;font-size:15px}
.comm .cn svg.i{width:18px;height:18px;color:var(--gold-2);opacity:0;transform:translateX(-6px);transition:.3s}
.comm:hover .cn svg.i{opacity:1;transform:none}

/* ---------- blogs ---------- */
.bcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.35s;display:flex;flex-direction:column}
.bcard:hover{transform:translateY(-6px);border-color:rgba(var(--gold-rgb),.4)}
.bcard .ph{aspect-ratio:16/9;overflow:hidden}
.bcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.bcard:hover .ph img{transform:scale(1.06)}
.bcard .bb{padding:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex:1}
.bcard h3{font-size:15.5px;font-weight:700;line-height:1.4}
.bcard p{font-size:13px;color:var(--muted);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.arrow-c{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--gold-2);transition:.25s}
.arrow-c svg.i{width:16px;height:16px}
.bcard:hover .arrow-c{background:var(--gold);border-color:var(--gold);color:#111}

/* ---------- areas ---------- */
.area{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;background:var(--card);border:1px solid var(--line);border-radius:12px;transition:.25s}
.area:hover{border-color:rgba(var(--gold-rgb),.4);background:var(--card-2);transform:translateY(-2px)}
.area img{width:62px;height:48px;border-radius:8px;object-fit:cover;flex:none;transition:transform .4s ease}
.area:hover img{transform:scale(1.06)}
.area span:not(.arrow-c){flex:1;min-width:0;font-size:13.5px;font-weight:600;line-height:1.3;transition:color .25s}
.area:hover span:not(.arrow-c){color:var(--gold-2)}
.area .arrow-c{flex:none;width:24px;height:24px;border:0;border-radius:0;background:none;color:var(--muted);transition:transform .3s ease,color .25s}
.area:hover .arrow-c{color:var(--gold-2);transform:translateX(4px)}
.areas-toggle{margin:22px auto 0;display:flex}
.areas-toggle svg.i{transition:transform .3s}
.areas-toggle[aria-expanded="true"] svg.i{transform:rotate(180deg)}
.area{height:100%}

/* ---------- testimonials slider ---------- */
.g-rating{display:flex;align-items:center;gap:12px}
.g-word{font-size:26px;font-weight:600;letter-spacing:-.5px;font-family:"Product Sans",Arial,sans-serif}
.g-word b:nth-child(1){color:#4285f4}.g-word b:nth-child(2){color:#ea4335}.g-word b:nth-child(3){color:#fbbc05}
.g-word b:nth-child(4){color:#4285f4}.g-word b:nth-child(5){color:#34a853}.g-word b:nth-child(6){color:#ea4335}
.g-word b{font-weight:600}
.stars{display:inline-flex;gap:3px;color:#fbbc05}
.stars svg{width:18px;height:18px;fill:currentColor}
.slider{position:relative}
.slider-viewport{overflow:hidden;border-radius:var(--radius);touch-action:pan-y}
.slider-track{display:flex;gap:22px;will-change:transform}
.tcard{flex:0 0 calc((100% - 22px)/2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;overflow:hidden;user-select:none;-webkit-user-select:none}
.tcard .quote-ic{position:absolute;right:24px;bottom:-34px;font:700 130px/1 Georgia,serif;color:rgba(var(--gold-rgb),.13);pointer-events:none}
.t-head{display:flex;align-items:center;gap:16px}
.avatar{width:62px;height:62px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:800;font-size:22px;color:var(--on-gold);background:linear-gradient(135deg,var(--gold-2),var(--gold-dark));box-shadow:0 0 0 3px var(--bg),0 0 0 4px rgba(var(--gold-rgb),.5)}
.t-name{flex:1;min-width:0}
.t-name h4{font-size:17px;font-weight:700}
.t-name small{color:var(--muted);font-size:13px}
.g-logo{width:24px;height:24px;flex:none;align-self:flex-start}
.tcard .stars{margin:18px 0 10px}
.tcard blockquote{font-size:15.5px;color:#dedad2;line-height:1.65;position:relative;z-index:1}
.slider-ctrl{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:16px}
.dots{display:flex;gap:8px}
.dots button{width:8px;height:8px;border-radius:8px;background:var(--line-2);transition:.3s}
.dots button.on{width:28px;background:var(--gold)}
.arrows{display:flex;gap:10px}
.arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:.25s;color:var(--gold-2)}
.arrows button:hover{background:var(--gold);border-color:var(--gold);color:#111}
.arrows svg.i{width:18px;height:18px}

/* ---------- footer ---------- */
footer{margin-top:110px;position:relative;isolation:isolate;overflow:hidden;border-top:1px solid rgba(var(--gold-rgb),.25);background:#06070a}
.f-bg{position:absolute;left:0;right:0;bottom:0;height:560px;z-index:-2;background:url(../images/footer-skyline.jpg) center 52%/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 42%);mask-image:linear-gradient(180deg,transparent 0%,#000 42%)}
footer::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(8,9,13,0) 70%,rgba(6,7,10,.55) 100%),
  radial-gradient(ellipse 60% 50% at 15% 0%,rgba(var(--gold-rgb),.18),transparent 70%),
  radial-gradient(ellipse 50% 45% at 90% 100%,rgba(var(--purple-rgb),.16),transparent 70%)}
footer::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.f-cta{margin-top:60px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px 38px;border-radius:20px;
  background:linear-gradient(120deg,rgba(var(--gold-rgb),.16),rgba(255,255,255,.04) 45%,rgba(var(--purple-rgb),.12));
  border:1px solid rgba(var(--gold-rgb),.3);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.f-cta{position:relative;overflow:hidden;isolation:isolate;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
.f-cta::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,236,190,.16),transparent);transform:skewX(-20deg);animation:shimmer 6s ease-in-out infinite}
@keyframes shimmer{0%,55%{left:-60%}100%{left:130%}}
.f-cta h3 span{background-size:200% auto!important;animation:goldFlow 5s linear infinite}
@keyframes goldFlow{to{background-position:200% center}}
/* animated skyline + blurred orbs + twinkles */
.f-bg{animation:kenBurns 28s ease-in-out infinite alternate;transform-origin:50% 100%}
@keyframes kenBurns{from{transform:scale(1) translateX(0)}to{transform:scale(1.09) translateX(-2%)}}
.f-orb{position:absolute;z-index:-1;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none;animation:orbFloat 16s ease-in-out infinite alternate}
.f-orb.o1{width:380px;height:380px;left:-80px;top:20px;background:radial-gradient(circle,rgba(var(--gold-rgb),.7),transparent 70%)}
.f-orb.o2{width:340px;height:340px;right:-60px;top:160px;background:radial-gradient(circle,rgba(var(--purple-rgb),.6),transparent 70%);animation-duration:20s;animation-delay:-6s}
.f-orb.o3{width:260px;height:260px;left:42%;top:-60px;background:radial-gradient(circle,rgba(66,133,244,.35),transparent 70%);animation-duration:24s;animation-delay:-10s}
@keyframes orbFloat{0%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,40px) scale(1.15)}100%{transform:translate(-30px,80px) scale(.95)}}
.f-stars{position:absolute;inset:0 0 auto 0;height:62%;z-index:-1;pointer-events:none}
.f-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff3d6;box-shadow:0 0 6px 1px rgba(255,220,150,.8);opacity:0;animation:twinkle var(--d,4s) ease-in-out infinite;animation-delay:var(--dl,0s)}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1.2)}}
/* frosted glass panel over the skyline */
.f-glass{margin-top:34px;margin-bottom:220px;padding:40px 40px 36px;border-radius:22px;background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);
  box-shadow:0 40px 80px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.12)}
.f-glass>div{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}
.f-glass.in>div{opacity:1;transform:none}
.f-glass.in>div:nth-child(2){transition-delay:.15s}.f-glass.in>div:nth-child(3){transition-delay:.3s}
.socials a{transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}
.socials a:hover{transform:translateY(-4px);box-shadow:0 10px 22px -8px rgba(var(--gold-rgb),.8)}
.f-contact li svg.i{transition:.3s}
.f-contact li:hover svg.i{background:var(--gold);color:#111;transform:rotate(-8deg) scale(1.08)}
.f-bottom{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.f-cta h3{font-size:clamp(22px,2.4vw,30px);font-weight:700;letter-spacing:-.4px;line-height:1.2}
.f-cta h3 span{background:linear-gradient(90deg,var(--gold-2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.f-cta p{color:#cfccc4;margin-top:6px;font-size:14px}
.f-cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.f-cta .btn-gold{min-height:50px}
.f-cta .btn-outline{min-height:50px;padding:0 22px;font-size:14px;background:rgba(0,0,0,.25)}
.f-cta .btn-outline:hover{background:var(--gold);border-color:var(--gold);color:#111}
.f-col h5{position:relative;padding-bottom:10px}
.f-col h5::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;border-radius:2px;background:var(--gold)}
.f-about p{color:#b9b6ae;font-size:13.5px;margin:18px 0 22px;max-width:380px}
.socials{display:flex;gap:10px;flex-wrap:wrap}
.socials a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:rgba(255,255,255,.04);backdrop-filter:blur(6px);display:grid;place-items:center;transition:.25s;color:#e8e4dc}
.socials a:hover{background:var(--gold);border-color:var(--gold);color:#111}
.socials svg{width:16px;height:16px;fill:currentColor}
footer h5{font-size:15px;font-weight:700;margin-bottom:16px}
.f-links{list-style:none;display:grid;gap:8px}
.f-links a{color:#b9b6ae;font-size:13.5px;transition:.2s;display:inline-flex;align-items:center;gap:0}
.f-links a::before{content:"";width:0;height:1px;background:var(--gold);transition:.25s;margin-right:0}
.f-links a:hover::before{width:12px;margin-right:8px}
.f-links a:hover{color:var(--gold-2)}
.f-contact{list-style:none;display:grid;gap:14px}
.f-contact li{display:flex;gap:12px;color:#b9b6ae;font-size:13.5px;align-items:center}
.f-contact svg.i{width:34px;height:34px;padding:8px;border-radius:10px;background:rgba(var(--gold-rgb),.1);border:1px solid rgba(var(--gold-rgb),.25);color:var(--gold);flex:none}
.f-contact a:hover{color:var(--gold-2)}
.f-bottom{border-top:1px solid var(--line);background:rgba(0,0,0,.45);position:relative;padding:18px 0;font-size:12.5px;color:var(--muted)}
.f-bottom .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.f-bottom .made{display:inline-flex;align-items:center;gap:6px;color:#cfccc4}
.beat{width:16px;height:16px;fill:#e5484d;filter:drop-shadow(0 0 6px rgba(229,72,77,.75));animation:heartbeat 1.8s cubic-bezier(.45,0,.55,1) infinite;transform-origin:center}
@keyframes heartbeat{0%,100%{transform:scale(1);filter:drop-shadow(0 0 4px rgba(229,72,77,.45))}50%{transform:scale(1.12);filter:drop-shadow(0 0 8px rgba(229,72,77,.7))}}

/* ---------- floating (glass group) ---------- */
.floating{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;flex-direction:column;gap:10px;padding:8px;border-radius:40px;
  background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 18px 40px -12px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.25)}
.floating a{position:relative;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;transition:transform .25s}
.floating a:hover{transform:scale(1.08)}
.floating .call{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.floating .call:hover{background:var(--gold);border-color:var(--gold)}
.floating .call:hover svg{fill:#111}
.floating .wa{background:linear-gradient(145deg,#3ee07b,#1fae54);box-shadow:0 6px 18px -4px rgba(37,211,102,.7)}
.floating .wa::before,.floating .wa::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(37,211,102,.75);animation:waRing 2.4s ease-out infinite;pointer-events:none}
.floating .wa::after{animation-delay:1.2s}
@keyframes waRing{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.85);opacity:0}}
.floating .wa svg{animation:waShake 3.2s ease-in-out infinite;transform-origin:50% 50%}
@keyframes waShake{0%,60%,100%{transform:rotate(0) scale(1)}64%{transform:rotate(-16deg) scale(1.12)}68%{transform:rotate(14deg) scale(1.12)}72%{transform:rotate(-10deg) scale(1.1)}76%{transform:rotate(6deg) scale(1.05)}80%{transform:rotate(0) scale(1)}}
.floating .wa:hover svg{animation-play-state:paused}
.floating svg{width:24px;height:24px;fill:#fff;transition:fill .25s}
.wa-tip{position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%) translateX(6px);white-space:nowrap;font-size:12.5px;font-weight:700;color:#fff;
  padding:7px 12px;border-radius:20px;background:rgba(18,20,27,.85);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:.25s;pointer-events:none}
.floating a:hover .wa-tip{opacity:1;transform:translateY(-50%)}

/* ---------- video modal ---------- */
.video-modal .modal-content{background:#000;border:1px solid rgba(var(--gold-rgb),.3);border-radius:14px;overflow:hidden}
.video-modal video{display:block;width:100%;max-height:82vh;background:#000}
.modal-backdrop.show{opacity:.88}
.modal-close{position:absolute;top:12px;right:12px;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;font-size:24px;line-height:1}

/* ---------- mobile nav ---------- */
.mnav.offcanvas{--bs-offcanvas-width:340px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02)) rgba(10,11,16,.62);backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);color:var(--text);border-left:1px solid rgba(255,255,255,.12);box-shadow:-20px 0 50px -20px rgba(0,0,0,.7)}
.mnav .offcanvas-header{padding:18px 22px;border-bottom:1px solid var(--line);justify-content:space-between}
.mnav .offcanvas-body{display:flex;flex-direction:column;padding:10px 22px 26px}
.mnav .offcanvas-body>a{font-size:18px;font-weight:600;padding:13px 0;border-bottom:1px solid var(--line)}
.mnav .offcanvas-body>a.active{color:var(--gold-2)}
.mnav .btn-gold{margin-top:22px;min-height:52px;font-size:15px;border:0}
.mnav-close{width:42px;height:42px;border:1px solid var(--line-2);border-radius:10px;font-size:24px;display:grid;place-items:center}

/* ---------- responsive ---------- */
@media (max-width:1240px){
  .nav a{padding:8px 10px;font-size:13.5px}
}
@media (max-width:1100px){
  .header .hdr-cta{display:none}
}
@media (max-width:960px){
  .nav,.header .hdr-cta{display:none}
  .header .container{padding:6px 6px 6px 16px}
  .menu-btn{display:grid}
  .award{grid-template-columns:1fr}
  .award-media{min-height:240px;order:-1}
  .award-media::before{background:linear-gradient(180deg,rgba(0,0,0,.1) 40%,#0f1014 100%)}
  .award-text{padding:26px 24px 32px}
  .search-box .btn-gold{min-height:52px}
  .f-cta{flex-direction:column;align-items:flex-start;padding:28px}
}
@media (max-width:640px){
  .container{padding-left:16px;padding-right:16px}
  .hero{min-height:600px;height:auto;padding:110px 0 70px}
  .hero h1{letter-spacing:-1px}
  .search{margin-top:36px}
  .search-box{border-radius:0 14px 14px 14px}
  .sec{padding-top:60px}
  .sec-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:22px}
  .award-wrap{margin-top:0}
  .pcard h3{min-height:0}
  .comms>.col:last-child{flex:0 0 100%;max-width:100%}
  .comms>.col:last-child .comm{aspect-ratio:16/9}
  .tcard{flex-basis:100%;padding:22px}
  .avatar{width:52px;height:52px;font-size:19px}
  .f-glass{padding:28px 20px;margin-bottom:170px;border-radius:18px}
  .f-orb{filter:blur(50px)}
  .f-orb.o1{width:240px;height:240px}.f-orb.o2{width:220px;height:220px}
  .f-bg{height:320px;background-position:58% 52%}
  .f-cta{margin-top:44px;padding:24px 20px}
  .f-cta-btns{width:100%}
  .f-cta-btns>*{flex:1 1 100%;justify-content:center;min-height:50px}
    .floating{right:12px;bottom:14px;padding:6px;gap:8px}
  .floating a{width:44px;height:44px}
  .floating svg{width:21px;height:21px}
  .wa-tip{display:none}
}
@media (max-width:991.98px){
  .stat{border-bottom:1px solid var(--line)}
  .stat::before{display:block}
  .stat:nth-child(3n+1)::before{display:none}
  .stat:nth-child(n+4){border-bottom:0}
}
@media (max-width:767.98px){
  .stat{padding:22px 10px}
  .stat::before{display:block}
  .stat:nth-child(3n+1)::before{display:block}
  .stat:nth-child(odd)::before{display:none}
  .stat:nth-child(n+4){border-bottom:1px solid var(--line)}
  .stat:nth-child(5){flex:0 0 100%;max-width:100%;border-bottom:0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.f-glass>div{opacity:1;transform:none}
}
.f-glass.row{margin-left:0;margin-right:0}

/* ---------- text inputs inside search fields ---------- */
.field input{width:100%;min-width:0;background:transparent;border:0;outline:0;color:var(--text);font:600 14px var(--font-body);padding:0}
.field input::placeholder{color:#a9a6ae;font-weight:600}
.field input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:14px;height:14px;cursor:pointer;opacity:.6;
  background:no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6a85a' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
.field{position:relative}

/* ---------- search suggestions (related searches) ---------- */
.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:80;text-align:left;max-height:360px;overflow-y:auto;overscroll-behavior:contain;
  padding:8px;border-radius:14px;background:rgba(16,18,24,.97);border:1px solid rgba(var(--gold-rgb),.28);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 26px 50px -16px rgba(0,0,0,.85);
  opacity:0;transform:translateY(-6px);visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s}
.suggest.open{opacity:1;transform:none;visibility:visible}
.suggest::-webkit-scrollbar{width:6px}.suggest::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:6px}
.sg-head{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);padding:10px 10px 6px}
.sg-head button{font-size:11px;letter-spacing:0;text-transform:none;color:var(--muted);font-weight:600}
.sg-head button:hover{color:var(--gold-2)}
.sg-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border-radius:10px;color:#e6e2da;font-size:13.5px;font-weight:600;text-align:left;cursor:pointer}
.sg-item .sg-ic{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:rgba(var(--gold-rgb),.1);color:var(--gold)}
.sg-item .sg-ic svg.i{width:15px;height:15px}
.sg-item .sg-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sg-item mark{background:none;color:var(--gold-2);padding:0}
.sg-item .sg-meta{flex:none;font-size:11.5px;color:var(--muted);font-weight:600}
.sg-item.active,.sg-item:hover{background:rgba(var(--gold-rgb),.12)}
.sg-empty{padding:14px 10px;color:var(--muted);font-size:13px}
.sg-chips{display:flex;flex-wrap:wrap;gap:6px;padding:2px 8px 8px}
.sg-chips button{padding:6px 12px;border-radius:20px;font-size:12.5px;font-weight:600;color:#d9d6cf;border:1px solid var(--line-2);background:rgba(255,255,255,.03)}
.sg-chips button:hover,.sg-chips button.active{border-color:var(--gold);color:var(--gold-2);background:rgba(var(--gold-rgb),.1)}

/* ---------- lead form popup ---------- */
.lead-modal .modal-dialog{max-width:480px}
.lead-modal .modal-content{position:relative;overflow:visible;border-radius:22px;color:var(--text);
  background:linear-gradient(160deg,rgba(30,32,40,.96),rgba(12,13,18,.97));border:1px solid rgba(var(--gold-rgb),.3);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.08)}
.lead-modal .modal-content::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(ellipse 70% 40% at 0% 0%,rgba(var(--gold-rgb),.18),transparent 70%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(var(--purple-rgb),.14),transparent 70%)}
.lead-modal .modal-close{top:14px;right:14px}
.lead-body{position:relative;padding:34px 32px 28px}
.lead-body h3{font-size:26px;font-weight:700;letter-spacing:-.4px;margin-top:8px;line-height:1.2}
.lead-body h3 span{background:linear-gradient(90deg,var(--gold-2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead-sub{color:#bdb9b1;font-size:14px;margin:8px 0 22px}
.lead-form .form-label{font-size:12.5px;font-weight:700;color:#d9d6cf;margin-bottom:6px}
.lead-form .form-control{height:50px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line-2);color:var(--text);font:600 14.5px var(--font-body);padding:0 16px}
.lead-form .form-control::placeholder{color:#7f7c85;font-weight:500}
.lead-form .form-control:focus{background:rgba(255,255,255,.06);border-color:var(--gold);box-shadow:0 0 0 4px rgba(var(--gold-rgb),.15);color:var(--text)}
.lead-form .form-control:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 40px #1b1d24 inset;caret-color:var(--text)}
.lead-form .form-control.is-invalid{border-color:#e5484d;background-image:none;padding-right:16px}
.lead-form .form-control.is-valid{border-color:rgba(48,164,108,.7);background-image:none;padding-right:16px}
.lead-form .invalid-feedback{color:#ff6b6f;font-size:12px;font-weight:600}
.lead-form .iti{display:block;width:100%}
.lead-form .iti .form-control{width:100%}
.lead-form .iti.is-invalid~.invalid-feedback{display:block}
.lead-form .btn-gold{min-height:52px;font-size:15px;border:0}
.lead-form .btn-gold[disabled]{opacity:.7;pointer-events:none}
.lead-note{font-size:11.5px;color:var(--muted);text-align:center;margin-top:12px}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead-done{text-align:center;padding:10px 0 4px}
.done-ic{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:rgba(48,164,108,.14);border:1px solid rgba(48,164,108,.5);animation:pop .5s cubic-bezier(.2,1.4,.4,1)}
.done-ic svg{width:34px;height:34px;fill:none;stroke:#3ecf8e;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:tick .5s .25s ease forwards}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
@keyframes tick{to{stroke-dashoffset:0}}
.lead-done p{color:#bdb9b1;margin:8px 0 22px}
.lead-done .btn-gold{min-height:50px;border:0}
.lead-done .wa-ic{width:18px;height:18px;fill:currentColor}
.lead-done .btn-outline{min-height:46px}

/* ---------- intl-tel-input: dark theme ---------- */
.iti{--iti-border-color:rgba(255,255,255,.12);--iti-hover-color:rgba(var(--gold-rgb),.12);--iti-icon-color:var(--gold);--iti-country-selector-bg:transparent;--iti-arrow-color:var(--gold)}
.iti__selected-country{border-radius:12px 0 0 12px}
.iti__selected-country-primary{padding:0 6px 0 14px}
.iti__selected-dial-code{color:var(--text);font-weight:700;font-size:14.5px}
.iti__country-selector,.iti--detached-country-selector .iti__country-selector,.iti__dropdown-content{background:#15171e;border:1px solid rgba(var(--gold-rgb),.3);border-radius:12px;box-shadow:0 26px 50px -16px rgba(0,0,0,.85);color:var(--text)}
.iti__search-input{background:rgba(255,255,255,.04)!important;color:var(--text)!important;border:0!important;border-bottom:1px solid var(--line)!important;font:600 14px var(--font-body);padding:12px 12px 12px 36px!important}
.iti__search-input::placeholder{color:#7f7c85}
.iti__country{color:#e6e2da;font-size:13.5px;padding:9px 12px}
.iti__country.iti__highlight,.iti__country:hover{background:rgba(var(--gold-rgb),.14)}
.iti__dial-code{color:var(--muted)}
.iti__country-list::-webkit-scrollbar{width:6px}.iti__country-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:6px}
.iti__no-results{color:var(--muted)}
.iti--fullscreen-popup.iti--container,.iti--fullscreen-popup .iti__country-selector{background:rgba(8,9,13,.85)}
@media (max-width:640px){.lead-body{padding:30px 20px 22px}.lead-body h3{font-size:22px}}

/* headings use the heading font chosen in Admin → Settings → Theme */
h1,h2,h3,h4,h5,h6,.logo-text b,.sec-head h2,.dev-h2{font-family:var(--font-head)}
.form-error{margin:14px 0 0;padding:10px 14px;border-radius:10px;background:rgba(229,72,77,.12);border:1px solid rgba(229,72,77,.45);color:#ff8a8d;font-size:13.5px;font-weight:600}

/* skeleton shimmer while a photo loads (added / removed by main.js) */
img.skel,.skel-box{background-color:var(--card-2,#171a22)!important;background-image:linear-gradient(100deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.11) 50%,rgba(255,255,255,0) 70%)!important;background-size:220% 100%!important;background-repeat:no-repeat!important;animation:skelMove 1.3s ease-in-out infinite}
img.skel{color:transparent}   /* hide alt text while loading */
@keyframes skelMove{from{background-position:130% 0}to{background-position:-30% 0}}
@media (prefers-reduced-motion:reduce){img.skel,.skel-box{animation:none;background-image:none!important}}
