/* ============================================================
   HILL BOTTOM — unified landing-page language
   Loaded last: typography, cinematic page heroes and Urban Kaza.
   ============================================================ */

@font-face{font-family:"Inter Local";src:url("../fonts/Inter-Light.ttf") format("truetype");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Inter Local";src:url("../fonts/Inter-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Inter Local";src:url("../fonts/Inter-Medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Inter Local";src:url("../fonts/Inter-Semibold.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}

:root{
  --sans:"Inter Local","Noto Sans Ethiopic",system-ui,-apple-system,"Segoe UI",sans-serif;
  --display:"Inter Local","Noto Sans Ethiopic",system-ui,-apple-system,"Segoe UI",sans-serif;
}

body{font-family:var(--sans);font-weight:300}
h1,h2,h3,h4,.d1,.d2,.d3,.d4,.proj__name,.story__t,.ledger__t,.fact .v{font-family:var(--display);font-weight:300}
p,li,dd,input,textarea,select{font-weight:300}
.nav a,.mark,.btn,.link,.fact .k,.tbl thead th{font-weight:500}

/* Every inner-page opening now inherits the landing page's calm,
   image-led first viewport and centered editorial hierarchy. */
body:not(.home-editorial) .hero{min-height:min(920px,100svh)}
body:not(.home-editorial) .hero__veil{
  background:linear-gradient(180deg,rgba(6,11,20,.28) 0%,rgba(6,11,20,.36) 42%,rgba(6,11,20,.82) 100%);
}
body:not(.home-editorial) .hero__in{
  min-height:min(920px,100svh);
  display:grid;
  align-content:end;
  padding-top:clamp(132px,18vh,210px);
  padding-bottom:clamp(42px,7vh,78px);
}
body:not(.home-editorial) .hero__stage{max-width:900px}
body:not(.home-editorial) .hero .d1{font-size:clamp(3rem,6vw,5.4rem);font-weight:300;line-height:.98}
body:not(.home-editorial) .hero__sub{font-size:clamp(1rem,1.35vw,1.2rem);font-weight:300}
body:not(.home-editorial) .hero .facts{
  border-top:1px solid rgba(255,255,255,.26);
  border-bottom:1px solid rgba(255,255,255,.18);
  background:rgba(6,11,20,.18);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
body:not(.home-editorial) .pad{padding-top:clamp(74px,9vw,148px);padding-bottom:clamp(74px,9vw,148px)}
body:not(.home-editorial) .head--split{align-items:start}
body:not(.home-editorial) .d2{font-size:clamp(2.4rem,4.7vw,4.4rem);font-weight:300}
body:not(.home-editorial) .proj,
body:not(.home-editorial) .grid,
body:not(.home-editorial) .facts{--card-gap:clamp(22px,3vw,46px)}

/* ---------------- Urban Kaza: intro film ---------------- */
.urban-kaza-page{
  --display:"Inter Local","Noto Sans Ethiopic",sans-serif;
  --sans:"Inter Local","Noto Sans Ethiopic",sans-serif;
  font-family:var(--sans);
}
.urban-kaza-page .ch::after{display:none}
.uk-intro__film{
  position:absolute;inset:0;z-index:1;width:100%;height:100%;max-width:none;
  object-fit:cover;opacity:0;transition:opacity 260ms var(--ease);
}
.uk-intro.is-live .uk-intro__film{opacity:1}
.uk-intro__pattern,.uk-intro__lockup{z-index:0}
.uk-intro.is-fallback .uk-intro__pattern,.uk-intro.is-fallback .uk-intro__lockup{z-index:2}
.uk-intro.is-fallback .uk-intro__film{opacity:0}
.uk-intro__skip{z-index:4}
.uk-brand-mark{width:48px;height:68px;flex:none}

/* ---------------- Urban Kaza: centered hero ---------------- */
.urban-kaza-page .uk-hero .hero__media img{object-position:50% 55%;filter:saturate(.82) contrast(1.04)}
.urban-kaza-page .uk-hero .hero__veil{
  background:
    radial-gradient(circle at 50% 42%,rgba(48,48,48,.08),rgba(48,48,48,.52) 64%),
    linear-gradient(180deg,rgba(20,24,26,.34),rgba(24,28,29,.72));
}
.urban-kaza-page .uk-hero .hero__in{
  min-height:100svh;display:grid;place-items:center;align-content:center;
  text-align:center;padding:clamp(122px,16vh,170px) var(--gut) clamp(34px,5vh,56px);
}
.urban-kaza-page .uk-hero .hero__stage{
  display:grid;justify-items:center;gap:clamp(18px,2.2vh,28px);
  width:min(900px,100%);max-width:none;margin:auto;
}
.uk-hero__brand{
  display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.4vw,28px);
  width:auto;color:var(--uk-offwhite);
}
.uk-brand-type{display:grid;justify-items:start;text-align:left;line-height:1}
.uk-hero__brand strong{font-size:clamp(3.125rem,5.4vw,3.75rem);font-weight:300;letter-spacing:.08em}
.uk-hero__brand small{margin-top:10px;font-weight:400}
.urban-kaza-page .uk-hero .hero__sub{
  max-width:58ch;margin-inline:auto;text-align:center;font-weight:300;
  color:rgba(245,245,219,.9);
}
.uk-hero__actions{justify-content:center}
.urban-kaza-page .uk-hero .btn{
  min-height:52px;padding-inline:26px;background:rgba(48,48,48,.54);
}
.urban-kaza-page .uk-hero .btn--gold{background:#A6522F;color:#fff}
.uk-hero__facts{align-self:end;width:100%;margin-top:clamp(28px,5vh,58px)}
.urban-kaza-page .uk-hero .facts{
  border:1px solid rgba(245,245,219,.26);border-radius:2px;
  background:rgba(35,37,36,.42);box-shadow:none;
}

/* ---------------- Urban Kaza: manifesto ---------------- */
.uk-manifesto .head{align-items:center}
.uk-manifesto .head__side{border-left:1px solid rgba(48,48,48,.18);padding-left:clamp(28px,4vw,64px)}
.uk-manifesto__actions{margin-top:clamp(26px,3vw,42px)}
.urban-kaza-page .uk-manifesto .btn--gold{background:#A6522F;color:#fff}

/* ---------------- Urban Kaza: cinematic map ---------------- */
.uk-location{padding-top:clamp(74px,9vw,140px)}
.uk-location__head{padding-bottom:clamp(42px,5vw,72px)}
.uk-map-stage{
  position:relative;min-height:clamp(720px,100svh,980px);width:100%;overflow:hidden;
  background:#202322;color:#F5F5DB;isolation:isolate;
}
.uk-map-canvas{
  position:absolute;inset:0;overflow:hidden;
  background:#E8E4DB url("../img/kaza-map-1400.webp") center/cover no-repeat;
}
.uk-map-canvas iframe{
  width:100%;height:100%;border:0;max-width:none;
  opacity:.66;
  filter:grayscale(.78) sepia(.18) saturate(.65) contrast(1.12) brightness(.72);
  transform:scale(1.015);transform-origin:50% 48%;
  transition:transform 5.2s cubic-bezier(.16,1,.3,1),filter 1.2s var(--ease);
}
.uk-map-stage.is-cinematic .uk-map-canvas iframe{
  transform:scale(1.12);
  filter:grayscale(.62) sepia(.16) saturate(.78) contrast(1.08) brightness(.76);
}
.uk-map-veil{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(32,35,34,.08),rgba(32,35,34,.12) 42%,rgba(32,35,34,.92) 100%);
}
.uk-map-link{
  position:absolute;z-index:3;right:var(--gut);top:clamp(24px,4vw,52px);
  display:inline-flex;align-items:center;gap:10px;padding:12px 16px;
  border:1px solid rgba(245,245,219,.4);background:rgba(48,48,48,.62);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
}
.uk-map-link svg{width:14px}
.uk-map-pin{
  position:absolute;z-index:2;display:grid;justify-items:center;gap:8px;
  color:#F5F5DB;font-size:.67rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  opacity:.5;transform:translateY(8px);transition:opacity 320ms var(--ease),transform 520ms var(--ease);
  pointer-events:none;
}
.uk-map-pin i{
  width:14px;height:14px;border:3px solid #F5F5DB;border-radius:50%;
  background:#A6522F;box-shadow:0 0 0 8px rgba(166,82,47,.2);
}
.uk-map-pin.is-active{opacity:1;transform:none}
.uk-map-pin--site{left:52%;top:34%}
.uk-map-pin--park{left:68%;top:48%}
.uk-landmarks{
  position:absolute;z-index:3;left:var(--gut);right:var(--gut);bottom:clamp(28px,5vw,66px);
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0;padding:0;list-style:none;
  background:rgba(245,245,219,.22);
}
.uk-landmarks li{min-width:0}
.uk-landmarks button{
  appearance:none;width:100%;min-height:180px;border:0;padding:24px;color:#F5F5DB;
  background:rgba(39,42,41,.82);text-align:left;cursor:pointer;
  display:grid;grid-template-columns:42px 1fr;gap:18px;align-items:start;
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  transition:background 280ms var(--ease),color 280ms var(--ease);
}
.uk-landmarks button[aria-current="true"]{background:rgba(166,82,47,.94)}
.uk-landmark__icon{
  width:42px;height:42px;border:1px solid currentColor;border-radius:50%;
  display:grid;place-items:center;
}
.uicon{width:22px;height:22px}
.uicon path{stroke-dasharray:1;stroke-dashoffset:0}
.uk-landmarks button[aria-current="true"] .uicon path,
.uk-floor-levels button[aria-current="true"] .uicon path{
  animation:uk-icon-draw 780ms var(--ease) both;
}
.uk-landmark__copy{display:grid;gap:7px}
.uk-landmark__copy i{
  font-style:normal;font-size:.65rem;letter-spacing:.18em;opacity:.76;
}
.uk-landmark__copy b{font-size:.94rem;font-weight:500}
.uk-landmark__copy small{font-size:.78rem;line-height:1.5;font-weight:300;opacity:.8}
@keyframes uk-icon-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}

