/* ============================================================
   ROYAL GROUP — THEME TOKENS
   Edit ONLY this block to change the site's entire color theme.
   Components below reference the semantic names, never raw hex.
   ============================================================ */
:root {
  /* Brand core (sampled from logo.jpeg) */
  --rg-gold: #D4A017;
  --rg-gold-light: #F5C544;
  --rg-gold-dark: #9A6B00;
  --rg-charcoal: #2E2A26;
  --rg-brown: #4A2F17;
  --rg-white: #FFFFFF;
  --rg-off-white: #FAF7F0;

  /* Semantic mapping (components use these, not the raw colors) */
  --rg-primary: var(--rg-gold);
  --rg-primary-hover: var(--rg-gold-dark);
  --rg-heading: var(--rg-charcoal);
  --rg-body-text: #4B4642;
  --rg-muted-text: #7A736C;
  --rg-surface: var(--rg-white);
  --rg-surface-alt: var(--rg-off-white);
  --rg-card-border: #EDE6D8;
  --rg-footer-bg: var(--rg-charcoal);
  --rg-footer-text: #CFC9C2;
  --rg-whatsapp: #25D366;
  --rg-call: var(--rg-gold);
  --rg-turkey-red: #E30A17;
  --rg-success: #2E7D32;
  --rg-error: #C62828;

  /* Effects */
  --rg-gold-gradient: linear-gradient(135deg, var(--rg-gold-light), var(--rg-gold) 45%, var(--rg-gold-dark));
  --rg-shadow-card: 0 10px 30px rgb(46 42 38 / .08);
  --rg-shadow-hover: 0 18px 40px rgb(46 42 38 / .14);
  --rg-radius: 1rem;

  /* Type scale (fluid) */
  --rg-fs-display: clamp(2.2rem, 5vw, 3.6rem);
  --rg-fs-h2: clamp(1.7rem, 3.2vw, 2.4rem);
  --rg-fs-h3: clamp(1.15rem, 2vw, 1.4rem);
  --rg-fs-body: 1.0625rem;
  --rg-fs-small: .9rem;
}

:root {
  --bs-primary: var(--rg-primary);
  --bs-primary-rgb: 212, 160, 23;
  --bs-body-color: var(--rg-body-text);
  --bs-body-font-family: 'Cairo', system-ui, sans-serif;
  --bs-link-color: var(--rg-gold-dark);
  --bs-link-hover-color: var(--rg-primary-hover);
  --bs-border-radius: var(--rg-radius);
  --bs-border-radius-lg: var(--rg-radius);
}

