@import url("https://fonts.googleapis.com/css2?family=Alexandria:wght@500;600;700;800;900&display=swap");

:root {
  --w2-bg: #070707;
  --w2-bg-soft: #0d0d0d;
  --w2-panel: rgba(255, 255, 255, .055);
  --w2-panel-strong: rgba(255, 255, 255, .085);
  --w2-gold: #D7B358;
  --w2-gold-light: #FFE29A;
  --w2-gold-deep: #9f7c2e;
  --w2-white: #ffffff;
  --w2-ivory: #f8f1df;
  --w2-muted: #b9b4a7;
  --w2-line: rgba(255, 226, 154, .20);
  --w2-line-soft: rgba(255, 255, 255, .09);
  --w2-shadow: 0 28px 90px rgba(0, 0, 0, .5);
  --w2-glow: 0 0 42px rgba(215, 179, 88, .18);
  --w2-radius: 30px;
  --w2-radius-sm: 18px;
  --w2-font: "IBM Plex Sans Arabic", "Noto Kufi Arabic", "Segoe UI", Tahoma, Arial, sans-serif;
}

html { scroll-behavior: smooth; background: var(--w2-bg); }
body.wasm-w2-body { margin: 0 !important; background: var(--w2-bg); color: var(--w2-ivory); font-family: var(--w2-font); }
body.w2-lightbox-open { overflow: hidden; }
body.wasm-w2-body #wpadminbar { direction: ltr; }
.w2-page, .w2-page * { box-sizing: border-box; }
.w2-page { direction: rtl; min-height: 100vh; overflow: hidden; background: var(--w2-bg); color: var(--w2-ivory); font-family: var(--w2-font); font-size: 16px; line-height: 1.85; }
.w2-page img { display: block; max-width: 100%; }
.w2-page a { color: inherit; text-decoration: none; }
.w2-page button, .w2-page input, .w2-page select { font: inherit; }
.w2-page button { color: inherit; }
.w2-page ::selection { background: var(--w2-gold); color: #111; }
.w2-container { width: min(1210px, calc(100% - 52px)); margin-inline: auto; position: relative; z-index: 2; }
.w2-section { position: relative; padding: 118px 0; }
.w2-icon { width: 24px; height: 24px; display: inline-grid; place-items: center; flex: 0 0 auto; }
.w2-icon svg { width: 100%; height: 100%; display: block; }
.w2-skip-link { position: fixed; top: -100px; right: 18px; z-index: 99999; background: var(--w2-gold-light); color: #101010; padding: 12px 18px; border-radius: 12px; font-weight: 900; }
.w2-skip-link:focus { top: 18px; }

.w2-progress { position: fixed; top: 0; left: 0; width: 100%; height: 3px; z-index: 10003; background: transparent; }
.w2-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--w2-gold-deep), var(--w2-gold-light)); box-shadow: 0 0 20px rgba(255, 226, 154, .55); }

