/*
Theme Name: Bhartiya City Nikoo Homes
Theme URI: https://www.bhartiyacitynikoohomes.net.in/
Author: Bhartiya City Nikoo Homes marketing partner
Description: SEO-friendly theme for the Bhartiya City Nikoo Homes marketing website at bhartiyacitynikoohomes.net.in (Nikoo Homes 7, 8 and 9 by Bhartiya Urban, North Bengaluru). Forked from the Nakheel Palm Springs theme 1.0.2 and paired with the Bhartiya City Nikoo Homes Companion plugin (importer, Image Manager, Lead Manager, Brevo forms, floor-plan gating).
Version: 1.0.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bcn
Requires at least: 6.0
Requires PHP: 7.4
*/

/* Self-hosted fonts (OFL, see fonts/): Marcellus for headings where
   Optima is not installed; Source Sans 3 for text. */
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/marcellus-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/marcellus-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/source-sans-3-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/source-sans-3-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/source-sans-3-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/source-sans-3-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ============================================================
   BHARTIYA CITY NIKOO HOMES — Ivory & Charcoal Theme (shared design system)
   Prototype stylesheet (shared across all pages)
   ============================================================ */

/* ---------- Design Tokens ---------- */
:root{
  /* palette — warm ivory, charcoal and muted bronze, in the quiet style of
     the developers' own sites. The "teal" vars keep their names. */
  --ivory:#f6f2ec;
  --sand:#efe9e0;
  --sand-deep:#e3dacd;
  --ink:#161616;
  --ink-soft:#45423e;
  --muted:#7a756e;
  --teal:#1d1d1d;
  --teal-deep:#0e0e0e;
  --teal-bright:#3a3a3a;
  --gold:#9a8160;
  --gold-soft:#d9cbb5;
  --line:#e2dbd0;
  --line-soft:#eee8df;
  --white:#ffffff;

  /* type */
  --serif:'Optima','Optima nova','Marcellus','Candara','Segoe UI',sans-serif;
  --sans:'Source Sans 3','Source Sans Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  /* layout */
  --wrap:1240px;
  --gut:clamp(20px,5vw,64px);
  --radius:4px;
  --shadow-sm:0 4px 18px rgba(20,20,20,.06);
  --shadow-md:0 16px 50px rgba(20,20,20,.10);
  --shadow-lg:0 30px 80px rgba(20,20,20,.16);
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:88px}
body{
  font-family:var(--sans);
  color:var(--ink-soft);
  background:var(--ivory);
  line-height:1.65;
  font-size:16px;
  overflow-wrap:break-word;
  /* Defensive only: every element that caused horizontal overflow has been
     fixed at source (header, home payment plan, buttons). This stays as a
     guard against third-party widgets injected by plugins. */
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
video,iframe,embed,object,svg{max-width:100%}
a{color:inherit;text-decoration:none;transition:color .25s var(--ease)}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);font-weight:400;line-height:1.12;letter-spacing:.2px}
h1{font-size:clamp(2.4rem,5.5vw,4.5rem)}
h2{font-size:clamp(1.9rem,3.8vw,3rem)}
h3{font-size:clamp(1.4rem,2.4vw,1.9rem)}
h4{font-size:clamp(1.15rem,1.6vw,1.35rem)}
p{margin-bottom:1.1rem}
.eyebrow{
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:.72rem;
  font-weight:500;
  color:var(--gold);
  margin-bottom:1rem;
  display:inline-block;
}
.lead{font-size:1.12rem;color:var(--ink-soft)}

/* ---------- Layout helpers ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);padding-left:max(var(--gut),env(safe-area-inset-left));padding-right:max(var(--gut),env(safe-area-inset-right))}
.section{padding:clamp(38px,5vw,64px) 0;scroll-margin-top:120px}
.section--tint{background:var(--sand)}
.center{text-align:center}
.section-head{max-width:680px;margin:0 auto clamp(22px,3vw,38px)}
.section-head.center{text-align:center}
.divider{
  width:54px;height:2px;background:var(--gold);
  margin:1.2rem 0;border:none
}
.section-head.center .divider{margin:1.2rem auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--sans);font-weight:500;font-size:.82rem;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.95em 1.9em;border-radius:var(--radius);
  transition:all .3s var(--ease);cursor:pointer;
  white-space:nowrap;max-width:100%;
}
.btn--gold{background:var(--gold);color:var(--white)}
.btn--gold:hover{background:var(--teal);color:var(--white);transform:translateY(-2px)}
.btn--teal{background:var(--teal);color:var(--white)}
.btn--teal:hover{background:var(--teal-deep);transform:translateY(-2px)}
.btn--ghost{border:1px solid var(--gold);color:var(--ink)}
.btn--ghost:hover{background:var(--gold);color:var(--white)}
.btn--outline-light{border:1px solid rgba(255,255,255,.6);color:var(--white)}
.btn--outline-light:hover{background:var(--white);color:var(--teal)}
.btn--lg{padding:1.1em 2.4em;font-size:.85rem}
.btn--sm{padding:.6em 1.2em;font-size:.7rem}
/* Small phones: long button labels wrap inside the button instead of
   pushing the page wider (e.g. "Get Detailed Payment Plan" at 320px). */
@media(max-width:480px){
  .btn{white-space:normal;text-align:center;justify-content:center;line-height:1.35}
  .btn--lg{padding:1em 1.6em}
}

/* ============================================================
   HEADER
   ============================================================ */
.topbar{
  background:var(--teal-deep);color:var(--sand);
  font-size:.78rem;letter-spacing:.04em;
}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:16px}
.topbar a:hover{color:var(--gold-soft)}
.topbar__left{display:flex;gap:22px;align-items:center}
.topbar__right{display:flex;gap:18px;align-items:center}
.topbar__right .sep{opacity:.4}

.header{
  position:sticky;top:0;z-index:200;
  background:rgba(251,248,243,.92);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease);
}
.header.scrolled{box-shadow:var(--shadow-sm)}
.header__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;min-height:74px;
}
.brand{display:flex;align-items:center;line-height:1;flex:0 1 auto;min-width:0;margin-right:auto}
.brand__name{
  font-family:var(--serif);font-size:1.55rem;font-weight:400;
  color:var(--teal);letter-spacing:1px;line-height:1.1;
}
.brand__sub{
  font-family:var(--sans);font-size:.6rem;letter-spacing:.34em;
  text-transform:uppercase;color:var(--gold);
}

/* nav */
.nav{display:flex;align-items:center;gap:6px}
/* The <ul> inside the nav must stay on ONE line. This overrides the inline
   critical-CSS failsafe (which allows wrapping only as a degraded fallback
   when this stylesheet fails to load). */
.nav ul{display:flex;align-items:center;flex-wrap:nowrap;gap:0;list-style:none;margin:0;padding:0}
.nav > ul{display:flex;align-items:center;gap:4px}
.nav__link{
  display:flex;align-items:center;gap:5px;white-space:nowrap;
  padding:10px 14px;font-size:.82rem;font-weight:500;
  letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);
  border-radius:var(--radius);
}
.nav__link:hover{color:var(--teal)}
.nav__item{position:relative}
.nav__item.has-mega{position:static}
.caret{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.nav__item:hover .caret{transform:rotate(-135deg) translateY(-1px)}

/* mega dropdown */
.mega{
  position:absolute;left:50%;top:100%;transform:translateX(-50%);
  width:min(760px,92vw);
  background:var(--white);border:1px solid var(--line);
  border-radius:8px;box-shadow:var(--shadow-md);
  margin-top:0;padding:26px 30px;
  grid-template-columns:1fr 1fr;gap:8px 36px;
  transition:opacity .28s var(--ease);
  z-index:300;
}
/* Invisible bridge so the mouse can travel from the trigger to the dropdown
   without crossing a gap that would close it. */
.nav__item.has-mega{position:relative}
.nav__item.has-mega::after{content:"";position:absolute;left:0;right:0;top:100%;height:18px}
.nav__item.has-mega:hover .mega{display:grid;opacity:1;visibility:visible;transform:translateX(-50%) translateY(8px);pointer-events:auto}
/* Row-based mega menu: clusters on row 1, community links on row 2. */
.mega--rows{grid-template-columns:1fr;gap:18px;width:min(560px,92vw)}
.nav__item.has-mega:hover .mega--rows{display:block}
.mega__row + .mega__row{border-top:1px solid var(--line);padding-top:16px}
.mega__row h5{
  font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:12px;
}
.mega__links{display:flex;flex-wrap:wrap;gap:8px 26px}
.mega__links a{
  font-size:.9rem;color:var(--ink-soft);padding:5px 0;
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s;
}
.mega__links a:hover{color:var(--teal);border-color:var(--gold-soft)}
.mega__col h5{
  font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:10px;
  padding-bottom:8px;border-bottom:1px solid var(--line);
}
.mega__col a{
  display:block;padding:7px 0;font-size:.88rem;color:var(--ink-soft);
  border-bottom:1px dashed transparent;
}
.mega__list{list-style:none;margin:0;padding:0}
.mega__list li{list-style:none;margin:0}
.mega__list li a{display:block;padding:7px 0;font-size:.88rem;color:var(--ink-soft);text-decoration:none}
.mega__list li a:hover{color:var(--teal);padding-left:6px}
.mega__col a:hover{color:var(--teal);padding-left:6px}
.mega__col a span{display:block;font-size:.72rem;color:var(--muted)}

.header__cta{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.header__phone{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-weight:600;font-size:.86rem;color:var(--teal);
  padding:9px 14px;border:1px solid var(--line);border-radius:var(--radius);
}
.header__phone:hover{border-color:var(--gold);color:var(--gold)}

/* ---------- burger ---------- */
.burger{display:none;flex-direction:column;gap:5px;padding:8px}
.burger span{width:24px;height:2px;background:var(--ink);transition:.3s}

/* ============================================================
   STICKY SUB / SECONDARY NAV (cluster + inner pages)
   ============================================================ */
.subnav{
  position:sticky;top:var(--header-h,74px);z-index:150;
  background:var(--white);
  border-bottom:1px solid var(--line);
  box-shadow:var(--shadow-sm);
}
.subnav__inner{display:flex;align-items:center;gap:6px;min-height:54px;overflow-x:auto;scrollbar-width:none}
.subnav__inner::-webkit-scrollbar{display:none}
.subnav__title{
  font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--teal);
  white-space:nowrap;margin-right:8px;padding-right:18px;border-right:1px solid var(--line);
}
.subnav__title:hover{color:var(--gold)}
.subnav__links{display:flex;gap:2px;align-items:center}
.subnav__links a{
  white-space:nowrap;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  font-weight:500;color:var(--ink-soft);padding:9px 14px;border-radius:var(--radius);
  border-bottom:2px solid transparent;
}
.subnav__links a:hover{color:var(--teal);background:var(--sand)}
.subnav__links a.active{color:var(--teal);border-bottom-color:var(--gold)}
@media(max-width:680px){
  .subnav__title{font-size:.92rem;padding-right:12px;margin-right:4px}
  .subnav__links a{padding:9px 11px;font-size:.72rem}
}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:400;visibility:hidden;pointer-events:none}
.drawer__scrim{position:absolute;inset:0;background:rgba(18,16,14,.4);opacity:0;transition:.3s}
.drawer__panel{
  position:absolute;right:0;top:0;height:100%;width:min(360px,86vw);
  background:var(--ivory);box-shadow:var(--shadow-lg);
  transform:translateX(100%);transition:transform .35s var(--ease);
  overflow-y:auto;padding:24px;
  padding-right:max(24px,env(safe-area-inset-right));padding-bottom:max(24px,env(safe-area-inset-bottom));padding-top:max(24px,env(safe-area-inset-top));
}
.drawer.open{visibility:visible;pointer-events:auto}
.drawer.open .drawer__scrim{opacity:1}
.drawer.open .drawer__panel{transform:translateX(0)}
.drawer__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.drawer__close{font-size:1.6rem;color:var(--ink);line-height:1}
.drawer__panel nav a{display:block;padding:13px 4px;border-bottom:1px solid var(--line);font-size:.95rem;letter-spacing:.04em}
.drawer__group > span{display:block;font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:18px 0 4px}
.drawer__panel .btn{width:100%;justify-content:center;margin-top:16px}