@font-face {
  font-family: 'Cairo';
  src: url('../fonts/cairo-arabic-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

@font-face {
  font-family: 'Cairo';
  src: url('../fonts/cairo-latin-ext-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F;
}

@font-face {
  font-family: 'Cairo';
  src: url('../fonts/cairo-arabic-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

@font-face {
  font-family: 'Cairo';
  src: url('../fonts/cairo-latin-ext-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F;
}

@font-face {
  font-family: 'Cairo';
  src: url('../fonts/cairo-arabic-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}

@font-face {
  font-family: 'Cairo';
  src: url('../fonts/cairo-latin-ext-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-024F;
}

html { overflow-x: clip; scroll-behavior: smooth; }
body { background: var(--rg-surface); color: var(--rg-body-text); font-size: var(--rg-fs-body); line-height: 1.65; }
[dir='rtl'] body { line-height: 1.8; }
h1, h2, h3, h4, h5, h6 { color: var(--rg-heading); font-weight: 800; line-height: 1.25; }
a { text-underline-offset: .2em; }

.btn-rg-primary,
.btn-rg-outline,
.btn-rg-whatsapp { align-items: center; border-radius: 999px; display: inline-flex; font-weight: 600; gap: .5rem; justify-content: center; min-height: 48px; padding: .75rem 1.75rem; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn-rg-primary { background: var(--rg-gold-gradient); border: 0; box-shadow: 0 6px 16px rgb(154 107 0 / .25); color: var(--rg-white); }
.btn-rg-primary:hover { background: linear-gradient(135deg, var(--rg-gold), var(--rg-gold-dark)); color: var(--rg-white); transform: translateY(-2px); }
.btn-rg-outline { background: transparent; border: 2px solid var(--rg-gold); color: var(--rg-heading); }
.btn-rg-outline:hover { background: rgb(245 197 68 / .1); color: var(--rg-heading); }
.btn-rg-whatsapp { background: var(--rg-whatsapp); border: 0; color: var(--rg-white); }
.btn-rg-primary:active,
.btn-rg-outline:active,
.btn-rg-whatsapp:active { transform: scale(.97); }

.rg-section-head { margin-block-end: 2rem; text-align: start; }
.rg-section-head__kicker { color: var(--rg-gold-dark); font-size: var(--rg-fs-small); font-weight: 600; letter-spacing: .08em; margin-block-end: .25rem; text-transform: uppercase; }
.rg-section-head h2 { font-size: var(--rg-fs-h2); margin-block-end: .5rem; }
.rg-section-head p { color: var(--rg-muted-text); margin: 0; }
.rg-card { background: var(--rg-surface); border: 1px solid var(--rg-card-border); border-radius: var(--rg-radius); box-shadow: var(--rg-shadow-card); transition: box-shadow .2s ease, transform .2s ease; }
.rg-card:hover { box-shadow: var(--rg-shadow-hover); transform: translateY(-6px); }
.property-card { overflow: hidden; }
.property-card__media { aspect-ratio: 4 / 5; }
.property-card__image { height: 100%; object-fit: cover; width: 100%; }
.rg-badge-citizenship { background: var(--rg-gold-gradient); border-radius: 999px; color: var(--rg-white); display: inline-flex; font-size: var(--rg-fs-small); font-weight: 600; gap: .35rem; padding: .35rem .75rem; }
.agent-card { padding: 1.5rem; text-align: center; }
.agent-card__photo { border-radius: 50%; display: block; height: 148px; object-fit: cover; width: 148px; }
.office-card { padding: 1.5rem; }
.fab { align-items: center; border-radius: 50%; box-shadow: var(--rg-shadow-hover); display: inline-flex; height: 56px; justify-content: center; width: 56px; }
.fab-whatsapp { background: var(--rg-whatsapp); color: var(--rg-white); }
.fab-call { background: var(--rg-call); color: var(--rg-white); }
.rg-counter { color: var(--rg-gold-dark); font-size: var(--rg-fs-h2); font-weight: 800; }
.step-timeline { border-inline-start: 2px solid var(--rg-gold); display: grid; gap: 1.25rem; padding-inline-start: 1.5rem; }

:focus-visible { outline: 3px solid var(--rg-gold-light); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

/* Arabic reference page — structural styles (Batch 3). */
body { overflow-x: hidden; }
.rg-skip { background: var(--rg-charcoal); color: var(--rg-white); inset-block-start: 0; inset-inline-start: .75rem; padding: .65rem 1rem; position: fixed; transform: translateY(-150%); z-index: 2000; }
.rg-skip:focus { transform: translateY(0); }
.rg-topbar { background: var(--rg-charcoal); color: var(--rg-footer-text); font-size: .82rem; min-height: 40px; }
.rg-topbar a { color: inherit; text-decoration: none; }
.rg-lang { align-items: center; display: inline-flex; gap: .35rem; }
.rg-lang a { align-items: center; background: rgb(255 255 255 / .08); border: 1px solid rgb(255 255 255 / .3); border-radius: .55rem; display: inline-flex; font-weight: 700; justify-content: center; line-height: 1; min-height: 34px; min-width: 42px; padding: .4rem .65rem; text-decoration: none; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; }
.rg-lang a:hover, .rg-lang a:focus-visible { background: var(--rg-white); border-color: var(--rg-white); color: var(--rg-heading); transform: translateY(-1px); }
.rg-lang a[aria-current='page'] { background: var(--rg-gold); border-color: var(--rg-gold); color: var(--rg-white); }
.rg-mobile-nav-actions { align-items: center; display: flex; gap: .55rem; }
.rg-lang--mobile a { background: rgb(255 255 255 / .96); border-color: rgb(46 42 38 / .2); box-shadow: 0 2px 8px rgb(46 42 38 / .1); color: var(--rg-heading); font-size: .72rem; min-height: 32px; min-width: 38px; padding: .34rem .48rem; }
.rg-lang--drawer { justify-content: center; }
.rg-lang--drawer a { border-color: var(--rg-card-border); color: var(--rg-heading); }
.rg-navbar { background: rgb(255 255 255 / .96); border-bottom: 1px solid rgb(237 230 216 / .8); box-shadow: 0 3px 16px rgb(46 42 38 / .06); position: sticky; top: 0; z-index: 1030; }
.rg-navbar .navbar-brand img { aspect-ratio: 1 / 1; display: block; height: 48px; object-fit: contain; width: 48px; }
.rg-navbar .nav-link { color: var(--rg-heading); font-size: .93rem; font-weight: 600; padding-inline: .7rem !important; }
.rg-navbar .nav-link:hover { color: var(--rg-gold-dark); }
.navbar-toggler { border-color: var(--rg-card-border); color: var(--rg-heading); }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgb(212 160 23 / .25); }
.offcanvas { background: var(--rg-surface); }
.offcanvas .nav-link { border-bottom: 1px solid var(--rg-card-border); color: var(--rg-heading); font-size: 1.05rem; font-weight: 700; padding-block: .85rem; text-decoration: none; }
.rg-mobile-service-menu { border-bottom: 1px solid var(--rg-card-border); }
.rg-mobile-service-menu__head { align-items: center; display: flex; }
.rg-mobile-service-menu__head .nav-link { border-bottom: 0; }
.rg-mobile-service-menu button { align-items: center; background: rgb(212 160 23 / .12); border: 1px solid rgb(212 160 23 / .22); border-radius: .75rem; color: var(--rg-gold-dark); display: inline-flex; font-size: 1.9rem; height: 44px; justify-content: center; line-height: 1; min-height: 44px; min-width: 44px; padding: 0; width: 44px; }
.rg-mobile-service-menu button span { display: block; line-height: .7; transform: translateY(-2px); transition: transform .2s ease; }
.rg-mobile-service-menu button[aria-expanded='true'] span { transform: rotate(180deg); }
.rg-mobile-submenu { background: var(--rg-off-white); border: 1px solid var(--rg-card-border); border-radius: .8rem; box-shadow: inset 3px 0 0 var(--rg-gold); margin-block: .15rem .7rem; overflow: hidden; }
[dir='rtl'] .rg-mobile-submenu { box-shadow: inset -3px 0 0 var(--rg-gold); }
.rg-mobile-submenu ul { list-style: none; margin: 0; padding: .35rem; }
.rg-mobile-submenu li:not(:last-child) { border-bottom: 1px solid var(--rg-card-border); }
.rg-mobile-submenu a { align-items: center; color: var(--rg-heading); display: flex; font-size: .92rem; gap: .65rem; padding: .72rem .8rem; text-decoration: none; }
.rg-mobile-submenu a::before { background: var(--rg-gold); border-radius: 50%; content: ''; flex: 0 0 7px; height: 7px; width: 7px; }
.rg-mobile-submenu a:hover, .rg-mobile-submenu a:focus-visible { background: var(--rg-white); color: var(--rg-gold-dark); }
.rg-nav-submenu-toggle { background: transparent; border: 0; color: inherit; line-height: 1; padding: .55rem .25rem; }
.rg-navbar .rg-nav-submenu-toggle { color: var(--rg-white); text-shadow: 0 1px 12px rgb(0 0 0 / .25); }
.rg-navbar.is-scrolled .rg-nav-submenu-toggle { color: var(--rg-heading); text-shadow: none; }
.rg-nav-services { align-items: center; display: flex; }
.rg-nav-services .dropdown-menu { border: 1px solid var(--rg-card-border); box-shadow: var(--rg-shadow); min-width: 240px; padding: .45rem; }
.rg-nav-services .dropdown-item { border-radius: .45rem; color: var(--rg-heading); font-size: .86rem; padding: .55rem .7rem; }
.rg-nav-services .dropdown-item:hover, .rg-nav-services .dropdown-item:focus { background: var(--rg-off-white); color: var(--rg-gold-dark); }

.rg-hero { align-items: center; background: var(--rg-charcoal); color: var(--rg-white); display: flex; isolation: isolate; min-height: min(740px, calc(100svh - 40px)); overflow: hidden; position: relative; }
.rg-hero::after { background: linear-gradient(180deg, rgb(46 42 38 / .4), rgb(46 42 38 / .86)); content: ''; inset: 0; position: absolute; z-index: -1; }
.rg-hero__image { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; z-index: -2; }
.rg-hero__crown { height: auto; inset-inline-start: auto; left: 50%; max-width: 680px; opacity: .06; pointer-events: none; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 70vw; z-index: -1; }
.rg-hero__content { max-width: 790px; padding-block: 5rem; text-align: center; }
.rg-hero h1 { color: var(--rg-white); font-size: var(--rg-fs-display); margin-inline: auto; max-width: 760px; }
.rg-hero__lead { color: rgb(255 255 255 / .9); font-size: clamp(1.05rem, 2.2vw, 1.28rem); margin-inline: auto; max-width: 700px; }
.rg-hero__trust { color: var(--rg-gold-light); font-size: .98rem; font-weight: 600; }
.btn-rg-outline--light { border-color: rgb(255 255 255 / .8); color: var(--rg-white); }
.btn-rg-outline--light:hover { background: rgb(255 255 255 / .12); color: var(--rg-white); }
.rg-scroll-cue { bottom: 1.25rem; color: var(--rg-white); font-size: .85rem; inset-inline-start: 50%; position: absolute; transform: translateX(-50%); }

.rg-section { padding-block: clamp(4rem, 8vw, 6.5rem); }
.rg-section--alt { background: var(--rg-surface-alt); }
.rg-trust { background: var(--rg-surface-alt); border-block: 1px solid var(--rg-card-border); }
.rg-trust__item { min-height: 100%; padding: 1.25rem .75rem; text-align: center; }
.rg-trust__item p { color: var(--rg-muted-text); font-size: .9rem; margin: 0; }
.rg-counter { display: block; line-height: 1.1; margin-block-end: .35rem; }
.rg-service { display: flex; flex-direction: column; height: 100%; padding: 1.4rem; scroll-margin-top: 100px; }
.rg-service__icon { align-items: center; background: rgb(245 197 68 / .16); border-radius: 50%; color: var(--rg-gold-dark); display: inline-flex; height: 48px; justify-content: center; width: 48px; }
.rg-icon { fill: none; height: 1.35rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 1.35rem; }
.rg-icon--whatsapp { fill: currentColor; height: 1.45rem; stroke: none; width: 1.45rem; }
.rg-service h3 { font-size: var(--rg-fs-h3); margin-block: 1rem .45rem; }
.rg-service h3[id] { scroll-margin-top: 100px; }
.rg-service p { color: var(--rg-muted-text); font-size: .93rem; margin: 0 0 .65rem; }
.rg-service > :last-child { margin-top: auto; }
.rg-text-link { color: var(--rg-gold-dark); font-size: .9rem; font-weight: 700; text-decoration: none; }

.rg-about { align-items: center; }
.rg-about__copy { max-width: 660px; }
.rg-about details summary { color: var(--rg-gold-dark); cursor: pointer; font-weight: 700; }
.rg-logo-panel { background: linear-gradient(155deg, var(--rg-white), var(--rg-off-white)); border: 1px solid var(--rg-card-border); border-radius: var(--rg-radius); box-shadow: var(--rg-shadow-card); padding: clamp(1.5rem, 5vw, 3rem); text-align: center; }
.rg-logo-panel img { aspect-ratio: 1 / 1; display: block; height: auto; margin-inline: auto; max-width: min(100%, 350px); object-fit: contain; width: 100%; }
.rg-mini-stats { border-top: 1px solid var(--rg-card-border); display: grid; gap: 1rem; grid-template-columns: repeat(3, 1fr); margin-top: 1.5rem; padding-top: 1.25rem; }
.rg-mini-stats strong { color: var(--rg-gold-dark); display: block; font-size: 1.25rem; }
.rg-mini-stats span { color: var(--rg-muted-text); font-size: .76rem; }

.property-swiper { overflow: hidden; padding-bottom: 3rem; }
.property-swiper .swiper-wrapper { align-items: stretch; }
.property-swiper .swiper-slide { height: auto; }
.property-card { display: flex; flex-direction: column; height: 100%; }
.property-card__media { display: block; overflow: hidden; position: relative; text-decoration: none; }
.property-card__image { display: block; }
.property-card__location { background: rgb(46 42 38 / .84); border-radius: 999px; color: var(--rg-white); font-size: .78rem; inset-block-start: 1rem; inset-inline-start: 1rem; padding: .35rem .65rem; position: absolute; }
.property-card__body { display: flex; flex: 1; flex-direction: column; padding: 1.15rem; }
.property-card h3 { font-size: 1.05rem; margin: 0; }
.property-card__price { color: var(--rg-gold-dark); font-size: 1.38rem; font-weight: 800; line-height: 1.2; margin-block: .55rem; }
.property-card__specs { color: var(--rg-muted-text); font-size: .85rem; margin: 0 0 .8rem; }
.property-card__badges { align-items: flex-start; display: flex; flex-wrap: wrap; gap: .4rem; margin-block-end: 1rem; }
.rg-badge { background: var(--rg-off-white); border: 1px solid var(--rg-card-border); border-radius: 999px; color: var(--rg-heading); font-size: .75rem; font-weight: 600; padding: .32rem .6rem; }
.property-card .btn,
.property-card .btn-rg-whatsapp { margin-top: auto; width: 100%; }
.property-swiper .swiper-button-next, .property-swiper .swiper-button-prev { color: var(--rg-gold-dark); }
.property-swiper .swiper-pagination-bullet-active { background: var(--rg-gold-dark); }
.rg-prices-note { color: var(--rg-muted-text); font-size: .9rem; text-align: center; }

.rg-tab-list { border-bottom: 0; gap: .65rem; }
.rg-tab-list .nav-link { border: 1px solid var(--rg-card-border); border-radius: 999px; color: var(--rg-heading); font-weight: 700; padding: .7rem 1.1rem; }
.rg-tab-list .nav-link.active { background: var(--rg-gold-gradient); border-color: transparent; color: var(--rg-white); }
.rg-tab-panel { background: var(--rg-surface); border: 1px solid var(--rg-card-border); border-radius: var(--rg-radius); margin-top: 1.5rem; padding: clamp(1.25rem, 4vw, 2.5rem); }
.step-timeline { counter-reset: steps; }
.step-timeline__item { position: relative; }
.step-timeline__item::before { align-items: center; background: var(--rg-gold-gradient); border: 4px solid var(--rg-surface); border-radius: 50%; color: var(--rg-white); content: counter(steps); counter-increment: steps; display: flex; font-size: .8rem; font-weight: 800; height: 32px; inset-inline-start: calc(-1.5rem - 16px); justify-content: center; position: absolute; top: .15rem; width: 32px; }
.step-timeline__item h3 { font-size: 1rem; margin: 0 0 .25rem; }
.step-timeline__item p { color: var(--rg-muted-text); font-size: .9rem; margin: 0; }

.rg-turkey-title { align-items: center; display: flex; gap: .6rem; }
.rg-turkey-title::before { color: var(--rg-turkey-red); content: '☾'; font-size: 1.7rem; }
.rg-benefit { height: 100%; overflow: hidden; padding: 1.3rem; position: relative; }
.rg-benefit__num { color: rgb(212 160 23 / .16); font-size: 4rem; font-weight: 800; inset-block-start: -.7rem; inset-inline-end: .6rem; line-height: 1; position: absolute; }
.rg-benefit h3 { font-size: 1.05rem; padding-inline-end: 2.3rem; position: relative; }
.rg-benefit p { color: var(--rg-muted-text); font-size: .9rem; margin: 0; position: relative; }
.rg-management { background: var(--rg-surface-alt); }
.rg-management__block { height: 100%; padding: clamp(1.4rem, 4vw, 2.2rem); }
.rg-checklist { list-style: none; margin: 1.25rem 0 0; padding: 0; }
.rg-checklist li { margin-block: .7rem; padding-inline-start: 1.7rem; position: relative; }
.rg-checklist li::before { color: var(--rg-success); content: '✓'; font-weight: 800; inset-inline-start: 0; position: absolute; }
.rg-callout { background: rgb(245 197 68 / .16); border: 1px solid rgb(212 160 23 / .28); border-radius: 999px; color: var(--rg-gold-dark); display: inline-block; font-size: .85rem; font-weight: 800; margin-top: 1.2rem; padding: .45rem .8rem; }
.rg-existing-management { background: var(--rg-off-white); border: 1px solid var(--rg-card-border); border-radius: .9rem; box-shadow: inset 4px 0 0 var(--rg-gold); margin-top: 2rem; padding: clamp(1.1rem, 3vw, 1.6rem); }
[dir='rtl'] .rg-existing-management { box-shadow: inset -4px 0 0 var(--rg-gold); }
.rg-existing-management h3 { color: var(--rg-heading); font-size: 1.2rem; }
.rg-existing-management .rg-section-head__kicker { margin-bottom: .35rem; }
.rg-existing-management .btn-rg-whatsapp { margin-top: .5rem; }
.rg-paid-note { color: var(--rg-muted-text); font-size: .86rem; font-weight: 700; }

.agent-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); justify-items: center; }
.agent-card { max-width: 370px; width: 100%; }
.agent-card > .agent-card__photo { margin: 0 auto 1rem; object-position: center top; }
.agent-card__placeholder { align-items: center; background: var(--rg-off-white); border: 1px solid var(--rg-card-border); display: flex; justify-content: center; margin: 0 auto 1rem; overflow: hidden; }
.agent-card__placeholder img { opacity: .55; width: 150%; }
.agent-card h3 { font-size: 1.1rem; }
.agent-card p { color: var(--rg-muted-text); font-size: .9rem; }
.rg-chip-row { display: flex; flex-wrap: wrap; gap: .4rem; justify-content: center; }
.rg-contact-icons { display: flex; gap: .6rem; justify-content: center; margin-top: 1rem; }
.rg-icon-button { align-items: center; border: 1px solid var(--rg-card-border); border-radius: 50%; color: var(--rg-heading); display: inline-flex; height: 44px; justify-content: center; width: 44px; }
.rg-icon-button--wa { background: var(--rg-whatsapp); border-color: var(--rg-whatsapp); color: var(--rg-white); }
.btn-rg-whatsapp .rg-icon { flex: 0 0 auto; }

.office-card { height: 100%; }
.office-card__flag { font-size: 1.45rem; }
.office-card h3 { font-size: 1.15rem; margin-block: .8rem .5rem; }
.office-card address, .office-card p { color: var(--rg-muted-text); font-size: .9rem; }
.rg-map { background: linear-gradient(135deg, #e8e0d4, #f7f3eb); border: 1px solid var(--rg-card-border); border-radius: var(--rg-radius); min-height: 360px; overflow: hidden; position: relative; }
.rg-map iframe { border: 0; height: 100%; inset: 0; position: absolute; width: 100%; }

.rg-contact-wrap { background: var(--rg-surface-alt); }
.rg-form-panel, .rg-contact-panel { height: 100%; padding: clamp(1.3rem, 4vw, 2.25rem); }
.rg-form-panel .form-control, .rg-form-panel .form-select { border-color: var(--rg-card-border); min-height: 48px; }
.rg-form-panel textarea.form-control { min-height: 130px; }
.rg-form-panel .form-control:focus, .rg-form-panel .form-select:focus { border-color: var(--rg-gold); box-shadow: 0 0 0 .2rem rgb(212 160 23 / .16); }
.rg-contact-list { list-style: none; margin: 1.4rem 0 0; padding: 0; }
.rg-contact-list li { border-bottom: 1px solid var(--rg-card-border); padding-block: .85rem; }
.rg-contact-list small { color: var(--rg-muted-text); display: block; }
.rg-contact-list a { color: var(--rg-heading); font-weight: 700; text-decoration: none; }
.rg-form-result { font-size: .9rem; margin-top: .75rem; min-height: 1.5em; }
.rg-form-fallback { padding: 1rem 0; }
.rg-form-fallback p { color: var(--rg-muted-text); }

.rg-footer { background: var(--rg-footer-bg); color: var(--rg-footer-text); padding-block: 3.5rem 1.25rem; }
.rg-footer h2, .rg-footer h3 { color: var(--rg-white); font-size: 1rem; }
.rg-footer a { color: var(--rg-footer-text); text-decoration: none; }
.rg-footer a:hover { color: var(--rg-gold-light); }
.rg-footer__logo { background: var(--rg-white); border-radius: .75rem; display: inline-block; padding: .45rem .7rem; }
.rg-footer__logo img { aspect-ratio: 1 / 1; height: 46px; object-fit: contain; width: 46px; }
.rg-footer ul { list-style: none; margin: 0; padding: 0; }
.rg-footer li { margin-block: .4rem; }
.rg-footer__bottom { font-size: .85rem; margin-top: 1.25rem; padding-top: 0; }
.rg-footer__social-row { border-block: 1px solid rgb(255 255 255 / .14); margin-top: 2rem; padding-block: 1.4rem; }
.rg-footer__social { align-items: center; display: flex; gap: .9rem; justify-content: center; }
.rg-footer__social a { align-items: center; border: 1px solid rgb(255 255 255 / .3); border-radius: 50%; display: inline-flex; height: 50px; justify-content: center; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease; width: 50px; }
.rg-footer__social a:hover { background: var(--rg-gold); border-color: var(--rg-gold); color: var(--rg-white); transform: translateY(-2px); }
.rg-footer__social i { font-size: 1.4rem; line-height: 1; }
.rg-fabs { bottom: 1.25rem; display: grid; gap: .75rem; inset-inline-end: 1.25rem; position: fixed; z-index: 1040; }
.rg-fabs .fab { text-decoration: none; }
.rg-fabs .fab-whatsapp .rg-icon { height: 1.7rem; width: 1.7rem; }

@media (min-width: 992px) {
  .rg-navbar { background: rgb(255 255 255 / .94); }
  .step-timeline { border-inline-start: 0; grid-template-columns: repeat(var(--steps, 4), 1fr); padding: 2.4rem 0 0; position: relative; }
  .step-timeline::before { background: var(--rg-gold); content: ''; height: 2px; inset-inline: 4%; position: absolute; top: 0; }
  .step-timeline__item { padding-top: .2rem; }
  .step-timeline__item::before { inset-inline-start: 50%; top: -2.4rem; transform: translateX(-50%); }
  .step-timeline__item:not(:last-child) { padding-inline-end: 1.2rem; }
}

@media (min-width: 1200px) {
  .rg-mobile-nav-actions { display: none; }
  .rg-navbar .nav-link { font-size: .82rem; }
}

@media (max-width: 575.98px) {
  .rg-topbar .container { justify-content: center !important; }
  .rg-topbar .rg-lang { display: none; }
  .rg-hero { min-height: 650px; }
  .rg-hero__content { padding-block: 4rem 5rem; }
  .rg-hero__actions { align-items: stretch; flex-direction: column; }
  .rg-hero__actions .btn { width: 100%; }
  .rg-mini-stats { gap: .5rem; }
  .rg-mini-stats span { font-size: .68rem; }
  .rg-lang--mobile { gap: .2rem; }
  .rg-fabs { bottom: calc(5rem + env(safe-area-inset-bottom)); inset-inline-end: 1rem; }
  .agent-grid { grid-template-columns: minmax(0, 1fr); }
  .agent-card { margin-inline: auto; max-width: 340px; padding: 1.25rem; width: 100%; }
  .agent-card > .agent-card__photo {
    border: 1px solid var(--rg-card-border);
    border-radius: 50%;
    height: clamp(132px, 42vw, 164px);
    object-position: center top;
    width: clamp(132px, 42vw, 164px);
  }
  .agent-card:hover { transform: none; }
}

/* Batch 4 — motion and progressive enhancement. */
html:not(.aos-enabled) [data-aos] { opacity: 1 !important; transform: none !important; }
html.no-js .property-swiper { overflow: visible; }
html.no-js .property-swiper .swiper-wrapper { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); transform: none !important; }
html.no-js .property-swiper .swiper-slide { width: auto !important; }

.rg-topbar,
.rg-navbar { transition: background-color .25s ease, box-shadow .25s ease, color .25s ease, top .25s ease, transform .25s ease; }
.rg-topbar { position: fixed; inset-block-start: 0; inset-inline: 0; z-index: 1040; }
.rg-navbar { background: transparent; border-bottom-color: transparent; box-shadow: none; inset-block-start: 40px; inset-inline: 0; position: fixed; }
.rg-navbar .nav-link { color: var(--rg-white); text-shadow: 0 1px 12px rgb(0 0 0 / .25); }
.rg-navbar .nav-link:hover { color: var(--rg-gold-light); }
.rg-navbar .navbar-toggler { background: rgb(255 255 255 / .92); }
.rg-navbar.is-scrolled { background: rgb(255 255 255 / .97); border-bottom-color: rgb(237 230 216 / .8); box-shadow: 0 3px 16px rgb(46 42 38 / .09); }
.rg-navbar.is-scrolled .nav-link { color: var(--rg-heading); text-shadow: none; }
.rg-navbar.is-scrolled .nav-link:hover { color: var(--rg-gold-dark); }
.rg-topbar.is-hidden { transform: translateY(-100%); }
.rg-navbar.topbar-hidden { inset-block-start: 0; }
.rg-hero__image { animation: rg-ken-burns 20s ease-in-out infinite alternate; will-change: transform; }

.js .hero-reveal { animation: rg-hero-reveal .65s both ease-out; }
.js .hero-reveal--1 { animation-delay: .08s; }
.js .hero-reveal--2 { animation-delay: .16s; }
.js .hero-reveal--3 { animation-delay: .24s; }
.js .hero-reveal--4 { animation-delay: .32s; }
.js .hero-reveal--5 { animation-delay: .4s; }
.rg-section-head::after { background: var(--rg-gold-gradient); content: ''; display: block; height: 3px; margin-block-start: .8rem; transform: scaleX(0); transform-origin: right; transition: transform .6s ease; width: 58px; }
[dir='ltr'] .rg-section-head::after { transform-origin: left; }
.rg-section-head.aos-animate::after,
html.no-js .rg-section-head::after { transform: scaleX(1); }
.rg-tab-panel .tab-pane.fade { transform: translateY(12px); transition: opacity .22s ease, transform .22s ease; }
.rg-tab-panel .tab-pane.fade.show { transform: translateY(0); }
.rg-fabs .fab-whatsapp { animation: rg-fab-pulse 2.5s ease-out 3; position: relative; }

@keyframes rg-hero-reveal { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes rg-ken-burns { from { transform: scale(1); } to { transform: scale(1.08); } }
@keyframes rg-fab-pulse { 0% { box-shadow: 0 0 0 0 rgb(37 211 102 / .42), var(--rg-shadow-hover); } 65% { box-shadow: 0 0 0 14px rgb(37 211 102 / 0), var(--rg-shadow-hover); } 100% { box-shadow: 0 0 0 0 rgb(37 211 102 / 0), var(--rg-shadow-hover); } }

@media (hover: hover) {
  .property-card__media img { transition: transform .25s ease; }
  .property-card:hover .property-card__media img { transform: scale(1.025); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .rg-hero__image { transform: none !important; }
}