/* ---------------- Urban Kaza: isometric floor story ---------------- */
.uk-floor-story__head{margin-bottom:clamp(42px,6vw,80px)}
.uk-floor-explorer{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  min-height:760px;border:1px solid rgba(48,48,48,.18);background:#ECECE8;
}
.uk-tower-stage{
  position:relative;display:grid;place-items:center;overflow:hidden;
  min-height:760px;border-right:1px solid rgba(48,48,48,.16);
  background:
    linear-gradient(rgba(48,48,48,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(48,48,48,.045) 1px,transparent 1px),#F4F4EF;
  background-size:48px 48px;
  perspective:1100px;
}
.uk-tower{
  width:min(720px,88%);max-height:700px;overflow:visible;
  transform:translateY(30px) scale(.9) rotateX(3deg) rotateY(-7deg);
  transform-origin:50% 75%;opacity:.3;
  transition:transform 1.5s cubic-bezier(.16,1,.3,1),opacity 900ms var(--ease);
}
.uk-floor-explorer.in .uk-tower{transform:translateY(0) scale(1) rotateX(0) rotateY(0);opacity:1}
.uk-tower__shell polygon{fill:#FBFBF7;stroke:#555A5A;stroke-width:2}
.uk-tower__windows polygon{fill:#F2F2ED;stroke:#777C7C;stroke-width:.8}
.uk-tower__spine path{fill:none;stroke:#4B5050;stroke-width:2}
.uk-tower__levels g polygon{
  fill:#A6522F;stroke:#A6522F;stroke-width:2;opacity:0;
  transition:opacity 500ms var(--ease),filter 500ms var(--ease);
}
.uk-tower__levels g.is-active polygon{opacity:.66;filter:drop-shadow(0 5px 10px rgba(166,82,47,.18))}
.uk-tower__ground{fill:none;stroke:#737878;stroke-width:2}
.uk-tower-stage__label{
  position:absolute;left:24px;bottom:22px;color:#585C5B;
  font-size:.65rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
}
.uk-floor-levels{margin:0;padding:0;list-style:none;display:grid;background:#F5F5F0}
.uk-floor-levels li{display:grid;border-bottom:1px solid rgba(48,48,48,.14)}
.uk-floor-levels li:last-child{border-bottom:0}
.uk-floor-levels button{
  appearance:none;border:0;background:transparent;color:#303030;width:100%;padding:22px 24px;
  display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:center;text-align:left;cursor:pointer;
  transition:background 280ms var(--ease),color 280ms var(--ease);
}
.uk-floor-levels button[aria-current="true"]{background:#A6522F;color:#F5F5DB}
.uk-floor-level__icon{
  width:46px;height:46px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;
}
.uk-floor-level__copy{display:grid;gap:5px}
.uk-floor-level__copy i{font-style:normal;font-size:.62rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;opacity:.72}
.uk-floor-level__copy b{font-size:.96rem;font-weight:400}

/* ---------------- Urban Kaza: symmetric lightbox gallery ---------------- */
.uk-gallery-grid .gal{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:rgba(245,245,219,.18);
}
.uk-gallery-grid .gal>button{width:100%;min-width:0;background:#1D201F}
.uk-gallery-grid .plate,.uk-gallery-grid .plate--43{aspect-ratio:4/3;height:auto}
.uk-gallery-grid .plate img{width:100%;height:100%;object-fit:cover}
.uk-gallery-grid .gal>button:nth-child(n){grid-column:auto;grid-row:auto}

/* ---------------- Urban Kaza: complete floor plans ---------------- */
.uk-unit-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(48,48,48,.18);border-left:1px solid rgba(48,48,48,.18);
}
.uk-unit-card{
  min-height:360px;padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;
  border-right:1px solid rgba(48,48,48,.18);border-bottom:1px solid rgba(48,48,48,.18);
  background:rgba(255,255,255,.18);
}
.uk-unit-card__top{display:flex;align-items:center;justify-content:space-between;gap:18px}
.uk-unit-card__top span{color:#A6522F;font-size:.68rem;font-weight:600;letter-spacing:.16em}
.uk-unit-card__top strong{font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.uk-unit-card__area{display:grid;gap:4px;margin:clamp(32px,4vw,52px) 0 24px}
.uk-unit-card__area b{font-size:clamp(2.1rem,3.2vw,3.25rem);font-weight:300;line-height:1;letter-spacing:-.04em}
.uk-unit-card__area span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#66665E}
.uk-unit-card dl{display:grid;gap:0;margin:0 0 28px}
.uk-unit-card dl div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(48,48,48,.12)}
.uk-unit-card dt{font-size:.74rem;color:#66665E}
.uk-unit-card dd{margin:0;font-size:.78rem}
.uk-unit-card>a{
  margin-top:auto;display:inline-flex;align-items:center;gap:9px;width:max-content;
  color:#A6522F;font-size:.69rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
}
.uk-unit-card>a svg{width:14px}
.uk-floorplans__note{
  margin-top:clamp(26px,4vw,48px);padding-top:22px;border-top:1px solid rgba(48,48,48,.18);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,56px);
}

/* ---------------- Urban Kaza: interior closing scene ---------------- */
.uk-commitment{position:relative;min-height:760px;display:grid;align-items:center;overflow:hidden;background:#202221}
.uk-commitment__media{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.uk-commitment__veil{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(28,30,30,.9) 0%,rgba(28,30,30,.7) 48%,rgba(28,30,30,.5) 100%);
}
.uk-commitment>.wrap{position:relative;z-index:1}
.urban-kaza-page .uk-commitment .facts{
  padding:22px 0;border-top:1px solid rgba(245,245,219,.3);border-bottom:1px solid rgba(245,245,219,.18);
}
.urban-kaza-page .uk-wa{
  background:#303030;color:#F5F5DB;border-color:rgba(245,245,219,.32);box-shadow:none;
}
.urban-kaza-page .uk-wa:hover{background:#1F1F1F}

@media (hover:hover) and (pointer:fine){
  .uk-gallery-grid .gal>button img{transition:transform 700ms var(--ease),filter 500ms var(--ease)}
  .uk-gallery-grid .gal>button:hover img{transform:scale(1.035);filter:saturate(1.06)}
  .uk-unit-card{transition:background 300ms var(--ease)}
  .uk-unit-card:hover{background:rgba(255,255,255,.42)}
}

@media(max-width:1050px){
  .uk-landmarks{grid-template-columns:repeat(2,1fr)}
  .uk-landmarks button{min-height:142px}
  .uk-floor-explorer{grid-template-columns:1fr;min-height:0}
  .uk-tower-stage{min-height:680px;border-right:0;border-bottom:1px solid rgba(48,48,48,.16)}
  .uk-floor-levels{grid-template-columns:repeat(5,1fr)}
  .uk-floor-levels button{grid-template-columns:1fr;justify-items:center;text-align:center;padding:18px 10px}
  .uk-floor-level__copy b{font-size:.76rem}
  .uk-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:767px){
  body:not(.home-editorial) .hero{min-height:100svh}
  body:not(.home-editorial) .hero__in{min-height:100svh}
  .urban-kaza-page .uk-hero .hero__in{padding-top:116px;align-content:center}
  .uk-hero__brand{gap:13px}.uk-brand-mark{width:38px;height:54px}
  .uk-hero__brand strong{font-size:clamp(2.15rem,10vw,3rem);letter-spacing:.055em}
  .uk-brand-type small{font-size:.56rem;letter-spacing:.26em}
  .uk-hero__actions{display:grid;width:min(360px,100%)}.uk-hero__actions .btn{width:100%;justify-content:center}
  .uk-hero__facts{display:none}
  .uk-manifesto .head__side{border-left:0;border-top:1px solid rgba(48,48,48,.18);padding:26px 0 0}
  .uk-map-stage{min-height:940px}
  .uk-map-link{left:22px;right:auto;top:22px}
  .uk-map-pin--site{left:38%;top:31%}.uk-map-pin--park{left:62%;top:42%}
  .uk-landmarks{left:22px;right:22px;bottom:24px;grid-template-columns:1fr}
  .uk-landmarks button{min-height:116px;padding:18px;grid-template-columns:38px 1fr}
  .uk-landmark__icon{width:38px;height:38px}.uk-landmark__copy small{font-size:.73rem}
  .uk-tower-stage{min-height:520px}.uk-tower{width:96%;max-height:500px}
  .uk-floor-levels{grid-template-columns:1fr}
  .uk-floor-levels button{grid-template-columns:44px 1fr;justify-items:start;text-align:left;padding:15px 18px}
  .uk-floor-level__copy b{font-size:.9rem}
  .uk-gallery-grid .gal{grid-template-columns:1fr}
  .uk-unit-grid{grid-template-columns:1fr}
  .uk-unit-card{min-height:330px}
  .uk-floorplans__note{grid-template-columns:1fr}
  .uk-commitment{min-height:820px}
}

@media(max-width:430px){
  .uk-map-stage{min-height:1040px}
  .uk-landmark__copy small{max-width:31ch}
}

@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){
  .uk-map-link,.uk-landmarks button{background:#303030;-webkit-backdrop-filter:none;backdrop-filter:none}
}

@media(prefers-reduced-motion:reduce){
  .uk-intro__film{display:none}
  .uk-map-canvas iframe,.uk-map-stage.is-cinematic .uk-map-canvas iframe{transform:none;transition:none}
  .uk-tower,.uk-floor-explorer.in .uk-tower{transform:none;opacity:1;transition:none}
  .uicon path{animation:none!important;stroke-dashoffset:0!important}
  .uk-gallery-grid .gal>button img{transition:none!important}
}

/* ============================================================
   SEPTEMBER AMENDMENTS — editorial grids, imagery and Kaza model
   ============================================================ */

/* Testimonials: a stable, readable three-column composition. */
.home-residents .testimonial-marquee.wrap{overflow:visible;margin-top:clamp(44px,5vw,72px)}
.home-residents .testimonial-marquee__track{display:block;width:auto;animation:none;will-change:auto}
.home-residents .testimonial-marquee__group{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,24px);padding:0;
}
.home-residents .testimonial-card{
  width:100%!important;max-width:390px;min-width:0;min-height:300px!important;overflow:hidden;justify-self:center;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
.home-residents .testimonial-marquee .testimonial-card:first-child{
  padding:clamp(27px,2.6vw,38px);border-left:1px solid rgba(13,27,48,.09);
}
.home-residents .testimonial-card blockquote{
  display:block;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty;
}
.home-residents .testimonial-card blockquote .am{font-size:.96em;line-height:1.7}
.home-residents .testimonial-card figcaption{align-self:end}
.tour-portal__mark--kaza{width:52px!important;height:116px!important;object-fit:contain}

/* Projects index: the stage belongs to each project, not a detached header. */
.projects-page .hero .d1{font-family:"Montserrat","Inter Local",sans-serif;font-weight:300}
.project-stage-chip{
  display:inline-flex;align-items:center;justify-content:center;width:max-content;
  min-height:42px;margin-bottom:clamp(22px,3vw,36px);padding:11px 18px;
  border:1px solid rgba(232,219,184,.5);border-radius:999px;
  background:linear-gradient(135deg,#C6B27C,#907B46);color:#09111F;
  font-size:.67rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
.projects-page .proj__body{align-content:center}
.projects-page .proj__name{margin-bottom:12px}

/* About: image-led story and symmetric icon evidence. */
.about-page .hero .facts{
  background:transparent!important;border:0!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  padding-inline:0;
}
.about-page .hero__media img{object-position:center 48%}
.about-community,.about-cta{position:relative;overflow:hidden;isolation:isolate}
.about-community__media,.about-cta__media{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;
}
.about-community__veil{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(6,11,20,.9),rgba(6,11,20,.7) 52%,rgba(6,11,20,.48));
}
.about-community>.wrap,.about-cta__content{position:relative;z-index:1}
.about-community__head{display:grid;gap:18px;max-width:950px}
.about-community__head .d2{max-width:18ch}
.about-community__tagline{
  margin:0;color:var(--gold-lit);font-size:clamp(1.1rem,1.7vw,1.45rem);
  font-weight:400;letter-spacing:.02em;
}
.about-community__copy{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,92px);
  max-width:1120px;margin-top:clamp(54px,7vw,96px);padding-top:30px;
  border-top:1px solid rgba(255,255,255,.24);
}
.about-community__copy .body{margin:0;color:rgba(246,248,251,.88);font-size:1rem;line-height:1.78}
.feature-grid{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;
  margin:0;padding:0;list-style:none;background:var(--line);
}
.feature-card{
  grid-column:span 2;
  min-height:310px;padding:clamp(28px,3.4vw,48px);display:flex;flex-direction:column;
  background:var(--bg);color:var(--fg);
}
.feature-card__icon{
  width:52px;height:52px;display:grid;place-items:center;border:1px solid currentColor;
  border-radius:50%;margin-bottom:clamp(32px,4vw,52px);color:var(--accent);
}
.feature-card__icon .uicon{width:24px;height:24px}
.feature-card__number{
  color:var(--accent);font-size:.66rem;font-weight:600;letter-spacing:.18em;margin-bottom:16px;
}
.feature-card h3{font-size:clamp(1.15rem,1.5vw,1.45rem);font-weight:400;line-height:1.2;margin:0 0 16px}
.feature-card p{margin:0;color:var(--fg-2);font-size:.88rem;line-height:1.65;max-width:34ch}
.feature-card:nth-last-child(2):nth-child(3n+1){grid-column:2/span 2}
.feature-grid.in .feature-card .uicon path{animation:uk-icon-draw 760ms var(--ease) both;animation-delay:calc(var(--feature-i) * 65ms)}
.about-cta{min-height:620px;display:grid;align-items:center}
.about-cta__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,11,20,.9),rgba(6,11,20,.52))}

/* Remote buying: one disciplined line of five steps. */
.buying-abroad-page .hero__stage,.construction-page .hero__stage{
  justify-self:start;text-align:left;max-width:760px;margin-inline:0;
}
.buying-abroad-page .hero__sub,.construction-page .hero__sub{max-width:48ch;margin-inline:0}
.process-icon-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;
  margin:0;padding:0;list-style:none;background:var(--line);
}
.process-icon-card{
  min-height:390px;padding:clamp(22px,2.4vw,34px);display:flex;flex-direction:column;
  background:var(--bg);color:var(--fg);min-width:0;
}
.process-icon-card__icon,.support-icon{
  width:50px;height:50px;border:1px solid currentColor;border-radius:50%;
  display:grid;place-items:center;color:var(--accent);margin-bottom:clamp(28px,3vw,44px);
}
.process-icon-card__icon .uicon,.support-icon .uicon{width:23px;height:23px}
.process-icon-card__number{color:var(--accent);font-size:.66rem;font-weight:600;letter-spacing:.18em;margin-bottom:15px}
.process-icon-card h3{font-size:1.08rem;font-weight:400;line-height:1.3;margin:0 0 14px}
.process-icon-card p{font-size:.8rem;line-height:1.65;color:var(--fg-2);margin:0;text-wrap:pretty}
.process-icon-grid.in .uicon path,.rv.in .support-icon .uicon path{
  animation:uk-icon-draw 760ms var(--ease) both;animation-delay:calc(var(--process-i,0) * 60ms);
}
.faq{border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line);background:transparent}
.faq__item summary{
  min-height:84px;padding:24px 0;display:grid;grid-template-columns:1fr 42px;gap:24px;
  align-items:center;cursor:pointer;list-style:none;font-size:clamp(1rem,1.35vw,1.22rem);
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__toggle{position:relative;width:34px;height:34px;border:1px solid var(--line);border-radius:50%}
.faq__toggle::before,.faq__toggle::after{
  content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%);
}
.faq__toggle::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform 260ms var(--ease)}
.faq__item[open] .faq__toggle::after{transform:translate(-50%,-50%) rotate(0)}
.faq__a{padding:0 min(76px,8vw) 30px 0}
.faq__a p{margin:0;max-width:82ch;color:var(--fg-2);line-height:1.75}

/* Construction: compact status narrative plus three visual facts. */
.construction-page .hero__media img{object-position:center 54%}
.construction-card .proj__body{align-content:center}
.construction-card__status{
  display:inline-flex;width:max-content;padding:10px 16px;margin-bottom:20px;border-radius:999px;
  background:linear-gradient(135deg,#C6B27C,#907B46);color:#09111F;
  font-size:.65rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
.construction-card__infographic{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:clamp(26px,3vw,38px) 0;
  background:var(--line);
}
.construction-card__infographic>div{
  min-height:160px;padding:20px 18px;background:var(--bg);display:flex;flex-direction:column;gap:9px;
}
.construction-card__infographic span{width:38px;height:38px;display:grid;place-items:center;color:var(--gold)}
.construction-card__infographic .uicon{width:22px;height:22px}
.construction-card.in .construction-card__infographic .uicon path{animation:uk-icon-draw 760ms var(--ease) both}
.construction-card__infographic small{font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
.construction-card__infographic strong{font-size:.82rem;font-weight:400;line-height:1.45}
.construction-card .btn--gold{margin-top:24px;width:max-content}

/* Urban Kaza brand lockup and title system. */
.urban-kaza-page .uk-hero .hero__in{
  grid-template-rows:minmax(0,1fr) auto;align-content:stretch;
  padding-top:clamp(140px,18vh,190px);padding-bottom:clamp(18px,3vh,34px);
}
.urban-kaza-page .uk-hero .hero__stage{align-self:center;transform:translateY(clamp(30px,5vh,58px))}
.uk-hero__brand{width:min(540px,78vw)}
.uk-hero__brand>img{width:100%;height:auto;max-height:170px;object-fit:contain}
.uk-hero__facts{margin-top:clamp(74px,10vh,124px)}
.urban-kaza-page .d2,
.urban-kaza-page .fact .v{
  font-family:"Futura PT","Inter Local",sans-serif!important;
  text-transform:uppercase;font-weight:500!important;letter-spacing:.025em!important;
}
.uk-gallery .head{display:block;text-align:center}
.uk-gallery .d2{margin-inline:auto;max-width:none}

/* The map is now only the live map surface, graded black + terracotta. */
.uk-map-canvas{background:#1C1D1C}
.uk-map-canvas iframe{
  opacity:.94;
  filter:grayscale(1) sepia(.65) hue-rotate(335deg) saturate(2.1) contrast(1.35) brightness(.38);
  transform:scale(1.06);transition:transform 6.4s cubic-bezier(.16,1,.3,1),filter 1.2s var(--ease);
}
.uk-map-stage.is-cinematic .uk-map-canvas iframe{
  transform:scale(1.34);
  filter:grayscale(.92) sepia(.72) hue-rotate(335deg) saturate(2.4) contrast(1.42) brightness(.42);
}
.uk-map-veil{background:linear-gradient(180deg,rgba(22,23,22,.08),rgba(22,23,22,.18) 48%,rgba(22,23,22,.9))}

/* Generated white-clay site model with scroll reveal and hover legends. */
.uk-floor-explorer{display:block;min-height:0;border:0;background:#EAE7E1}
.uk-tower-stage{
  min-height:clamp(720px,88svh,980px);border:0;background:#EAE7E1;overflow:hidden;
}
.uk-tower{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;
  object-fit:cover;object-position:center;opacity:0;
  transform:scale(1.08) translateY(34px);filter:saturate(.76) contrast(1.03);
  transition:transform 1.6s cubic-bezier(.16,1,.3,1),opacity 900ms var(--ease);
}
.uk-floor-explorer.in .uk-tower{opacity:1;transform:scale(1) translateY(0)}
.uk-tower-hotspots{position:absolute;inset:0;z-index:3}
.uk-tower-hotspot{
  appearance:none;position:absolute;left:var(--spot-x);top:var(--spot-y);
  width:48px;height:48px;padding:0;border:1px solid rgba(48,48,48,.65);border-radius:50%;
  display:grid;place-items:center;background:rgba(245,245,239,.92);color:#303030;cursor:pointer;
  opacity:0;transform:translate(-50%,18px) scale(.8);
  transition:opacity 480ms var(--ease),transform 600ms var(--ease),background 260ms var(--ease),color 260ms var(--ease);
  transition-delay:calc(var(--spot-i) * 70ms);
}
.uk-floor-explorer.in .uk-tower-hotspot{opacity:1;transform:translate(-50%,-50%) scale(1)}
.uk-tower-hotspot:hover,.uk-tower-hotspot:focus-visible,.uk-tower-hotspot.is-active{
  background:#A6522F;color:#F5F5DB;border-color:#A6522F;
}
.uk-tower-hotspot__icon .uicon{width:22px;height:22px}
.uk-tower-hotspot__legend{
  position:absolute;left:calc(100% + 13px);top:50%;width:max-content;max-width:230px;
  padding:12px 15px;background:#303030;color:#F5F5DB;text-align:left;
  display:grid;gap:3px;opacity:0;visibility:hidden;transform:translate(8px,-50%);
  transition:opacity 240ms var(--ease),transform 300ms var(--ease),visibility 240ms;
  pointer-events:none;
}
.uk-tower-hotspot__legend i{font-style:normal;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#DBCFBA}
.uk-tower-hotspot__legend b{font-size:.75rem;font-weight:400}
.uk-tower-hotspot:hover .uk-tower-hotspot__legend,
.uk-tower-hotspot:focus .uk-tower-hotspot__legend{opacity:1;visibility:visible;transform:translate(0,-50%)}

/* Full-bleed, corner-to-corner Urban Kaza image wall. */
.uk-gallery{padding-bottom:0!important}
.uk-gallery>.wrap{padding-bottom:clamp(28px,4vw,54px)}
.uk-gallery-grid{width:100%}
.uk-gallery-grid .gal{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.uk-gallery-grid .plate,.uk-gallery-grid .plate--43{aspect-ratio:16/10}

@media(max-width:1100px){
  .process-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-icon-card:last-child{grid-column:1/-1;min-height:300px}
  .construction-card__infographic{grid-template-columns:1fr}
  .construction-card__infographic>div{min-height:118px}
}

@media(max-width:767px){
  .home-residents .testimonial-marquee__group{grid-template-columns:1fr}
  .home-residents .testimonial-card{min-height:0!important}
  .feature-grid{grid-template-columns:1fr}
  .feature-card,.feature-card:nth-last-child(2):nth-child(3n+1){grid-column:auto;min-height:280px}
  .about-community__copy{grid-template-columns:1fr;gap:24px}
  .about-community__veil{background:rgba(6,11,20,.78)}
  .process-icon-grid{grid-template-columns:1fr}
  .process-icon-card,.process-icon-card:last-child{grid-column:auto;min-height:300px}
  .urban-kaza-page .uk-hero .hero__stage{transform:translateY(24px)}
  .uk-hero__brand{width:min(350px,88vw)}
  .uk-hero__facts{display:none}
  .uk-tower-stage{min-height:660px}
  .uk-tower{object-position:52% center}
  .uk-tower-hotspot{width:42px;height:42px}
  .uk-tower-hotspot__legend{left:auto;right:calc(100% + 10px);max-width:180px}
  .uk-gallery-grid .gal{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .feature-card .uicon path,.process-icon-card .uicon path,.support-icon .uicon path,
  .construction-card__infographic .uicon path{animation:none!important;stroke-dashoffset:0!important}
  .uk-tower,.uk-floor-explorer.in .uk-tower{opacity:1;transform:none;transition:none}
  .uk-tower-hotspot,.uk-floor-explorer.in .uk-tower-hotspot{opacity:1;transform:translate(-50%,-50%);transition:none}
}

/* ============================================================
   BLOCK C + CONTACT AMENDMENTS
   ============================================================ */

/* Requested project/contact display faces. */
.village-page .hero .d1,
.recreation-page .hero .d1,
.contact-page .hero .d1{
  font-family:"Montserrat","Inter Local",sans-serif!important;
  font-weight:300!important;letter-spacing:-.055em!important;
}

/* Village feature systems: proportional two-by-three modules. */
.project-feature-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  margin:clamp(24px,3vw,36px) 0;padding:0;list-style:none;background:var(--line);
}
.project-feature-card{
  min-height:156px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;
  background:var(--bg);color:var(--fg);min-width:0;
}
.project-feature-card__icon{
  width:42px;height:42px;border:1px solid currentColor;border-radius:50%;
  display:grid;place-items:center;color:var(--accent);margin-bottom:20px;
}
.project-feature-card__icon .uicon{width:20px;height:20px}
.project-feature-card__number{
  color:var(--accent);font-size:.58rem;font-weight:600;letter-spacing:.16em;margin-bottom:8px;
}
.project-feature-card h3{
  margin:0;font-size:clamp(.78rem,.85vw,.9rem);font-weight:400;line-height:1.42;text-wrap:balance;
}
.project-feature-grid.in .project-feature-card .uicon path{
  animation:uk-icon-draw 760ms var(--ease) both;
  animation-delay:calc(var(--feature-i) * 70ms);
}
.village-page .proj__body{align-content:center}

/* Recreation Center: PDF render-led story. */
.recreation-page .hero__media img{object-position:center 54%}
.rec-intro__layout{
  display:grid;grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
  gap:clamp(42px,7vw,110px);align-items:center;
}
.rec-intro__media{margin:0;min-height:610px;overflow:hidden}
.rec-intro__media img{width:100%;height:100%;min-height:610px;object-fit:cover}
.rec-intro__copy{display:grid;align-content:center}
.rec-intro__copy .mark{margin-bottom:24px}
.rec-intro__copy .d2{font-family:"Montserrat","Inter Local",sans-serif;font-weight:300;max-width:12ch}
.rec-intro__copy .body{margin-top:22px;max-width:58ch}
.rec-intro__facts{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  margin-top:clamp(34px,4vw,54px);background:var(--line);
}
.rec-intro__facts span{min-height:118px;padding:20px 16px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--paper)}
.rec-intro__facts b{font-size:clamp(1.1rem,1.55vw,1.45rem);font-weight:400;color:var(--ink);white-space:nowrap}
.rec-intro__facts small{margin-top:7px;font-size:.61rem;line-height:1.4;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-2)}
.rec-amenities{position:relative;min-height:1000px;overflow:hidden;isolation:isolate}
.rec-amenities__media{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.rec-amenities__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,11,20,.88),rgba(6,11,20,.7) 45%,rgba(6,11,20,.92))}
.rec-amenities>.wrap{position:relative;z-index:1}
.rec-amenities__head{margin-bottom:clamp(36px,5vw,70px)}
.rec-amenity-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  margin:0;padding:0;list-style:none;background:rgba(232,219,184,.2);
  border:1px solid rgba(232,219,184,.2);
}
.rec-amenity-card{
  min-height:218px;padding:clamp(22px,2.5vw,34px);display:flex;flex-direction:column;
  background:rgba(6,11,20,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  color:#F6F8FB;
}
.rec-amenity-card__icon{
  width:48px;height:48px;border:1px solid rgba(232,219,184,.62);border-radius:50%;
  display:grid;place-items:center;color:var(--gold-lit);margin-bottom:auto;
}
.rec-amenity-card__icon .uicon{width:22px;height:22px}
.rec-amenity-card__number{
  margin:24px 0 11px;color:var(--gold-lit);font-size:.62rem;font-weight:600;letter-spacing:.18em;
}
.rec-amenity-card h3{margin:0;font-size:clamp(.88rem,1.05vw,1.05rem);font-weight:400;line-height:1.38;text-wrap:balance}
.rec-amenity-card--summary{background:linear-gradient(145deg,rgba(144,123,70,.95),rgba(96,79,38,.93))}
.rec-amenity-card--summary .rec-amenity-card__icon{color:#F6F8FB;border-color:rgba(255,255,255,.55)}
.rec-amenity-card--summary .rec-amenity-card__number{color:#F6F8FB}
.rec-amenity-grid.in .rec-amenity-card .uicon path{
  animation:uk-icon-draw 760ms var(--ease) both;
  animation-delay:calc(var(--amenity-i) * 55ms);
}
.rec-gallery{padding-bottom:0!important}
.rec-gallery__head{padding-bottom:clamp(30px,4vw,54px);text-align:center}
.rec-gallery__head .head{display:block}.rec-gallery__head .d2{margin-inline:auto}
.rec-gallery__wall{width:100%}
.rec-gallery__wall .gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.rec-gallery__wall .gal>button{min-width:0}
.rec-gallery__wall .plate,.rec-gallery__wall .plate--43{aspect-ratio:16/10}
.rec-gallery__wall .gal>button img{transition:transform 700ms var(--ease),filter 450ms var(--ease)}
.rec-gallery__wall .gal>button:hover img{transform:scale(1.035);filter:saturate(1.08)}

/* Supplied Urban Kaza presentation model, with the five identifiers retained. */
.uk-tower-stage{
  min-height:clamp(920px,112svh,1220px);
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.94),rgba(224,218,211,.9) 64%,rgba(205,198,190,.94)),
    #E4DED7;
}
.uk-tower-canvas{
  position:relative;height:min(1080px,105svh);aspect-ratio:1856/2304;
  max-width:92%;overflow:visible;
}
.uk-tower-stage .uk-tower{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;
  object-fit:contain;object-position:center;opacity:0;
  transform:scale(1.035) translateY(28px);filter:saturate(.78) contrast(1.025);
}
.uk-floor-explorer.in .uk-tower-stage .uk-tower{opacity:1;transform:scale(1) translateY(0)}
.uk-tower-canvas .uk-tower-hotspots{position:absolute;inset:0}
.uk-tower-stage__label{z-index:4}

/* Contact: clear command center plus a live, themed two-location Google map. */
.contact-sales__layout{
  display:grid;grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr);
  gap:clamp(42px,7vw,110px);align-items:start;
}
.contact-sales__intro{position:sticky;top:130px}
.contact-sales__intro .mark{margin-bottom:22px}
.contact-sales__intro .d2{max-width:11ch}
.contact-sales__intro>p:not(.mark){margin-top:24px;max-width:48ch;color:var(--fg-2);line-height:1.72}
.contact-sales__intro .btn-row{margin-top:30px}
.contact-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.15)}
.contact-card{
  min-height:246px;padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;
  background:var(--bg);min-width:0;
}
.contact-card__icon{
  width:48px;height:48px;border:1px solid rgba(232,219,184,.46);border-radius:50%;
  display:grid;place-items:center;color:var(--gold-lit);margin-bottom:auto;
}
.contact-card__icon svg{width:21px;height:21px}
.contact-card .mark{margin:26px 0 10px;color:var(--gold-lit)}
.contact-card__value{font-family:var(--display);font-size:clamp(.94rem,1.2vw,1.1rem);font-weight:500;word-break:break-word}
.contact-card__note{margin-top:8px;font-size:.72rem;line-height:1.5;color:var(--fg-2)}
.contact-map{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,370px);
  min-height:720px;background:#071426;overflow:hidden;
}
.contact-map__canvas{position:relative;min-height:720px;overflow:hidden;background:#071426}
.contact-map__canvas iframe{
  position:absolute;inset:-2%;width:104%;height:104%;border:0;
  filter:grayscale(.95) sepia(.52) hue-rotate(168deg) saturate(1.8) contrast(1.27) brightness(.58);
  transform:scale(1.08);transition:opacity 300ms var(--ease),transform 1.3s cubic-bezier(.16,1,.3,1);
}
.contact-map.is-changing .contact-map__canvas iframe{opacity:.35;transform:scale(1.18)}
.contact-map__grade{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,20,38,.12),rgba(7,20,38,.04) 55%,rgba(7,20,38,.45));
  box-shadow:inset 0 0 0 1px rgba(232,219,184,.26);
}
.contact-map__pin{
  position:absolute;left:50%;top:50%;width:32px;height:32px;border-radius:50% 50% 50% 0;
  background:var(--gold-lit);box-shadow:0 12px 34px rgba(0,0,0,.45);
  transform:translate(-50%,-100%) rotate(-45deg);animation:contact-pin-pulse 2.3s ease-in-out infinite;
}
.contact-map__pin i{position:absolute;inset:9px;border-radius:50%;background:#071426}
@keyframes contact-pin-pulse{0%,100%{filter:drop-shadow(0 0 0 rgba(232,219,184,0))}50%{filter:drop-shadow(0 0 13px rgba(232,219,184,.86))}}
.contact-map__label{
  position:absolute;left:28px;bottom:28px;padding:15px 18px;background:rgba(7,20,38,.9);
  border:1px solid rgba(232,219,184,.42);color:#F6F8FB;display:grid;gap:5px;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.contact-map__label small{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lit)}
.contact-map__label strong{font-size:1rem;font-weight:500}
.contact-map__locations{display:grid;grid-template-rows:repeat(2,1fr);background:#071426}
.contact-location{
  appearance:none;border:0;border-left:1px solid rgba(232,219,184,.24);border-bottom:1px solid rgba(232,219,184,.24);
  padding:clamp(28px,4vw,50px);display:grid;grid-template-columns:54px 1fr;gap:20px;
  align-items:start;text-align:left;background:#071426;color:#F6F8FB;cursor:pointer;
  transition:background 300ms var(--ease),color 300ms var(--ease);
}
.contact-location:last-child{border-bottom:0}
.contact-location:hover,.contact-location.is-active{background:#D8C58B;color:#071426}
.contact-location__icon{
  width:54px;height:54px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;
}
.contact-location__icon .uicon{width:24px;height:24px}
.contact-location__copy{display:grid;gap:8px}
.contact-location__copy i{font-style:normal;font-size:.6rem;font-weight:600;letter-spacing:.18em}
.contact-location__copy b{font-size:1.18rem;font-weight:500}
.contact-location__copy small{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;opacity:.74}
.contact-location__copy em{font-style:normal;font-size:.78rem;line-height:1.55;opacity:.76}

@media(max-width:1000px){
  .rec-intro__layout{grid-template-columns:1fr}.rec-intro__media,.rec-intro__media img{min-height:500px}
  .rec-amenity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rec-gallery__wall .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-sales__layout{grid-template-columns:1fr}.contact-sales__intro{position:static}
  .contact-map{grid-template-columns:1fr}.contact-map__locations{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
  .contact-location{border-left:0;border-top:1px solid rgba(232,219,184,.24)}
}

@media(max-width:767px){
  .project-feature-grid{grid-template-columns:1fr}
  .project-feature-card{min-height:138px}
  .rec-intro__media,.rec-intro__media img{min-height:390px}
  .rec-intro__facts{grid-template-columns:1fr}.rec-intro__facts span{min-height:92px}
  .rec-amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rec-amenity-card{min-height:190px;padding:20px}
  .rec-gallery__wall .gal{grid-template-columns:1fr}
  .uk-tower-stage{min-height:0;padding:72px 14px}
  .uk-tower-canvas{width:min(100%,620px);height:auto;max-width:100%;aspect-ratio:1856/2304}
  .contact-card-grid{grid-template-columns:1fr}
  .contact-card{min-height:210px}
  .contact-map__canvas{min-height:560px}
  .contact-map__locations{grid-template-columns:1fr}
  .contact-location{min-height:220px}
}

@media(max-width:430px){
  .rec-amenity-grid{grid-template-columns:1fr}
  .rec-amenity-card{min-height:175px}
  .contact-map__canvas{min-height:500px}
}

@media(prefers-reduced-motion:reduce){
  .project-feature-card .uicon path,.rec-amenity-card .uicon path{animation:none!important;stroke-dashoffset:0!important}
  .contact-map__pin{animation:none}
  .contact-map__canvas iframe{transition:none}
}

/* ============================================================
   INSIGHTS + CUSTOM MAP + RESPONSIVE RECHECK
   ============================================================ */

/* Insight articles: editorial rail + intentionally narrow reading measure. */
.article-page .hero .d1{
  font-family:"Montserrat","Inter Local",sans-serif!important;
  font-weight:300!important;letter-spacing:-.055em!important;
}
.article-page .hero__stage{max-width:min(860px,76vw)}
.article-reading{overflow:clip}
.article-layout{
  display:grid;grid-template-columns:minmax(210px,280px) minmax(0,780px);
  gap:clamp(54px,9vw,150px);align-items:start;justify-content:center;
}
.article-rail{
  position:sticky;top:130px;min-height:520px;padding:28px 0;
  border-top:1px solid var(--hair-strong);border-bottom:1px solid var(--hair-strong);
  display:flex;flex-direction:column;align-items:flex-start;
}
.article-rail__number{
  font-family:"Montserrat","Inter Local",sans-serif;font-size:clamp(5.5rem,9vw,8.4rem);
  font-weight:200;line-height:.8;letter-spacing:-.08em;color:rgba(13,27,48,.09);
  margin:0 0 clamp(42px,6vw,74px) -7px;
}
.article-rail>.mark{margin-bottom:28px}
.article-rail dl{width:100%;margin:0;display:grid}
.article-rail dl div{display:grid;grid-template-columns:1fr auto;gap:14px;padding:13px 0;border-top:1px solid var(--line)}
.article-rail dt{font-size:.61rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
.article-rail dd{margin:0;font-size:.78rem;font-weight:500;text-align:right}
.article-rail__topics{width:100%;margin:26px 0 34px;padding-top:18px;border-top:1px solid var(--line)}
.article-rail__topics>span{display:block;margin-bottom:13px;font-size:.61rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2)}
.article-rail__topics>div{display:flex;flex-wrap:wrap;gap:7px}
.article-rail__topics i{
  padding:7px 10px;border:1px solid var(--line);border-radius:999px;
  font-style:normal;font-size:.64rem;line-height:1;
}
.article-rail>.link{margin-top:auto}
.article-prose{max-width:780px}
.article-prose>.body{
  margin:0 0 1.35em;font-size:clamp(1rem,1.12vw,1.12rem);line-height:1.86;color:#4E5D72;
  text-wrap:pretty;
}
.article-prose>.body:first-of-type::first-letter{
  float:left;margin:.08em .12em 0 0;
  font-family:"Montserrat","Inter Local",sans-serif;font-size:4.8em;font-weight:200;line-height:.74;color:var(--gold);
}
.article-prose>.d3{
  position:relative;margin:clamp(58px,7vw,92px) 0 24px;padding-top:25px;
  border-top:1px solid var(--line);font-family:"Montserrat","Inter Local",sans-serif;
  font-size:clamp(1.85rem,3vw,3rem);font-weight:300;letter-spacing:-.045em;
}
.article-prose>.d3::before{
  content:"";position:absolute;left:0;top:-1px;width:74px;height:3px;background:var(--gold);
}
.article-prose .article-notice{margin:0 0 clamp(44px,6vw,74px)}
.article-prose__end{
  margin-top:clamp(54px,7vw,86px);padding-top:26px;border-top:1px solid var(--hair-strong);
  display:flex;justify-content:space-between;align-items:center;gap:20px;
}
.article-prose__end>span{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-2)}

/* Leaflet is locally bundled; only its raster tiles are loaded from OSM. */
.contact-map__canvas.leaflet-container{
  position:relative;min-height:720px;background:#071426;color:#F6F8FB;
  font-family:"Inter Local",sans-serif;
}
.contact-map__canvas .leaflet-tile-pane{
  filter:grayscale(1) sepia(.7) hue-rotate(164deg) saturate(2.15) contrast(1.28) brightness(.5);
}
.contact-map__canvas .leaflet-control-zoom{
  margin:22px 22px 0 0;border:1px solid rgba(232,219,184,.52);box-shadow:none;
}
.contact-map__canvas .leaflet-control-zoom a{
  width:38px;height:38px;line-height:36px;background:#071426;color:var(--gold-lit);
  border-bottom-color:rgba(232,219,184,.3);
}
.contact-map__canvas .leaflet-control-zoom a:hover{background:var(--gold-lit);color:#071426}
.contact-map__canvas .leaflet-control-attribution{
  padding:5px 8px;background:rgba(7,20,38,.88);color:rgba(246,248,251,.62);
  font-size:.58rem;
}
.contact-map__canvas .leaflet-control-attribution a{color:var(--gold-lit)}
.contact-map__grade{z-index:350}
.contact-map__label{z-index:500}
.hb-map-marker{background:transparent;border:0}
.hb-map-marker>span{
  position:relative;display:block;width:38px;height:38px;border-radius:50% 50% 50% 0;
  background:var(--gold-lit);border:2px solid #071426;
  box-shadow:0 10px 28px rgba(0,0,0,.42);transform:rotate(-45deg);
}
.hb-map-marker>span::after{
  content:"";position:absolute;inset:-9px;border:1px solid rgba(232,219,184,.55);
  border-radius:50%;animation:hb-map-pulse 2.2s ease-out infinite;
}
.hb-map-marker i{position:absolute;inset:11px;border-radius:50%;background:#071426}
@keyframes hb-map-pulse{0%{transform:scale(.75);opacity:.9}75%,100%{transform:scale(1.55);opacity:0}}
.hb-map-tooltip{
  padding:9px 12px;border:1px solid rgba(232,219,184,.55);border-radius:0;
  background:#071426;color:#F6F8FB;box-shadow:0 12px 30px rgba(0,0,0,.28);
  font-size:.72rem;font-weight:600;
}
.hb-map-tooltip::before{border-top-color:#071426!important}

@media(max-width:1000px){
  .article-layout{grid-template-columns:minmax(190px,230px) minmax(0,1fr);gap:clamp(40px,6vw,70px)}
  .article-rail__number{font-size:5.2rem}
}

@media(max-width:767px){
  .article-page .hero__stage{max-width:100%}
  .article-layout{grid-template-columns:1fr;gap:42px}
  .article-rail{
    position:relative;top:auto;min-height:0;padding:24px;
    border:1px solid var(--line);display:grid;grid-template-columns:72px 1fr;gap:16px 24px;
  }
  .article-rail__number{grid-row:1/4;margin:3px 0 0;font-size:4.6rem}
  .article-rail>.mark{margin:0}
  .article-rail dl{grid-column:2}
  .article-rail__topics{grid-column:1/-1;margin:10px 0 4px}
  .article-rail>.link{grid-column:1/-1;margin-top:10px}
  .article-prose>.body{font-size:1rem;line-height:1.78}
  .article-prose>.body:first-of-type::first-letter{font-size:4.1em}
  .article-prose__end{align-items:flex-start;flex-direction:column}
  .contact-map__canvas.leaflet-container{min-height:560px}
}

/* Mobile insight feeds use a true editorial stack: one article per row. */
@media(max-width:767px){
  .home-stories .grid,
  .news-page .grid--3,
  .article-page .grid--3{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .home-stories .story,
  .news-page .story,
  .article-page .story{
    width:100%;
    min-width:0;
  }
  .home-stories .story__t{min-height:0}
}

@media(max-width:430px){
  .article-rail{grid-template-columns:1fr}.article-rail__number{grid-row:auto}.article-rail dl{grid-column:auto}
  .contact-map__canvas.leaflet-container{min-height:500px}
}

@media(prefers-reduced-motion:reduce){
  .hb-map-marker>span::after{animation:none}
}