/* ============================================================
   HERO SLIDER
   ============================================================ */
.hero{position:relative;height:min(88vh,760px);min-height:520px;overflow:hidden}
@supports (height:100svh){.hero{height:min(88svh,760px)}}
.hero__slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1.4s var(--ease);
  background-size:cover;background-position:center;
}
.hero__slide.active{opacity:1}
.hero__slide::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(18,16,14,0) 0%,rgba(18,16,14,0) 52%,rgba(18,16,14,.30) 70%,rgba(18,16,14,.72) 100%);
}
.hero__inner{
  position:relative;z-index:3;height:100%;
  display:flex;flex-direction:column;justify-content:center;
  max-width:var(--wrap);margin:0 auto;padding:0 var(--gut);
  padding-left:max(var(--gut),env(safe-area-inset-left));padding-right:max(var(--gut),env(safe-area-inset-right));
}
/* Lower hero: keep the top ~60% of the image clear; the title block begins in
   the lower portion. */
.hero--lower .hero__inner{justify-content:flex-end;padding-bottom:clamp(46px,8vh,104px)}
.hero__content{max-width:760px;color:var(--white)}
.hero .eyebrow{color:var(--gold-soft)}
/* Slim, elegant rotating keyword line above the title. */
.hero__rotator{
  display:block;font-weight:400;letter-spacing:.32em;text-transform:uppercase;
  font-size:.8rem;color:#f3dcb4;margin-bottom:14px;font-weight:500;
  text-shadow:0 1px 3px rgba(0,0,0,.65),0 0 18px rgba(0,0,0,.45);
  transition:opacity .28s ease;
}
.hero h1,.hero__title{color:var(--white);margin-bottom:.45em;text-shadow:0 2px 30px rgba(0,0,0,.3)}
.hero__title{font-family:var(--serif);font-size:clamp(2.3rem,5.2vw,3.8rem);font-weight:400;line-height:1.06}
/* Slim secondary keyword line beneath the main title. */
.hero__title-sub{
  display:block;font-family:var(--sans);font-weight:300;
  font-size:clamp(.95rem,1.8vw,1.25rem);letter-spacing:.04em;
  color:rgba(255,255,255,.88);margin-top:.5em;text-shadow:0 1px 14px rgba(0,0,0,.3);
}
.about__h1{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.3rem);font-weight:400;color:var(--ink);line-height:1.2}
.hero__tag{font-size:1.15rem;color:rgba(255,255,255,.9);max-width:540px;margin-bottom:1.8em;transition:opacity .28s ease}
.hero__tag--fade,.hero__rotator.hero__tag--fade{opacity:0}
.hero__btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.6em}
.hero__price{
  margin-top:2.2em;display:inline-flex;align-items:baseline;gap:10px;
  padding:14px 22px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.hero__price small{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-soft)}
.hero__price b{font-family:var(--serif);font-size:1.6rem;color:var(--white);font-weight:400}

.hero__dots{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  z-index:4;display:flex;gap:10px;
}
.hero__dots button{width:36px;height:3px;background:rgba(255,255,255,.4);border-radius:2px;transition:.3s}
.hero__dots button.active{background:var(--gold)}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.crumbs{background:var(--sand);border-bottom:1px solid var(--line);font-size:.8rem;letter-spacing:.02em}
.crumbs .wrap{padding-top:13px;padding-bottom:13px}
.crumbs ol{list-style:none;display:flex;flex-wrap:nowrap;gap:10px;align-items:center;color:var(--muted);min-width:0}
.crumbs li{white-space:nowrap}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--teal)}
.crumbs .sep{opacity:.45;font-size:.72rem}
.crumbs [aria-current]{color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;max-width:70vw}

/* ============================================================
   ABOUT
   ============================================================ */
.about__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,5vw,72px);align-items:center}
.about__grid>*,.loc__grid>*,.touch__grid>*,.fp__grid>*,.gallery__grid>*,.footer__grid>*,.bloggrid>*,.cl-grid>*,.amenities__grid>*,.payplan__grid>*,.pay__grid>*,.highlights__table>*{min-width:0}
.about__media{position:relative}
.about__media img{border-radius:6px;box-shadow:var(--shadow-md);width:100%;height:100%;object-fit:cover;aspect-ratio:4/4.6}
.about__badge{
  position:absolute;bottom:-26px;left:-26px;
  background:var(--teal);color:var(--white);padding:22px 26px;border-radius:6px;
  box-shadow:var(--shadow-md);text-align:center;
}
.about__badge b{font-family:var(--serif);font-size:2rem;display:block;line-height:1}
.about__badge span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}
.about__body p a{color:var(--teal);font-weight:600;border-bottom:1px solid var(--gold-soft)}
.about__body p a:hover{color:var(--gold)}
/* Stacked About layout: two paragraphs full-width, then a full-width image.
   The body copy stays readable (max 860px) while the image spans the wrap. */
.about__body--full{max-width:860px;margin:0 auto;text-align:left}
.about__body--full .eyebrow,.about__body--full h2{display:block}
.about__stats{display:flex;gap:30px;margin-top:1.6rem;flex-wrap:wrap}
.about__stats div b{font-family:var(--serif);font-size:1.8rem;color:var(--teal);display:block;line-height:1}
.about__stats div span{font-size:.78rem;color:var(--muted);letter-spacing:.05em}

/* ============================================================
   HIGHLIGHTS TABLE
   ============================================================ */
.highlight__table{
  background:var(--white);border:1px solid var(--line);border-radius:8px;
  overflow:hidden;box-shadow:var(--shadow-sm);max-width:960px;margin:0 auto;
}
.highlight__row{
  display:grid;grid-template-columns:240px 1fr;
  border-bottom:1px solid var(--line);
}
.highlight__row:last-child{border-bottom:none}
.highlight__row:nth-child(even){background:var(--sand)}
.highlight__row dt{
  padding:16px 24px;font-weight:600;color:var(--teal);
  font-size:.86rem;letter-spacing:.04em;text-transform:uppercase;
  background:rgba(29,29,29,.04);
}
.highlight__row dd{padding:16px 24px;color:var(--ink-soft)}

/* ============================================================
   PRICE TABLE
   ============================================================ */