/* Topbar */
.w2-topbar { position: fixed; top: 0; inset-inline: 0; z-index: 1000; min-height: 78px; padding: 10px max(26px, calc((100vw - 1210px) / 2)); display: grid; grid-template-columns: auto 1fr auto; gap: 26px; align-items: center; background: rgba(7, 7, 7, .62); border-bottom: 1px solid rgba(255,255,255,.075); backdrop-filter: blur(20px) saturate(130%); -webkit-backdrop-filter: blur(20px) saturate(130%); transition: background .25s ease, box-shadow .25s ease, min-height .25s ease; }
.admin-bar .w2-topbar { top: 32px; }
.w2-topbar.is-scrolled { min-height: 70px; background: rgba(7, 7, 7, .93); box-shadow: 0 12px 40px rgba(0,0,0,.30); }
.w2-brand { display: flex; align-items: center; gap: 12px; min-width: 260px; }
.w2-brand img { width: 76px; height: 48px; object-fit: contain; }
.w2-brand-copy { display: grid; gap: 2px; }
.w2-brand-copy strong { color: var(--w2-white) !important; font-size: 17px; font-weight: 950; line-height: 1.2; white-space: nowrap; }
.w2-brand-copy small { color: var(--w2-gold) !important; font-size: 10px; font-weight: 850; }
.w2-topbar nav { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2.2vw, 30px); }
.w2-topbar nav a { color: #efece5 !important; font-size: 13px; font-weight: 850; position: relative; padding: 8px 0; opacity: .86; transition: opacity .2s ease, color .2s ease; }
.w2-topbar nav a::after { content: ""; position: absolute; bottom: 0; inset-inline-start: 0; width: 0; height: 1px; background: var(--w2-gold-light); box-shadow: 0 0 10px var(--w2-gold); transition: width .25s ease; }
.w2-topbar nav a:hover { color: var(--w2-gold-light) !important; opacity: 1; }
.w2-topbar nav a:hover::after { width: 100%; }
.w2-top-actions { display: flex; align-items: center; justify-content: flex-end; min-width: 250px; }
.w2-top-call { display: flex; gap: 10px; align-items: center; }
.w2-top-call .w2-icon { width: 36px; height: 36px; padding: 9px; color: #12100b; border-radius: 50%; background: linear-gradient(135deg, var(--w2-gold-light), var(--w2-gold)); box-shadow: 0 0 26px rgba(215,179,88,.22); }
.w2-top-call span:last-child { display: grid; line-height: 1.25; }
.w2-top-call small { color: var(--w2-muted) !important; font-size: 9px; font-weight: 800; }
.w2-top-call strong { color: var(--w2-white) !important; direction: ltr; font-size: 14px; font-weight: 900; }
.w2-menu-toggle { display: none; width: 45px; height: 45px; border-radius: 14px; border: 1px solid var(--w2-line-soft); background: rgba(255,255,255,.05); padding: 11px; cursor: pointer; }
.w2-menu-toggle span { display: block; height: 2px; background: var(--w2-gold-light); margin: 4px 0; border-radius: 2px; transition: .2s ease; }

/* Shared headings */
.w2-heading { max-width: 800px; margin-bottom: 54px; }
.w2-heading > span, .w2-section-kicker { display: inline-flex; align-items: center; gap: 10px; color: var(--w2-gold) !important; font-size: 12px; font-weight: 900; letter-spacing: .03em; }
.w2-heading > span::before, .w2-section-kicker::before { content: ""; width: 27px; height: 1px; background: var(--w2-gold); box-shadow: 0 0 12px rgba(215,179,88,.35); }
.w2-heading h2, .w2-location-copy h2, .w2-after-copy h2, .w2-about-copy h2, .w2-contact-copy h2, .w2-gallery-head h2 { margin: 12px 0 16px; color: var(--w2-white) !important; font-size: clamp(38px, 4.4vw, 66px); line-height: 1.24; font-weight: 950; letter-spacing: -.02em; }
.w2-heading h2 em, .w2-location-copy h2 em, .w2-after-copy h2 em, .w2-about-copy h2 em, .w2-contact-copy h2 em, .w2-gallery-head h2 em { color: var(--w2-gold-light) !important; font-style: normal; font-weight: inherit; }
.w2-heading p, .w2-location-copy > p, .w2-after-copy > p, .w2-about-copy > p, .w2-contact-copy > p, .w2-gallery-head > p { margin: 0; color: var(--w2-muted) !important; line-height: 2.05; font-size: 15px; font-weight: 650; }

.w2-btn { min-height: 56px; padding: 12px 22px; border: 1px solid transparent; border-radius: 16px 5px 16px 5px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; font-weight: 950; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.w2-btn:hover { transform: translateY(-2px); }
.w2-btn-gold { color: #15120b !important; background: linear-gradient(135deg, var(--w2-gold-light), var(--w2-gold)); box-shadow: 0 15px 36px rgba(215,179,88,.17), inset 0 1px rgba(255,255,255,.42); }
.w2-btn-gold:hover { box-shadow: 0 18px 44px rgba(215,179,88,.26), 0 0 28px rgba(255,226,154,.12); }
.w2-btn-glass { color: var(--w2-white) !important; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.15); backdrop-filter: blur(10px); }
.w2-btn-glass:hover { border-color: var(--w2-line); background: rgba(255,226,154,.07); }

/* Hero */
.w2-hero { position: relative; min-height: 100svh; display: grid; align-items: center; padding: 128px 0 90px; overflow: hidden; background: #050505; }
.w2-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 150px; background: linear-gradient(to bottom, transparent, var(--w2-bg)); z-index: 1; pointer-events: none; }
.w2-hero-media { position: absolute; inset: 0; overflow: hidden; }
.w2-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 46%; transform: scale(1.035); filter: contrast(1.04) saturate(.94) brightness(.78); }
.w2-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,3,3,.25) 0%, rgba(3,3,3,.54) 42%, rgba(3,3,3,.94) 77%, rgba(3,3,3,.98) 100%), linear-gradient(180deg, rgba(3,3,3,.45), rgba(3,3,3,.05) 35%, rgba(3,3,3,.80)); }
.w2-hero-glow { position: absolute; border-radius: 50%; filter: blur(16px); pointer-events: none; }
.w2-glow-one { width: 520px; height: 520px; right: 8%; top: 12%; background: radial-gradient(circle, rgba(215,179,88,.17), transparent 66%); animation: w2FloatGlow 7s ease-in-out infinite alternate; }
.w2-glow-two { width: 420px; height: 420px; left: 8%; bottom: 3%; background: radial-gradient(circle, rgba(255,226,154,.08), transparent 68%); animation: w2FloatGlow 9s ease-in-out infinite alternate-reverse; }
@keyframes w2FloatGlow { from { transform: translate3d(0,0,0) scale(.94); opacity:.75; } to { transform: translate3d(28px,-18px,0) scale(1.07); opacity:1; } }
.w2-hero-layout { display: grid; grid-template-columns: 1.12fr .48fr; gap: 70px; align-items: end; }
.w2-hero-copy { max-width: 760px; }
.w2-kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; padding: 8px 14px; border: 1px solid var(--w2-line); border-radius: 999px; color: var(--w2-ivory) !important; background: rgba(7,7,7,.32); backdrop-filter: blur(10px); font-size: 12px; font-weight: 850; }
.w2-kicker span { width: 7px; height: 7px; border-radius: 50%; background: #96d773; box-shadow: 0 0 15px #96d773; }
.w2-hero h1 { margin: 0; color: var(--w2-white) !important; font-size: clamp(52px, 7vw, 105px); line-height: 1.06; font-weight: 950; letter-spacing: -.04em; text-wrap: balance; }
.w2-hero h1 em { color: var(--w2-gold-light) !important; font-style: normal; font-weight: inherit; text-shadow: 0 0 40px rgba(215,179,88,.13); }
.w2-hero h1 bdi { display: inline-block; font-family: Arial, sans-serif; font-size: .72em; font-weight: 800; letter-spacing: -.02em; color: var(--w2-gold) !important; }
.w2-hero-tagline { margin: 20px 0 5px; color: var(--w2-gold-light) !important; font-size: clamp(19px, 2vw, 26px); font-weight: 900; }
.w2-hero-description { max-width: 650px; margin: 8px 0 0; color: #d2cec5 !important; font-size: 15px; font-weight: 650; line-height: 2.05; }
.w2-hero-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.w2-hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 32px; max-width: 760px; }
.w2-hero-facts > div { min-height: 86px; padding: 13px 14px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.10); border-radius: 19px 6px 19px 6px; background: rgba(255,255,255,.045); backdrop-filter: blur(12px); }
.w2-hero-facts .w2-icon { width: 38px; height: 38px; padding: 9px; color: var(--w2-gold-light); border-radius: 13px; background: rgba(215,179,88,.11); }
.w2-hero-facts span:last-child { display: grid; min-width: 0; }
.w2-hero-facts small { color: #9d998f !important; font-size: 9px; font-weight: 800; }
.w2-hero-facts strong { color: var(--w2-white) !important; font-size: 12px; font-weight: 900; line-height: 1.5; }
.w2-hero-card { position: relative; overflow: hidden; padding: 30px; border: 1px solid rgba(255,226,154,.18); border-radius: 34px 8px 34px 8px; background: linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.035)); box-shadow: var(--w2-shadow), inset 0 1px rgba(255,255,255,.09); backdrop-filter: blur(18px) saturate(120%); }
.w2-hero-card::before { content: ""; position: absolute; width: 170px; height: 170px; top: -70px; left: -50px; border-radius: 50%; background: radial-gradient(circle, rgba(255,226,154,.18), transparent 66%); }
.w2-hero-card .w2-card-eyebrow { color: var(--w2-gold) !important; font-size: 10px; font-weight: 850; }
.w2-hero-card > strong { display: block; margin-top: 12px; color: var(--w2-gold-light) !important; font-family: Arial, sans-serif; font-size: 62px; line-height: 1; font-weight: 800; letter-spacing: -.06em; }
.w2-hero-card h2 { margin: 4px 0 8px; color: var(--w2-white) !important; font-size: 28px; font-weight: 950; }
.w2-hero-card p { margin: 0; color: #bdb8ad !important; font-size: 12px; line-height: 1.95; font-weight: 650; }
.w2-hero-card-line { height: 1px; margin: 20px 0; background: linear-gradient(90deg, transparent, rgba(255,226,154,.25), transparent); }
.w2-hero-card a { display: flex; align-items: center; gap: 9px; color: var(--w2-gold-light) !important; font-size: 12px; font-weight: 900; }
.w2-scroll-cue { position: absolute; z-index: 3; bottom: 25px; right: 50%; transform: translateX(50%); display: flex; flex-direction: column; align-items: center; gap: 8px; color: #9c978c !important; font-size: 9px; font-weight: 800; letter-spacing: .02em; }
.w2-scroll-cue span { width: 1px; height: 34px; background: linear-gradient(var(--w2-gold), transparent); animation: w2ScrollCue 1.7s ease-in-out infinite; }
@keyframes w2ScrollCue { 0%,100% { opacity:.3; transform: scaleY(.65); transform-origin: top; } 50% { opacity:1; transform: scaleY(1); } }

/* Overview */
.w2-overview { background: radial-gradient(circle at 80% 25%, rgba(215,179,88,.07), transparent 30%), var(--w2-bg); }
.w2-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.w2-glass-card { position: relative; min-height: 245px; padding: 26px; overflow: hidden; border: 1px solid var(--w2-line-soft); border-radius: 28px 7px 28px 7px; background: linear-gradient(155deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); backdrop-filter: blur(12px); box-shadow: inset 0 1px rgba(255,255,255,.045); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.w2-glass-card::after { content: ""; position: absolute; width: 110px; height: 110px; left: -35px; bottom: -35px; border-radius: 50%; background: radial-gradient(circle, rgba(215,179,88,.09), transparent 70%); }
.w2-glass-card:hover { transform: translateY(-6px); border-color: var(--w2-line); box-shadow: var(--w2-glow); }
.w2-glass-card .w2-icon { width: 48px; height: 48px; padding: 12px; margin-bottom: 32px; border-radius: 16px 5px 16px 5px; color: var(--w2-gold-light); background: rgba(215,179,88,.10); border: 1px solid rgba(255,226,154,.12); }
.w2-glass-card small { display: block; color: var(--w2-gold) !important; font-size: 10px; font-weight: 850; }
.w2-glass-card h3 { margin: 5px 0 7px; color: var(--w2-white) !important; font-size: 19px; font-weight: 950; line-height: 1.5; }
.w2-glass-card p { margin: 0; color: #99958b !important; font-size: 11px; line-height: 1.8; font-weight: 650; }

/* Location */
.w2-location { background: #0b0b0b; border-block: 1px solid rgba(255,255,255,.055); }
.w2-location::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 50px 50px; mask-image: linear-gradient(to bottom, transparent, black 20%, black 80%, transparent); }
.w2-location-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 72px; align-items: center; }
.w2-location-copy { max-width: 510px; }
.w2-location-copy .w2-btn { margin-top: 28px; }
.w2-location-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.w2-location-grid article { min-height: 160px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(255,255,255,.08); border-radius: 25px 7px 25px 7px; background: rgba(255,255,255,.038); backdrop-filter: blur(10px); transition: border-color .22s ease, transform .22s ease, background .22s ease; }
.w2-location-grid article:hover { transform: translateY(-4px); border-color: var(--w2-line); background: rgba(215,179,88,.055); }
.w2-location-grid .w2-icon { width: 42px; height: 42px; padding: 10px; border-radius: 14px; color: var(--w2-gold-light); background: rgba(215,179,88,.08); }
.w2-location-grid strong { color: var(--w2-ivory) !important; font-size: 13px; font-weight: 900; }

/* Features */
.w2-features { background: radial-gradient(circle at 15% 50%, rgba(215,179,88,.05), transparent 30%), #070707; }
.w2-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.w2-feature-card { min-height: 122px; padding: 19px; display: flex; align-items: center; gap: 14px; border: 1px solid var(--w2-line-soft); border-radius: 22px 6px 22px 6px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.02)); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.w2-feature-card:hover { transform: translateY(-4px); border-color: rgba(255,226,154,.24); box-shadow: 0 18px 46px rgba(0,0,0,.20); }
.w2-feature-card .w2-icon { width: 44px; height: 44px; padding: 11px; color: var(--w2-gold-light); border-radius: 15px 5px 15px 5px; background: rgba(215,179,88,.09); border: 1px solid rgba(255,226,154,.10); }
.w2-feature-card strong { color: #ebe7dd !important; font-size: 12px; line-height: 1.65; font-weight: 900; }

/* Gallery */
.w2-gallery-section { padding-bottom: 130px; background: #090909; }
.w2-gallery-head { display: grid; grid-template-columns: 1.15fr .55fr; gap: 55px; align-items: end; margin-bottom: 40px; }
.w2-gallery-head h2 { margin-bottom: 0; }
.w2-gallery-head > p { padding-bottom: 7px; }
.w2-gallery-mosaic { display: grid; grid-template-columns: 1.3fr .7fr; grid-template-rows: repeat(2, 300px); gap: 14px; }
.w2-gallery-item { position: relative; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.10); border-radius: 31px 8px 31px 8px; background: #111; cursor: zoom-in; isolation: isolate; }
.w2-gallery-large { grid-row: 1 / span 2; }
.w2-gallery-item::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,.06) 55%, transparent); transition: background .25s ease; }
.w2-gallery-item::before { content: ""; position: absolute; z-index: 2; inset: 0; border: 1px solid transparent; border-radius: inherit; transition: border-color .25s ease, box-shadow .25s ease; pointer-events: none; }
.w2-gallery-item:hover::before { border-color: rgba(255,226,154,.36); box-shadow: inset 0 0 55px rgba(215,179,88,.08); }
.w2-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.w2-gallery-large img { object-position: center 44%; }
.w2-gallery-item:hover img { transform: scale(1.035); filter: brightness(1.03); }
.w2-gallery-item > span { position: absolute; z-index: 3; right: 22px; left: 22px; bottom: 20px; display: flex; align-items: center; gap: 9px; color: var(--w2-white) !important; font-size: 13px; font-weight: 900; text-align: right; }
.w2-gallery-item > span b { color: var(--w2-gold) !important; font: 800 12px/1 Arial, sans-serif; }

/* Units */
.w2-units { background: radial-gradient(circle at 80% 18%, rgba(215,179,88,.07), transparent 28%), var(--w2-bg); }
.w2-unit-switcher { display: grid; grid-template-columns: 56px minmax(0, 1fr) 56px; align-items: center; gap: 12px; margin-bottom: 10px; }
.w2-unit-tabs-shell { min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: 24px 7px 24px 7px; background: rgba(255,255,255,.018); box-shadow: inset 0 1px rgba(255,255,255,.025); }
.w2-unit-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; padding: 7px; }
.w2-unit-tabs button { position: relative; min-height: 92px; padding: 10px 12px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; align-items: center; gap: 3px 8px; overflow: hidden; text-align: right; border: 1px solid transparent; border-radius: 18px 5px 18px 5px; background: transparent; cursor: pointer; transition: transform .28s cubic-bezier(.2,.8,.2,1), background .28s ease, border-color .28s ease, box-shadow .28s ease; }
.w2-unit-tabs button::after { content: ""; position: absolute; right: 14px; bottom: 0; left: 14px; height: 2px; border-radius: 99px; background: linear-gradient(90deg, transparent, var(--w2-gold-light), transparent); opacity: 0; transform: scaleX(.35); transition: .28s ease; }
.w2-unit-tabs button:hover { transform: translateY(-2px); background: rgba(255,255,255,.03); }
.w2-unit-tabs button.active { border-color: rgba(255,226,154,.32); background: linear-gradient(145deg, rgba(215,179,88,.19), rgba(255,226,154,.055)); box-shadow: 0 12px 34px rgba(215,179,88,.10), inset 0 1px rgba(255,255,255,.07); }
.w2-unit-tabs button.active::after { opacity: 1; transform: scaleX(1); }
.w2-unit-tabs button small { align-self: end; color: #8d887f !important; font-size: 8px; font-weight: 850; letter-spacing: .02em; }
.w2-unit-tabs button strong { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: var(--w2-gold-light) !important; font: 850 31px/1 Arial, sans-serif; }
.w2-unit-tabs button span { align-self: start; color: #e9e4d9 !important; font-size: 10px; font-weight: 900; white-space: nowrap; }
.w2-unit-arrow { width: 56px; height: 56px; display: grid; place-items: center; border: 1px solid rgba(255,226,154,.30); border-radius: 50%; color: var(--w2-gold-light) !important; background: radial-gradient(circle at 35% 25%, rgba(255,226,154,.14), rgba(215,179,88,.055) 55%, rgba(255,255,255,.025)); box-shadow: 0 0 0 0 rgba(215,179,88,.16), 0 10px 28px rgba(0,0,0,.28); cursor: pointer; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; animation: w2ArrowBreathe 2.8s ease-in-out infinite; }
.w2-unit-arrow:hover { transform: scale(1.07); border-color: rgba(255,226,154,.58); box-shadow: 0 0 0 8px rgba(215,179,88,.055), 0 12px 32px rgba(0,0,0,.30); }
.w2-unit-arrow .w2-icon { width: 22px; height: 22px; }
.w2-unit-arrow-next { animation-delay: 1.4s; }
@keyframes w2ArrowBreathe { 0%,100% { box-shadow: 0 0 0 0 rgba(215,179,88,.10), 0 10px 28px rgba(0,0,0,.28); } 50% { box-shadow: 0 0 0 7px rgba(215,179,88,.045), 0 10px 28px rgba(0,0,0,.28); } }
.w2-unit-hint { margin: 0 0 16px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #9e998f !important; font-size: 10px; font-weight: 800; }
.w2-unit-hint .w2-icon { width: 16px; height: 16px; color: var(--w2-gold); animation: w2HintMove 2.4s ease-in-out infinite; }
@keyframes w2HintMove { 0%,100% { transform: translateX(0); } 50% { transform: translateX(-5px); } }
.w2-unit-view { display: grid; grid-template-columns: minmax(0, 1.34fr) minmax(300px, .66fr); gap: 14px; }
.w2-unit-plan, .w2-unit-details { border: 1px solid rgba(255,255,255,.09); background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025)); box-shadow: inset 0 1px rgba(255,255,255,.04); }
.w2-unit-plan { overflow: hidden; border-radius: 32px 7px 32px 7px; }
.w2-unit-plan-toolbar { min-height: 68px; padding: 12px 17px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.02); }
.w2-unit-plan-toolbar > span { display: grid; }
.w2-unit-plan-toolbar small { color: #918c82 !important; font-size: 9px; font-weight: 800; }
.w2-unit-plan-toolbar strong { color: var(--w2-white) !important; font-size: 14px; font-weight: 950; }
.w2-unit-plan-toolbar button { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid var(--w2-line); border-radius: 999px; color: var(--w2-gold-light) !important; background: rgba(215,179,88,.07); font-size: 10px; font-weight: 900; cursor: pointer; }
.w2-unit-plan-toolbar button .w2-icon { width: 16px; height: 16px; }
.w2-unit-plan-image { position: relative; min-height: 590px; padding: 22px; display: grid; place-items: center; overflow: hidden; background: #eeeae3; }
.w2-unit-plan-image img { max-height: 560px; width: 100%; height: 100%; object-fit: contain; filter: contrast(1.02); transition: opacity .22s ease, transform .36s cubic-bezier(.2,.8,.2,1); }
.w2-plan-arrow { position: absolute; z-index: 4; top: 50%; width: 48px; height: 48px; display: grid; place-items: center; transform: translateY(-50%); border: 1px solid rgba(20,20,20,.12); border-radius: 50%; color: #17130b !important; background: rgba(255,239,198,.88); box-shadow: 0 12px 32px rgba(0,0,0,.16); backdrop-filter: blur(8px); cursor: pointer; transition: transform .2s ease, background .2s ease; }
.w2-plan-arrow:hover { transform: translateY(-50%) scale(1.08); background: #ffe8ac; }
.w2-plan-arrow-prev { right: 16px; }
.w2-plan-arrow-next { left: 16px; }
.w2-plan-arrow .w2-icon { width: 21px; height: 21px; }
.w2-plan-active-badge { position: absolute; z-index: 3; top: 14px; right: 50%; transform: translateX(50%); min-width: 98px; padding: 7px 14px; display: flex; align-items: baseline; justify-content: center; gap: 6px; border: 1px solid rgba(20,20,20,.10); border-radius: 999px; color: #1b170f !important; background: rgba(255,248,230,.88); box-shadow: 0 8px 24px rgba(0,0,0,.10); backdrop-filter: blur(7px); }
.w2-plan-active-badge span { font-size: 9px; font-weight: 850; }
.w2-plan-active-badge strong { font: 900 18px/1 Arial, sans-serif; }
.w2-unit-details { padding: 30px; border-radius: 7px 32px 7px 32px; }
.w2-unit-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.08); }
.w2-unit-title-row h3 { margin: 0; color: var(--w2-white) !important; font-size: 25px; font-weight: 950; }
.w2-unit-title-row h3 strong { color: var(--w2-gold-light) !important; font: 850 39px/1 Arial, sans-serif; }
.w2-unit-title-row > span { padding: 7px 12px; border-radius: 999px; color: var(--w2-gold-light) !important; background: rgba(215,179,88,.08); border: 1px solid var(--w2-line); font-size: 10px; font-weight: 900; }
.w2-unit-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 20px 0; }
.w2-unit-metrics > div { min-height: 96px; padding: 12px 7px; display: grid; justify-items: center; align-content: center; border-radius: 17px 5px 17px 5px; background: rgba(255,255,255,.035); text-align: center; }
.w2-unit-metrics .w2-icon { width: 23px; height: 23px; margin-bottom: 6px; color: var(--w2-gold); }
.w2-unit-metrics small { color: #88847c !important; font-size: 8px; font-weight: 800; }
.w2-unit-metrics strong { color: var(--w2-ivory) !important; font-size: 13px; font-weight: 950; }
.w2-unit-details h4 { margin: 0 0 12px; color: var(--w2-white) !important; font-size: 13px; font-weight: 950; }
.w2-unit-feature-list { list-style: none; padding: 0; margin: 0 0 20px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.w2-unit-feature-list li { min-height: 40px; padding: 8px 10px; display: flex; align-items: center; gap: 7px; border-radius: 13px 4px 13px 4px; background: rgba(255,255,255,.027); color: #cbc6bb !important; font-size: 10px; font-weight: 800; }
.w2-unit-feature-list .w2-icon { width: 17px; height: 17px; color: var(--w2-gold); }
.w2-unit-details .w2-btn { width: 100%; }

/* Prices */
.w2-prices { background: #0b0b0b; border-block: 1px solid rgba(255,255,255,.055); }
.w2-price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; align-items: stretch; }
.w2-price-card { position: relative; min-height: 260px; padding: 26px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid rgba(255,255,255,.09); border-radius: 28px 7px 28px 7px; background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); }
.w2-price-card .w2-icon { position: absolute; top: 24px; right: 24px; width: 45px; height: 45px; padding: 11px; color: var(--w2-gold-light); border-radius: 15px 5px 15px 5px; background: rgba(215,179,88,.085); }
.w2-price-card small { color: #aaa59a !important; font-size: 11px; font-weight: 850; }
.w2-price-card strong { margin-top: 2px; color: var(--w2-white) !important; direction: ltr; text-align: right; font: 800 clamp(28px, 3vw, 38px)/1.3 Arial, sans-serif; letter-spacing: -.03em; }
.w2-price-card em { color: var(--w2-gold) !important; font-size: 11px; font-style: normal; font-weight: 900; }
.w2-price-featured { transform: translateY(-12px); border-color: rgba(255,226,154,.36); background: radial-gradient(circle at 15% 15%, rgba(255,226,154,.10), transparent 28%), linear-gradient(155deg, rgba(215,179,88,.16), rgba(255,255,255,.03)); box-shadow: 0 0 52px rgba(215,179,88,.11), inset 0 1px rgba(255,255,255,.08); }
.w2-price-badge { position: absolute; left: 20px; top: 20px; padding: 5px 9px; border-radius: 999px; background: var(--w2-gold-light); color: #17130b !important; font-size: 8px; font-weight: 950; }
.w2-price-note { max-width: 760px; margin: 28px auto 0; padding: 12px 16px; display: flex; justify-content: center; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.07); border-radius: 999px; color: #9f9a90 !important; background: rgba(255,255,255,.025); text-align: center; font-size: 10px; font-weight: 800; }
.w2-price-note .w2-icon { width: 17px; height: 17px; color: var(--w2-gold); }

/* Warranties */
.w2-warranties { background: radial-gradient(circle at 25% 22%, rgba(215,179,88,.06), transparent 28%), #070707; }
.w2-warranty-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.w2-warranty-grid article { min-height: 210px; padding: 24px; display: grid; grid-template-columns: 48px auto 1fr; grid-template-rows: auto auto; gap: 5px 13px; align-items: center; border: 1px solid rgba(255,255,255,.085); border-radius: 27px 7px 27px 7px; background: rgba(255,255,255,.032); transition: border-color .22s ease, transform .22s ease; }
.w2-warranty-grid article:hover { transform: translateY(-4px); border-color: var(--w2-line); }
.w2-warranty-grid .w2-icon { grid-row: span 2; width: 48px; height: 48px; padding: 12px; color: var(--w2-gold-light); border-radius: 16px 5px 16px 5px; background: rgba(215,179,88,.08); }
.w2-warranty-grid strong { color: var(--w2-gold-light) !important; font: 800 48px/1 Arial, sans-serif; }
.w2-warranty-grid small { align-self: end; color: var(--w2-gold) !important; font-size: 10px; font-weight: 900; }
.w2-warranty-grid p { grid-column: 2 / span 2; align-self: start; margin: 0; color: var(--w2-white) !important; font-size: 12px; line-height: 1.65; font-weight: 900; }

/* After sales */
.w2-after-sales { background: #0b0b0b; border-block: 1px solid rgba(255,255,255,.055); }
.w2-after-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: center; }
.w2-after-cards { display: grid; gap: 12px; }
.w2-after-cards article { min-height: 150px; padding: 24px; display: flex; align-items: center; gap: 18px; border: 1px solid rgba(255,255,255,.09); border-radius: 27px 7px 27px 7px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.02)); }
.w2-after-cards .w2-icon { width: 58px; height: 58px; padding: 14px; color: var(--w2-gold-light); border-radius: 18px 5px 18px 5px; background: rgba(215,179,88,.09); }
.w2-after-cards strong { color: var(--w2-white) !important; font-size: 16px; font-weight: 950; }
.w2-after-cards p { margin: 3px 0 0; color: #9f9a90 !important; font-size: 11px; font-weight: 700; }

/* Care */
.w2-care { overflow: hidden; background: #070707; }
.w2-care-glow { position: absolute; width: 700px; height: 700px; left: 50%; top: 50%; transform: translate(-50%,-50%); background: radial-gradient(circle, rgba(215,179,88,.10), transparent 65%); filter: blur(20px); }
.w2-care .w2-heading { margin-inline: auto; text-align: center; }
.w2-care .w2-heading > span { justify-content: center; }
.w2-care-grid { max-width: 860px; margin-inline: auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.w2-care-grid article { position: relative; min-height: 300px; padding: 30px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid rgba(255,226,154,.18); border-radius: 34px 8px 34px 8px; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: var(--w2-glow); }
.w2-care-number { position: absolute; top: 18px; left: 22px; color: rgba(255,226,154,.14) !important; font: 800 90px/1 Arial, sans-serif; letter-spacing: -.06em; }
.w2-care-grid .w2-icon { width: 58px; height: 58px; padding: 14px; margin-bottom: 28px; color: var(--w2-gold-light); border: 1px solid rgba(255,226,154,.16); border-radius: 18px 5px 18px 5px; background: rgba(215,179,88,.09); }
.w2-care-grid h3 { margin: 0 0 6px; color: var(--w2-white) !important; font-size: 20px; font-weight: 950; }
.w2-care-grid p { margin: 0; color: var(--w2-gold-light) !important; font-size: 12px; font-weight: 850; }

/* About */
.w2-about { background: #0b0b0b; border-block: 1px solid rgba(255,255,255,.055); }
.w2-about-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.w2-project-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.w2-project-list article { min-height: 110px; padding: 17px 18px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(255,255,255,.08); border-radius: 22px 6px 22px 6px; background: rgba(255,255,255,.03); }
.w2-project-list article.active { border-color: rgba(255,226,154,.33); background: linear-gradient(145deg, rgba(215,179,88,.14), rgba(255,255,255,.025)); box-shadow: 0 0 35px rgba(215,179,88,.07); }
.w2-project-list strong { color: var(--w2-white) !important; font-size: 15px; font-weight: 950; }
.w2-project-list span { color: var(--w2-gold) !important; font-size: 10px; font-weight: 850; }
.w2-project-list span.sold { color: #8f8a80 !important; }

/* Contact */
.w2-contact { padding-bottom: 128px; background: radial-gradient(circle at 80% 40%, rgba(215,179,88,.09), transparent 30%), #070707; }
.w2-contact-layout { display: grid; grid-template-columns: .88fr 1.12fr; gap: 70px; align-items: center; }
.w2-contact-copy { max-width: 510px; }
.w2-contact-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; margin-top: 26px; }
.w2-contact-links a { min-height: 88px; padding: 14px; display: flex; align-items: center; gap: 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 20px 6px 20px 6px; background: rgba(255,255,255,.03); }
.w2-contact-links .w2-icon { width: 39px; height: 39px; padding: 10px; color: var(--w2-gold-light); border-radius: 14px 5px 14px 5px; background: rgba(215,179,88,.08); }
.w2-contact-links a div { display: grid; }
.w2-contact-links small { color: #858078 !important; font-size: 9px; font-weight: 800; }
.w2-contact-links strong { color: var(--w2-white) !important; font-size: 12px; font-weight: 950; direction: ltr; }
.w2-lead-form { padding: 30px; border: 1px solid rgba(255,226,154,.15); border-radius: 36px 8px 36px 8px; background: linear-gradient(150deg, rgba(255,255,255,.085), rgba(255,255,255,.035)); box-shadow: var(--w2-shadow), inset 0 1px rgba(255,255,255,.08); backdrop-filter: blur(18px); }
.w2-form-head { display: flex; align-items: center; gap: 12px; padding-bottom: 20px; margin-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.08); }
.w2-form-head .w2-icon { width: 46px; height: 46px; padding: 12px; color: #17130b; border-radius: 16px 5px 16px 5px; background: linear-gradient(135deg, var(--w2-gold-light), var(--w2-gold)); }
.w2-form-head div { display: grid; }
.w2-form-head small { color: #969087 !important; font-size: 9px; font-weight: 800; }
.w2-form-head strong { color: var(--w2-white) !important; font-size: 18px; font-weight: 950; }
.w2-lead-form label { display: grid; gap: 7px; margin-bottom: 14px; }
.w2-lead-form label > span { color: #d4d0c6 !important; font-size: 11px; font-weight: 900; }
.w2-lead-form input, .w2-lead-form select { width: 100%; min-height: 57px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.11); border-radius: 17px 5px 17px 5px; outline: none; color: var(--w2-white) !important; background: rgba(0,0,0,.25); font-size: 14px; font-weight: 700; transition: border-color .2s ease, box-shadow .2s ease; }
.w2-lead-form input::placeholder { color: #706c65 !important; }
.w2-lead-form select option { background: #111; color: #fff; }
.w2-lead-form input:focus, .w2-lead-form select:focus { border-color: rgba(255,226,154,.42); box-shadow: 0 0 0 4px rgba(215,179,88,.07); }
.w2-lead-form .w2-btn { width: 100%; margin-top: 4px; }
.w2-form-status { min-height: 25px; margin: 7px 0 0; color: #e8aa9d !important; text-align: center; font-size: 10px; font-weight: 850; }

/* Footer */
.w2-footer { padding-top: 55px; background: #030303; border-top: 1px solid rgba(255,255,255,.07); }
.w2-footer-grid { display: grid; grid-template-columns: .9fr 1.2fr .6fr; gap: 38px; align-items: center; padding-bottom: 42px; }
.w2-footer-brand { display: flex; align-items: center; gap: 12px; }
.w2-footer-brand img { width: 82px; height: 54px; object-fit: contain; }
.w2-footer-brand span { display: grid; }
.w2-footer-brand strong { color: var(--w2-white) !important; font-size: 15px; font-weight: 950; }
.w2-footer-brand small { color: var(--w2-gold) !important; font-size: 9px; font-weight: 800; }
.w2-footer p { margin: 0; color: #827e76 !important; font-size: 10px; line-height: 1.9; font-weight: 700; }
.w2-footer-links { display: flex; justify-content: flex-end; gap: 16px; }
.w2-footer-links a { color: #c7c2b8 !important; font-size: 10px; font-weight: 850; }
.w2-footer-bottom { padding: 17px 24px; border-top: 1px solid rgba(255,255,255,.06); color: #65615b !important; text-align: center; font-size: 9px; font-weight: 700; }

/* Floating CTA */
.w2-floating-whatsapp { position: fixed; z-index: 900; right: 24px; bottom: 24px; min-height: 51px; padding: 9px 15px; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.10); border-radius: 999px; color: #fff !important; background: rgba(18, 126, 77, .92); box-shadow: 0 15px 45px rgba(0,0,0,.35); backdrop-filter: blur(12px); font-size: 11px; font-weight: 900; }
.w2-floating-whatsapp .w2-icon { width: 21px; height: 21px; }
.w2-mobile-cta { display: none; }

/* Lightbox */
.w2-lightbox[hidden] { display: none !important; }
.w2-lightbox { position: fixed; z-index: 10050; inset: 0; padding: 30px; display: grid; place-items: center; background: rgba(0,0,0,.94); backdrop-filter: blur(20px); }
.w2-lightbox figure { max-width: min(1180px, 94vw); max-height: 89vh; margin: 0; display: grid; gap: 9px; }
.w2-lightbox img { max-width: 100%; max-height: 82vh; object-fit: contain; border-radius: 18px; box-shadow: 0 30px 100px rgba(0,0,0,.55); }
.w2-lightbox figcaption { color: var(--w2-ivory) !important; text-align: center; font-size: 12px; font-weight: 900; }
.w2-lightbox > button { position: absolute; top: 24px; left: 24px; width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; color: var(--w2-white) !important; background: rgba(255,255,255,.07); cursor: pointer; }

/* Reveal */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s cubic-bezier(.2,.7,.2,1), transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }

/* Tablet */
@media (max-width: 1120px) {
  .w2-container { width: min(100% - 40px, 980px); }
  .w2-topbar { padding-inline: 22px; grid-template-columns: auto 1fr auto; }
  .w2-brand { min-width: 210px; }
  .w2-brand-copy small { display: none; }
  .w2-top-actions { min-width: auto; }
  .w2-top-call span:last-child { display: none; }
  .w2-topbar nav { gap: 15px; }
  .w2-hero-layout { grid-template-columns: 1fr .38fr; gap: 35px; }
  .w2-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .w2-feature-grid { grid-template-columns: repeat(3, 1fr); }
  .w2-unit-view { grid-template-columns: 1fr .72fr; }
  .w2-unit-plan-image { min-height: 500px; }
  .w2-price-grid { grid-template-columns: repeat(2, 1fr); }
  .w2-price-featured { transform: none; }
}


@media (max-width: 1120px) and (min-width: 781px) {
  .w2-unit-switcher { grid-template-columns: 50px minmax(0,1fr) 50px; gap: 9px; }
  .w2-unit-arrow { width: 50px; height: 50px; }
  .w2-unit-tabs button { min-height: 86px; padding-inline: 9px; }
  .w2-unit-tabs button strong { font-size: 27px; }
  .w2-unit-tabs button span { font-size: 9px; }
  .w2-unit-view { grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); }
}

/* Mobile */
@media (max-width: 780px) {
  html { scroll-padding-top: 72px; }
  .admin-bar .w2-topbar { top: 46px; }
  .w2-container { width: calc(100% - 28px); }
  .w2-section { padding: 82px 0; }
  .w2-heading { margin-bottom: 34px; }
  .w2-heading h2, .w2-location-copy h2, .w2-after-copy h2, .w2-about-copy h2, .w2-contact-copy h2, .w2-gallery-head h2 { font-size: clamp(31px, 10vw, 46px); }
  .w2-heading p, .w2-location-copy > p, .w2-after-copy > p, .w2-about-copy > p, .w2-contact-copy > p, .w2-gallery-head > p { font-size: 13px; }

  .w2-topbar { min-height: 68px; padding: 8px 14px; grid-template-columns: 1fr auto; gap: 10px; }
  .w2-brand { min-width: 0; gap: 8px; }
  .w2-brand img { width: 58px; height: 40px; }
  .w2-brand-copy strong { font-size: 13px; }
  .w2-brand-copy small { display: block; font-size: 8px; }
  .w2-top-actions { gap: 8px; }
  .w2-top-call { display: none; }
  .w2-menu-toggle { display: block; }
  .w2-topbar nav { position: absolute; top: calc(100% + 8px); right: 14px; left: 14px; display: grid; gap: 0; padding: 8px; border: 1px solid rgba(255,255,255,.10); border-radius: 20px 6px 20px 6px; background: rgba(8,8,8,.97); box-shadow: 0 20px 60px rgba(0,0,0,.45); backdrop-filter: blur(20px); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .2s ease; }
  .w2-topbar nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .w2-topbar nav a { padding: 12px; border-bottom: 1px solid rgba(255,255,255,.055); }
  .w2-topbar nav a:last-child { border-bottom: 0; }

  .w2-hero { min-height: auto; padding: 118px 0 80px; }
  .w2-hero-media { height: 62vh; min-height: 470px; }
  .w2-hero-media img { object-position: center top; }
  .w2-hero-overlay { background: linear-gradient(to bottom, rgba(4,4,4,.15) 0%, rgba(4,4,4,.2) 30%, rgba(4,4,4,.85) 68%, #050505 96%); }
  .w2-glow-one { right: -45%; top: 26%; }
  .w2-hero-layout { display: block; padding-top: 265px; }
  .w2-kicker { font-size: 10px; }
  .w2-hero h1 { font-size: clamp(46px, 15vw, 72px); line-height: 1.06; }
  .w2-hero-description { font-size: 13px; }
  .w2-hero-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .w2-btn { min-height: 53px; padding-inline: 14px; font-size: 11px; }
  .w2-hero-facts { grid-template-columns: 1fr; gap: 7px; }
  .w2-hero-facts > div { min-height: 68px; grid-template-columns: 34px 1fr; }
  .w2-hero-facts .w2-icon { width: 34px; height: 34px; padding: 8px; }
  .w2-hero-card { display: none; }
  .w2-scroll-cue { display: none; }

  .w2-stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .w2-glass-card { min-height: 210px; padding: 18px; }
  .w2-glass-card .w2-icon { margin-bottom: 22px; }
  .w2-glass-card h3 { font-size: 15px; }

  .w2-location-layout, .w2-after-layout, .w2-about-layout, .w2-contact-layout { grid-template-columns: 1fr; gap: 35px; }
  .w2-location-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .w2-location-grid article { min-height: 130px; padding: 16px; }
  .w2-feature-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .w2-feature-card { min-height: 105px; padding: 14px; gap: 10px; }
  .w2-feature-card .w2-icon { width: 38px; height: 38px; padding: 9px; }
  .w2-feature-card strong { font-size: 10px; }

  .w2-gallery-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 25px; }
  .w2-gallery-mosaic { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 360px 190px; gap: 8px; }
  .w2-gallery-large { grid-row: auto; grid-column: 1 / span 2; }
  .w2-gallery-item { border-radius: 22px 6px 22px 6px; }
  .w2-gallery-item > span { right: 14px; left: 14px; bottom: 13px; font-size: 10px; }

  .w2-unit-switcher { grid-template-columns: 42px minmax(0,1fr) 42px; gap: 7px; margin-bottom: 8px; }
  .w2-unit-arrow { width: 42px; height: 42px; }
  .w2-unit-arrow .w2-icon { width: 18px; height: 18px; }
  .w2-unit-tabs-shell { overflow: hidden; }
  .w2-unit-tabs { display: flex; gap: 6px; padding: 6px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .w2-unit-tabs::-webkit-scrollbar { display: none; }
  .w2-unit-tabs button { min-width: 126px; min-height: 76px; padding: 8px 10px; scroll-snap-align: center; }
  .w2-unit-tabs button strong { font-size: 26px; }
  .w2-unit-tabs button span { font-size: 9px; }
  .w2-unit-hint { margin-bottom: 12px; font-size: 9px; }
  .w2-unit-view { grid-template-columns: 1fr; }
  .w2-unit-details { padding: 21px; }
  .w2-unit-plan-image { min-height: 390px; padding: 9px; }
  .w2-plan-arrow { width: 42px; height: 42px; }
  .w2-plan-arrow-prev { right: 8px; }
  .w2-plan-arrow-next { left: 8px; }
  .w2-plan-active-badge { top: 8px; min-width: 86px; padding: 6px 10px; }
  .w2-unit-metrics { gap: 5px; }
  .w2-unit-metrics > div { min-height: 88px; }
  .w2-unit-feature-list { gap: 5px; }
  .w2-unit-feature-list li { font-size: 9px; }

  .w2-price-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .w2-price-card { min-height: 200px; padding: 18px; }
  .w2-price-card .w2-icon { top: 17px; right: 17px; width: 38px; height: 38px; padding: 9px; }
  .w2-price-card strong { font-size: 24px; }
  .w2-price-note { border-radius: 16px; line-height: 1.7; }

  .w2-warranty-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .w2-warranty-grid article { min-height: 170px; padding: 17px; grid-template-columns: 40px auto 1fr; }
  .w2-warranty-grid .w2-icon { width: 40px; height: 40px; padding: 10px; }
  .w2-warranty-grid strong { font-size: 38px; }
  .w2-warranty-grid p { font-size: 10px; }

  .w2-after-cards article { min-height: 125px; padding: 18px; }
  .w2-care-grid { grid-template-columns: 1fr; }
  .w2-care-grid article { min-height: 250px; }
  .w2-project-list { gap: 7px; }
  .w2-project-list article { min-height: 95px; padding: 14px; }

  .w2-contact-links { gap: 7px; }
  .w2-lead-form { padding: 21px; }
  .w2-footer { padding-bottom: 70px; }
  .w2-footer-grid { grid-template-columns: 1fr; gap: 20px; text-align: center; }
  .w2-footer-brand { justify-content: center; }
  .w2-footer-links { justify-content: center; }

  .w2-floating-whatsapp { display: none; }
  .w2-mobile-cta { position: fixed; z-index: 901; right: 10px; left: 10px; bottom: 10px; height: 58px; padding: 5px; display: grid; grid-template-columns: 1fr 52px; gap: 5px; border: 1px solid rgba(255,255,255,.10); border-radius: 18px; background: rgba(7,7,7,.90); box-shadow: 0 16px 45px rgba(0,0,0,.46); backdrop-filter: blur(16px); }
  .w2-mobile-cta a:first-child { display: grid; place-items: center; border-radius: 14px 5px 14px 5px; color: #15120b !important; background: linear-gradient(135deg, var(--w2-gold-light), var(--w2-gold)); font-size: 11px; font-weight: 950; }
  .w2-mobile-cta a:last-child { display: grid; place-items: center; border-radius: 14px 5px 14px 5px; color: #fff !important; background: #147b50; }
  .w2-mobile-cta .w2-icon { width: 22px; height: 22px; }
  .w2-lightbox { padding: 16px; }
  .w2-lightbox > button { top: 14px; left: 14px; width: 44px; height: 44px; }
}

@media (max-width: 420px) {
  .w2-container { width: calc(100% - 22px); }
  .w2-brand-copy small { display: none; }
  .w2-hero-layout { padding-top: 285px; }
  .w2-hero-buttons { grid-template-columns: 1fr; }
  .w2-stat-grid, .w2-price-grid { grid-template-columns: 1fr; }
  .w2-glass-card { min-height: 180px; }
  .w2-feature-grid { grid-template-columns: 1fr 1fr; }
  .w2-location-grid { grid-template-columns: 1fr 1fr; }
  .w2-gallery-mosaic { grid-template-rows: 330px 160px; }
  .w2-unit-title-row h3 { font-size: 21px; }
  .w2-unit-title-row h3 strong { font-size: 35px; }
  .w2-unit-metrics strong { font-size: 11px; }
  .w2-unit-feature-list { grid-template-columns: 1fr; }
  .w2-warranty-grid { grid-template-columns: 1fr; }
  .w2-project-list { grid-template-columns: 1fr 1fr; }
  .w2-contact-links { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .w2-glow-one, .w2-glow-two, .w2-scroll-cue span { animation: none !important; }
  .w2-gallery-item img, .w2-btn, .w2-glass-card, .w2-feature-card { transition: none !important; }
}

/* =========================================================
   v1.0.1 — hero minimum price + no-commission spotlight
   ========================================================= */
.w2-starting-price {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  max-width: 650px;
  margin-top: 28px;
  padding: 24px 28px 23px;
  border: 1px solid rgba(255,226,154,.35);
  border-radius: 30px 8px 30px 8px;
  background:
    radial-gradient(circle at 86% 18%, rgba(255,226,154,.12), transparent 34%),
    linear-gradient(145deg, rgba(18,16,11,.86), rgba(7,7,7,.72));
  box-shadow:
    0 24px 70px rgba(0,0,0,.34),
    0 0 0 1px rgba(215,179,88,.07),
    0 0 46px rgba(215,179,88,.13),
    inset 0 1px rgba(255,255,255,.07);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  animation: w2PriceCardBreath 3.2s ease-in-out infinite;
}
.w2-starting-price::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -48%;
  bottom: -48%;
  left: -35%;
  width: 20%;
  transform: rotate(17deg);
  background: linear-gradient(90deg, transparent, rgba(255,238,190,.28), transparent);
  animation: w2PriceSweep 3.25s linear infinite;
  pointer-events: none;
}
.w2-starting-price::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 250px;
  height: 250px;
  left: -95px;
  bottom: -145px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(215,179,88,.16), transparent 67%);
  pointer-events: none;
}
.w2-starting-price > * { position: relative; z-index: 1; }
.w2-starting-price-label {
  display: block;
  color: #d5cebd !important;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .02em;
}
.w2-starting-price-line {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 12px;
  margin-top: 3px;
  white-space: nowrap;
}
.w2-starting-price-line .w2-price-counter {
  display: inline-block;
  color: var(--w2-gold-light) !important;
  font: 950 clamp(56px, 5.4vw, 82px)/1 Arial, sans-serif;
  letter-spacing: -.055em;
  text-shadow:
    0 0 18px rgba(255,226,154,.24),
    0 0 38px rgba(215,179,88,.20),
    0 7px 28px rgba(0,0,0,.38);
  will-change: transform, filter, text-shadow;
  animation: w2PriceNumberGlow 1.95s ease-in-out infinite;
}
.w2-starting-price-line small {
  padding-bottom: 8px;
  color: var(--w2-white) !important;
  font-size: 15px;
  font-weight: 950;
}
.w2-no-commission {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 72px;
  margin-top: 17px;
  padding: 13px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  border: 1px solid rgba(255,226,154,.54);
  border-radius: 20px 6px 20px 6px;
  background: linear-gradient(135deg, rgba(215,179,88,.20), rgba(255,226,154,.075));
  box-shadow:
    inset 0 1px rgba(255,255,255,.13),
    0 0 25px rgba(215,179,88,.18),
    0 0 52px rgba(255,226,154,.07);
  animation: w2CommissionGlow 1.65s ease-in-out infinite;
}
.w2-no-commission::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -70%;
  bottom: -70%;
  left: -38%;
  width: 26%;
  transform: rotate(17deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  animation: w2CommissionSweep 2.7s linear infinite;
}
.w2-no-commission strong {
  color: var(--w2-gold-light) !important;
  font-size: clamp(23px, 2.15vw, 34px);
  line-height: 1.25;
  font-weight: 1000;
  text-align: center;
  text-shadow:
    0 0 14px rgba(255,226,154,.30),
    0 0 30px rgba(215,179,88,.20);
}
.w2-no-commission-dot {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  border-radius: 50%;
  background: var(--w2-gold-light);
  box-shadow: 0 0 0 0 rgba(255,226,154,.45), 0 0 17px rgba(255,226,154,.72);
  animation: w2CommissionDot 1.55s ease-out infinite;
}

@keyframes w2PriceCardBreath {
  0%,100% { transform: translateY(0); box-shadow: 0 24px 70px rgba(0,0,0,.34), 0 0 0 1px rgba(215,179,88,.07), 0 0 42px rgba(215,179,88,.11), inset 0 1px rgba(255,255,255,.07); }
  50% { transform: translateY(-4px); box-shadow: 0 27px 76px rgba(0,0,0,.36), 0 0 0 1px rgba(255,226,154,.10), 0 0 58px rgba(215,179,88,.18), inset 0 1px rgba(255,255,255,.09); }
}
@keyframes w2PriceSweep {
  0% { left: -35%; opacity: 0; }
  12% { opacity: 1; }
  58%,100% { left: 124%; opacity: 0; }
}
@keyframes w2PriceNumberGlow {
  0%,100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.012); filter: brightness(1.10); text-shadow: 0 0 23px rgba(255,226,154,.36), 0 0 48px rgba(215,179,88,.27), 0 7px 28px rgba(0,0,0,.38); }
}
@keyframes w2CommissionGlow {
  0%,100% { transform: scale(1); box-shadow: inset 0 1px rgba(255,255,255,.13), 0 0 23px rgba(215,179,88,.16), 0 0 45px rgba(255,226,154,.06); }
  50% { transform: scale(1.014); box-shadow: inset 0 1px rgba(255,255,255,.18), 0 0 35px rgba(215,179,88,.28), 0 0 65px rgba(255,226,154,.12); }
}
@keyframes w2CommissionSweep {
  0% { left: -38%; opacity: 0; }
  14% { opacity: 1; }
  60%,100% { left: 126%; opacity: 0; }
}
@keyframes w2CommissionDot {
  0% { box-shadow: 0 0 0 0 rgba(255,226,154,.48), 0 0 17px rgba(255,226,154,.76); }
  78%,100% { box-shadow: 0 0 0 12px rgba(255,226,154,0), 0 0 20px rgba(255,226,154,.58); }
}

/* Requested first-fold order: hero price, then project photos, then unit plans. */
.w2-gallery-section { border-top: 1px solid rgba(255,226,154,.055); }
.w2-units { border-bottom: 1px solid rgba(255,226,154,.055); }

@media (max-width: 780px) {
  .w2-starting-price {
    max-width: none;
    margin-top: 24px;
    padding: 20px 16px 18px;
    border-radius: 24px 6px 24px 6px;
  }
  .w2-starting-price-label { font-size: 11px; }
  .w2-starting-price-line { gap: 8px; }
  .w2-starting-price-line .w2-price-counter { font-size: clamp(44px, 14.8vw, 64px); }
  .w2-starting-price-line small { padding-bottom: 6px; font-size: 12px; }
  .w2-no-commission { min-height: 62px; padding: 11px 12px; gap: 9px; }
  .w2-no-commission strong { font-size: clamp(21px, 7vw, 29px); }
  .w2-no-commission-dot { width: 11px; height: 11px; flex-basis: 11px; }
}

@media (max-width: 460px) {
  .w2-starting-price-line .w2-price-counter { font-size: clamp(42px, 13.7vw, 57px); }
  .w2-no-commission strong { font-size: clamp(20px, 6.6vw, 26px); }
}

@media (prefers-reduced-motion: reduce) {
  .w2-starting-price,
  .w2-starting-price::before,
  .w2-starting-price-line .w2-price-counter,
  .w2-no-commission,
  .w2-no-commission::before,
  .w2-no-commission-dot {
    animation: none !important;
  }
}


/* =========================================================
   Typography Upgrade — v1.0.5
   Larger, bolder and higher-contrast Arabic typography.
   ========================================================= */
:root {
  --w2-font: Tahoma, "Segoe UI", Arial, sans-serif;
  --w2-muted: #d0cbc0;
}

body.wasm-w2-body,
.w2-page {
  font-family: var(--w2-font) !important;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Header */
.w2-brand-copy strong { font-size: 19px !important; font-weight: 900 !important; }
.w2-brand-copy small { font-size: 12px !important; font-weight: 800 !important; }
.w2-topbar nav a { font-size: 15px !important; font-weight: 900 !important; opacity: 1 !important; }
.w2-top-call small { font-size: 11px !important; font-weight: 800 !important; color: #c8c3b8 !important; }
.w2-top-call strong { font-size: 16px !important; font-weight: 900 !important; }

/* Shared titles and body copy */
.w2-heading > span,
.w2-section-kicker { font-size: 14px !important; font-weight: 900 !important; }
.w2-heading h2,
.w2-location-copy h2,
.w2-after-copy h2,
.w2-about-copy h2,
.w2-contact-copy h2,
.w2-gallery-head h2 {
  font-size: clamp(42px, 4.7vw, 70px) !important;
  line-height: 1.22 !important;
  font-weight: 950 !important;
}
.w2-heading p,
.w2-location-copy > p,
.w2-after-copy > p,
.w2-about-copy > p,
.w2-contact-copy > p,
.w2-gallery-head > p {
  color: #d4cfc4 !important;
  font-size: 17px !important;
  line-height: 2 !important;
  font-weight: 750 !important;
}
.w2-btn { font-size: 15px !important; font-weight: 950 !important; }

/* Hero */
.w2-kicker { font-size: 14px !important; font-weight: 900 !important; }
.w2-hero-tagline { font-size: clamp(22px, 2.1vw, 30px) !important; font-weight: 950 !important; }
.w2-hero-description { color: #e0dcd2 !important; font-size: 17px !important; font-weight: 750 !important; }
.w2-hero-facts small { color: #c0bbb0 !important; font-size: 11px !important; font-weight: 850 !important; }
.w2-hero-facts strong { font-size: 14px !important; font-weight: 950 !important; }
.w2-hero-card .w2-card-eyebrow { font-size: 12px !important; font-weight: 900 !important; }
.w2-hero-card h2 { font-size: 31px !important; font-weight: 950 !important; }
.w2-hero-card p { color: #d2cdc2 !important; font-size: 14px !important; font-weight: 750 !important; }
.w2-hero-card a { font-size: 14px !important; font-weight: 950 !important; }
.w2-scroll-cue { font-size: 11px !important; font-weight: 850 !important; }

/* Overview and location */
.w2-glass-card small { font-size: 12px !important; font-weight: 900 !important; }
.w2-glass-card h3 { font-size: 22px !important; font-weight: 950 !important; }
.w2-glass-card p { color: #c7c2b7 !important; font-size: 14px !important; line-height: 1.85 !important; font-weight: 750 !important; }
.w2-location-grid strong { font-size: 15px !important; font-weight: 950 !important; }

/* Features + gallery */
.w2-feature-card strong { font-size: 14px !important; line-height: 1.65 !important; font-weight: 950 !important; }
.w2-gallery-item > span { font-size: 15px !important; font-weight: 950 !important; }
.w2-gallery-item > span b { font-size: 14px !important; font-weight: 900 !important; }

/* Units — make every choice and metric obvious */
.w2-unit-tabs button small { color: #c6c0b5 !important; font-size: 11px !important; font-weight: 900 !important; }
.w2-unit-tabs button strong { font-size: 34px !important; font-weight: 900 !important; }
.w2-unit-tabs button span { color: #ffffff !important; font-size: 13px !important; font-weight: 950 !important; }
.w2-unit-hint { color: #c7c1b6 !important; font-size: 12px !important; font-weight: 900 !important; }
.w2-unit-plan-toolbar small { color: #c4beb3 !important; font-size: 11px !important; font-weight: 900 !important; }
.w2-unit-plan-toolbar strong { font-size: 16px !important; font-weight: 950 !important; }
.w2-unit-plan-toolbar button { font-size: 12px !important; font-weight: 950 !important; }
.w2-unit-title-row h3 { font-size: 29px !important; font-weight: 950 !important; }
.w2-unit-title-row h3 strong { font-size: 44px !important; font-weight: 900 !important; }
.w2-unit-title-row > span { font-size: 12px !important; font-weight: 950 !important; }
.w2-unit-metrics small { color: #bdb7ac !important; font-size: 11px !important; font-weight: 900 !important; }
.w2-unit-metrics strong { font-size: 15px !important; font-weight: 950 !important; }
.w2-unit-details h4 { font-size: 16px !important; font-weight: 950 !important; }
.w2-unit-feature-list li { color: #eee9df !important; font-size: 13px !important; font-weight: 900 !important; }

/* Prices */
.w2-price-card small { color: #d0cabf !important; font-size: 14px !important; font-weight: 900 !important; }
.w2-price-card strong { font-size: clamp(31px, 3vw, 42px) !important; font-weight: 850 !important; }
.w2-price-card em { font-size: 13px !important; font-weight: 950 !important; }
.w2-price-badge { font-size: 11px !important; font-weight: 950 !important; }
.w2-price-note { color: #c9c3b8 !important; font-size: 13px !important; font-weight: 850 !important; }

/* Warranties */
.w2-warranty-grid small { font-size: 12px !important; font-weight: 950 !important; }
.w2-warranty-grid p { font-size: 15px !important; font-weight: 950 !important; }

/* Contact + form */
.w2-contact-links small { color: #bbb5aa !important; font-size: 11px !important; font-weight: 850 !important; }
.w2-contact-links strong { font-size: 14px !important; font-weight: 950 !important; }
.w2-form-head small { color: #bcb6aa !important; font-size: 11px !important; font-weight: 850 !important; }
.w2-form-head strong { font-size: 21px !important; font-weight: 950 !important; }
.w2-lead-form label > span { font-size: 13px !important; font-weight: 950 !important; }
.w2-lead-form input,
.w2-lead-form select { font-size: 15px !important; font-weight: 800 !important; }
.w2-form-status { font-size: 12px !important; font-weight: 900 !important; }

/* Footer + floating CTA */
.w2-footer-brand strong { font-size: 17px !important; font-weight: 950 !important; }
.w2-footer-brand small { font-size: 11px !important; font-weight: 850 !important; }
.w2-footer p { color: #aaa49a !important; font-size: 12px !important; font-weight: 750 !important; }
.w2-footer-links a { font-size: 12px !important; font-weight: 900 !important; }
.w2-footer-bottom { color: #8c867d !important; font-size: 11px !important; font-weight: 800 !important; }
.w2-floating-whatsapp { font-size: 13px !important; font-weight: 950 !important; }
.w2-lightbox figcaption { font-size: 14px !important; font-weight: 950 !important; }

@media (max-width: 780px) {
  .w2-page { font-size: 16px !important; }
  .w2-brand-copy strong { font-size: 15px !important; }
  .w2-brand-copy small { font-size: 10px !important; }
  .w2-topbar nav a { font-size: 15px !important; font-weight: 950 !important; }

  .w2-heading > span,
  .w2-section-kicker { font-size: 12px !important; }
  .w2-heading h2,
  .w2-location-copy h2,
  .w2-after-copy h2,
  .w2-about-copy h2,
  .w2-contact-copy h2,
  .w2-gallery-head h2 {
    font-size: clamp(34px, 10.5vw, 48px) !important;
    line-height: 1.25 !important;
  }
  .w2-heading p,
  .w2-location-copy > p,
  .w2-after-copy > p,
  .w2-about-copy > p,
  .w2-contact-copy > p,
  .w2-gallery-head > p {
    font-size: 15px !important;
    line-height: 1.95 !important;
  }
  .w2-kicker { font-size: 12px !important; }
  .w2-hero-description { font-size: 15px !important; line-height: 1.95 !important; }
  .w2-btn { font-size: 13px !important; }
  .w2-hero-facts small { font-size: 10px !important; }
  .w2-hero-facts strong { font-size: 13px !important; }

  .w2-glass-card small { font-size: 11px !important; }
  .w2-glass-card h3 { font-size: 17px !important; }
  .w2-glass-card p { font-size: 13px !important; }
  .w2-location-grid strong { font-size: 13px !important; }
  .w2-feature-card strong { font-size: 13px !important; }
  .w2-gallery-item > span { font-size: 13px !important; }

  .w2-unit-tabs button { min-width: 138px !important; min-height: 82px !important; }
  .w2-unit-tabs button small { font-size: 10px !important; }
  .w2-unit-tabs button strong { font-size: 29px !important; }
  .w2-unit-tabs button span { font-size: 12px !important; }
  .w2-unit-hint { font-size: 11px !important; line-height: 1.7 !important; }
  .w2-unit-plan-toolbar small { font-size: 10px !important; }
  .w2-unit-plan-toolbar strong { font-size: 14px !important; }
  .w2-unit-plan-toolbar button { font-size: 11px !important; }
  .w2-unit-title-row h3 { font-size: 24px !important; }
  .w2-unit-title-row h3 strong { font-size: 39px !important; }
  .w2-unit-title-row > span { font-size: 11px !important; }
  .w2-unit-metrics small { font-size: 10px !important; }
  .w2-unit-metrics strong { font-size: 14px !important; }
  .w2-unit-details h4 { font-size: 15px !important; }
  .w2-unit-feature-list li { font-size: 12px !important; }

  .w2-price-card small { font-size: 13px !important; }
  .w2-price-card em { font-size: 12px !important; }
  .w2-price-note { font-size: 12px !important; line-height: 1.7 !important; }
  .w2-warranty-grid small { font-size: 11px !important; }
  .w2-warranty-grid p { font-size: 13px !important; }

  .w2-contact-links small { font-size: 10px !important; }
  .w2-contact-links strong { font-size: 13px !important; }
  .w2-form-head small { font-size: 10px !important; }
  .w2-form-head strong { font-size: 19px !important; }
  .w2-lead-form label > span { font-size: 12px !important; }
  .w2-lead-form input,
  .w2-lead-form select { font-size: 15px !important; }
  .w2-mobile-cta a:first-child { font-size: 13px !important; font-weight: 950 !important; }
  .w2-footer-brand strong { font-size: 15px !important; }
  .w2-footer-brand small { font-size: 10px !important; }
  .w2-footer p,
  .w2-footer-links a { font-size: 11px !important; }
  .w2-footer-bottom { font-size: 10px !important; }
}

/* =========================================================
   Typography v1.0.6 — larger, bolder, clearer Arabic type
   ========================================================= */
:root {
  --w2-font: "Alexandria", Tahoma, Arial, sans-serif;
}

.w2-page {
  font-family: var(--w2-font) !important;
  font-size: 18px !important;
  line-height: 1.9 !important;
  font-weight: 700 !important;
}
.w2-page button,
.w2-page input,
.w2-page select,
.w2-page textarea { font-family: var(--w2-font) !important; }

/* Navigation */
.w2-brand-copy strong { font-size: 20px !important; font-weight: 900 !important; }
.w2-brand-copy small { font-size: 12px !important; font-weight: 800 !important; }
.w2-topbar nav a { font-size: 15px !important; font-weight: 900 !important; }
.w2-top-call small { font-size: 11px !important; font-weight: 800 !important; }
.w2-top-call strong { font-size: 16px !important; font-weight: 900 !important; }

/* Main headings and paragraphs */
.w2-heading > span,
.w2-section-kicker { font-size: 14px !important; font-weight: 900 !important; }
.w2-heading h2,
.w2-location-copy h2,
.w2-after-copy h2,
.w2-about-copy h2,
.w2-contact-copy h2,
.w2-gallery-head h2 {
  font-size: clamp(46px, 5vw, 76px) !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
}
.w2-heading p,
.w2-location-copy > p,
.w2-after-copy > p,
.w2-about-copy > p,
.w2-contact-copy > p,
.w2-gallery-head > p {
  font-size: 18px !important;
  line-height: 2 !important;
  font-weight: 700 !important;
  color: #d2cdc3 !important;
}

/* Hero */
.w2-kicker { font-size: 14px !important; font-weight: 900 !important; }
.w2-hero h1 { font-weight: 900 !important; letter-spacing: -.045em !important; }
.w2-hero-tagline { font-size: clamp(24px, 2.5vw, 36px) !important; font-weight: 900 !important; }
.w2-hero-description { font-size: 18px !important; line-height: 2 !important; font-weight: 700 !important; }
.w2-hero-facts small { font-size: 12px !important; font-weight: 800 !important; }
.w2-hero-facts strong { font-size: 16px !important; font-weight: 900 !important; }
.w2-btn { min-height: 60px !important; padding-inline: 25px !important; font-size: 16px !important; font-weight: 900 !important; }

/* Cards */
.w2-glass-card small { font-size: 13px !important; font-weight: 800 !important; }
.w2-glass-card h3 { font-size: 21px !important; font-weight: 900 !important; }
.w2-glass-card p { font-size: 15px !important; line-height: 1.85 !important; font-weight: 700 !important; }
.w2-location-grid strong { font-size: 16px !important; font-weight: 900 !important; }
.w2-feature-card strong { font-size: 15px !important; line-height: 1.65 !important; font-weight: 900 !important; }
.w2-gallery-item > span { font-size: 16px !important; font-weight: 900 !important; }

/* Units */
.w2-unit-tabs button { min-height: 112px !important; }
.w2-unit-tabs button small { font-size: 13px !important; font-weight: 800 !important; }
.w2-unit-tabs button strong { font-size: 38px !important; font-weight: 900 !important; }
.w2-unit-tabs button span { font-size: 15px !important; font-weight: 900 !important; }
.w2-unit-hint { font-size: 14px !important; line-height: 1.8 !important; font-weight: 800 !important; }
.w2-unit-plan-toolbar small { font-size: 13px !important; font-weight: 800 !important; }
.w2-unit-plan-toolbar strong { font-size: 19px !important; font-weight: 900 !important; }
.w2-unit-plan-toolbar button { font-size: 14px !important; font-weight: 900 !important; }
.w2-unit-title-row h3 { font-size: 34px !important; font-weight: 900 !important; }
.w2-unit-title-row h3 strong { font-size: 50px !important; font-weight: 900 !important; }
.w2-unit-title-row > span { font-size: 14px !important; font-weight: 900 !important; }
.w2-unit-metrics small { font-size: 13px !important; font-weight: 800 !important; }
.w2-unit-metrics strong { font-size: 18px !important; font-weight: 900 !important; }
.w2-unit-details h4 { font-size: 19px !important; font-weight: 900 !important; }
.w2-unit-feature-list li { min-height: 48px !important; font-size: 15px !important; line-height: 1.55 !important; font-weight: 800 !important; }

/* Prices */
.w2-price-card small { font-size: 16px !important; font-weight: 900 !important; }
.w2-price-card strong { font-size: clamp(36px, 3.3vw, 48px) !important; font-weight: 900 !important; }
.w2-price-card em { font-size: 15px !important; font-weight: 900 !important; }
.w2-price-badge { font-size: 13px !important; font-weight: 900 !important; }
.w2-price-note { font-size: 15px !important; line-height: 1.8 !important; font-weight: 800 !important; }

/* Warranty and contact */
.w2-warranty-grid small { font-size: 14px !important; font-weight: 900 !important; }
.w2-warranty-grid p { font-size: 17px !important; font-weight: 900 !important; }
.w2-contact-links small { font-size: 13px !important; font-weight: 800 !important; }
.w2-contact-links strong { font-size: 17px !important; font-weight: 900 !important; }
.w2-form-head small { font-size: 13px !important; font-weight: 800 !important; }
.w2-form-head strong { font-size: 24px !important; font-weight: 900 !important; }
.w2-lead-form label > span { font-size: 15px !important; font-weight: 900 !important; }
.w2-lead-form input,
.w2-lead-form select { min-height: 58px !important; font-size: 17px !important; font-weight: 700 !important; }
.w2-form-status { font-size: 14px !important; font-weight: 800 !important; }

/* Footer */
.w2-footer-brand strong { font-size: 19px !important; font-weight: 900 !important; }
.w2-footer-brand small { font-size: 13px !important; font-weight: 800 !important; }
.w2-footer p { font-size: 14px !important; line-height: 1.8 !important; font-weight: 700 !important; }
.w2-footer-links a { font-size: 14px !important; font-weight: 900 !important; }
.w2-footer-bottom { font-size: 12px !important; font-weight: 700 !important; }
.w2-floating-whatsapp { font-size: 15px !important; font-weight: 900 !important; }

@media (max-width: 780px) {
  .w2-page { font-size: 17px !important; line-height: 1.9 !important; }
  .w2-brand-copy strong { font-size: 17px !important; }
  .w2-brand-copy small { font-size: 11px !important; }
  .w2-topbar nav a { font-size: 17px !important; }

  .w2-heading > span,
  .w2-section-kicker { font-size: 13px !important; }
  .w2-heading h2,
  .w2-location-copy h2,
  .w2-after-copy h2,
  .w2-about-copy h2,
  .w2-contact-copy h2,
  .w2-gallery-head h2 {
    font-size: clamp(39px, 11.5vw, 55px) !important;
    line-height: 1.24 !important;
  }
  .w2-heading p,
  .w2-location-copy > p,
  .w2-after-copy > p,
  .w2-about-copy > p,
  .w2-contact-copy > p,
  .w2-gallery-head > p {
    font-size: 16px !important;
    line-height: 1.95 !important;
  }

  .w2-kicker { font-size: 13px !important; }
  .w2-hero-tagline { font-size: 25px !important; line-height: 1.5 !important; }
  .w2-hero-description { font-size: 16px !important; }
  .w2-btn { min-height: 56px !important; font-size: 15px !important; }
  .w2-hero-facts small { font-size: 11px !important; }
  .w2-hero-facts strong { font-size: 15px !important; }

  .w2-glass-card small { font-size: 12px !important; }
  .w2-glass-card h3 { font-size: 19px !important; }
  .w2-glass-card p { font-size: 14px !important; }
  .w2-location-grid strong { font-size: 15px !important; }
  .w2-feature-card strong { font-size: 14px !important; }
  .w2-gallery-item > span { font-size: 14px !important; }

  .w2-unit-tabs button { min-width: 152px !important; min-height: 90px !important; }
  .w2-unit-tabs button small { font-size: 11px !important; }
  .w2-unit-tabs button strong { font-size: 33px !important; }
  .w2-unit-tabs button span { font-size: 14px !important; }
  .w2-unit-hint { font-size: 13px !important; }
  .w2-unit-plan-toolbar small { font-size: 11px !important; }
  .w2-unit-plan-toolbar strong { font-size: 16px !important; }
  .w2-unit-plan-toolbar button { font-size: 12px !important; }
  .w2-unit-title-row h3 { font-size: 28px !important; }
  .w2-unit-title-row h3 strong { font-size: 44px !important; }
  .w2-unit-title-row > span { font-size: 12px !important; }
  .w2-unit-metrics small { font-size: 11px !important; }
  .w2-unit-metrics strong { font-size: 16px !important; }
  .w2-unit-details h4 { font-size: 17px !important; }
  .w2-unit-feature-list li { font-size: 14px !important; }

  .w2-price-card small { font-size: 15px !important; }
  .w2-price-card strong { font-size: 35px !important; }
  .w2-price-card em { font-size: 14px !important; }
  .w2-price-note { font-size: 14px !important; }
  .w2-warranty-grid small { font-size: 12px !important; }
  .w2-warranty-grid p { font-size: 15px !important; }

  .w2-contact-links small { font-size: 11px !important; }
  .w2-contact-links strong { font-size: 15px !important; }
  .w2-form-head small { font-size: 11px !important; }
  .w2-form-head strong { font-size: 21px !important; }
  .w2-lead-form label > span { font-size: 14px !important; }
  .w2-lead-form input,
  .w2-lead-form select { font-size: 16px !important; }
  .w2-mobile-cta a:first-child { font-size: 15px !important; font-weight: 900 !important; }

  .w2-footer-brand strong { font-size: 17px !important; }
  .w2-footer-brand small { font-size: 11px !important; }
  .w2-footer p,
  .w2-footer-links a { font-size: 13px !important; }
  .w2-footer-bottom { font-size: 11px !important; }
}

/* =========================================================
   Performance Motion v1.0.8 — lightweight and intentional
   Keeps the page lively without continuous full-page rendering.
   ========================================================= */

/* Let the browser skip painting distant sections until needed. */
.w2-section {
  content-visibility: auto;
  contain-intrinsic-size: 850px;
}

/* The hero keeps one subtle GPU-friendly movement only. */
.w2-hero-media img {
  animation: w2LeanHero 24s ease-in-out infinite alternate;
  transform: translateZ(0);
}

/* Gold glow moves slowly; no filters, particles, or pointer tracking. */
.w2-hero-glow {
  animation-duration: 12s !important;
  will-change: auto !important;
}

/* Keep attention on only the two important sales elements. */
.w2-starting-price {
  animation-duration: 4.8s !important;
}
.w2-starting-price::before {
  animation-duration: 6.8s !important;
}
.w2-starting-price-line .w2-price-counter {
  animation-duration: 4.8s !important;
}
.w2-no-commission {
  animation-duration: 4.6s !important;
}
.w2-no-commission::before {
  animation-duration: 6.4s !important;
}
.w2-no-commission-dot {
  animation-duration: 2.2s !important;
}

/* Unit navigation stays visually alive but does not animate the whole layout. */
.w2-unit-arrow,
.w2-plan-arrow {
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.w2-unit-arrow:hover,
.w2-plan-arrow:hover {
  transform: translateY(-2px);
}
.w2-unit-tabs button.active {
  box-shadow: 0 12px 34px rgba(215,179,88,.11), inset 0 1px rgba(255,255,255,.06);
}

/* Images only animate on interaction, not continuously. */
.w2-gallery-item img {
  animation: none !important;
  transition: transform .6s cubic-bezier(.2,.8,.2,1), filter .3s ease;
}
.w2-gallery-item:hover img {
  transform: scale(1.035);
}

/* No permanent will-change allocations across cards. */
.w2-glass-card,
.w2-feature-card,
.w2-location-grid article,
.w2-price-card,
.w2-warranty-grid article,
.w2-contact-links a,
.w2-unit-details,
.w2-unit-plan {
  will-change: auto !important;
}

@keyframes w2LeanHero {
  from { transform: scale(1.015) translate3d(0,0,0); }
  to   { transform: scale(1.045) translate3d(-.6%,-.35%,0); }
}

/* Mobile: remove even the hero loop to favor smooth scrolling and battery. */
@media (max-width: 780px) {
  .w2-section { contain-intrinsic-size: 720px; }
  .w2-hero-media img { animation: none !important; transform: none !important; }
  .w2-hero-glow { animation-duration: 16s !important; }
  .w2-starting-price,
  .w2-starting-price::before,
  .w2-starting-price-line .w2-price-counter,
  .w2-no-commission,
  .w2-no-commission::before,
  .w2-no-commission-dot { animation-duration: 7s !important; }
}

@media (prefers-reduced-motion: reduce) {
  .w2-hero-media img,
  .w2-hero-glow { animation: none !important; }
}


/* =========================================================
   Balanced Creative Motion v1.0.9
   A lively premium feel with motion limited to visible sections.
   ========================================================= */

/* Keep motion elegant: pause continuous effects while sections are off-screen. */
.w2-hero .w2-hero-media img,
.w2-hero .w2-hero-glow,
.w2-hero .w2-starting-price,
.w2-hero .w2-starting-price::before,
.w2-hero .w2-starting-price-line .w2-price-counter,
.w2-hero .w2-no-commission,
.w2-hero .w2-no-commission::before,
.w2-hero .w2-no-commission-dot,
.w2-gallery-section .w2-gallery-large img,
.w2-prices .w2-price-featured,
.w2-units .w2-unit-tabs button.active,
.w2-units .w2-unit-hint .w2-icon {
  animation-play-state: paused !important;
}

.w2-hero.w2-motion-visible .w2-hero-media img,
.w2-hero.w2-motion-visible .w2-hero-glow,
.w2-hero.w2-motion-visible .w2-starting-price,
.w2-hero.w2-motion-visible .w2-starting-price::before,
.w2-hero.w2-motion-visible .w2-starting-price-line .w2-price-counter,
.w2-hero.w2-motion-visible .w2-no-commission,
.w2-hero.w2-motion-visible .w2-no-commission::before,
.w2-hero.w2-motion-visible .w2-no-commission-dot,
.w2-gallery-section.w2-motion-visible .w2-gallery-large img,
.w2-prices.w2-motion-visible .w2-price-featured,
.w2-units.w2-motion-visible .w2-unit-tabs button.active,
.w2-units.w2-motion-visible .w2-unit-hint .w2-icon {
  animation-play-state: running !important;
}

/* Hero: cinematic but lightweight; transform-only movement. */
.w2-hero-media img {
  animation: w2CreativeHero 20s cubic-bezier(.45,.05,.55,.95) infinite alternate !important;
  will-change: transform;
}
.w2-glow-one { animation: w2CreativeGlowOne 10s ease-in-out infinite alternate !important; }
.w2-glow-two { animation: w2CreativeGlowTwo 13s ease-in-out infinite alternate !important; }

/* A slow breathing shine for the sales spotlight. */
.w2-starting-price { animation-duration: 5.2s !important; }
.w2-starting-price::before { animation-duration: 7.2s !important; }
.w2-starting-price-line .w2-price-counter { animation-duration: 4.6s !important; }
.w2-no-commission { animation-duration: 5.6s !important; }
.w2-no-commission::before { animation-duration: 7.8s !important; }
.w2-no-commission-dot { animation-duration: 2.8s !important; }

/* Gold CTAs get a discreet travelling highlight every few seconds. */
.w2-btn-gold {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.w2-btn-gold::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -70%;
  bottom: -70%;
  left: -28%;
  width: 16%;
  opacity: 0;
  transform: translateX(0) rotate(16deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.52), transparent);
  animation: w2ButtonGlint 6.8s ease-in-out infinite;
  pointer-events: none;
}

/* Gallery: only the hero image breathes; the two smaller images remain static. */
.w2-gallery-large img {
  animation: w2GalleryBreath 14s ease-in-out infinite alternate !important;
  will-change: transform;
}
.w2-gallery-large::before {
  border-color: rgba(255,226,154,.10);
  animation: w2GalleryBorder 5.8s ease-in-out infinite;
}
.w2-gallery-item:not(.w2-gallery-large) img { animation: none !important; }

/* Active unit is unmistakable, without moving the whole grid. */
.w2-unit-tabs button.active {
  animation: w2ActiveUnitSoft 4.2s ease-in-out infinite;
}
.w2-unit-hint .w2-icon {
  animation: w2HintHand 2.8s ease-in-out infinite;
  transform-origin: 65% 80%;
}
.w2-unit-plan-image img {
  transition: opacity .28s ease, transform .42s cubic-bezier(.2,.8,.2,1) !important;
}

/* Featured price gets a very small premium lift. */
.w2-price-featured {
  animation: w2FeaturedPriceSoft 5.6s ease-in-out infinite;
}

/* WhatsApp remains alive with a low-frequency pulse on desktop. */
.w2-floating-whatsapp {
  animation: w2WhatsappSoft 6s ease-in-out infinite;
  transform-origin: center;
}

/* Reveal feels more premium but still runs once only. */
.reveal {
  transform: translateY(28px) scale(.992);
  transition: opacity .72s cubic-bezier(.2,.7,.2,1), transform .72s cubic-bezier(.2,.7,.2,1);
}
.reveal.is-visible { transform: translateY(0) scale(1); }

@keyframes w2CreativeHero {
  0%   { transform: scale(1.018) translate3d(0,0,0); }
  50%  { transform: scale(1.038) translate3d(-.35%,-.18%,0); }
  100% { transform: scale(1.052) translate3d(.45%,-.45%,0); }
}
@keyframes w2CreativeGlowOne {
  from { transform: translate3d(-2%,0,0) scale(.96); opacity: .62; }
  to   { transform: translate3d(7%,-4%,0) scale(1.08); opacity: .9; }
}
@keyframes w2CreativeGlowTwo {
  from { transform: translate3d(3%,-2%,0) scale(1.04); opacity: .38; }
  to   { transform: translate3d(-6%,5%,0) scale(.94); opacity: .64; }
}
@keyframes w2ButtonGlint {
  0%,60% { transform: translateX(0) rotate(16deg); opacity: 0; }
  68% { opacity: .62; }
  86%,100% { transform: translateX(780%) rotate(16deg); opacity: 0; }
}
@keyframes w2GalleryBreath {
  from { transform: scale(1.01) translate3d(0,0,0); }
  to   { transform: scale(1.055) translate3d(-.65%,-.35%,0); }
}
@keyframes w2GalleryBorder {
  0%,100% { box-shadow: inset 0 0 0 0 rgba(215,179,88,0); border-color: rgba(255,226,154,.10); }
  50% { box-shadow: inset 0 0 32px rgba(215,179,88,.055); border-color: rgba(255,226,154,.28); }
}
@keyframes w2ActiveUnitSoft {
  0%,100% { box-shadow: 0 12px 34px rgba(215,179,88,.09), inset 0 1px rgba(255,255,255,.06); }
  50% { box-shadow: 0 14px 44px rgba(215,179,88,.17), inset 0 1px rgba(255,255,255,.085); }
}
@keyframes w2HintHand {
  0%,100% { transform: rotate(0deg) translateY(0); }
  50% { transform: rotate(-6deg) translateY(-2px); }
}
@keyframes w2FeaturedPriceSoft {
  0%,100% { transform: translateY(-8px); box-shadow: 0 0 42px rgba(215,179,88,.09), inset 0 1px rgba(255,255,255,.08); }
  50% { transform: translateY(-11px); box-shadow: 0 0 58px rgba(215,179,88,.15), inset 0 1px rgba(255,255,255,.09); }
}
@keyframes w2WhatsappSoft {
  0%,100% { transform: translateY(0) scale(1); box-shadow: 0 15px 45px rgba(0,0,0,.35); }
  50% { transform: translateY(-2px) scale(1.018); box-shadow: 0 17px 48px rgba(18,126,77,.22); }
}

/* Mobile keeps creativity, but only two very cheap continuous transforms. */
@media (max-width: 780px) {
  .w2-hero-media img {
    animation: w2CreativeHeroMobile 18s ease-in-out infinite alternate !important;
  }
  .w2-glow-one { animation-duration: 14s !important; }
  .w2-glow-two { animation-duration: 17s !important; }
  .w2-gallery-large img { animation-duration: 18s !important; }
  .w2-price-featured { animation: none !important; transform: none !important; }
  .w2-floating-whatsapp { animation: none !important; }
  .w2-btn-gold::after { animation-duration: 9s; }
  @keyframes w2CreativeHeroMobile {
    from { transform: scale(1.01) translate3d(0,0,0); }
    to   { transform: scale(1.035) translate3d(-.35%,-.2%,0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .w2-hero-media img,
  .w2-hero-glow,
  .w2-starting-price,
  .w2-starting-price::before,
  .w2-starting-price-line .w2-price-counter,
  .w2-no-commission,
  .w2-no-commission::before,
  .w2-no-commission-dot,
  .w2-gallery-large img,
  .w2-gallery-large::before,
  .w2-unit-tabs button.active,
  .w2-unit-hint .w2-icon,
  .w2-price-featured,
  .w2-floating-whatsapp,
  .w2-btn-gold::after { animation: none !important; }
}


/* =========================================================
   Mobile clarity + map CTA + form polish v1.0.10
   ========================================================= */
.w2-hero-card-location {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #d8d2c6 !important;
  font-size: 14px;
  font-weight: 850;
}
.w2-hero-card-location .w2-icon { width: 19px; height: 19px; color: var(--w2-gold-light); }
.w2-map-btn { border-color: rgba(255,226,154,.32) !important; }
.w2-map-btn .w2-icon { color: var(--w2-gold-light); }

/* Unit labels must never look cut or ambiguous. */
.w2-unit-tabs button { min-width: 0; overflow: visible; }
.w2-unit-tabs button small,
.w2-unit-tabs button span { overflow: visible; text-overflow: clip; }
.w2-unit-tabs button span { white-space: normal; line-height: 1.35; }

/* Cleaner form with readable native controls on iOS. */
.w2-lead-form { overflow: hidden; }
.w2-lead-form label { min-width: 0; }
.w2-lead-form input,
.w2-lead-form select {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}
.w2-lead-form select {
  padding-inline: 16px 42px !important;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.w2-field-help {
  display: block;
  margin-top: -2px;
  color: #9e988d !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  direction: rtl;
}
#w2-phone { text-align: left; letter-spacing: .035em; }

@media (max-width: 780px) {
  .w2-units .w2-heading p {
    max-width: 94%;
    margin-inline: auto;
    font-size: 16px !important;
    line-height: 1.85 !important;
    text-align: center;
  }
  .w2-unit-tabs button {
    min-width: 142px !important;
    min-height: 96px !important;
    padding: 10px 12px !important;
  }
  .w2-unit-tabs button small { font-size: 12px !important; }
  .w2-unit-tabs button strong { font-size: 34px !important; }
  .w2-unit-tabs button span {
    max-width: 78px;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
  .w2-unit-hint {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }
  .w2-lead-form {
    padding: 24px 18px !important;
    border-radius: 28px 8px 28px 8px;
  }
  .w2-form-head { margin-bottom: 26px; padding-bottom: 22px; }
  .w2-form-head strong { font-size: 31px !important; }
  .w2-form-head small { font-size: 13px !important; }
  .w2-lead-form label { gap: 9px; margin-bottom: 19px; }
  .w2-lead-form label > span { font-size: 16px !important; }
  .w2-lead-form input,
  .w2-lead-form select {
    min-height: 64px !important;
    padding-block: 13px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  .w2-lead-form select { padding-inline: 14px 38px !important; }
  .w2-field-help { font-size: 11px !important; }
  .w2-lead-form .w2-btn { min-height: 62px; font-size: 16px !important; }

  /* Booking + map side by side, always visible and readable. */
  .w2-mobile-cta {
    height: 64px !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important;
    gap: 6px !important;
  }
  .w2-mobile-cta a {
    min-width: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 10px;
    text-align: center;
    white-space: nowrap;
    font-size: 13px !important;
    font-weight: 900 !important;
  }
  .w2-mobile-cta .w2-mobile-book {
    color: #15120b !important;
    background: linear-gradient(135deg, var(--w2-gold-light), var(--w2-gold));
    border-radius: 14px 5px 14px 5px;
  }
  .w2-mobile-cta .w2-mobile-map {
    color: var(--w2-gold-light) !important;
    background: rgba(215,179,88,.11) !important;
    border: 1px solid rgba(255,226,154,.28);
    border-radius: 14px 5px 14px 5px;
  }
  .w2-mobile-cta .w2-icon { width: 19px !important; height: 19px !important; flex: 0 0 auto; }
}

@media (max-width: 390px) {
  .w2-mobile-cta a { font-size: 11px !important; padding-inline: 7px; }
  .w2-mobile-cta .w2-icon { width: 17px !important; height: 17px !important; }
  .w2-unit-tabs button { min-width: 134px !important; }
}


/* =========================================================
   Compact mobile 3-column icon grids + select fix v1.0.12
   ========================================================= */
@media (max-width: 780px) {
  /* Shorten only the icon-heavy sections. */
  .w2-overview,
  .w2-location,
  .w2-features,
  .w2-warranties { padding-block: 58px !important; }
  .w2-overview .w2-heading,
  .w2-location .w2-heading,
  .w2-features .w2-heading,
  .w2-warranties .w2-heading { margin-bottom: 24px !important; }

  /* 3 cards per row on mobile. */
  .w2-location-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .w2-location-grid article {
    min-height: 108px !important;
    padding: 11px 7px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    text-align: center !important;
    border-radius: 18px 5px 18px 5px !important;
  }
  .w2-location-grid .w2-icon {
    width: 38px !important;
    height: 38px !important;
    padding: 9px !important;
    flex: 0 0 auto;
  }
  .w2-location-grid strong {
    font-size: 12px !important;
    line-height: 1.42 !important;
    text-align: center !important;
  }

  .w2-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .w2-feature-card {
    min-height: 116px !important;
    padding: 10px 7px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center !important;
    border-radius: 18px 5px 18px 5px !important;
  }
  .w2-feature-card .w2-icon {
    width: 38px !important;
    height: 38px !important;
    padding: 9px !important;
    flex: 0 0 auto;
  }
  .w2-feature-card strong {
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  .w2-warranty-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .w2-warranty-grid article {
    min-height: 132px !important;
    padding: 10px 7px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    text-align: center !important;
    border-radius: 18px 5px 18px 5px !important;
  }
  .w2-warranty-grid .w2-icon {
    width: 34px !important;
    height: 34px !important;
    padding: 8px !important;
    margin-bottom: 3px !important;
    flex: 0 0 auto;
  }
  .w2-warranty-grid strong { font-size: 30px !important; line-height: 1 !important; }
  .w2-warranty-grid small { font-size: 10px !important; line-height: 1.2 !important; }
  .w2-warranty-grid p {
    margin: 4px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    text-align: center !important;
  }

  /* Overview remains 2 × 2, not one very long column. */
  .w2-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
  .w2-glass-card { min-height: 168px !important; padding: 15px !important; }
  .w2-glass-card .w2-icon { width: 40px !important; height: 40px !important; padding: 9px !important; margin-bottom: 13px !important; }
  .w2-glass-card h3 { font-size: 16px !important; line-height: 1.42 !important; }
  .w2-glass-card p { font-size: 12px !important; line-height: 1.5 !important; }

  /* Fix the unit select on iPhone: concise copy, full width and no clipping. */
  .w2-lead-form select {
    width: 100% !important;
    min-height: 60px !important;
    height: 60px !important;
    padding: 0 15px !important;
    padding-left: 42px !important;
    direction: rtl !important;
    text-align: right !important;
    text-align-last: right !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 15px !important;
    line-height: normal !important;
  }
  .w2-lead-form select option { direction: rtl; text-align: right; }
}

@media (max-width: 390px) {
  .w2-location-grid strong,
  .w2-feature-card strong { font-size: 11px !important; }
  .w2-warranty-grid p { font-size: 10px !important; }
  .w2-warranty-grid strong { font-size: 27px !important; }
}


/* =========================================================
   Mobile Smoothness v1.0.13
   Preserve the premium look while removing iOS scroll bottlenecks.
   ========================================================= */

/* Progress bar uses compositor transforms instead of layout-changing width. */
.w2-progress span {
  width: 100% !important;
  transform: scaleX(0);
  transform-origin: right center;
  will-change: transform;
}

@media (max-width: 780px) {
  /* Avoid deferred section painting on iOS; it can hitch as tall sections enter view. */
  .w2-section {
    content-visibility: visible !important;
    contain-intrinsic-size: auto !important;
  }

  /* Fixed blurred layers are a common source of Safari scroll jank. Keep the look with opaque surfaces. */
  .w2-topbar {
    background: rgba(7,7,7,.96) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.22) !important;
  }
  .w2-mobile-cta {
    background: rgba(7,7,7,.97) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.30) !important;
  }
  .w2-topbar nav {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Replace glass blur with nearly identical solid/gradient surfaces on mobile. */
  .w2-starting-price,
  .w2-kicker,
  .w2-hero-facts > div,
  .w2-btn-glass,
  .w2-glass-card,
  .w2-location-grid article,
  .w2-lead-form,
  .w2-plan-arrow,
  .w2-floating-whatsapp {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .w2-starting-price {
    background: linear-gradient(145deg, rgba(24,21,14,.97), rgba(7,7,7,.96)) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.28), 0 0 24px rgba(215,179,88,.08), inset 0 1px rgba(255,255,255,.06) !important;
  }
  .w2-lead-form { background: linear-gradient(150deg, rgba(28,28,28,.98), rgba(12,12,12,.98)) !important; }
  .w2-btn-glass { background: rgba(28,28,28,.94) !important; }
  .w2-kicker, .w2-hero-facts > div { background: rgba(16,16,16,.88) !important; }

  /* Large continuously moving/filtered layers cost the most. Freeze them on phones. */
  .w2-hero-media img {
    animation: none !important;
    transform: scale(1.01) !important;
    filter: none !important;
    will-change: auto !important;
  }
  .w2-hero-glow {
    animation: none !important;
    will-change: auto !important;
    opacity: .72;
  }
  .w2-gallery-large img,
  .w2-gallery-large::before,
  .w2-unit-tabs button.active,
  .w2-price-featured {
    animation: none !important;
    will-change: auto !important;
  }

  /* Keep a little creativity using cheap transform/opacity-only motion. */
  .w2-starting-price { animation: none !important; transform: translateZ(0); }
  .w2-starting-price::before {
    animation: w2MobileGoldSweep 9s ease-in-out infinite !important;
  }
  .w2-starting-price-line .w2-price-counter {
    animation: w2MobilePricePulse 4.8s ease-in-out infinite !important;
    filter: none !important;
    will-change: transform;
  }
  .w2-no-commission {
    animation: w2MobileCommissionPulse 5.4s ease-in-out infinite !important;
    box-shadow: inset 0 1px rgba(255,255,255,.10), 0 0 20px rgba(215,179,88,.12) !important;
    will-change: transform;
  }
  .w2-no-commission::before { animation: none !important; }
  .w2-no-commission-dot {
    animation: w2MobileDotPulse 3.2s ease-in-out infinite !important;
    box-shadow: 0 0 13px rgba(255,226,154,.60) !important;
    will-change: transform, opacity;
  }
  .w2-btn-gold::after { animation: w2ButtonGlint 10s ease-in-out infinite !important; }
  .w2-unit-hint .w2-icon { animation: w2HintMove 3.4s ease-in-out infinite !important; }

  /* Do not animate dozens of cards as they enter the viewport. Only headings get a short reveal. */
  .w2-section .reveal,
  .w2-gallery-item.reveal,
  .w2-feature-card.reveal,
  .w2-location-grid article.reveal,
  .w2-warranty-grid article.reveal,
  .w2-unit-tabs-wrap.reveal,
  .w2-unit-view.reveal,
  .w2-price-card.reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .w2-heading.reveal,
  .w2-gallery-head.reveal,
  .w2-contact-copy.reveal {
    opacity: 0 !important;
    transform: translateY(12px) !important;
    transition: opacity .42s ease, transform .42s ease !important;
  }
  .w2-heading.reveal.is-visible,
  .w2-gallery-head.reveal.is-visible,
  .w2-contact-copy.reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Simplify large dynamic shadows while preserving premium depth. */
  .w2-glass-card,
  .w2-feature-card,
  .w2-location-grid article,
  .w2-unit-plan,
  .w2-unit-details,
  .w2-price-card,
  .w2-warranty-grid article {
    box-shadow: inset 0 1px rgba(255,255,255,.035) !important;
  }
  .w2-price-featured {
    box-shadow: 0 0 22px rgba(215,179,88,.08), inset 0 1px rgba(255,255,255,.05) !important;
  }

  /* Touch responsiveness and fewer unnecessary paint transitions. */
  a, button, input, select { touch-action: manipulation; }
  .w2-gallery-item img { transition-duration: .25s !important; }
  .w2-unit-tabs button,
  .w2-unit-arrow,
  .w2-plan-arrow,
  .w2-btn { transition-duration: .18s !important; }
}

@keyframes w2MobileGoldSweep {
  0%,72% { transform: translateX(0) rotate(17deg); opacity: 0; }
  78% { opacity: .36; }
  92%,100% { transform: translateX(760%) rotate(17deg); opacity: 0; }
}
@keyframes w2MobilePricePulse {
  0%,100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.008); opacity: .96; }
}
@keyframes w2MobileCommissionPulse {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.006); }
}
@keyframes w2MobileDotPulse {
  0%,100% { transform: scale(1); opacity: .72; }
  50% { transform: scale(1.22); opacity: 1; }
}


/* v1.0.14 price groups + form anchor tweaks */
.w2-price-groups { display: grid; gap: 26px; }
.w2-price-group { padding: 24px; border: 1px solid rgba(255,255,255,.08); border-radius: 32px 8px 32px 8px; background: linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); box-shadow: inset 0 1px rgba(255,255,255,.04); }
.w2-price-group-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.07); }
.w2-price-group-head h3 { margin: 0; color: var(--w2-white) !important; font-size: 26px; font-weight: 950; }
.w2-price-group-kicker { display: inline-flex; padding: 8px 14px; border-radius: 999px; color: var(--w2-gold-light) !important; background: rgba(215,179,88,.09); border: 1px solid rgba(255,226,154,.18); font-size: 12px; font-weight: 900; }
.w2-price-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.w2-price-grid-3 .w2-price-card { min-height: 220px; }
.w2-lead-form { scroll-margin-top: 110px; }
.w2-lead-form select { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.35; padding-inline: 14px 42px !important; }
.w2-field-help { display: inline-block; margin-top: 4px; color: #a79f91 !important; font-size: 11px; font-weight: 800; }
@media (max-width: 980px) { .w2-price-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) {
  .w2-price-group { padding: 18px; border-radius: 24px 6px 24px 6px; }
  .w2-price-group-head { align-items: start; flex-direction: column; margin-bottom: 12px; }
  .w2-price-group-head h3 { font-size: 22px !important; }
  .w2-price-group-kicker { font-size: 11px; }
  .w2-price-grid-3 { grid-template-columns: 1fr; gap: 10px; }
  .w2-price-grid-3 .w2-price-card { min-height: 180px; }
  .w2-lead-form select { font-size: 15px !important; }
}


/* v1.0.15 — animated real-estate license badge */
.w2-license-wrap { display: flex; justify-content: center; padding: 0 0 28px; }
.w2-license-card {
  position: relative;
  min-width: 285px;
  padding: 13px 18px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid rgba(255,226,154,.22);
  border-radius: 18px 5px 18px 5px;
  background: linear-gradient(135deg, rgba(215,179,88,.095), rgba(255,255,255,.025));
  box-shadow: inset 0 1px rgba(255,255,255,.045), 0 10px 32px rgba(0,0,0,.20);
  isolation: isolate;
  animation: w2LicenseBreath 4.8s ease-in-out infinite;
}
.w2-license-icon {
  width: 39px;
  height: 39px;
  flex: 0 0 39px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,226,154,.20);
  border-radius: 13px 4px 13px 4px;
  color: var(--w2-gold-light) !important;
  background: rgba(215,179,88,.08);
  animation: w2LicenseIconFloat 3.6s ease-in-out infinite;
}
.w2-license-icon .w2-icon { width: 21px; height: 21px; }
.w2-license-copy { position: relative; z-index: 2; display: grid; gap: 1px; text-align: right; }
.w2-license-copy small { color: #aaa399 !important; font-size: 11px !important; font-weight: 850 !important; }
.w2-license-copy strong { color: var(--w2-gold-light) !important; font: 900 19px/1.35 Arial, sans-serif; letter-spacing: 1.2px; }
.w2-license-shine {
  position: absolute;
  z-index: 1;
  top: -35%;
  bottom: -35%;
  width: 56px;
  right: -75px;
  opacity: .45;
  background: linear-gradient(90deg, transparent, rgba(255,226,154,.30), transparent);
  transform: skewX(-18deg);
  animation: w2LicenseShine 5.2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes w2LicenseBreath {
  0%,100% { border-color: rgba(255,226,154,.18); transform: translateY(0); }
  50% { border-color: rgba(255,226,154,.36); transform: translateY(-2px); }
}
@keyframes w2LicenseIconFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes w2LicenseShine {
  0%,18% { right: -75px; opacity: 0; }
  32% { opacity: .45; }
  58% { right: calc(100% + 75px); opacity: .28; }
  70%,100% { right: calc(100% + 75px); opacity: 0; }
}
@media (max-width: 780px) {
  .w2-license-wrap { padding-bottom: 22px; }
  .w2-license-card { min-width: 245px; padding: 11px 15px; gap: 10px; }
  .w2-license-icon { width: 36px; height: 36px; flex-basis: 36px; }
  .w2-license-copy small { font-size: 10px !important; }
  .w2-license-copy strong { font-size: 17px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .w2-license-card, .w2-license-icon, .w2-license-shine { animation: none !important; }
}
