/* Reference-led visual layer. Header and property-search rules are intentionally untouched. */
:root{
  --zorivo-green:#073f35;
  --zorivo-green-deep:#042d28;
  --zorivo-gold:#e2b44d;
  --zorivo-cream:#fbf8f1;
}

/* Hero content */
.hero{
  min-height:720px;
  background:#061b1a;
  isolation:isolate;
}
.hero-bg{
  z-index:-3;
  object-position:center 54%;
  transform:scale(1.015);
}
.hero-shade{
  display:block!important;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(2,23,22,.96) 0%,rgba(2,26,24,.88) 31%,rgba(2,29,27,.46) 53%,rgba(2,24,23,.06) 76%),
    linear-gradient(0deg,rgba(2,19,18,.75),transparent 42%);
}
.hero:after{
  display:block!important;
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(2,18,18,.08),transparent 45%,rgba(2,18,18,.35));
}
.hero-content{padding-top:50px;padding-bottom:28px}
.hero .eyebrow{
  display:block;
  max-width:520px;
  margin:0 0 21px;
  color:#fff;
  font-size:11px;
  font-weight:700;
  line-height:1.7;
  letter-spacing:4px;
}
.hero .eyebrow:before{display:block;width:116px;height:2px;margin-bottom:16px;background:var(--zorivo-gold)}
.hero h1{
  display:block;
  max-width:770px;
  margin:0;
  font-size:clamp(55px,5.7vw,86px);
  line-height:.86;
  letter-spacing:-2.2px;
}
.hero h1 span{display:block;white-space:normal}
.hero h1 em{color:#f3c96f;font-style:normal;font-weight:700}
.hero h1 em:after{display:none}
.hero-intro{
  max-width:660px;
  margin:25px 0 0;
  color:#f0f2ef;
  font-size:15px;
  line-height:1.65;
  text-shadow:0 2px 18px rgba(0,0,0,.4);
}
.hero-badges{gap:clamp(18px,3.5vw,58px);margin-top:24px}
.hero-badges span{
  gap:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  font-size:11px;
  line-height:1.35;
}
.hero-badges span:hover{border:0;transform:translateY(-3px)}
.hero-badges i{width:43px;height:43px;background:linear-gradient(145deg,#f4cf78,#dca63d);box-shadow:0 8px 26px rgba(225,178,75,.18)}
.hero-badges .icon{width:20px;height:20px}
.hero-badges b{font-weight:700}
.hero .search-shell{margin-top:25px}
.hero-proof{color:#e9eee9}

/* Why choose Zorivo */
.advantages-section{
  position:relative;
  padding:76px 0 0;
  color:#fff;
  background:#07332f;
  isolation:isolate;
}
.advantages-section:before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:url("../images/zorivo-skyline-hero-v2.png") center 42%/cover no-repeat;
  opacity:.9;
}
.advantages-section:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,rgba(3,28,27,.80) 0%,rgba(4,35,31,.75) 31%,rgba(248,244,236,.90) 70%,#f8f4ec 100%);
}
.advantages-heading{
  display:block;
  max-width:720px;
  margin:0 0 30px;
}
.advantages-heading .section-kicker{
  display:block;
  margin-bottom:17px;
  color:#f1d08a!important;
  font-size:10px;
  letter-spacing:4px;
}
.advantages-heading .section-kicker:after{content:"";display:block;width:48px;height:3px;margin-top:18px;border-radius:4px;background:var(--zorivo-gold)}
.advantages-heading h2{font-size:clamp(54px,6vw,84px);line-height:.85;letter-spacing:-2px}
.advantages-heading h2 em{display:block;color:#f1cf87;font-style:normal}
.advantages-heading>p:last-child{
  max-width:580px;
  margin:22px 0 0;
  padding:0;
  border:0;
  color:#f2f4f1;
  font-size:16px;
  line-height:1.55;
}
.advantages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.advantage-card{
  grid-column:auto;
  min-height:250px;
  padding:25px 28px 27px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 48px rgba(6,30,27,.13);
  color:#101b19;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;
}
.advantage-card:before{background:radial-gradient(circle at 8% 0,rgba(232,187,87,.12),transparent 38%)}
.advantage-card:after{left:28px;right:auto;bottom:20px;width:42px;height:3px;border-radius:3px;transform:none;background:var(--zorivo-gold)}
.advantage-card:nth-child(odd):after{background:#157044}
.advantage-card:hover{transform:translateY(-8px);border-color:#e2bb68;box-shadow:0 27px 65px rgba(6,30,27,.2)}
.advantage-icon{width:58px;height:58px;border-radius:14px;background:linear-gradient(145deg,#f0c667,#dca63d)!important;color:#fff!important;box-shadow:0 8px 22px rgba(199,148,42,.2)}
.advantage-card:nth-child(odd) .advantage-icon{background:linear-gradient(145deg,#16824b,#075f37)!important}
.advantage-number{top:25px;right:27px;color:#b7bab7;font-size:14px}
.advantage-card h3{margin:18px 0 7px;font:700 23px/1.15 var(--sans)}
.advantage-card p{max-width:330px;color:#4f5956;font-size:12px;line-height:1.55}
.advantages-proof{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:26px;
  padding:23px 12px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:18px;
  background:linear-gradient(110deg,#063e35,#004a40);
  box-shadow:0 22px 60px rgba(5,35,31,.18);
}
.advantages-proof>span{display:flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:0 18px;border-left:1px solid rgba(255,255,255,.23)}
.advantages-proof>span:first-child{border-left:0}
.advantages-proof i{display:grid;place-items:center;color:#efc667;font-style:normal}
.advantages-proof .icon{width:32px;height:32px;stroke-width:1.55}
.advantages-proof b{color:#fff;font-size:14px}
.advantages-proof small{display:block;margin-top:4px;color:#d7e0dc;font-size:9px;font-weight:500}
.advantages-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 6px 28px;color:#112521}
.advantages-cta>div{display:flex;align-items:center;gap:20px}
.advantages-cta .brand-mark{height:54px}
.advantages-cta p{display:flex;align-items:center;gap:25px;margin:0}
.advantages-cta strong{font:700 36px var(--serif)}
.advantages-cta small{max-width:170px;padding-left:25px;border-left:1px solid #bdb8ae;font-size:11px;line-height:1.5}
.advantages-cta .btn{min-width:250px;justify-content:center;border-radius:999px;box-shadow:0 12px 30px rgba(185,132,30,.2)}

/* Extend the reference's polish and motion through the remaining page. */
.section{position:relative}
.section-heading h2{letter-spacing:-.8px}
.section-heading .section-kicker{letter-spacing:2px}
.locality-card,.project-card,.hot-card,.developer,.life-card,.service-card,.insight-card,.google-review{
  will-change:transform;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,filter .35s;
}
.locality-card:hover,.project-card:hover,.hot-card:hover,.developer:hover,.life-card:hover,.service-card:hover,.insight-card:hover,.google-review:hover{
  transform:translateY(-7px);
  box-shadow:0 24px 58px rgba(7,36,32,.15);
}
.locality-card img,.project-card img,.life-card img,.service-card img,.insight-card img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}
.locality-card:hover img,.project-card:hover img,.life-card:hover img,.service-card:hover img,.insight-card:hover img{transform:scale(1.045);filter:saturate(1.06)}
.btn,.circle-arrow,.project-link{transition:transform .25s,box-shadow .25s,background-color .25s,color .25s}
.btn:hover,.circle-arrow:hover{transform:translateY(-2px)}
.surface{background:linear-gradient(145deg,#f6f8f7,#fff 54%,#fbf5e9)}
.stats-band{background:linear-gradient(110deg,#043d34,#075248)}

@media(max-width:1100px){
  .hero h1{max-width:650px;font-size:58px}
  .hero-badges{gap:20px}
  .advantages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .advantage-card{min-height:230px}
  .advantages-proof{grid-template-columns:repeat(2,1fr);gap:18px 0}
  .advantages-proof>span:nth-child(3){border-left:0}
}

@media(max-width:760px){
  .hero{min-height:0}
  .hero-bg{height:100%;object-position:62% center}
  .hero-shade{height:100%;background:linear-gradient(90deg,rgba(2,24,23,.95),rgba(2,27,25,.76) 58%,rgba(2,25,24,.2)),linear-gradient(0deg,rgba(2,20,18,.84),transparent 55%)}
  .hero-content{padding-top:38px;padding-bottom:26px}
  .hero .eyebrow{max-width:310px;margin-bottom:18px;font-size:8px;letter-spacing:2.3px}
  .hero .eyebrow:before{width:72px;margin-bottom:12px}
  .hero h1{max-width:390px;font-size:44px;line-height:.91;letter-spacing:-1px}
  .hero-intro{max-width:360px;margin-top:18px;font-size:11px}
  .hero-badges{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
  .hero-badges span{font-size:8px}.hero-badges i{width:35px;height:35px}.hero-badges .icon{width:16px;height:16px}
  .hero .search-shell{margin-top:24px}
  .advantages-section{padding-top:62px}
  .advantages-heading h2{font-size:54px}
  .advantages-heading>p:last-child{font-size:13px}
  .advantages-grid{grid-template-columns:1fr 1fr;gap:12px}
  .advantage-card{min-height:230px;padding:21px 20px}
  .advantage-card h3{font-size:18px}.advantage-card p{font-size:10px}.advantage-icon{width:48px;height:48px}.advantage-number{top:22px;right:20px}
  .advantage-card:after{left:20px}
  .advantages-proof{grid-template-columns:1fr 1fr;padding:18px 6px}
  .advantages-proof>span{justify-content:flex-start;padding:0 13px}.advantages-proof .icon{width:25px;height:25px}.advantages-proof b{font-size:11px}
  .advantages-cta{padding:24px 2px}.advantages-cta p{gap:12px}.advantages-cta strong{font-size:29px}.advantages-cta small{display:none}.advantages-cta .btn{min-width:180px}
}

@media(max-width:480px){
  .hero h1{font-size:39px}
  .hero-badges{grid-template-columns:1fr 1fr}
  .advantages-heading h2{font-size:47px}
  .advantages-grid{grid-template-columns:1fr}
  .advantage-card{min-height:205px}
  .advantages-proof{grid-template-columns:1fr}
  .advantages-proof>span{border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .advantages-proof>span:first-child{border-top:0}
  .advantages-cta{align-items:stretch;flex-direction:column}.advantages-cta .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .locality-card,.project-card,.hot-card,.developer,.life-card,.service-card,.insight-card,.google-review,.advantage-card{transition:none!important}
}

/* =====================================================================
   Corporate minimalist system — complete homepage
   ===================================================================== */
:root{
  --serif:"Manrope","Segoe UI",Arial,sans-serif;
  --sans:"Inter","Segoe UI",Arial,sans-serif;
  --ink:#10221f;
  --ink-deep:#071c19;
  --muted:#677671;
  --border:#dfe6e2;
  --surface:#f4f6f3;
}
html{scroll-behavior:smooth}
body,button,input,select,textarea{font-family:var(--sans)}
body{color:var(--ink);background:#fff;letter-spacing:-.01em}
h1,h2,h3,h4,.brand strong{font-family:var(--serif)!important;font-style:normal}
.brand strong{font-weight:800;letter-spacing:-.06em}
.hero h1,.advantages-heading h2{font-weight:700!important;letter-spacing:-.055em}
.hero h1 em,.advantages-heading h2 em{font-family:inherit;font-style:normal}

/* Shared section composition */
.section,.compact-section{padding:96px 0}
.section-heading{align-items:flex-end;gap:32px;margin-bottom:40px}
.section-heading>div:first-child{display:block}
.section-heading .section-kicker{
  margin:0 0 12px;
  color:#a37424!important;
  font-size:10px;
  font-weight:700;
  letter-spacing:2.4px;
  line-height:1.4;
  text-transform:uppercase;
}
.section-heading h2{margin:0;font-size:clamp(34px,3.2vw,48px);font-weight:700;line-height:1.05;letter-spacing:-.045em}
.section-heading p:not(.section-kicker){max-width:660px;margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
.section-heading>a,.heading-actions>a{
  position:relative;
  padding-bottom:6px;
  color:#0a5947;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.section-heading>a:after,.heading-actions>a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:#c99331;transition:right .3s}
.section-heading>a:hover:after,.heading-actions>a:hover:after{right:0}
.circle-arrow{width:42px;height:42px;border-color:#d6dfda;color:#17473d}
.circle-arrow:hover{border-color:#074d40;background:#074d40}

/* Localities — premium editorial rail */
.localities-section{padding-top:104px;background:#fff}
.localities-section:before{content:"";position:absolute;left:0;top:0;width:34%;height:1px;background:linear-gradient(90deg,#d5ad59,transparent)}
.locality-row{gap:20px}
.locality-card,.locality-card.locality-featured{flex-basis:330px;height:390px;border-radius:22px;box-shadow:0 15px 42px rgba(8,42,36,.12)}
.locality-card.locality-featured{flex-basis:430px}
.locality-card:after{inset:35% 0 0;background:linear-gradient(transparent,rgba(2,27,23,.94))}
.locality-card>em{padding:7px 10px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(4,42,36,.5);backdrop-filter:blur(9px);color:#fff;font-size:8px;font-style:normal}
.locality-card span{left:27px;right:27px;bottom:27px}
.locality-card span small{margin-bottom:7px;color:#dfc27d;font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.locality-card span strong{font-size:27px;font-weight:700;letter-spacing:-.04em}
.locality-card span b{margin-top:10px;color:#fff;font-size:9px}

/* Featured properties — clean corporate listing cards */
.featured-section{padding-block:104px;background:linear-gradient(135deg,#f3f6f3 0%,#fff 55%,#f8f3e8 100%)}
.project-grid{gap:22px}
.project-card{border:1px solid #dce5e0;border-radius:22px;box-shadow:0 14px 38px rgba(8,42,36,.07)}
.project-image{height:300px}
.project-image:after{background:linear-gradient(transparent,rgba(2,25,22,.88))}
.badge,.project-status{font-family:var(--sans);letter-spacing:.04em}
.project-brand{border-radius:10px;font-family:var(--serif);font-weight:800}
.project-price strong{font-family:var(--serif);font-size:22px;font-weight:700}
.project-body{padding:25px 25px 0}
.project-body h3{font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:-.035em}
.project-type{letter-spacing:1.5px}
.project-link{border-radius:12px}
.facts strong,.facts span:first-child strong{font-family:var(--sans);font-size:12px;font-weight:700}
.facts small{margin-top:4px;text-transform:uppercase;letter-spacing:.6px}

/* Market momentum */
.hot-selling-section{padding-block:90px;background:radial-gradient(circle at 92% 15%,rgba(217,173,78,.14),transparent 24%),linear-gradient(125deg,#042d28,#075044)}
.hot-selling-section:after{display:none}
.hot-selling-section .section-heading h2{color:#fff}
.hot-selling-section .section-heading p:not(.section-kicker){color:#b9cec7}
.hot-grid{grid-template-columns:repeat(2,1fr);gap:18px}
.hot-card{grid-template-columns:152px 1fr auto;min-height:156px;padding:12px;border-radius:18px;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.075)}
.hot-card img{width:152px;height:130px;border-radius:12px}
.hot-card>div strong{font-size:13px}.hot-card>div small{margin:5px 0 12px;font-size:9px}.hot-card>div b{font-family:var(--sans);font-size:16px}
.hot-card .rank{left:24px;top:23px;font-family:var(--sans);font-size:12px}

/* Developers */
.developer-section{padding-block:96px;background:#f5f7f4}
.developer-grid{grid-template-columns:repeat(4,1fr);gap:16px}
.developer{height:200px;padding:24px;border-color:#dde5e0;border-radius:18px;text-align:left;box-shadow:0 8px 24px rgba(7,42,35,.04)}
.developer i{margin:0 0 25px;width:50px;height:50px;border-radius:13px;background:#064b3f;font-family:var(--serif);font-size:12px;font-weight:800}
.developer:nth-child(2n) i{background:#e7bd62;color:#19352f}
.developer em{font-size:7px;letter-spacing:.7px;text-transform:uppercase}
.developer strong{font-family:var(--serif);font-size:15px;font-weight:700}
.developer small{margin-top:5px;font-size:9px}
.developer b{margin-top:18px;color:#17614f;font-size:8px;letter-spacing:.4px;text-transform:uppercase}

/* Life mosaic */
.life-section{padding-block:104px;background:#fff}
.life-grid{gap:16px;grid-template-rows:170px 160px 160px}
.life-card{border-radius:20px;box-shadow:0 13px 36px rgba(7,40,34,.08)}
.life-card.image-card:after{inset:25% 0 0;background:linear-gradient(transparent,rgba(2,27,23,.9))}
.image-card>div{left:25px;right:22px;bottom:23px}
.image-card h3{font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.12;letter-spacing:-.035em}
.life-main h3{font-size:32px}
.story-btn{font-weight:600}
.story-btn span{background:#e8bd61;color:#173a32}
.info-card{padding:24px;background:#f1f5f2}
.info-card:nth-child(even){background:#073f35;color:#fff}
.info-card:nth-child(even) p{color:#c3d2cd}
.gold-icon{width:50px;height:50px;border-radius:14px;background:#e8bd61;color:#173a32}
.info-card h3{font-family:var(--serif);font-size:14px;font-weight:700}

/* Service grid */
#services{padding-block:104px;background:linear-gradient(140deg,#f4f7f4,#fff 56%,#faf5ea)}
.service-grid{grid-template-columns:repeat(3,1fr);gap:16px}
.service-card,.service-card.reverse{position:relative;height:230px;grid-template-columns:1fr;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:#053e35;box-shadow:0 15px 38px rgba(7,42,35,.1)}
.service-card>div,.service-card.reverse>div{z-index:2;order:initial;padding:25px;background:linear-gradient(90deg,rgba(3,40,34,.95),rgba(3,40,34,.48) 72%,transparent)}
.service-card img{position:absolute;inset:0;width:100%;height:100%}
.service-card i{left:24px;top:24px;width:46px;height:46px;border-radius:13px}
.service-card h3{margin:60px 0 7px;font-family:var(--serif);font-size:22px;font-weight:700}
.service-card p{max-width:185px;margin:0;color:#dae6e1;font-size:10px;line-height:1.6}
.service-card b{left:auto;right:22px;bottom:20px;display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(255,255,255,.38);border-radius:50%;font-size:15px}

/* Guided journey */
.journey-section{padding-block:104px;background:#fff}
.journey-assurance{border-color:#d8e3de;border-radius:14px;background:#f4f7f5}
.journey-layout{grid-template-columns:minmax(0,1.5fr) minmax(360px,.72fr);gap:20px}
.journey-section .steps{padding:34px 28px;border:1px solid #dfe7e2;border-radius:20px;background:#f5f7f5;box-shadow:0 10px 30px rgba(7,42,35,.05)}
.journey-section .progress-track{top:51px;left:10%;right:10%}
.step span{width:38px;height:38px;border:2px solid #b6c6c0;font-family:var(--sans);font-weight:700}
.step.active span{border-color:#d3a541;background:#e8bd61;color:#15362f;box-shadow:0 0 0 6px rgba(232,189,97,.18)}
.step strong{margin-top:9px;font-family:var(--sans);font-size:11px}.step small{margin-top:4px}
.advisor-card{padding:18px;border-color:#dce5e0;border-radius:20px;background:#063e35;color:#fff;box-shadow:0 16px 42px rgba(6,52,44,.16)}
.advisor-card img{width:92px;height:112px;border:3px solid rgba(255,255,255,.2);border-radius:15px}
.advisor-card h3{font-family:var(--serif);font-size:17px}.advisor-card p{color:#c0d0ca}.advisor-card .online{color:#e8c36f}
.visit-card{border-radius:18px}

/* Statistics */
.stats-band{padding:34px 0;background:linear-gradient(105deg,#e7bd61,#d7a544);color:#16352e}
.stats-grid>div{border-color:rgba(22,53,46,.22)}
.stats-grid i{width:55px;height:55px;border-color:rgba(22,53,46,.35);border-radius:14px;color:#174b40}
.stats-grid b{font-family:var(--serif);font-size:28px;font-weight:800;color:#123b32}
.stats-grid small{margin-top:3px;font-weight:600;color:#31564d}

/* Insights */
#insights{padding-block:104px;background:#fff}
.insight-grid{grid-template-columns:repeat(4,1fr);gap:18px}
.insight-card{display:block;min-height:390px;border-color:#dfe6e2;border-radius:20px;box-shadow:0 12px 34px rgba(7,42,35,.06)}
.insight-card img{width:100%;height:225px}
.insight-card div{padding:22px}
.insight-card small{font-size:8px;font-weight:700;letter-spacing:1.2px}
.insight-card h3{margin:10px 0 9px;font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.35;letter-spacing:-.025em}
.insight-card p{font-size:10px;line-height:1.6}

/* Reviews and FAQ */
.testimonials-faq{padding-block:104px;background:linear-gradient(140deg,#f2f5f2,#fff 56%,#faf4e9)}
.review-summary{border-radius:15px}
.google-review{border-color:#dce5e0;border-radius:20px;box-shadow:0 12px 34px rgba(7,42,35,.06)}
.google-review blockquote{font-family:var(--sans);font-size:12px;font-style:normal}
.faq-section{padding-block:104px;background:#fff}
.faq-section:before{background:#eef4ef}
.faq-aside{border-radius:22px;background:radial-gradient(circle at 85% 10%,rgba(232,189,97,.18),transparent 30%),linear-gradient(145deg,#043d34,#075044)}
.faq-aside h2{font-family:var(--serif);font-weight:700;letter-spacing:-.045em}
.faq-section .faq-wrap{border-color:#dce5e0;border-radius:22px;background:#f5f7f5;box-shadow:0 18px 46px rgba(7,42,35,.07)}
.faq-section .faq-item{border-color:#dfe6e2;border-radius:12px}
.faq-section .faq-item>button{font-family:var(--sans);font-weight:600}
.faq-section .faq-item>button:hover,.faq-section .faq-item.open>button{background:#edf4f0;color:#075041}

/* Footer */
.footer{padding:70px 0 24px;background:radial-gradient(circle at 12% 0,rgba(232,189,97,.1),transparent 23%),linear-gradient(120deg,#032d28,#041f1c);color:#dce8e3}
.footer h3{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.footer p{color:#9fb7ae;font-size:10px}.footer-grid>div>a:not(.brand){font-size:10px;line-height:2.15}
.socials a{border-color:#5b796f}.newsletter input{height:44px}.newsletter button{background:#e2b44d}
.footer-bottom span{font-family:var(--serif);font-size:16px;font-style:normal;font-weight:600;letter-spacing:-.02em}
.scroll-top{background:#dca940;color:#17382f}

@media(max-width:1100px){
  .section,.compact-section,.featured-section,.developer-section,.life-section,#services,.journey-section,#insights,.testimonials-faq,.faq-section{padding-block:78px}
  .developer-grid{grid-template-columns:repeat(4,1fr)}
  .life-grid{grid-template-rows:260px 150px 220px 140px}
  .insight-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:760px){
  .section,.compact-section,.featured-section,.developer-section,.life-section,#services,.journey-section,#insights,.testimonials-faq,.faq-section{padding-block:64px}
  .section-heading{align-items:flex-start;margin-bottom:28px}.section-heading h2{font-size:31px}.section-heading p:not(.section-kicker){font-size:11px}
  .locality-card,.locality-card.locality-featured{flex-basis:82vw;height:330px}
  .project-image{height:270px}
  .hot-grid{grid-template-columns:1fr}.hot-card{grid-template-columns:110px 1fr auto;min-height:132px}.hot-card img{width:110px;height:108px}
  .developer-grid{grid-template-columns:repeat(2,1fr)}.developer{height:180px;padding:19px}
  .life-grid{grid-template-rows:none}.life-main{height:390px}.city-wide,.family-small,.family-wide{height:220px}
  .service-grid{grid-template-columns:1fr}.service-card,.service-card.reverse{height:220px}
  .journey-layout{grid-template-columns:1fr}.journey-section .steps{padding:30px 18px}.journey-section .progress-track{top:49px}
  .stats-band{padding:30px 0}
  .insight-grid{display:flex;gap:16px;overflow-x:auto}.insight-card{flex:0 0 82vw;min-height:370px}.insight-card img{height:215px}
  .footer{padding-top:58px}
}

@media(max-width:480px){
  .developer-grid{grid-template-columns:1fr 1fr;gap:10px}.developer{height:165px;padding:15px}.developer i{margin-bottom:18px}
  .hot-card{grid-template-columns:92px 1fr}.hot-card img{width:92px;height:100px}.hot-card em{display:none}
  .service-card,.service-card.reverse{height:205px}
}

/* Final requested sizing, gutters and FAQ experience */
.hero h1,.advantages-heading h2{font-size:50px!important}
.hero .eyebrow:before{display:none!important}
.hero .eyebrow:after{
  content:"";
  display:block;
  width:116px;
  height:2px;
  margin-top:16px;
  border-radius:999px;
  background:linear-gradient(90deg,#e2b44d,rgba(226,180,77,.25));
}
main>.advantages-section~section>.container,
main>.advantages-section~.stats-band>.container,
.footer>.container{width:min(1320px,calc(100% - 80px));margin-inline:auto}

/* FAQ — premium information centre */
.faq-section{
  padding-block:104px;
  background:
    radial-gradient(circle at 92% 5%,rgba(226,180,77,.12),transparent 22%),
    linear-gradient(145deg,#f3f7f4 0%,#fff 58%,#f8f3e9 100%);
}
.faq-section:before{
  right:auto;
  left:-210px;
  bottom:-260px;
  width:520px;
  height:520px;
  background:transparent;
  border:1px solid rgba(7,80,65,.08);
  box-shadow:0 0 0 75px rgba(7,80,65,.022),0 0 0 150px rgba(7,80,65,.014);
}
.faq-section>.faq-shell,
.faq-section>.faq-shell.reveal{
  display:grid!important;
  grid-template-columns:1fr;
  gap:24px;
  min-height:0;
}
.faq-aside{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  min-height:0;
  padding:44px 48px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:
    radial-gradient(circle at 83% 15%,rgba(232,189,97,.22),transparent 25%),
    linear-gradient(120deg,#043d34,#075347);
  box-shadow:0 25px 60px rgba(5,53,44,.17);
}
.faq-aside:after{
  content:"?";
  position:absolute;
  right:34%;
  bottom:-65px;
  color:rgba(255,255,255,.045);
  font:800 230px/1 var(--serif);
  pointer-events:none;
}
.faq-aside .section-kicker,.faq-aside h2,.faq-aside>p{grid-column:1;position:relative;z-index:1}
.faq-aside .section-kicker{margin:0 0 13px;color:#efca78!important;font-size:9px;letter-spacing:2.5px}
.faq-aside h2{max-width:720px;margin:0;font-size:42px;line-height:1.05;letter-spacing:-.045em}
.faq-aside>p{max-width:670px;margin:14px 0 0;color:#c8d8d2;font-size:12px;line-height:1.7}
.faq-support{
  position:relative;
  z-index:2;
  grid-column:2;
  grid-row:1/4;
  min-width:330px;
  margin:0;
  padding:16px;
  border-color:rgba(255,255,255,.17);
  border-radius:16px;
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(12px);
}
.faq-support>span{background:#e4b653;color:#123a31}
.faq-support a{border:1px solid rgba(255,255,255,.12);transition:transform .25s,background .25s}
.faq-support a:hover{transform:translateX(2px);background:#e4b653}
.faq-section .faq-wrap{
  display:block!important;
  width:100%;
  padding:24px;
  border:1px solid #dbe5df;
  border-radius:24px;
  background:rgba(255,255,255,.8);
  box-shadow:0 20px 55px rgba(7,48,40,.08);
  backdrop-filter:blur(16px);
}
.faq-label{margin:0 0 18px;padding:2px 4px 18px;border-bottom:1px solid #dce5e0}
.faq-label span{font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:-.025em}
.faq-label small{color:#78867f;font-size:9px;letter-spacing:.2px}
.faq-section .faq{display:grid!important;gap:12px;counter-reset:faq-counter}
.faq-section .faq-item{
  counter-increment:faq-counter;
  border:1px solid #dbe4df;
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 18px rgba(7,48,40,.035);
  transition:border-color .3s,box-shadow .3s,transform .3s;
}
.faq-section .faq-item:hover{transform:translateY(-2px);border-color:#b8cec4;box-shadow:0 12px 28px rgba(7,48,40,.08)}
.faq-section .faq-item.open{border-color:#bdd4c9;box-shadow:0 15px 36px rgba(7,66,53,.10)}
.faq-section .faq-item>button{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 38px;
  align-items:center;
  gap:14px;
  min-height:76px;
  padding:12px 18px;
  border-radius:14px;
  background:#fff;
  color:#102a24;
  font-size:13px;
  font-weight:650;
  line-height:1.4;
}
.faq-section .faq-item>button:before{
  content:counter(faq-counter,decimal-leading-zero);
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:11px;
  background:#edf4f0;
  color:#17614f;
  font-size:9px;
  font-weight:800;
  letter-spacing:.5px;
}
.faq-section .faq-item>button i{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  margin:0;
  border:1px solid #d7e2dc;
  border-radius:50%;
  font-size:0;
  transform:none;
  transition:background .25s,border-color .25s,transform .3s;
}
.faq-section .faq-item>button i:after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.faq-section .faq-item.open>button{border-radius:14px 14px 0 0;background:#edf4f0;color:#005443}
.faq-section .faq-item.open>button:before{background:#075347;color:#fff}
.faq-section .faq-item.open>button i{border-color:#075347;background:#075347;color:#fff;transform:rotate(180deg)}
.faq-section .faq-item>div{background:#fff}
.faq-section .faq-item>div>p{padding:0 72px;color:#63756d;font-size:11px;line-height:1.75}
.faq-section .faq-item.open>div>p{padding:4px 72px 22px}

@media(max-width:900px){
  .faq-aside{grid-template-columns:1fr;padding:36px}
  .faq-support{grid-column:1;grid-row:auto;width:100%;min-width:0;margin-top:26px}
}

@media(max-width:760px){
  main>.advantages-section~section>.container,
  main>.advantages-section~.stats-band>.container,
  .footer>.container{width:calc(100% - 32px)}
  .hero .eyebrow:after{width:72px;margin-top:12px}
  .faq-section{padding-block:64px}
  .faq-aside{padding:28px;border-radius:19px}.faq-aside h2{font-size:34px}.faq-aside:after{display:none}
  .faq-section .faq-wrap{padding:14px;border-radius:19px}
  .faq-label{display:block}.faq-label small{display:block;margin-top:5px}
  .faq-section .faq-item>button{grid-template-columns:34px minmax(0,1fr) 32px;gap:10px;min-height:68px;padding:10px;font-size:11px}
  .faq-section .faq-item>button:before{width:34px;height:34px}
  .faq-section .faq-item>button i{width:30px;height:30px}
  .faq-section .faq-item>div>p,.faq-section .faq-item.open>div>p{padding-left:54px;padding-right:46px}
}

/* =====================================================================
   Process, momentum, developer marquee and split FAQ refinements
   ===================================================================== */

/* Hot selling — three columns by two rows */
.hot-selling-section{overflow:hidden}
.hot-selling-section:before{content:"";position:absolute;right:-120px;top:-170px;width:430px;height:430px;border:1px solid rgba(232,189,97,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(232,189,97,.025),0 0 0 140px rgba(232,189,97,.018)}
.hot-selling-section .section-heading{position:relative;z-index:1}
.hot-grid{position:relative;z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hot-card{
  grid-template-columns:118px minmax(0,1fr) auto;
  min-height:144px;
  gap:15px;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.055));
  box-shadow:inset 0 1px rgba(255,255,255,.045);
}
.hot-card:hover{border-color:rgba(232,189,97,.55);background:rgba(255,255,255,.125)}
.hot-card img{width:118px;height:118px;border-radius:13px}
.hot-card>div{min-width:0}
.hot-card>div strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.hot-card>div small{font-size:8px;letter-spacing:1px;text-transform:uppercase}
.hot-card>div b{color:#f2d184;font-size:16px}
.hot-card em{align-self:center;padding:8px 9px;border-radius:999px;font-size:9px;white-space:nowrap}
.hot-card .rank{left:22px;top:20px;width:34px;height:34px;background:#e5b654;color:#12362f;box-shadow:0 7px 18px rgba(0,0,0,.18)}

/* Developers — real logo marquee */
.developer-section{overflow:hidden}
.developer-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:10px 0 22px;
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
}
.developer-track{
  display:flex;
  width:max-content;
  gap:18px;
  animation:developerLoop 34s linear infinite;
  will-change:transform;
}
.developer-marquee:hover .developer-track{animation-play-state:paused}
.developer-logo{
  display:grid;
  place-items:center;
  flex:0 0 210px;
  width:210px;
  height:122px;
  padding:22px;
  overflow:hidden;
  border:1px solid #dce5e0;
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 28px rgba(7,42,35,.055);
  transition:transform .3s,border-color .3s,box-shadow .3s;
}
.developer-logo:hover{transform:translateY(-5px);border-color:#c8aa67;box-shadow:0 18px 38px rgba(7,42,35,.11)}
.developer-logo img{display:block;width:auto;max-width:100%;height:auto;max-height:68px;object-fit:contain;object-position:center;filter:none;opacity:1;transition:transform .3s}
.developer-logo:nth-child(5) img,.developer-logo:nth-child(13) img{width:220%;max-width:none;max-height:none}
.developer-logo:hover img{transform:scale(1.04)}
@keyframes developerLoop{to{transform:translateX(calc(-50% - 9px))}}

/* Journey — visible five-stage process */
.journey-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 0,rgba(226,180,77,.15),transparent 24%),
    linear-gradient(145deg,#f2f6f3,#fff 58%,#faf5ea);
}
.journey-section:before{content:"";position:absolute;left:-170px;bottom:-240px;width:430px;height:430px;border:1px solid rgba(7,80,65,.08);border-radius:50%;box-shadow:0 0 0 75px rgba(7,80,65,.02),0 0 0 150px rgba(7,80,65,.012)}
.journey-section .container,.journey-section .container.reveal{position:relative;z-index:1;opacity:1!important;visibility:visible!important;transform:none!important}
.journey-heading{align-items:center}
.journey-assurance{padding:14px 17px;border:1px solid #cfded7;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(7,42,35,.06)}
.journey-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px}
.journey-section .steps{
  position:relative;
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;
  gap:12px;
  padding:28px;
  overflow:hidden;
  border:1px solid #dbe5df;
  border-radius:24px;
  background:#fff;
  box-shadow:0 20px 55px rgba(7,48,40,.08);
}
.journey-section .progress-track{top:48px;left:10%;right:10%;height:3px;background:#dce6e1}
.journey-section .progress-track i{background:linear-gradient(90deg,#0a6954,#e0b04c)}
.journey-section .step{
  width:auto;
  min-width:0;
  padding:0 10px 14px;
  border:1px solid transparent;
  border-radius:16px;
  background:transparent;
  text-align:left;
  transition:background .3s,border-color .3s,transform .3s;
}
.journey-section .step:hover{transform:translateY(-3px);border-color:#dce6e1;background:#f6f8f6}
.journey-section .step span{
  position:relative;
  margin:0 0 22px;
  width:42px;
  height:42px;
  border:3px solid #fff;
  background:#e7eeea;
  color:#547068;
  box-shadow:0 0 0 1px #bfd0c8,0 6px 18px rgba(7,42,35,.08);
}
.journey-section .step.active span{border-color:#fff;background:#075347;color:#fff;box-shadow:0 0 0 2px #d9b053,0 8px 20px rgba(7,83,71,.2)}
.journey-section .step strong{margin:0 0 6px;color:#18372f;font-size:12px;font-weight:750}
.journey-section .step small{max-width:120px;color:#788982;font-size:9px;line-height:1.5}
.journey-section .advisor-card{
  min-height:190px;
  padding:24px;
  border:0;
  border-radius:22px;
  background:radial-gradient(circle at 90% 5%,rgba(232,189,97,.18),transparent 30%),linear-gradient(130deg,#043d34,#075347);
  box-shadow:0 20px 48px rgba(5,53,44,.16);
}
.journey-section .advisor-card img{width:120px;height:142px;border-radius:17px}
.journey-section .advisor-card h3{margin:7px 0 4px;font-size:20px}
.journey-section .advisor-card p{font-size:10px}
.journey-section .consultation-btn{min-height:40px;margin-top:10px;padding-inline:16px;border-radius:10px}
.journey-section .visit-card{
  position:relative;
  display:grid!important;
  grid-template-columns:1fr auto;
  align-content:center;
  min-height:190px;
  padding:28px;
  overflow:hidden;
  border:1px solid #d7e3dc;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 44px rgba(7,48,40,.07);
}
.journey-section .visit-card:after{content:"✓";position:absolute;right:-8px;bottom:-34px;color:rgba(7,83,71,.05);font:800 150px/1 var(--serif)}
.journey-section .visit-card h3{grid-column:1/-1;margin:0 0 15px;font-size:15px}
.journey-section .visit-card p{margin:0}.journey-section .visit-card p b{color:#0a5948;font-size:12px}.journey-section .visit-card p small{color:#7a8b84}
.journey-section .visit-card span{position:relative;z-index:1;align-self:center;padding:10px 12px;border-radius:10px;background:#e7f4ed;font-size:9px;font-weight:700}

/* FAQ — left briefing, right accordion */
.faq-section>.faq-shell,.faq-section>.faq-shell.reveal{grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);align-items:stretch;gap:24px}
.faq-aside{display:flex;flex-direction:column;align-items:stretch;padding:42px;min-height:610px}
.faq-aside .section-kicker,.faq-aside h2,.faq-aside>p{grid-column:auto}
.faq-aside h2{font-size:42px}
.faq-aside:after{right:-5%;bottom:-35px;font-size:250px}
.faq-support{grid-column:auto;grid-row:auto;width:100%;min-width:0;margin-top:auto}
.faq-section .faq-wrap{padding:22px}
.faq-section .faq{gap:11px}
.faq-section .faq-item>button{min-height:70px}
.faq-section .faq-item.open>div>p{padding-bottom:19px}

@media(max-width:1100px){
  .hot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey-layout{grid-template-columns:1fr 1fr}
  .faq-section>.faq-shell,.faq-section>.faq-shell.reveal{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)}
  .faq-aside{padding:34px}
}

@media(max-width:900px){
  .faq-section>.faq-shell,.faq-section>.faq-shell.reveal{grid-template-columns:1fr}
  .faq-aside{min-height:390px}
}

@media(max-width:760px){
  .hot-grid{grid-template-columns:1fr}.hot-card{grid-template-columns:105px minmax(0,1fr) auto}.hot-card img{width:105px;height:105px}
  .developer-logo{flex-basis:170px;width:170px;height:105px;padding:18px}.developer-logo img{max-height:58px}
  .journey-layout{grid-template-columns:1fr}
  .journey-section .steps{grid-column:auto;display:flex;gap:12px;padding:20px;overflow-x:auto}
  .journey-section .progress-track{left:41px;right:auto;top:41px;width:600px}
  .journey-section .step{flex:0 0 145px;padding:0 8px 12px}
  .journey-section .advisor-card,.journey-section .visit-card{min-height:180px}
  .faq-aside{min-height:380px;padding:28px}
}

@media(max-width:480px){
  .hot-card{grid-template-columns:88px minmax(0,1fr)}.hot-card img{width:88px;height:96px}.hot-card em{position:absolute;right:13px;bottom:13px;display:block}
  .journey-section .advisor-card{display:grid;grid-template-columns:92px 1fr}.journey-section .advisor-card img{width:92px;height:118px}
}

@media(prefers-reduced-motion:reduce){
  .developer-track{animation:none;transform:none}.developer-marquee{overflow-x:auto;mask-image:none}
}

/* Final journey redesign — split briefing and vertical process board */
.journey-section{
  padding-block:96px;
  background:
    radial-gradient(circle at 94% 4%,rgba(225,178,75,.14),transparent 22%),
    linear-gradient(140deg,#f2f6f3 0%,#fff 55%,#faf5ea 100%);
  color:#102d26;
}
.journey-section .container,
.journey-section .container.reveal{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  align-items:stretch;
  gap:28px;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.journey-section .section-heading,
.journey-section .journey-layout,
.journey-section .steps,
.journey-section .step,
.journey-section .advisor-card,
.journey-section .visit-card{
  opacity:1!important;
  visibility:visible!important;
}
.journey-section .journey-heading{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  min-height:690px;
  margin:0;
  padding:48px 42px;
  overflow:hidden;
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 8%,rgba(231,187,92,.22),transparent 27%),
    linear-gradient(145deg,#043c33,#075347);
  box-shadow:0 26px 65px rgba(5,53,44,.18);
}
.journey-section .journey-heading:after{
  content:"05";
  position:absolute;
  right:-18px;
  bottom:75px;
  color:rgba(255,255,255,.045);
  font:800 190px/1 var(--serif);
  pointer-events:none;
}
.journey-section .journey-heading>div:first-child{position:relative;z-index:1;display:block}
.journey-section .journey-heading .section-kicker{margin-bottom:18px;color:#f0c66d!important}
.journey-section .journey-heading h2{
  max-width:420px;
  margin:0;
  color:#fff!important;
  font-size:clamp(38px,3.5vw,52px);
  line-height:1.02;
  letter-spacing:-.055em;
}
.journey-section .journey-heading p:not(.section-kicker){max-width:420px;margin-top:20px;color:#c8d9d3!important;font-size:13px;line-height:1.75}
.journey-section .journey-assurance{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto 1fr;
  width:100%;
  margin-top:auto;
  padding:18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.08);
  color:#fff;
  box-shadow:none;
  backdrop-filter:blur(12px);
}
.journey-section .journey-assurance .icon{color:#edc66f}
.journey-section .journey-assurance small{color:#b9cec7}
.journey-section .journey-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:16px;
}
.journey-section .steps{
  position:relative;
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  padding:22px;
  overflow:visible;
  border:1px solid #d9e4de;
  border-radius:24px;
  background:rgba(255,255,255,.9);
  box-shadow:0 20px 55px rgba(7,48,40,.08);
  backdrop-filter:blur(14px);
}
.journey-section .steps:before{
  content:"";
  position:absolute;
  z-index:0;
  left:49px;
  top:57px;
  bottom:57px;
  width:2px;
  background:linear-gradient(#0b6855,#dcb052);
  opacity:.45;
}
.journey-section .progress-track{display:none}
.journey-section .step{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:14px;
  align-items:center;
  width:100%;
  min-height:74px;
  padding:10px 16px 10px 4px;
  border:1px solid transparent;
  border-radius:15px;
  background:#fff;
  color:#15382f;
  text-align:left;
  box-shadow:0 5px 18px rgba(7,48,40,.035);
}
.journey-section .step:hover{transform:translateX(4px);border-color:#c9dbd2;background:#f5f8f6}
.journey-section .step span{
  grid-row:1/3;
  align-self:center;
  margin:0;
  width:42px;
  height:42px;
  border:3px solid #fff;
  background:#e8efeb;
  color:#4d6a62;
  box-shadow:0 0 0 1px #bfd0c8,0 6px 16px rgba(7,42,35,.08);
}
.journey-section .step.active{border-color:#bed5ca;background:#edf5f1}
.journey-section .step.active span{border-color:#fff;background:#075347;color:#fff;box-shadow:0 0 0 2px #dfb557,0 7px 18px rgba(7,83,71,.2)}
.journey-section .step strong{align-self:end;margin:0;color:#173a31;font-size:12px;font-weight:750}
.journey-section .step small{align-self:start;max-width:none;margin:3px 0 0;color:#71847c;font-size:9px}
.journey-section .advisor-card,
.journey-section .visit-card{min-height:174px;border-radius:20px}
.journey-section .advisor-card{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  padding:18px;
  background:#063f35;
}
.journey-section .advisor-card img{width:92px;height:124px;border-radius:15px}
.journey-section .advisor-card h3{color:#fff;font-size:16px}
.journey-section .advisor-card p{color:#bcd0c8}
.journey-section .consultation-btn{min-height:36px;margin-top:7px;padding-inline:12px;font-size:8px}
.journey-section .visit-card{
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:24px;
  color:#17382f!important;
}
.journey-section .visit-card h3{display:block!important;margin:0 0 15px;color:#17382f!important;font-size:14px}
.journey-section .visit-card p{display:block!important;margin:0;color:#17382f!important;line-height:1.65}
.journey-section .visit-card span{display:inline-block!important;align-self:flex-start;margin-top:14px;color:#096044!important}

@media(max-width:1100px){
  .journey-section .container,.journey-section .container.reveal{grid-template-columns:1fr}
  .journey-section .journey-heading{min-height:400px}
  .journey-section .journey-heading h2{max-width:680px}
  .journey-section .journey-heading p:not(.section-kicker){max-width:650px}
  .journey-section .journey-assurance{max-width:330px;margin-top:48px}
}

@media(max-width:760px){
  .journey-section{padding-block:64px}
  .journey-section .container,.journey-section .container.reveal{gap:18px}
  .journey-section .journey-heading{min-height:390px;padding:32px 28px;border-radius:21px}
  .journey-section .journey-heading h2{font-size:40px}
  .journey-section .journey-heading:after{display:none}
  .journey-section .journey-layout{grid-template-columns:1fr}
  .journey-section .steps{grid-column:auto;display:grid;padding:15px;overflow:visible}
  .journey-section .steps:before{left:41px;top:48px;bottom:48px}
  .journey-section .step{display:grid;flex:none;grid-template-columns:47px 1fr;min-height:68px;padding-right:10px}
  .journey-section .step span{width:38px;height:38px}
  .journey-section .advisor-card,.journey-section .visit-card{min-height:170px}
}

@media(max-width:420px){
  .journey-section .journey-heading{min-height:410px;padding:28px 24px}
  .journey-section .journey-heading h2{font-size:35px}
  .journey-section .advisor-card{grid-template-columns:82px minmax(0,1fr);padding:15px}
  .journey-section .advisor-card img{width:82px;height:112px}
}

/* Final visual-detail pass */
.hero h1{text-shadow:0 4px 26px rgba(0,0,0,.52),0 1px 2px rgba(0,0,0,.8)}
.hero h1 em{text-shadow:0 4px 26px rgba(0,0,0,.5),0 0 24px rgba(226,180,77,.12)}
.advantages-heading{max-width:none}
.advantages-heading h2{white-space:nowrap}
.advantages-heading h2 em{display:inline}

.developer-logo{display:flex;align-items:center;justify-content:center}
.developer-logo img{width:auto!important;max-width:88%!important;height:auto!important;max-height:72px!important;margin:auto;object-fit:contain!important;object-position:center!important;transform:none}
.developer-logo:hover img{transform:scale(1.035)}
.developer-logo:nth-child(5) img,.developer-logo:nth-child(13) img{width:300px!important;max-width:none!important;height:auto!important;max-height:none!important;flex:0 0 auto}

.life-card.verify{background:linear-gradient(145deg,#063f35,#075347);color:#fff}
.life-card.verify p{color:#c2d5ce}
.life-card.verify .gold-icon{background:#e7bd61;color:#14382f}

/* Animated buying-journey vector */
.journey-visual{position:relative;z-index:2;width:100%;max-width:430px;margin:30px auto 18px}
.journey-visual svg{display:block;width:100%;height:auto;overflow:visible}
.journey-visual *{vector-effect:non-scaling-stroke}
.journey-route{fill:none;stroke:url(#journeyGold);stroke-width:3;stroke-linecap:round;stroke-dasharray:8 10;animation:journeyRoute 7s linear infinite}
.journey-pin circle{fill:#0a6553;stroke:#e8c36e;stroke-width:2}.journey-pin path,.journey-pin circle+path{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.journey-pin{transform-box:fill-box;transform-origin:center;animation:journeyPin 3.4s ease-in-out infinite}.pin-two{animation-delay:-1.1s}.pin-three{animation-delay:-2.2s}
.journey-key{transform-box:fill-box;transform-origin:center;animation:journeyKey 4s ease-in-out infinite}.journey-key circle{fill:url(#journeyGold);stroke:#fff;stroke-width:2}.journey-key path{fill:none;stroke:#123d34;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.journey-card-graphic{transform-box:fill-box;transform-origin:center;animation:journeyCard 4.8s ease-in-out infinite}.journey-card-graphic rect{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.26)}.journey-card-graphic circle{fill:#e7bd61}.journey-card-graphic path{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.journey-card-graphic path:nth-of-type(n+2){stroke:rgba(255,255,255,.58)}
.journey-orbit{fill:#efcb7b;transform-box:fill-box;transform-origin:center;animation:journeyOrbit 2.8s ease-in-out infinite}.orbit-two{animation-delay:-1.4s}
@keyframes journeyRoute{to{stroke-dashoffset:-180}}
@keyframes journeyPin{50%{transform:translateY(-7px)}}
@keyframes journeyKey{50%{transform:translateY(-9px) rotate(5deg)}}
@keyframes journeyCard{50%{transform:translateY(5px)}}
@keyframes journeyOrbit{50%{transform:scale(1.7);opacity:.35}}

/* Animated FAQ knowledge vector */
.faq-visual{position:relative;z-index:2;width:100%;max-width:420px;margin:30px auto 22px}
.faq-visual svg{display:block;width:100%;height:auto;overflow:visible}
.faq-visual *{vector-effect:non-scaling-stroke}
.faq-document{transform-box:fill-box;transform-origin:center;animation:faqDocument 5s ease-in-out infinite}.faq-document rect{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.28);stroke-width:1.5}.faq-document>path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2;stroke-linecap:round}.faq-document circle{fill:url(#faqGold);stroke:#fff;stroke-width:2}.faq-document circle+path{stroke:#113c33;stroke-width:2.5}
.faq-bubble{transform-box:fill-box;transform-origin:center}.faq-bubble path{stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.bubble-left{animation:faqBubbleLeft 4.2s ease-in-out infinite}.bubble-left path{fill:#e8bd61;stroke:#f6da91}.bubble-left text{fill:#123c33;font:800 34px var(--serif);text-anchor:middle}.bubble-right{animation:faqBubbleRight 4.6s ease-in-out infinite}.bubble-right path:first-child{fill:#0a6755;stroke:#81a99d}.bubble-right path:last-child{fill:none;stroke:#f3cf78;stroke-width:3}
.faq-spark{fill:#efcb79;transform-box:fill-box;transform-origin:center;animation:faqSpark 2.6s ease-in-out infinite}.spark-two{animation-delay:-1.3s}
.faq-orbit-line{fill:none;stroke:rgba(238,199,111,.35);stroke-width:2;stroke-dasharray:4 9;animation:faqOrbit 8s linear infinite}
@keyframes faqDocument{50%{transform:translateY(-6px) rotate(.7deg)}}
@keyframes faqBubbleLeft{50%{transform:translate(7px,-7px)}}
@keyframes faqBubbleRight{50%{transform:translate(-7px,6px)}}
@keyframes faqSpark{50%{transform:scale(1.8);opacity:.3}}
@keyframes faqOrbit{to{stroke-dashoffset:-160}}

@media(max-width:760px){
  .advantages-heading h2{font-size:clamp(34px,10vw,50px)!important}
  .journey-visual,.faq-visual{max-width:340px;margin-block:24px 18px}
  .developer-logo img{max-height:62px!important}
}

@media(prefers-reduced-motion:reduce){
  .journey-visual *,.faq-visual *{animation:none!important}
}

/* =====================================================================
   Mobile stability and responsive layout corrections
   ===================================================================== */
body{overflow-x:hidden}

@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .container,
  .localities-section .container,
  main>.advantages-section~section>.container,
  main>.advantages-section~.stats-band>.container,
  .footer>.container{width:calc(100% - 32px)!important;max-width:none;margin-inline:auto}

  /* Match every section heading to the clean Localities mobile pattern. */
  .section-heading,
  .locality-heading,
  .reviews-heading{
    display:block!important;
    width:100%;
    margin-bottom:28px;
  }
  .section-heading>div:first-child{display:block!important;width:100%;max-width:none}
  .section-heading .section-kicker{max-width:none;margin:0 0 13px;font-size:9px;line-height:1.45;letter-spacing:2px}
  .section-heading h2{max-width:100%;font-size:clamp(30px,8.7vw,40px);line-height:1.06;letter-spacing:-.045em;text-wrap:balance}
  .section-heading p:not(.section-kicker){max-width:100%;margin-top:14px;font-size:11px;line-height:1.75}
  .section-heading>a,
  .heading-actions{display:flex;align-items:center;width:max-content;max-width:100%;margin-top:21px}
  .heading-actions{gap:8px}
  .heading-actions>a,.section-heading>a{font-size:9px;letter-spacing:.2px}
  .heading-actions .circle-arrow{display:none}
  .review-summary{width:100%;max-width:310px;margin-top:20px}

  /* Search becomes a stable segmented control plus balanced two-column form. */
  .hero .search-shell{width:100%;max-width:100%;margin-top:24px}
  .search-tabs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px;
    width:100%;
    padding:4px;
    overflow:hidden;
    border-radius:13px 13px 0 0;
    background:rgba(2,35,31,.9);
  }
  .search-tabs .search-tab{
    width:100%;
    min-width:0!important;
    height:44px;
    padding:0 5px;
    border-radius:9px!important;
    background:transparent;
    font-size:10px;
    white-space:nowrap;
  }
  .search-tabs .search-tab.active{background:#e2b44d;color:#102d26;box-shadow:0 5px 16px rgba(0,0,0,.16)}
  .search-tabs .search-tab:after{display:none}
  .search-panel{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:9px;border-radius:0 0 13px 13px}
  .select-field{min-width:0;min-height:60px}
  .select-field>button{min-width:0;padding-right:7px}
  .select-field b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .search-btn{grid-column:1/-1!important;min-height:50px;margin:8px 4px 4px}
  .search-live{position:relative;grid-column:1/-1;left:auto;bottom:auto;min-height:0;margin:2px 5px 0;color:#49635b;text-shadow:none}

  /* Full-width, scroll-safe navigation drawer. */
  .premium-header .header-inner{width:calc(100% - 28px)!important;gap:10px}
  .premium-header .header-actions{gap:0}
  .premium-header .menu-toggle{display:grid;place-content:center;width:42px;height:42px;padding:7px;border:1px solid #dce5e0;border-radius:12px;background:#f5f7f5}
  .premium-header .menu-toggle span{width:21px;margin:3px auto;border-radius:4px;background:#10382f}
  .mobile-nav{
    inset:0!important;
    width:100vw!important;
    max-width:100vw;
    height:100dvh;
    padding:0 20px 24px;
    overflow-y:auto;
    overscroll-behavior:contain;
    border-radius:0;
    box-shadow:none;
  }
  .mobile-nav-head{position:sticky;z-index:2;top:0;height:68px;background:#fff;font-size:20px}
  .mobile-close{flex:0 0 40px}
  .mobile-menu-group>button,.mobile-direct{min-height:58px;font-size:12px}
  .mobile-menu-group>div a{padding-block:10px;font-size:10px}
  .mobile-nav-actions{grid-template-columns:1fr 1fr;margin-top:20px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .mobile-nav-actions>a{min-height:46px}
  body.menu-open:before{display:none}

  /* Prevent component rails and cards from enlarging the page canvas. */
  .locality-row,.project-grid,.insight-grid,.reviews-marquee,.developer-marquee{max-width:100%}
  .project-grid{display:flex;grid-template-columns:none;gap:16px;overflow-x:auto;padding-bottom:18px}
  .project-card{flex:0 0 min(86vw,360px);min-width:0}
  .hot-grid,.service-grid,.journey-layout,.faq-shell{min-width:0}

  /* Copyright and tagline stack without colliding with the scroll button. */
  .footer-bottom{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:9px;
    width:calc(100% - 32px)!important;
    margin-top:34px;
    padding:20px 58px 4px 0;
  }
  .footer-bottom small{max-width:100%;font-size:9px;line-height:1.6}
  .footer-bottom span{max-width:100%;font-size:13px;line-height:1.4;text-align:left}
  .scroll-top{right:16px;bottom:16px;width:44px;height:44px}
}

@media(max-width:480px){
  .utility-bar{display:none}
  .site-header,.premium-header{height:64px}
  .main-header,.premium-header .header-inner{height:64px}
  .premium-header .brand strong{font-size:19px}
  .premium-header .brand small{font-size:6px;letter-spacing:1.15px}
  .advantages-heading h2{font-size:8.6vw!important;letter-spacing:-.055em}
  .search-tabs{gap:3px;padding:3px}
  .search-tabs .search-tab{height:42px;font-size:9px}
  .search-panel{grid-template-columns:1fr}
  .select-field:nth-child(n){border-right:0!important}
  .search-btn{grid-column:1!important}
  .search-live{grid-column:1}
  .mobile-nav-actions{grid-template-columns:1fr}
  .section-heading h2{font-size:clamp(29px,9.4vw,38px)}
  .project-card{flex-basis:88vw}
  .footer-grid{grid-template-columns:1fr 1fr;column-gap:18px}
  .footer-about,.newsletter{grid-column:1/-1}
}

@media(max-width:360px){
  .container,
  .localities-section .container,
  main>.advantages-section~section>.container,
  main>.advantages-section~.stats-band>.container,
  .footer>.container{width:calc(100% - 24px)!important}
  .search-tabs .search-tab{font-size:8px}
  .mobile-nav{padding-inline:16px}
  .footer-bottom{width:calc(100% - 24px)!important}
}