.price__desc{max-width:760px;margin:0 auto 2.4rem;text-align:center;color:var(--ink-soft)}
/* inline links in body prose (internal links get underline border) */
.price__desc a,
.faq__a p a,
.section-head p a,
.loc__grid > div p a,
.touch__info p a{color:var(--teal);font-weight:600;border-bottom:1px solid var(--gold-soft)}
.price__desc a:hover,
.faq__a p a:hover,
.section-head p a:hover,
.loc__grid > div p a:hover,
.touch__info p a:hover{color:var(--gold)}
.price__table{
  width:100%;border-collapse:collapse;
  background:var(--white);border-radius:8px;overflow:hidden;
  box-shadow:var(--shadow-sm);border:1px solid var(--line);
}
.price__table thead{background:var(--teal);color:var(--white)}
.price__table th{
  padding:16px 20px;text-align:left;font-family:var(--sans);
  font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
}
.price__table td{padding:16px 20px;border-bottom:1px solid var(--line);font-size:.92rem}
.price__table tbody tr:nth-child(even){background:var(--sand)}
.price__table tbody tr:hover{background:var(--sand-deep)}
.price__table tr:last-child td{border-bottom:none}
.price__table .unit{font-weight:600;color:var(--ink)}
.price__table .price{font-family:var(--serif);font-size:1.15rem;color:var(--teal);font-weight:400}
.price__table .price small{display:block;font-family:var(--sans);font-size:.72rem;color:var(--muted);font-weight:400}
.price__cta{text-align:center;margin-top:2rem}
/* price callout teaser */
.price__callout{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--teal) 0%,var(--teal-deep) 100%);
  color:var(--sand);border-radius:10px;padding:30px 36px;margin:0 auto 2.6rem;
  max-width:920px;box-shadow:var(--shadow-md);position:relative;overflow:hidden;
}
.price__callout::before{content:"";position:absolute;top:-60px;right:-40px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(189,154,95,.28),transparent 70%)}
.price__callout__info{position:relative;z-index:2}
.price__callout__info small{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);display:block;margin-bottom:6px}
.price__callout__info b{font-family:var(--serif);font-size:2.3rem;font-weight:400;color:#fff;line-height:1;display:block}
.price__callout__info span.unit-lbl{font-size:.9rem;color:rgba(251,248,243,.8);display:block;margin-top:6px}
.price__callout .btn{position:relative;z-index:2;flex:0 0 auto}
@media(max-width:560px){.price__callout{padding:26px 24px;text-align:center;justify-content:center}.price__callout .btn{width:100%;justify-content:center}}
.price__group td{background:var(--teal-deep)!important;color:var(--gold-soft)!important;
  font-family:var(--serif);font-size:1.05rem;font-weight:400;letter-spacing:.04em;padding:12px 20px!important}
.price__table--master .unit a{color:var(--ink);font-weight:600}
.price__table--master .unit a:hover{color:var(--teal)}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ============================================================
   FLOOR PLANS (locked)
   ============================================================ */
.fp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
/* 6-image floor-plan grid (front page + floor-plans page): 3 columns x 2 rows */
.fp__grid--six{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.fp__grid--six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.fp__grid--six{grid-template-columns:1fr}}
.fp__card{
  background:var(--white);border:1px solid var(--line);border-radius:8px;
  overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s;
}
.fp__card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.fp__imgwrap{position:relative;aspect-ratio:4/3;overflow:hidden;cursor:pointer}
.fp__imgwrap img{width:100%;height:100%;object-fit:cover;transition:filter .4s,transform .6s var(--ease)}
.fp__imgwrap.locked img{filter:blur(14px) saturate(.7);transform:scale(1.08)}
.fp__lock{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
  background:rgba(29,29,29,.28);color:var(--white);text-align:center;padding:20px;
}
.fp__imgwrap:not(.locked) .fp__lock{display:none}
.fp__lock svg{width:30px;height:30px}
.fp__lock span{font-size:.82rem;letter-spacing:.08em;max-width:200px}
.fp__cap{padding:16px 20px;text-align:center}
.fp__cap b{font-family:var(--serif);font-size:1.15rem;color:var(--ink);display:block}
.fp__cap span{font-size:.8rem;color:var(--muted)}
.fp__more{text-align:center;margin-top:2.4rem}

/* ============================================================
   GALLERY
   ============================================================ */
.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery__item{
  position:relative;overflow:hidden;border-radius:6px;cursor:pointer;
  aspect-ratio:1/1;box-shadow:var(--shadow-sm);
}
@media(max-width:760px){.gallery__item{aspect-ratio:4/3}}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.gallery__item:hover img{transform:scale(1.07)}
.gallery__item::after{
  content:"+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:2rem;color:var(--white);background:rgba(29,29,29,0);opacity:0;transition:.35s;
  font-family:var(--sans);font-weight:300;
}
.gallery__item:hover::after{background:rgba(29,29,29,.35);opacity:1}

/* ============================================================
   PAYMENT PLAN
   ============================================================ */
.pay__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:step}
.pay__step{
  background:var(--white);border:1px solid var(--line);border-radius:8px;
  padding:30px 24px;position:relative;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease);
}
.pay__step:hover{transform:translateY(-5px);border-color:var(--gold-soft)}
.pay__step b{font-family:var(--serif);font-size:2.6rem;color:var(--teal);display:block;line-height:1}
.pay__step .pct-label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:8px 0}
.pay__step p{font-size:.88rem;color:var(--ink-soft);margin:0}
.pay__step::before{
  counter-increment:step;content:counter(step,decimal-leading-zero);
  position:absolute;top:14px;right:18px;font-size:.8rem;color:var(--sand-deep);font-weight:700;
}

/* ============================================================
   LOCATION (no google map)
   ============================================================ */
.loc__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,60px);align-items:center}
.loc__map{
  position:relative;border-radius:8px;overflow:hidden;
  box-shadow:var(--shadow-md);aspect-ratio:4/3.6;
  background:linear-gradient(135deg,#ebe5db,#d6ccbd);
}
.loc__map img{width:100%;height:100%;object-fit:cover}
.loc__list li{
  display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:flex-start;
}
.loc__list li:last-child{border-bottom:none}
.loc__list .pin{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:rgba(29,29,29,.08);
  display:flex;align-items:center;justify-content:center;color:var(--teal)}
.loc__list b{display:block;color:var(--ink);font-size:.95rem}
.loc__list span{font-size:.85rem;color:var(--muted)}

/* ============================================================
   CARD SLIDERS (clusters / other projects)
   ============================================================ */
.slider{position:relative}
.slider__track{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);
  gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:12px;scrollbar-width:thin;
}
.slider__track::-webkit-scrollbar{height:6px}
.slider__track::-webkit-scrollbar-thumb{background:var(--gold-soft);border-radius:3px}

.pcard{
  scroll-snap-align:start;background:var(--white);border:1px solid var(--line);
  border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);
  flex:0 0 400px;max-width:400px;
  display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s;
}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
/* Responsive card grid (used on the homepage project sections). Cards in a
   .pgrid drop their fixed slider width and flow into a fluid grid. */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.pgrid .pcard{flex:initial;max-width:none}
.pcard__img{position:relative;aspect-ratio:4/4.4;overflow:hidden}
.pcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pcard:hover .pcard__img img{transform:scale(1.07)}
.pcard__tag{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--white);
  font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:3px}
.pcard__body{padding:26px 24px;display:flex;flex-direction:column;flex:1}
.pcard__loc{font-size:.74rem;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:5px}
.pcard__body h4{margin-bottom:8px}
.pcard__body p{font-size:.88rem;color:var(--ink-soft);margin-bottom:14px;flex:1}
.pcard__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}
.pcard__price b{font-family:var(--serif);color:var(--teal);font-size:1.15rem}
.pcard__price span{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.pcard__link{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.pcard__link:hover{color:var(--teal)}
.slider__nav{display:flex;gap:10px;justify-content:flex-end;margin-bottom:20px}
.slider__nav button{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--line);
  background:var(--white);color:var(--teal);display:flex;align-items:center;justify-content:center;
  transition:.25s;font-size:1.1rem;
}
.slider__nav button:hover{background:var(--teal);color:var(--white);border-color:var(--teal)}

.other-projects__note{max-width:820px;margin:2.4rem auto 0;text-align:center;font-size:.92rem;color:var(--ink-soft)}
.other-projects__note a{color:var(--teal);font-weight:600;border-bottom:1px solid var(--gold-soft)}
.other-projects__note a:hover{color:var(--gold)}

/* ============================================================
   FAQ
   ============================================================ */
.faq{max-width:840px;margin:0 auto}
.faq__item{border-bottom:1px solid var(--line)}
.faq__q{
  width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:18px;
  padding:22px 4px;font-family:var(--serif);font-size:1.18rem;color:var(--ink);font-weight:400;
}
.faq__q .ic{flex:0 0 auto;width:26px;height:26px;border:1px solid var(--gold);border-radius:50%;
  position:relative;transition:.3s}
.faq__q .ic::before,.faq__q .ic::after{content:"";position:absolute;background:var(--gold);
  left:50%;top:50%;transform:translate(-50%,-50%);transition:.3s}
.faq__q .ic::before{width:11px;height:1.5px}
.faq__q .ic::after{width:1.5px;height:11px}
.faq__item.open .ic{background:var(--gold)}
.faq__item.open .ic::before,.faq__item.open .ic::after{background:var(--white)}
.faq__item.open .ic::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq__a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
.faq__a p{padding:0 4px 22px;color:var(--ink-soft);margin:0;font-size:.95rem}

/* ============================================================
   GET IN TOUCH
   ============================================================ */
.touch{background:var(--teal-deep);color:var(--sand);position:relative;overflow:hidden}
.touch::before{
  content:"";position:absolute;top:-120px;right:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(189,154,95,.22),transparent 70%);
}
.touch .wrap{position:relative;z-index:2}
.touch__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(36px,6vw,80px);align-items:center}
.touch .eyebrow{color:var(--gold-soft)}
.touch h2{color:var(--white)}
.touch__info p{color:rgba(251,248,243,.78)}
.touch__contacts{margin-top:1.8rem;display:flex;flex-direction:column;gap:16px}
.touch__contacts a{display:flex;gap:14px;align-items:center;color:var(--sand)}
.touch__contacts .ic{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;color:var(--gold-soft);flex:0 0 auto}
.touch__contacts b{display:block;color:var(--white);font-size:1rem}
.touch__contacts span{font-size:.8rem;color:rgba(251,248,243,.6)}

/* forms */
.form{background:var(--white);border-radius:10px;padding:clamp(26px,4vw,40px);box-shadow:var(--shadow-lg)}
.form h3{color:var(--ink);margin-bottom:4px}
.form__sub{font-size:.88rem;color:var(--muted);margin-bottom:22px}
.field{margin-bottom:16px}
.field label{display:block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;font-weight:500}
.field input,.field textarea,.field select{
  width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius);
  font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--ivory);
  transition:border .25s,box-shadow .25s;
}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(189,154,95,.15);background:var(--white)
}
.field textarea{resize:vertical;min-height:90px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--muted);margin-bottom:18px}
.consent input{width:16px;height:16px;margin-top:3px;flex:0 0 auto;accent-color:var(--teal)}
.consent a{color:var(--teal);text-decoration:underline}
.form .btn{width:100%;justify-content:center}
.form__ok{display:none;text-align:center;padding:30px 10px;color:var(--teal)}
.form__ok.show,.form__ok.show[hidden]{display:block}
.form__ok svg{width:54px;height:54px;margin:0 auto 14px}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--ink);color:rgba(251,248,243,.7);padding-top:clamp(56px,7vw,90px)}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px}
.footer__brand .brand__name{color:var(--white)}
.footer__brand p{font-size:.9rem;margin-top:14px;max-width:320px}
.footer__contacts{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.footer__contacts .footer__contact-row{display:flex;align-items:center;gap:10px;color:rgba(251,248,243,.82);font-size:.9rem;transition:color .2s}
.footer__contacts .footer__contact-row svg{flex:0 0 auto;opacity:.85}
.footer__contacts .footer__contact-row:hover{color:var(--gold-soft)}
.footer h5{font-family:var(--sans);color:var(--white);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.footer ul li{margin-bottom:2px}
.footer ul a{font-size:.9rem;display:inline-block;padding:7px 0;min-height:32px}
.footer ul a:hover{color:var(--gold-soft)}
.footer__social{display:flex;gap:12px;margin-top:18px}
.footer__social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;color:rgba(251,248,243,.7);transition:.25s}
.footer__social a:hover{background:var(--gold);border-color:var(--gold);color:var(--white)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;font-size:.8rem;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.footer__bottom a:hover{color:var(--gold-soft)}
.footer__disc{font-size:.74rem;color:rgba(251,248,243,.4);max-width:var(--wrap);margin:0 auto;padding:0 var(--gut) 26px;line-height:1.6}

/* ============================================================
   POPUPS / MODALS / LIGHTBOX
   ============================================================ */
.modal{position:fixed;inset:0;z-index:500;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal__scrim{position:absolute;inset:0;background:rgba(18,16,14,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.modal__box{
  position:relative;z-index:2;width:min(370px,100%);max-height:88vh;overflow-y:auto;
  background:var(--white);border-radius:12px;box-shadow:var(--shadow-lg);
  padding:clamp(18px,2.5vw,26px);animation:pop .4s var(--ease);
}
@keyframes pop{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.modal__close{position:absolute;top:14px;right:16px;font-size:1.7rem;color:var(--muted);line-height:1;z-index:3}
.modal__close:hover{color:var(--ink)}
.modal__eyebrow{color:var(--gold);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;font-weight:500}
.modal h3{color:var(--ink);margin:6px 0 4px}
.modal p.modal__sub{font-size:.88rem;color:var(--muted);margin-bottom:20px}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:600;display:none;align-items:center;justify-content:center;
  background:rgba(10,20,20,.92);padding:16px}
.lightbox.open{display:flex}
.lightbox img{max-width:96vw;max-height:92vh;width:auto;height:auto;border-radius:6px;box-shadow:var(--shadow-lg);background:#fff}
.lightbox__close{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(22px,env(safe-area-inset-right));font-size:2.4rem;color:#fff;line-height:1;cursor:pointer;z-index:5;padding:8px}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);font-size:2.8rem;color:#fff;
  cursor:pointer;padding:18px 22px;-webkit-user-select:none;user-select:none;opacity:.85;transition:.2s;z-index:5;line-height:1}
.lightbox__nav:hover{opacity:1}
.lightbox__prev{left:6px}.lightbox__next{right:6px}
.lightbox__cap{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:#fff;
  font-size:.86rem;letter-spacing:.05em;background:rgba(0,0,0,.4);padding:7px 16px;border-radius:20px}

/* whatsapp float */
.wa-float{position:fixed;bottom:22px;right:22px;left:auto;z-index:420;width:56px;height:56px;border-radius:50%;
  background:#25D366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,.45);transition:transform .3s}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:34px;height:34px}

/* legal / prose pages */
.legal{max-width:840px;margin:0 auto}
.legal h3{font-size:1.4rem;margin:2rem 0 .6rem;color:var(--ink)}
.legal h3:first-child{margin-top:0}
.legal p{color:var(--ink-soft);margin-bottom:1rem}
.legal ul.bullets{margin:0 0 1.2rem 1.2rem;list-style:disc}
.legal ul.bullets li{margin-bottom:.5rem;color:var(--ink-soft)}
.legal a{color:var(--teal);border-bottom:1px solid var(--gold-soft)}
.legal a:hover{color:var(--gold)}
.legal__updated{font-size:.85rem;color:var(--muted);font-style:italic;margin-bottom:2rem}

/* reveal on scroll */
/* Reveal animation is a progressive enhancement only. Content is visible by
   default so it never depends on JS (also better for SEO). When JS is active it
   adds .js-on to <html>, enabling the fade-up animation. */
.reveal{opacity:1;transform:none}
.js-on .reveal{opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.js-on .reveal.in{opacity:1;transform:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* Header: switch to the burger menu below 1241px. The long
   "BHARTIYA CITY NIKOO HOMES" brand plus the full desktop menu and the Enquire
   button need about 1,080px of content width, which is only available from
   1241px with the standard page gutters. */
@media(max-width:1240px){
  .nav,.header__phone span{display:none}
  .burger{display:flex}
  .header__cta .btn{display:none}
  .brand__name{font-size:clamp(1.05rem,.2rem + 4.4vw,1.55rem)}
}
/* Desktop / laptop: the brand stays on one line and the phone number is
   always shown in full. Brand + menu + number + Enquire need about 1,200px,
   so from 1361px the header row widens to 1,400px (page content stays at
   1,240px); between 1241px and 1360px the Enquire button is left to the hero
   and page buttons so the number still fits. */
@media(min-width:1241px){
  .brand{flex:0 0 auto}
  .brand__name{font-size:1.3rem;white-space:nowrap}
  .nav__link{padding:10px 12px}
}
@media(min-width:1241px) and (max-width:1360px){
  .nav__link{padding:10px 11px}
  .header__inner{gap:16px}
}
/* The brand + six-item menu needs the room; project
   headers have shorter names and keep the Enquire button. */
@media(min-width:1241px) and (max-width:1360px){
  .header--longbrand .header__cta .btn{display:none}
}
@media(min-width:1361px){
  .header .header__inner{max-width:1400px}
}
@media(max-width:420px){
  .header__inner{gap:12px}
  .header__cta{gap:8px}
}
@media(max-width:1024px){
  .about__grid,.loc__grid,.touch__grid{grid-template-columns:1fr}
  .about__media{max-width:480px;margin:0 auto}
  .pay__grid{grid-template-columns:repeat(2,1fr)}
  .slider__track{grid-auto-columns:calc((100% - 24px)/2)}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .topbar__left{display:none}
  .topbar .wrap{justify-content:center}
  .highlight__row{grid-template-columns:1fr}
  .highlight__row dt{padding-bottom:4px}
  .highlight__row dd{padding-top:4px}
  .fp__grid,.gallery__grid{grid-template-columns:1fr 1fr}
  .pay__grid{grid-template-columns:1fr}
  .slider__track{grid-auto-columns:88%}
  .footer__grid{grid-template-columns:1fr;text-align:center;gap:32px}
  .footer__brand p{max-width:none;margin-left:auto;margin-right:auto}
  .footer__social{justify-content:center}
  .footer__contacts{align-items:center}
  .footer__contacts .footer__contact-row{justify-content:center}
  .footer__bottom{flex-direction:column;align-items:center;text-align:center;gap:10px}
  .footer__disc{text-align:center;padding-left:20px;padding-right:20px}
  .hero__btns{flex-direction:column;align-items:flex-start}
  .hero__btns .btn{width:auto}
}
@media(max-width:420px){
  .fp__grid,.gallery__grid{grid-template-columns:1fr}
}

/* ============================================================
   EXTERNAL (OUTBOUND) LINKS — read as natural text, no underline.
   Internal site links keep their underline border; only http(s)
   links to other domains are stripped. Excludes header/footer
   nav and social icons which are styled separately.
   ============================================================ */
.about__body p a[href^="http"],
.other-projects__note a[href^="http"],
.price__desc a[href^="http"],
.faq__a p a[href^="http"],
.section-head p a[href^="http"],
.loc__grid > div p a[href^="http"],
.touch__info p a[href^="http"],
.legal a[href^="http"]{
  border-bottom:none;
  text-decoration:none;
  font-weight:inherit;
  color:inherit;
}
.about__body p a[href^="http"]:hover,
.other-projects__note a[href^="http"]:hover,
.price__desc a[href^="http"]:hover,
.faq__a p a[href^="http"]:hover,
.section-head p a[href^="http"]:hover,
.loc__grid > div p a[href^="http"]:hover,
.touch__info p a[href^="http"]:hover,
.legal a[href^="http"]:hover{
  color:var(--teal);
}

/* ============================================================
   MOBILE BOTTOM ACTION BAR (Call · WhatsApp · Enquire)
   ============================================================ */
.mobile-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:430;
  display:none;
  background:var(--white);
  border-top:1px solid var(--line);
  box-shadow:0 -6px 24px rgba(20,20,20,.12);
  padding:8px;gap:8px;
  padding-bottom:calc(8px + env(safe-area-inset-bottom));
  padding-left:max(8px,env(safe-area-inset-left));
  padding-right:max(8px,env(safe-area-inset-right));
}
.mobile-bar a,.mobile-bar button{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  padding:9px 4px;min-width:0;white-space:nowrap;border-radius:var(--radius);transition:.2s;line-height:1;
}
.mobile-bar svg{width:20px;height:20px}
.mobile-bar .mb-call{background:var(--sand);color:var(--teal)}
.mobile-bar .mb-wa{background:#25D366;color:#fff}
.mobile-bar .mb-enq{background:var(--gold);color:#fff}
.mobile-bar a:active,.mobile-bar button:active{transform:scale(.97)}

@media(max-width:768px){
  .mobile-bar{display:flex}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}            /* room for the bar */
  .wa-float{bottom:calc(80px + env(safe-area-inset-bottom));left:auto;right:max(16px,env(safe-area-inset-right));width:52px;height:52px} /* above the Enquire bar, right side */
  .wa-float svg{width:30px;height:30px}
}

/* ============================================================
   FOOTER — contact row (used in column 1 contacts)
   ============================================================ */
.footer__contact-row{
  display:flex;align-items:center;gap:10px;
  color:rgba(251,248,243,.82);font-size:.9rem;padding:3px 0;transition:color .2s;
}
.footer__contact-row svg{flex:0 0 auto;opacity:.85}
.footer__contact-row:hover{color:var(--gold-soft)}

/* ============================================================
   CLUSTERS OVERVIEW PAGE
   ============================================================ */
.cl-group{margin-bottom:48px}
.cl-group__title{
  font-family:var(--serif);font-size:1.7rem;color:var(--ink);margin-bottom:22px;
  padding-bottom:10px;border-bottom:2px solid var(--gold-soft);display:inline-block;
}
.cl-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:26px;
}
.cl-card{
  display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.cl-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.cl-card__img{aspect-ratio:3/2;overflow:hidden;background:var(--sand)}
.cl-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.cl-card:hover .cl-card__img img{transform:scale(1.05)}
.cl-card__body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.cl-card__body h4{font-family:var(--serif);font-size:1.22rem;color:var(--ink);margin-bottom:7px;line-height:1.2}
.cl-card__body p{font-size:.9rem;color:var(--ink-soft);margin-bottom:16px;flex:1}
.cl-card__foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}
.cl-card__price{font-family:var(--sans);font-weight:600;color:var(--teal);font-size:.92rem}
.cl-card__link{font-size:.85rem;font-weight:600;color:var(--gold);letter-spacing:.03em}
@media(max-width:900px){.cl-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:560px){.cl-grid{grid-template-columns:1fr}.cl-group__title{font-size:1.4rem}}

/* card sizing responsive */
@media(max-width:560px){
  .pcard{flex:0 0 300px;max-width:300px}
}

/* ============================================================
   WORDPRESS — floor-plan gating & integration helpers
   ============================================================ */
/* When a visitor has submitted a form, body.fp-unlocked removes the blur/lock */
body.fp-unlocked .fp__imgwrap.locked img{filter:none}
body.fp-unlocked .fp__imgwrap.locked .fp__lock{display:none}
body.fp-unlocked .fp__imgwrap.locked{cursor:zoom-in}
/* WP admin bar offset for the sticky header */
.admin-bar .header{top:32px}
@media(max-width:782px){.admin-bar .header{top:46px}}
.admin-bar .subnav{top:calc(var(--header-h,74px) + 32px)}
@media(max-width:782px){.admin-bar .subnav{top:calc(var(--header-h,74px) + 46px)}}

/* ============================================================
   WORDPRESS — mobile drawer accordion (collapsible menu groups)
   Keeps the hamburger menu compact instead of one long list.
   ============================================================ */
.drawer__nav{display:flex;flex-direction:column}
.drawer__link{display:block;padding:13px 4px;border-bottom:1px solid var(--line);
  font-size:.95rem;letter-spacing:.04em;color:var(--ink);font-weight:500}
.drawer__link:hover{color:var(--teal)}
.drawer__acc{border-bottom:1px solid var(--line)}
.drawer__acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;
  background:none;border:none;padding:13px 4px;font-family:var(--sans);font-size:.95rem;
  font-weight:600;letter-spacing:.04em;color:var(--ink);cursor:pointer;text-align:left}
.drawer__acc-btn .caret{border-top:5px solid currentColor;border-left:4px solid transparent;
  border-right:4px solid transparent;transition:transform .3s}
.drawer__acc-btn[aria-expanded="true"] .caret{transform:rotate(180deg)}
.drawer__acc-panel{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);
  padding-left:12px}
.drawer__acc.open .drawer__acc-panel{max-height:600px}
.drawer__acc-panel a{display:block;padding:10px 4px;font-size:.88rem;color:var(--ink-soft);
  border-bottom:1px solid var(--line-soft)}
.drawer__acc-panel a:last-child{border-bottom:none}
.drawer__acc-panel a:hover{color:var(--teal)}

/* ============================================================
   WORDPRESS — form anti-bot honeypot + error message
   ============================================================ */
.bcn-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form__err{margin-top:14px;padding:12px 16px;background:#fbeaea;border:1px solid #e7b3b3;
  border-radius:6px;color:#9b2c2c;font-size:.9rem}

/* Compact form fields inside the popup modal */
.modal .field{margin-bottom:10px}
.modal .field input,.modal .field textarea{padding:9px 12px;font-size:.88rem}
.modal .field label{font-size:.7rem;margin-bottom:4px}
.modal .form__sub,.modal p.modal__sub{margin-bottom:12px;font-size:.85rem}
/* iOS Safari zooms the page when a focused input is under 16px. On touch /
   tablet widths, force all form inputs to 16px so the modal does not jump. */
@media(max-width:1024px){
  .field input,.field textarea,.field select,
  .modal .field input,.modal .field textarea{font-size:16px}
}
.modal .consent{margin-bottom:12px;font-size:.74rem}
.modal h3,.modal .modal__title{font-size:1.4rem;margin-bottom:.2em}
.pcard__img{display:block;text-decoration:none}
.pcard__body h4 a{color:inherit;text-decoration:none}
.pcard__body h4 a:hover{color:var(--teal)}

/* Amenities grid (project pages) */
.amenities__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1000px;margin:0 auto}
.amenity{display:flex;align-items:center;gap:10px;padding:16px 18px;background:var(--white);
  border:1px solid var(--line);border-radius:8px;font-size:.9rem;color:var(--ink)}
.amenity__dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex:0 0 8px}
@media(max-width:900px){.amenities__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.amenities__grid{grid-template-columns:1fr}}

/* Project Highlights table */
.highlights__table{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;
  gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--white)}
.highlights__row{display:flex;justify-content:space-between;gap:14px;padding:15px 20px;
  border-bottom:1px solid var(--line-soft)}
.highlights__row:nth-child(odd){border-right:1px solid var(--line-soft)}
.highlights__k{color:var(--muted);font-size:.82rem;letter-spacing:.04em}
.highlights__v{color:var(--ink);font-weight:600;font-size:.88rem;text-align:right}
@media(max-width:680px){.highlights__table{grid-template-columns:1fr}
  .highlights__row:nth-child(odd){border-right:none}}

/* Payment plan */
.payplan__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:780px;margin:0 auto}
.payplan__step{background:var(--white);border:1px solid var(--line);border-radius:12px;
  padding:30px 20px;text-align:center;position:relative}
.payplan__pct{display:block;font-family:var(--serif);font-size:2.4rem;color:var(--teal);font-weight:400;line-height:1}
.payplan__lbl{display:block;margin-top:8px;font-size:.82rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}
@media(max-width:560px){.payplan__grid{grid-template-columns:1fr}}

/* 4-step payment plan + note */
.payplan__grid--4{grid-template-columns:repeat(4,1fr)}
.payplan__grid--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.payplan__grid--3{grid-template-columns:1fr}}
.payplan__note{text-align:center;margin-top:18px;font-size:.86rem;color:var(--muted);font-style:italic}
@media(max-width:760px){.payplan__grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.payplan__grid--4{grid-template-columns:1fr}}

/* Shorter hero for utility/legal pages */
.hero--page{min-height:46vh}
.hero--page .hero__content{max-width:760px}
.legal h2{margin:1.6em 0 .5em;font-size:1.5rem;color:var(--ink)}
.legal h3{margin:1.3em 0 .4em;font-size:1.15rem;color:var(--ink)}
.legal ul{margin:1em 0 1em 1.2em}
.legal li{margin-bottom:.4em}
.legal a{color:var(--teal);text-decoration:underline}
.legal a:hover{color:var(--gold)}

/* Related external project links (SEO) */
.related__links{max-width:900px;margin:0 auto;text-align:center}
.related__links p{margin-bottom:1.1em;color:var(--ink-soft);line-height:1.9;font-size:.95rem}
.related__links a{color:var(--teal);text-decoration:underline;text-underline-offset:2px}
.related__links a:hover{color:var(--gold)}

/* Price tables (apartment & villa) */
.ptable__title{font-family:var(--serif);font-size:1.3rem;color:var(--ink);margin:2rem 0 .8rem;text-align:center}
.ptable__wrap{max-width:920px;margin:0 auto 1rem;overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.ptable{width:100%;border-collapse:collapse;background:var(--white);min-width:520px}
.ptable thead th{background:var(--teal);color:var(--white);font-size:.78rem;letter-spacing:.06em;
  text-transform:uppercase;padding:14px 16px;text-align:left;font-weight:600}
.ptable tbody td{padding:14px 16px;border-bottom:1px solid var(--line-soft);font-size:.92rem;color:var(--ink-soft);vertical-align:middle}
.ptable tbody tr:last-child td{border-bottom:none}
.ptable tbody tr:nth-child(even){background:var(--sand-soft,#faf7f2)}
.ptable td b{color:var(--ink)}
.btn--sm{padding:8px 16px;font-size:.74rem}
@media(max-width:560px){
  .ptable__wrap{overflow:visible;border:none;background:transparent}
  .ptable,.ptable thead,.ptable tbody,.ptable tr,.ptable td{display:block;width:100%;min-width:0}
  .ptable thead{display:none}
  .ptable tbody tr{background:var(--white);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:6px 0}
  .ptable tbody td{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line-soft);padding:11px 16px;text-align:right}
  .ptable tbody td:last-child{border-bottom:none}
  .ptable tbody td::before{content:attr(data-label);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left}
}

/* Hero tagline rotates with slides */
.hero__tag{transition:opacity .28s ease}

/* ============================================================
   SEO content block (cluster page + similar long-form prose)
   ============================================================ */
.wrap--narrow{max-width:880px}
.seo-content h3{font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.6rem);color:var(--ink);margin:1.8em 0 .5em;font-weight:400}
.seo-content p{color:var(--ink-soft);line-height:1.75;margin-bottom:1.1em;font-size:1.02rem}
.seo-content strong{color:var(--ink);font-weight:600}
.seo-content a{color:var(--teal);font-weight:600;border-bottom:1px solid var(--gold-soft)}
.seo-content a:hover{color:var(--gold)}
.seo-content .section-head{margin-bottom:1.6em}

/* ============================================================
   Contact CTA (single-project #contact section)
   ============================================================ */
.contact-cta{
  background:linear-gradient(120deg,var(--teal-deep),var(--teal));
  border-radius:16px;padding:clamp(32px,5vw,56px);color:var(--white);text-align:center;
}
.contact-cta .eyebrow{color:var(--gold-soft)}
.contact-cta h2{color:var(--white);margin:.3em 0 .4em}
.contact-cta p{color:rgba(255,255,255,.88);max-width:620px;margin:0 auto 1.6em}
.contact-cta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.contact-cta .btn--outline{border:1px solid rgba(255,255,255,.5);color:var(--white);background:transparent}
.contact-cta .btn--outline:hover{background:rgba(255,255,255,.12)}

/* ---------- Blog ---------- */
.bloggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:980px){.bloggrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.bloggrid{grid-template-columns:1fr}}
.blogcard{background:var(--card,#fff);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s ease,transform .25s ease}
.blogcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.blogcard__media{display:block;aspect-ratio:16/9;background:var(--sand-soft,#f4efe7)}
.blogcard__media img{width:100%;height:100%;object-fit:cover;display:block}
.blogcard__ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--sand-soft,#f4efe7),var(--gold-soft,#e6d3ae))}
.blogcard__body{padding:1.35rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.blogcard__date{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.blogcard__title{margin:0;font-size:1.18rem;line-height:1.35}
.blogcard__title a{color:inherit;text-decoration:none}
.blogcard__title a:hover{color:var(--gold)}
.blogcard__excerpt{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.65}
.blogcard__more{margin-top:auto;font-weight:600;color:var(--gold);text-decoration:none}
.article{max-width:820px;margin:0 auto}
.article__meta{color:var(--ink-soft)}
.article__media{border-radius:14px;overflow:hidden;margin-bottom:1.8rem}
.article__media img{width:100%;height:auto;display:block}
.article__content{font-size:1.06rem;line-height:1.85}
.article__content h2,.article__content h3{margin:1.8em 0 .6em}
.article__content p{margin:0 0 1.15em}
.article__content img,.article__content video,.article__content iframe{max-width:100%;height:auto}
.article__content iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}
.article__content .wp-block-table,.article__content figure{max-width:100%;overflow-x:auto}
.article__content table{width:100%;border-collapse:collapse}
.article__content pre{max-width:100%;overflow-x:auto}
.article__content a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.article__tags{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.6rem}
.article__tags a{background:var(--sand-soft,#f4efe7);border:1px solid var(--line);color:var(--ink);padding:.32rem .8rem;border-radius:999px;font-size:.85rem;text-decoration:none}
.article__tags a:hover{border-color:var(--gold);color:var(--gold)}

/* ---------- Video section (optional YouTube embed after FAQs) ---------- */
.video__frame{position:relative;max-width:960px;margin:0 auto;aspect-ratio:16/9;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-md);background:#000}
.video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Location image — fill the full height of the text column on desktop */
@media(min-width:1025px){
  .loc__grid{align-items:stretch}
  .loc__map{aspect-ratio:auto;min-height:480px;height:100%}
}
@media(max-width:760px){
  .loc__map{aspect-ratio:4/3.4}
}

/* ---------- Tables inside page content (price page) ---------- */
.legal .wp-block-table{max-width:100%;overflow-x:auto;margin:0 0 1.6rem;border:1px solid var(--line);border-radius:10px}
.legal table{width:100%;border-collapse:collapse;background:var(--white);font-size:.92rem}
.legal th{background:var(--teal);color:var(--white);text-align:left;font-weight:500;letter-spacing:.04em;padding:12px 14px}
.legal td{padding:12px 14px;border-bottom:1px solid var(--line)}
.legal tbody tr:nth-child(even){background:var(--sand)}
.legal tbody tr:last-child td{border-bottom:none}

/* Short landscape screens (phones turned sideways): let inner-page heroes
   grow with their content so long titles are never clipped at the top. */
@media (max-height:500px) and (orientation:landscape){
  .hero--page{height:auto;min-height:0}
  .hero--page .hero__inner{height:auto;padding-top:44px;padding-bottom:56px}
}

/* Starting price shown above the "Ask For Price" button in price tables */
.ptable__from{display:block;font-family:var(--serif);font-weight:400;color:var(--teal);font-size:1.05rem;margin-bottom:6px}

/* About image: larger on every screen.
   Desktop — the image fills the full height of the text column (same
   approach as the Location image) instead of floating at a fixed ratio.
   Tablet — full column width instead of the 480px cap. */
@media(min-width:1025px){
  .about__grid{align-items:stretch}
  .about__media{display:flex}
  .about__media img{height:100%;min-height:540px;aspect-ratio:auto;object-fit:cover;object-position:center}
}
@media(min-width:681px) and (max-width:1024px){
  .about__media{max-width:none;width:100%}
  .about__media img{aspect-ratio:3/2;height:auto}
}

/* ============================================================
   RESPONSIVE AUDIT FIXES (v1.0.4)
   ============================================================ */
/* Brand link: comfortable tap height on every device. */
.header .brand{min-height:44px}
.footer__bottom a{display:inline-block;padding:6px 0}
/* Mega menu never runs past the bottom of short laptop screens. */
.mega{max-height:calc(100vh - 100px);overflow-y:auto;overscroll-behavior:contain}
@supports (height:100dvh){.mega{max-height:calc(100dvh - 100px)}}
@media(min-width:1025px) and (max-height:820px){
  .mega{padding:18px 26px}
  .mega--rows{gap:12px}
  .mega__row + .mega__row{padding-top:12px}
  .mega__links{gap:2px 22px}
  .mega__links a{padding:3px 0;font-size:.86rem}
}
/* Comparison table cells: long developer names wrap instead of overflowing. */
.ptable td small{display:block;overflow-wrap:anywhere}
.ptable td{overflow-wrap:anywhere}
@media(max-width:560px){
  .ptable tbody td > *{min-width:0}
  .ptable tbody td::before{flex:0 0 auto}
}
/* Very narrow screens (Galaxy Z Fold folded, 280px). */
@media(max-width:320px){
  .mobile-bar{gap:5px;padding-left:max(5px,env(safe-area-inset-left));padding-right:max(5px,env(safe-area-inset-right))}
  .mobile-bar a,.mobile-bar button{font-size:.72rem;letter-spacing:0;padding:9px 2px}
}
.footer__disc a{display:inline-block;padding:7px 2px;margin:-7px 0}
/* Landscape phones: the hero fits the short screen so the headline is visible. */
@media(orientation:landscape) and (max-height:520px) and (max-width:1024px){
  .hero{height:auto;min-height:0}
  @supports (height:100svh){.hero{height:auto}}
  .hero__inner,.hero--lower .hero__inner{height:auto;min-height:calc(100svh - 130px);justify-content:center;padding-top:22px;padding-bottom:22px}
  .hero .eyebrow{margin-bottom:6px}
  /* Compact one-row action bar so it does not eat a third of the screen. */
  .mobile-bar{padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}
  .mobile-bar a,.mobile-bar button{flex-direction:row;gap:8px;padding:8px 6px}
  .mobile-bar svg{width:18px;height:18px}
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
  .hero h1{font-size:clamp(1.5rem,4.2vw,2.2rem);margin-bottom:8px}
  .hero__tag,.hero__sub{font-size:.95rem}
  .hero__btns{margin-top:14px}
  .hero__dots{bottom:10px}
}

/* ===== 1.0.5: accessibility helper, last-updated line, similar projects, location map ===== */
.pcard__link{position:relative}
.bcn-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.updated{margin:1.2rem auto 0;max-width:840px;text-align:center;font-size:.82rem;color:var(--muted)}
.similar{list-style:none;margin:0 auto;padding:0;max-width:880px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.similar>*{min-width:0}
.similar__item{background:#fff;border:1px solid rgba(29,29,29,.12);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.similar__item a{font-weight:600;color:var(--ink);text-decoration:none;line-height:1.35;overflow-wrap:anywhere}
.similar__item a:hover{color:var(--gold)}
.similar__meta{font-size:.82rem;color:var(--muted);line-height:1.45;overflow-wrap:anywhere}
.loc__map{margin-top:clamp(24px,4vw,40px);border-radius:10px;overflow:hidden;border:1px solid rgba(29,29,29,.12)}
.loc__map iframe{display:block;width:100%;height:clamp(240px,40vw,380px);border:0}
.archive-intro{max-width:760px;margin:0 auto 2.2rem;text-align:center;color:var(--muted)}
.footer__rera{font-size:.8rem;color:rgba(251,248,243,.62);max-width:var(--wrap);margin:0 auto;padding:0 var(--gut) 12px;line-height:1.6;overflow-wrap:anywhere}
@media (max-width:680px){.footer__rera{text-align:center;padding-left:20px;padding-right:20px}}

/* ===== 1.0.1 (Sobha base): two-column Projects dropdown (names only), kept on screen ===== */
.mega--rows{width:min(820px,calc(100vw - 32px));padding:22px 28px}
.nav__item.has-mega:hover .mega--rows{display:grid!important;align-items:start}
.mega__col2{min-width:0}
.mega--rows .mega__row{display:block;margin:0 0 14px}
.mega--rows .mega__row + .mega__row{border-top:1px solid var(--line);padding-top:10px}
.mega--rows .mega__row h5{margin:0 0 6px}
.mega--rows .mega__links{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0}
.mega--rows .mega__links a{padding:4px 0;font-size:.86rem;line-height:1.35;overflow-wrap:anywhere}
.nav__item.has-mega::after{height:26px}
@media(min-width:1025px) and (max-height:820px){.mega--rows .mega__links a{padding:2px 0;font-size:.84rem}}
.mega.mega--rows{grid-template-columns:1fr 1fr;column-gap:40px;align-items:start}
/* 1.0.2: four-column Projects dropdown (2 × 2 on 1025–1199px) */
.mega.mega--rows{width:min(1120px,calc(100vw - 32px));grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px}
@media(max-width:1199px){.mega.mega--rows{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 1.0.2: footer link band (popular areas, launches, villas, searches) */
.footer__band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:32px 0 36px;border-top:1px solid rgba(251,248,243,.12)}
.footer__band>*{min-width:0}
.footer__band ul a{font-size:.84rem;padding:5px 0;min-height:32px;line-height:1.4;overflow-wrap:anywhere}
.footer__band h5{margin-bottom:12px}
@media(max-width:1024px){.footer__band{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.footer__band{grid-template-columns:1fr;text-align:center;gap:24px}}
/* 1.0.3: About image never stretches with long text; home community intros */
.about__grid{align-items:start}
.about__media{position:sticky;top:96px}
.about__media{display:block}
.about__media img{height:auto;min-height:0;max-height:min(620px,80vh);aspect-ratio:4/4.6;object-fit:cover}
@media(max-width:1024px){.about__media{position:static}}
.cl-intro{max-width:860px;margin-left:auto;margin-right:auto;line-height:1.75}
.section-head p.cl-intro a{color:var(--teal);font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold-soft)}
.section-head p.cl-intro a:hover{color:var(--gold)}
/* 1.0.4: project secondary menu (sticky under the header) */
.subnav{position:sticky;top:var(--bcn-hh,74px);z-index:190;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);box-shadow:0 6px 18px -14px rgba(22,37,40,.35)}
.subnav__inner{display:flex;align-items:center;gap:22px;min-height:56px;min-width:0}
.subnav__name{flex:0 0 auto;font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--ink);white-space:nowrap;padding:8px 22px 8px 0;border-right:1px solid var(--line);line-height:1.2}
.subnav__name:hover{color:var(--teal)}
.subnav__links{display:flex;flex:1 1 auto;min-width:0;gap:4px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.subnav__links::-webkit-scrollbar{display:none}
.subnav__links li{flex:0 0 auto;margin:0}
.subnav__links a{display:block;padding:18px 14px 16px;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.subnav__links a:hover{color:var(--teal)}
.subnav__links a.is-active{color:var(--ink);border-bottom-color:var(--gold)}
.single-bcn_project .section,.single-bcn_project #contact{scroll-margin-top:var(--bcn-off,140px)}
@media(max-width:900px){.subnav__inner{gap:12px}.subnav__name{font-size:1rem;padding-right:12px}.subnav__links a{padding:15px 10px 13px;font-size:.72rem;letter-spacing:.08em}}
@media(max-width:420px){.subnav__name{max-width:42vw;overflow:hidden;text-overflow:ellipsis}}
/* 1.0.5: secondary menu on small screens — whole links, snap, edge fades */
.subnav__links{scroll-snap-type:x proximity;scroll-padding:0 12px}
.subnav__links li{scroll-snap-align:start}
.subnav__links.fade-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
.subnav__links.fade-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
.subnav__links.fade-l.fade-r{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 36px),transparent)}
@media(max-width:600px){.subnav__inner{gap:10px;min-height:50px}.subnav__name{font-size:.95rem;padding:6px 10px 6px 0;max-width:40vw;overflow:hidden;text-overflow:ellipsis}.subnav__links a{padding:14px 9px 12px;font-size:.7rem;letter-spacing:.06em}}

/* ============================================================
   PALM JEBEL ALI 1.0.0
   ============================================================ */
/* Projects dropdown: one column per menu group (two groups on this site). */
.mega.mega--rows.mega--cols-1{width:min(420px,calc(100vw - 32px));grid-template-columns:minmax(0,1fr)}
.mega.mega--rows.mega--cols-2{width:min(640px,calc(100vw - 32px));grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
.mega.mega--rows.mega--cols-3{width:min(900px,calc(100vw - 32px));grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1199px){.mega.mega--rows.mega--cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Footer band with three columns. */
.footer__band--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1024px){.footer__band--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.footer__band--3{grid-template-columns:1fr}}
/* Same-page jumps on the home page land below the sticky menus too. */
.home .section,.home #contact{scroll-margin-top:var(--bcn-off,140px)}
/* "Read the full guide" links under home sections. */
.more-link{text-align:center;margin:1.4rem 0 0}
.more-link a{display:inline-block;font-weight:600;color:var(--teal);border-bottom:1px solid var(--gold-soft);padding:4px 0;line-height:1.4}
.more-link a:hover{color:var(--gold);border-bottom-color:var(--gold)}
/* Featured new launch (Palm Springs). */
.section--launch{background:linear-gradient(135deg,var(--teal-deep) 0%,var(--teal) 62%,var(--teal-bright) 130%);color:rgba(255,255,255,.88);position:relative;overflow:hidden}
.section--launch::before{content:"";position:absolute;inset:auto -10% -40% auto;width:min(620px,80vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(229,209,174,.22);pointer-events:none}
.launch{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center;position:relative}
.launch>*{min-width:0}
.launch h2{color:var(--white)}
.launch .eyebrow{color:var(--gold-soft)}
.launch p{color:rgba(255,255,255,.86);max-width:620px}
.launch .divider{background:var(--gold)}
.launch__badge{display:inline-block;background:var(--gold);color:var(--teal-deep);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:6px 12px;border-radius:30px;margin-bottom:14px}
.launch__card{background:var(--white);color:var(--ink-soft);border-radius:12px;padding:clamp(22px,3vw,32px);box-shadow:var(--shadow-lg)}
.launch__card-h{display:block;font-family:var(--serif);font-size:1.45rem;color:var(--ink);margin-bottom:12px;line-height:1.2}
.launch__list{list-style:none;margin:0;padding:0}
.launch__list li{position:relative;padding:11px 0 11px 28px;border-bottom:1px solid var(--line-soft);font-size:.95rem;line-height:1.45}
.launch__list li:last-child{border-bottom:0}
.launch__list li::before{content:"";position:absolute;left:2px;top:17px;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.launch .hero__btns{margin-top:1.4rem;flex-wrap:wrap}
.highlights__table--compact{grid-template-columns:1fr;max-width:none;box-shadow:none}
.highlights__table--compact .highlights__row:nth-child(odd){border-right:0}
@media(max-width:900px){.launch{grid-template-columns:1fr}.launch p{max-width:none}}
@media(max-width:480px){.launch .hero__btns .btn{width:100%;justify-content:center}}
/* Buyer guide cards (internal links). */
.guides{list-style:none;margin:0 auto;padding:0;max-width:1100px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}
.guides>*{min-width:0}
.guides__item a{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:20px 48px 20px 22px;transition:border-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease)}
.guides__item a:hover{border-color:var(--gold-soft);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.guides__item b{font-family:var(--serif);font-size:1.25rem;color:var(--ink);line-height:1.25;overflow-wrap:anywhere}
.guides__item span{font-size:.88rem;color:var(--muted);line-height:1.55}
.guides__item i{position:absolute;right:20px;top:22px;font-style:normal;color:var(--gold);font-size:1.1rem}
/* Guide pages: long copy column. */
.guide{max-width:920px;margin:0 auto}
.guide h2{font-size:clamp(1.45rem,2.6vw,1.9rem)}
/* Villa types and payment schedule tables. */
.ptable--types td:nth-child(4){font-size:.86rem}
@media(min-width:561px){.ptable--schedule{min-width:420px}}
.launch__badge{display:table;margin-bottom:12px}
.launch .eyebrow{display:block}
.launch h2{margin-top:.2rem}
/* 1.0.1: links inside overview copy look like links */
.about__body p a{color:var(--teal);font-weight:500;border-bottom:1px solid var(--gold-soft);transition:color .2s,border-color .2s}
.about__body p a:hover{color:var(--gold);border-bottom-color:var(--gold)}
/* ===== 1.0.2: two-row overview (image beside copy, row 2 mirrored) ===== */
.story__row{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.story__row + .story__row{margin-top:clamp(48px,7vw,96px)}
.story__row--rev .story__media{order:2}
.story__media{margin:0;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:3/2;background:var(--sand)}
.story__media img{width:100%;height:100%;object-fit:cover;display:block}
.story__body h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 .9rem}
.story__body h2::after{content:"";display:block;width:56px;height:2px;background:var(--gold);margin-top:14px}
.story__body > p:last-child{margin-bottom:0}
@media(max-width:900px){.story__row{grid-template-columns:1fr}.story__row--rev .story__media{order:0}}
/* ===== 1.0.2: gallery mosaic (1 large + 2 stacked, second block mirrored) ===== */
.gmosaic{display:grid;gap:clamp(10px,1.4vw,18px)}
.gmosaic__block{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(10px,1.4vw,18px);aspect-ratio:2.05/1}
.gmosaic__item{position:relative;margin:0;border-radius:6px;overflow:hidden;background:var(--sand);min-height:0}
.gmosaic__item--big{grid-row:1 / span 2}
.gmosaic__block--rev{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.gmosaic__block--rev .gmosaic__item--big{grid-column:2;grid-row:1 / span 2}
.gmosaic__block--rev .gmosaic__item:not(.gmosaic__item--big){grid-column:1}
.gmosaic__item a{display:block;width:100%;height:100%}
.gmosaic__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.gmosaic__item a:hover img{transform:scale(1.04)}
.gmosaic__item a:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.gmosaic__cap{position:absolute;left:12px;bottom:12px;right:12px;pointer-events:none;color:#fff;font-size:.8rem;letter-spacing:.04em;line-height:1.4;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.gmosaic__block--n1{grid-template-columns:1fr;grid-template-rows:1fr}
.gmosaic__block--n2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;aspect-ratio:3/1}
.gmosaic__block--n2 .gmosaic__item--big{grid-row:auto}
@media(max-width:760px){
  .gmosaic__block,.gmosaic__block--rev{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;aspect-ratio:auto}
  .gmosaic__item{aspect-ratio:4/3}
  .gmosaic__item--big,.gmosaic__block--rev .gmosaic__item--big{grid-column:1 / -1;grid-row:auto;aspect-ratio:16/10}
  .gmosaic__block--rev .gmosaic__item:not(.gmosaic__item--big){grid-column:auto}
  .gmosaic__block--rev .gmosaic__item--big{order:-1}
}
/* ===== 1.0.3: More Luxury Projects (large cards above Get in Touch) ===== */
.lux{background:var(--ivory);border-top:1px solid var(--line-soft)}
.lux__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(22px,3vw,36px)}
.lux__head h2{margin:0;font-size:clamp(1.8rem,3.6vw,2.9rem);font-weight:500}
.lux__head .eyebrow{display:block;margin-bottom:8px}
.lux__nav{margin:0;flex:0 0 auto}
.lux__track{grid-auto-columns:calc((100% - 32px)/2);gap:32px;padding-bottom:6px;scrollbar-width:none}
.lux__track::-webkit-scrollbar{display:none}
.lcard{position:relative;scroll-snap-align:start;display:flex;flex-direction:column;min-width:0}
.lcard__img{position:relative;display:block;aspect-ratio:16/10;border-radius:4px;overflow:hidden;background:var(--sand)}
.lcard__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.lcard:hover .lcard__img img{transform:scale(1.03)}
.lcard__badge{position:absolute;z-index:1;top:18px;left:18px;display:inline-flex;align-items:center;gap:8px;background:rgba(22,22,22,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:9px 14px;border-radius:2px}
.lcard__badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
.lcard__body{display:flex;flex-direction:column;flex:1;padding-top:22px}
.lcard__loc{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.lcard__title{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:500;margin:.35rem 0 .6rem;line-height:1.15}
.lcard__title a:hover{color:var(--teal)}
.lcard__text{color:var(--ink-soft);font-size:.98rem;line-height:1.65;margin-bottom:1.1rem}
.lcard__foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:auto}
.lcard__price{font-size:1.08rem;color:var(--ink);font-weight:600}
.lcard__meta{font-size:.82rem;color:var(--muted)}
.lcard__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.lcard__btns .btn{min-width:180px;justify-content:center;border-radius:2px}
.btn--dark{background:var(--ink);color:#fff;border:1px solid var(--ink)}
.btn--dark:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-2px)}
.btn--line{border:1px solid var(--ink);color:var(--ink);background:transparent}
.btn--line:hover{background:var(--ink);color:#fff}
@media(max-width:760px){
  .lux__track{grid-auto-columns:88%;gap:18px}
  .lux__head{align-items:flex-start}
  .lcard__btns .btn{flex:1 1 140px;min-width:0}
}
@media(max-width:380px){.lux__nav{display:none}}
/* ===== 1.0.5: half the side space on wide screens (content and images wider).
   Width = viewport minus half of the old empty space: (100vw + 1240px) / 2,
   never narrower than 1240px and capped at 1800px on very large screens. */
:root{--wrap:min(1800px,max(1240px,calc(50vw + 620px)))}
@media(min-width:1361px){.header .header__inner{max-width:max(1400px,var(--wrap))}}
/* ===== 1.0.7: one button style site-wide — dark navy, white spaced caps,
   4px corners (Enquire Now, Download Brochure, Register Interest, Learn
   More, Ask for Price, Submit, mobile bar). Hover turns gold. ===== */
.btn,.btn--gold,.btn--teal,.btn--ghost,.btn--outline-light,.btn--dark,.btn--line,
.lcard__btns .btn,.header__cta .btn,.contact-cta .btn--outline{
  background:#161616;color:#fff;border:1px solid #161616;border-radius:4px;
  font-weight:600;letter-spacing:.14em;box-shadow:none
}
.btn:hover,.btn--gold:hover,.btn--teal:hover,.btn--ghost:hover,.btn--outline-light:hover,.btn--dark:hover,.btn--line:hover,
.lcard__btns .btn:hover,.header__cta .btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
/* On dark backgrounds a light hairline keeps the button visible. */
.hero .btn,.section--launch .btn,.footer .btn,.price__callout .btn{border-color:rgba(255,255,255,.38)}
.hero .btn:hover,.section--launch .btn:hover,.footer .btn:hover,.price__callout .btn:hover{border-color:var(--gold)}
.mobile-bar .mb-enq{background:#161616;color:#fff}
/* BCN 1.0.0: the long "BHARTIYA CITY NIKOO HOMES" brand stays on one line on phones */
@media(max-width:1240px){.brand__name{white-space:nowrap;letter-spacing:.04em;font-size:clamp(.92rem,.35rem + 3.1vw,1.45rem)}}
@media(max-width:340px){.brand__name{white-space:normal;font-size:.95rem;line-height:1.15}}

/* Blog (1.0.2) */
.bloggrid--4{grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:1180px){.bloggrid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.bloggrid--4{grid-template-columns:1fr}}
.article--faq{margin-top:3rem}
.article--faq>h2{text-align:center;margin-bottom:1.2rem}
.article__content ul{padding-left:1.25rem;margin:0 0 1.15em}
.article__content li{margin:.35em 0}
.center{text-align:center}

/* ===== BCN 1.0.0: Nikoo Homes cluster page ===== */
.ngrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ngrid>*{min-width:0}
.ncard{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:14px 14px 22px}
.ncard .lcard__body{padding:20px 6px 0}
.ncard .lcard__title{font-size:clamp(1.45rem,1.9vw,1.9rem)}
.ncard__facts{margin:.2rem 0 1.1rem;border:1px solid var(--line-soft);border-radius:4px}
.ncard__facts .highlights__row{padding:10px 12px}
.ncard__facts .highlights__v{font-size:.84rem}
.ncard .lcard__btns .btn{min-width:0;flex:1 1 150px}
.ncard .lcard__meta{overflow-wrap:anywhere;font-size:.74rem}
@media(max-width:1100px){.ngrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ngrid{grid-template-columns:1fr;gap:22px}}
.ptable__wrap--wide{max-width:1240px}
.ptable--compare{min-width:860px}
.ptable--compare td a{color:var(--teal)}
@media(max-width:560px){.ptable--compare{min-width:0}}
.ptable td a{text-decoration:underline;text-underline-offset:3px}
.pgroup{margin:0 auto 2.4rem;max-width:920px}
.pgroup>h2,.pgroup>h3{text-align:center;margin-bottom:1rem}
.pgroup__meta{text-align:center;color:var(--muted);font-size:.88rem;margin:-.4rem 0 1rem}
@media(max-width:900px){
  .ptable__wrap--wide{overflow:visible;border:none;background:transparent}
  .ptable--compare,.ptable--compare thead,.ptable--compare tbody,.ptable--compare tr,.ptable--compare td{display:block;width:100%;min-width:0}
  .ptable--compare thead{display:none}
  .ptable--compare tbody tr{background:var(--white);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:6px 0}
  .ptable--compare tbody td{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid var(--line-soft);padding:11px 16px;text-align:right}
  .ptable--compare tbody td:last-child{border-bottom:none}
  .ptable--compare tbody td::before{content:attr(data-label);flex:0 0 auto;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left}
}
/* BCN 1.0.0: the 25-letter brand wraps to two lines on phones
   ("BHARTIYA CITY / NIKOO HOMES") so the header never overflows. */
.header .brand{min-width:0;flex:1 1 auto}
@media(max-width:600px){
  .header .brand__name{white-space:nowrap;display:block;font-size:clamp(.9rem,.5rem + 2.2vw,1.2rem);line-height:1.15;letter-spacing:.05em}
}
@media(max-width:359px){.header .brand__name{white-space:normal;max-width:12ch;font-size:.9rem}}
.footer .brand__name{white-space:normal;overflow-wrap:anywhere;display:block;line-height:1.15}
.highlights__v{overflow-wrap:anywhere;min-width:0}
.highlights__k{flex:0 0 auto;max-width:45%}
.about__body p a,.faq__a a,.cl-intro a{color:var(--teal);text-decoration:underline;text-decoration-color:var(--gold-soft);text-underline-offset:3px}
.about__body p a:hover,.faq__a a:hover{color:var(--gold)}
.ptable__from{white-space:nowrap}

/* BCN 1.0.1: Optima-style headings (Optima on Apple devices, Marcellus
   elsewhere), regular weight only — never synthetic bold. */
h1,h2,h3,h4,h5,.hero__title,.about__h1,.brand__name,.lcard__title,.faq__q,.blogcard__title,.guides__item b,.subnav__name,.ptable__from,.price__callout__info b,.payplan__pct,.footer h5{font-family:var(--serif);font-weight:400;font-synthesis:none}
h1,h2,.hero__title,.about__h1{letter-spacing:.005em}
.brand__name{letter-spacing:.08em}
.eyebrow{font-family:var(--sans);font-weight:600;letter-spacing:.24em}
.footer h5{letter-spacing:.14em}

/* Footer popular searches (1.0.1) */
.footer__kw-h{margin:1.6rem 0 .7rem}
.footer__kw{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.footer__kw a{display:inline-block;font-size:.8rem;line-height:1.3;padding:6px 11px;border:1px solid rgba(255,255,255,.18);border-radius:2px;color:rgba(251,248,243,.82)}
.footer__kw a:hover{border-color:var(--gold-soft);color:#fff}

/* Compact price tables on phones (1.0.1): two lines per home —
   unit + built-up area on the left, price + button on the right. */
.ptable__note{display:none}
@media(max-width:560px){
  .ptable__note{display:block;text-align:center;font-size:.85rem;color:var(--muted);margin:0 0 .7rem}
  .ptable--price tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:3px;align-items:center;padding:11px 14px;margin-bottom:8px}
  .ptable--price tbody td{display:block;border:0;padding:0;text-align:left;min-width:0}
  .ptable--price tbody td::before{display:none}
  .ptable--price td.c-proj{grid-column:1/-1;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .ptable--price td.c-unit{grid-column:1}
  .ptable--price td.c-area{grid-column:1;font-size:.82rem;color:var(--muted)}
  .ptable--price td.c-book{display:none}
  .ptable--price td.c-price{grid-column:2;grid-row:span 2;text-align:right}
  .ptable--price td.c-proj + td.c-unit{grid-row:2}
  .ptable--price td.c-proj ~ td.c-area{grid-row:3}
  .ptable--price td.c-proj ~ td.c-price{grid-row:2 / span 2}
  .ptable--price .ptable__from{font-size:1rem;margin-bottom:4px}
  .ptable--price .btn--sm{padding:6px 10px;font-size:.64rem;letter-spacing:.08em}
}

.footer .footer__kw a{display:inline-block;padding:6px 11px;margin:0}
.footer .footer__kw li{margin:0}
.drawer__head .brand__name{white-space:normal;font-size:1rem;line-height:1.2;letter-spacing:.06em;padding-right:12px;min-width:0}
.drawer__head{gap:10px}

/* Click-to-load map (1.0.3) */
.loc__map--facade{display:flex;min-height:0;height:clamp(240px,40vw,380px);background:linear-gradient(135deg,#efe9e0,#ddd3c4)}
.loc__map-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;cursor:pointer;color:var(--ink);font:inherit;padding:20px;text-align:center}
.loc__map-btn b{font-family:var(--serif);font-weight:400;font-size:clamp(1.1rem,2vw,1.4rem);overflow-wrap:anywhere}
.loc__map-btn span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--gold-soft);padding-bottom:3px}
.loc__map-btn:hover span{color:var(--ink)}
.loc__map-btn svg{color:var(--gold)}
@media(min-width:1025px){.loc__map.loc__map--facade{min-height:0;height:380px}}
.loc__map--facade{width:100%;max-width:100%}
.loc__map-btn{min-width:0;width:100%}
.loc__map-btn b,.loc__map-btn span{max-width:100%}

/* ===== 1.0.4: hero holds only the title and tagline, inside the bottom
   40% of the image. The top 60% stays clear and nothing spills outside.
   --hero-h is the hero height; the text block may use 40% of it minus the
   bottom padding (which keeps the slide dots clear). */
.hero{--hero-h:clamp(460px,80svh,720px);--hero-pb:42px;height:var(--hero-h);min-height:0}
.hero--page{--hero-h:clamp(440px,64svh,560px)}
.hero__inner,.hero--lower .hero__inner,.hero--page .hero__inner{height:100%;min-height:0;justify-content:flex-end;padding-top:0;padding-bottom:var(--hero-pb)}
.hero__content{max-width:780px;max-height:calc(var(--hero-h) * .4 - var(--hero-pb));display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.hero h1,.hero__title{font-size:clamp(1.6rem,1rem + 2.4vw,3rem);line-height:1.1;margin:0 0 .3em;overflow-wrap:break-word}
.hero--page h1{font-size:clamp(1.5rem,1rem + 1.8vw,2.6rem)}
.single .hero--page h1{font-size:clamp(1.3rem,.9rem + 1.6vw,2.2rem)}
.hero__tag{font-size:clamp(.92rem,.86rem + .25vw,1.08rem);line-height:1.45;margin:0;max-width:640px}
.hero__dots{bottom:16px}
@media(max-width:600px){
  .hero{--hero-h:clamp(460px,74svh,600px)}
  .hero--page{--hero-h:clamp(440px,62svh,520px)}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:1024px){
  .hero,.hero--page{--hero-h:420px;--hero-pb:36px;height:420px;min-height:0}
  @supports (height:100svh){.hero,.hero--page{height:420px}}
  .hero__inner,.hero--lower .hero__inner,.hero--page .hero__inner{height:100%;min-height:0;justify-content:flex-end;padding-top:0;padding-bottom:var(--hero-pb)}
  .hero h1,.hero__title,.hero--page h1,.single .hero--page h1{font-size:1.4rem}
  .hero__tag{font-size:.88rem}
}
