/* ============================================================
   TOKENS
   ============================================================ */
:root{
  --concrete:#F3F0EA;
  --paper:#FFFFFF;
  --ink:#0A0A0A;
  --ink-soft:#4D4A45;
  --ink-faint:#79736A;
  --brass:#C07800;
  --brass-light:#D39A27;
  --brass-glow:rgba(192,120,0,.28);
  --navy:#0A0A0A;
  --navy-panel:#15130F;
  --navy-line:rgba(255,255,255,.14);
  --glass-blue:#C07800;
  --line:rgba(10,10,10,.14);
  --line-strong:rgba(10,10,10,.3);
  --radius:0;
  --ease: cubic-bezier(.16,.84,.32,1);
  --font-d:'Manrope', sans-serif;
  --font-b: 'Inter', sans-serif;
  --font-m:'Inter', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}
body{
  margin:0;
  background:var(--concrete);
  color:var(--ink);
  font-family:var(--font-b);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.menu-open,body.modal-open{overflow:hidden;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
button{font-family:inherit; cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-d); margin:0; font-weight:700; letter-spacing:-.035em;}
p{margin:0;}
:focus-visible{outline:2px solid var(--brass-light); outline-offset:3px;}

.wrap{max-width:1240px; margin:0 auto; padding:0 clamp(20px,5vw,64px);}

/* mono eyebrow label — blueprint annotation style */
.eyebrow{
  font-family:var(--font-m);
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--brass);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.eyebrow::before{
  content:"";
  width:26px; height:1px;
  background:var(--brass);
  display:inline-block;
}
.eyebrow.on-dark{color:var(--brass-light);}

/* blueprint corner brackets */
.blueprint-frame{position:relative;}
.blueprint-frame::before,.blueprint-frame::after,
.blueprint-frame .bp-tl, .blueprint-frame .bp-br{
  content:"";
  position:absolute;
  width:16px; height:16px;
  border:1.5px solid var(--brass);
  opacity:.6;
}
.blueprint-frame::before{top:-8px; left:-8px; border-right:none; border-bottom:none;}
.blueprint-frame::after{bottom:-8px; right:-8px; border-left:none; border-top:none;}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
.reveal.in-view{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal-stagger.in-view > *{opacity:1; transform:translateY(0);}
.reveal-stagger.in-view > *:nth-child(1){transition-delay:.02s;}
.reveal-stagger.in-view > *:nth-child(2){transition-delay:.10s;}
.reveal-stagger.in-view > *:nth-child(3){transition-delay:.18s;}
.reveal-stagger.in-view > *:nth-child(4){transition-delay:.26s;}
.reveal-stagger.in-view > *:nth-child(5){transition-delay:.34s;}
.reveal-stagger.in-view > *:nth-child(6){transition-delay:.42s;}

/* buttons */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-m); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase;
  padding:16px 30px;
  border:1px solid var(--ink);
  background:transparent; color:var(--ink);
  position:relative; overflow:hidden;
  transition:color .45s var(--ease), border-color .45s var(--ease);
}
.btn::before{
  content:""; position:absolute; inset:0;
  background:var(--ink); transform:translateX(-101%);
  transition:transform .45s var(--ease); z-index:0;
}
.btn span{position:relative; z-index:1; display:inline-flex; align-items:center; gap:10px;}
.btn:hover{color:var(--paper);}
.btn:hover::before{transform:translateX(0);}
.btn.solid{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.btn.solid::before{background:var(--brass);}
.btn.solid:hover{color:var(--ink);}
.btn.brass{border-color:var(--brass-light); color:var(--brass-light);}
.btn.brass::before{background:var(--brass-light);}
.btn.brass:hover{color:var(--navy);}
.btn .arrow{transition:transform .4s var(--ease);}
.btn:hover .arrow{transform:translateX(4px);}

/* ============================================================
   NAV
   ============================================================ */
header.site-nav{
  position:fixed; top:0; left:0; right:0; z-index:500;
  padding:14px 0;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px) saturate(130%);
  -webkit-backdrop-filter:blur(16px) saturate(130%);
  transition:padding .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
}
header.site-nav.scrolled{
  padding:8px 0;
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 34px rgba(10,10,10,.08);
}
.nav-inner{display:flex; align-items:center; justify-content:space-between; gap:18px;}
.brand{display:flex; align-items:center; flex:0 0 auto;}
.brand-logo{width:clamp(168px,16vw,218px); height:auto;}
.nav-links{display:flex; align-items:center; gap:clamp(14px,1.7vw,26px);}
.nav-links a{
  font-family:var(--font-m); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  position:relative; padding:6px 0; color:var(--ink-soft);
  transition:color .3s;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--brass);
  transition:width .35s var(--ease);
}
.nav-links a:hover,.nav-links a.active{color:var(--ink);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:14px;}
.nav-cta .btn{padding:13px 18px; font-size:.69rem;}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:none; padding:6px; z-index:600;}
.burger span{width:24px; height:1.5px; background:var(--ink); transition:transform .35s var(--ease), opacity .3s;}
.burger.open span:first-child{transform:translateY(6.5px) rotate(45deg); background:var(--ink);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:last-child{transform:translateY(-6.5px) rotate(-45deg); background:var(--ink);}
.mobile-menu{
  position:fixed; inset:0; background:var(--navy); z-index:450;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px;
  opacity:0; visibility:hidden; transform:translateY(-12px);
  transition:opacity .45s var(--ease), transform .45s var(--ease), visibility .45s;
}
.mobile-menu.open{opacity:1; visibility:visible; transform:translateY(0);}
.mobile-menu a{font-family:var(--font-d); font-size:1.6rem; color:var(--paper);}
.mobile-menu a:hover{color:var(--brass-light);}

@media (max-width:1120px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .nav-cta .btn{display:none;}
}
@media (max-width:600px){
  header.site-nav{padding:10px 0;}
  header.site-nav.scrolled{padding:7px 0;}
  .brand-logo{width:164px;}
}

/* ============================================================
   HERO — blueprint elevation
   ============================================================ */
.hero{
  position:relative; min-height:clamp(620px, 78vh, 760px); display:flex; align-items:center;
  padding-top:116px; padding-bottom:58px;
  background:
    linear-gradient(90deg, rgba(6,13,20,.78) 0%, rgba(6,13,20,.56) 42%, rgba(6,13,20,.15) 75%, rgba(6,13,20,.08) 100%),
    url('../images/main-banner.webp') center center/cover no-repeat;
  overflow:hidden; isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(circle at 72% 35%, rgba(211,154,39,.14), transparent 28%),
    linear-gradient(180deg, rgba(6,13,20,.06), rgba(6,13,20,.24));
  pointer-events:none;
}
.hero::after{
  content:""; position:absolute; inset:92px 18px 18px; z-index:1;
  border:1px solid rgba(255,255,255,.18); pointer-events:none;
}
.dot-field{position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden;}
.float-dot{
  position:absolute; border-radius:50%; background:var(--brass-light);
  opacity:.5; will-change:transform, opacity;
  animation:dotDrift linear infinite, dotPulse ease-in-out infinite;
}
@keyframes dotDrift{
  from{transform:translateY(0) translateX(0);}
  50%{transform:translateY(-26px) translateX(10px);}
  to{transform:translateY(0) translateX(0);}
}
@keyframes dotPulse{
  0%,100%{opacity:.22;}
  50%{opacity:.75;}
}
.dot-field.dark .float-dot{background:var(--brass-light);}
.hero-inner{
  position:relative; z-index:2;
  display:grid; grid-template-columns:minmax(0, 610px); align-items:center;
  width:100%;
}
.hero-copy{color:var(--paper); text-shadow:0 2px 20px rgba(0,0,0,.28);}
.hero-status{
  width:max-content; max-width:100%; display:flex; align-items:center; gap:9px;
  margin-bottom:15px; padding:7px 11px;
  border:1px solid rgba(255,255,255,.22); background:rgba(8,14,20,.34);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  font-family:var(--font-m); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.82); text-shadow:none;
}
.status-dot{
  width:6px; height:6px; flex:0 0 auto; border-radius:50%; background:var(--brass-light);
  box-shadow:0 0 0 4px rgba(211,154,39,.16); animation:statusPulse 2.2s ease-in-out infinite;
}
@keyframes statusPulse{50%{box-shadow:0 0 0 7px rgba(211,154,39,0);}}
.hero-copy .eyebrow{margin-bottom:16px;}
.hero-copy h1{
  font-size:clamp(2.35rem, 4.2vw, 3.65rem);
  line-height:1.06;
  font-weight:700;
}
.hero-copy h1 em{font-style:normal; color:var(--brass); font-weight:700;}
.hero-copy .hero-sub{
  margin-top:18px; max-width:530px;
  color:rgba(255,255,255,.84); font-size:.94rem; line-height:1.62;
}
.hero-meta{
  width:min(570px,100%); margin-top:24px; padding:13px 16px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:0;
  border:1px solid rgba(255,255,255,.2); border-left:2px solid var(--brass-light);
  background:rgba(8,14,20,.38); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  text-shadow:none;
}
.hero-meta div{font-family:var(--font-m); padding:0 14px;}
.hero-meta div:first-child{padding-left:0;}
.hero-meta div + div{border-left:1px solid rgba(255,255,255,.18);}
.hero-meta .num{font-size:1.28rem; line-height:1.25; color:var(--paper); display:block; font-weight:600;}
.hero-meta .lbl{font-size:.59rem; letter-spacing:.11em; text-transform:uppercase; color:rgba(255,255,255,.66);}
.hero-cta{margin-top:26px; display:flex; gap:12px; flex-wrap:wrap;}
.hero-cta .btn{padding:13px 22px; border-color:rgba(255,255,255,.78); color:var(--paper); text-shadow:none;}
.hero-cta .btn::before{background:var(--paper);}
.hero-cta .btn:hover{color:var(--ink);}
.hero-cta .btn.solid{background:var(--paper); border-color:var(--paper); color:var(--ink);}
.hero-cta .btn.solid::before{background:var(--brass-light);}

/* Keep the supplied architectural render as the banner's focal point. */
.hero .elevation-stage{display:none;}

.hero-location-card{
  position:absolute; right:clamp(38px,5vw,78px); bottom:48px; z-index:2;
  width:260px; display:flex; align-items:center; gap:16px; padding:16px 18px;
  border:1px solid rgba(255,255,255,.28); background:rgba(8,14,20,.52);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  color:var(--paper); box-shadow:0 18px 50px rgba(0,0,0,.22);
}
.location-ring{
  position:relative; width:42px; height:42px; flex:0 0 auto;
  border:1px solid rgba(211,154,39,.7); border-radius:50%;
}
.location-ring::before,.location-ring::after{content:""; position:absolute; background:rgba(211,154,39,.55);}
.location-ring::before{width:54px; height:1px; left:-7px; top:20px;}
.location-ring::after{width:1px; height:54px; left:20px; top:-7px;}
.location-ring i{
  position:absolute; width:7px; height:7px; left:17px; top:17px;
  border-radius:50%; background:var(--brass-light); box-shadow:0 0 14px var(--brass-light);
}
.hero-location-copy{display:flex; flex-direction:column; font-family:var(--font-m); font-style:normal; line-height:1.2;}
.hero-location-copy small{font-size:.57rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.62);}
.hero-location-copy strong{margin:3px 0 2px; font-size:.72rem; letter-spacing:.12em; font-weight:600;}
.hero-location-copy strong b{font-family:var(--font-d); font-size:1.7rem; color:var(--brass-light); letter-spacing:-.04em;}
.hero-location-copy em{font-size:.62rem; font-style:normal; color:rgba(255,255,255,.78);}

/* the building elevation */
.elevation-stage{
  position:relative; height:min(640px, 72vh);
  display:flex; align-items:flex-end; justify-content:center;
}
.elevation{
  position:relative;
  width:min(320px, 74vw);
  border:1.5px solid var(--ink);
  background:rgba(10,10,10,.03);
}
.floor-office{
  display:grid; grid-template-columns:repeat(6,1fr);
  border-bottom:1px solid var(--line-strong);
}
.floor-office:last-child{border-bottom:none;}
.window{
  aspect-ratio:1/.85;
  margin:3px;
  background:rgba(10,10,10,.06);
  border:1px solid var(--line-strong);
  transition:background .6s ease, box-shadow .6s ease;
}
.window.lit{
  background:var(--brass-light);
  box-shadow:0 0 10px 1px var(--brass-glow);
}
.floor-retail{
  height:64px;
  background:repeating-linear-gradient(90deg, rgba(192,120,0,.22) 0 2px, transparent 2px 34px);
  border-top:2px solid var(--ink);
  position:relative;
  display:flex; align-items:center; justify-content:center;
}
.floor-retail::after{
  content:"G+1 RETAIL FRONTAGE";
  font-family:var(--font-m); font-size:.6rem; letter-spacing:.14em; color:var(--ink-soft);
}
/* dimension callouts */
.dim{
  position:absolute; display:flex; align-items:center; gap:8px;
  font-family:var(--font-m); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);
  opacity:0; transition:opacity .6s var(--ease) .4s;
}
.elevation-stage.armed .dim{opacity:1;}
.dim .tick{width:34px; height:1px; background:var(--ink-soft); position:relative; overflow:hidden;}
.dim .tick::after{
  content:""; position:absolute; inset:0; background:var(--brass-light);
  transform:scaleX(0); transform-origin:left; transition:transform .8s var(--ease) .5s;
}
.elevation-stage.armed .dim .tick::after{transform:scaleX(1);}
.dim-1{top:6%; left:-4%; flex-direction:row-reverse;}
.dim-2{top:34%; right:-8%;}
.dim-3{bottom:8%; left:-10%; flex-direction:row-reverse;}
@media (max-width:520px){ .dim{display:none;} }

.scroll-cue{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-family:var(--font-m); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint);
  color:rgba(255,255,255,.72); z-index:2;
}
.scroll-cue .line{width:1px; height:34px; background:rgba(255,255,255,.42); position:relative; overflow:hidden;}
.scroll-cue .line::after{
  content:""; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--brass);
  animation:scrollDown 2.1s ease-in-out infinite;
}
@keyframes scrollDown{ 0%{top:-100%;} 60%{top:100%;} 100%{top:100%;} }

@media (max-width:940px){
  .hero{background-position:58% center;}
  .hero-inner{grid-template-columns:minmax(0, 620px); text-align:left;}
  .hero-location-card{display:none;}
}
@media (max-width:600px){
  .hero{
    min-height:auto;
    padding-top:108px; padding-bottom:70px;
    background-position:62% center;
    background-image:
      linear-gradient(90deg, rgba(6,13,20,.82), rgba(6,13,20,.5)),
      url('../images/main-banner.webp');
  }
  .hero::after{inset:82px 10px 10px;}
  .hero-copy h1{font-size:clamp(2.15rem, 10.5vw, 2.85rem);}
  .hero-copy .hero-sub{font-size:.88rem; line-height:1.56;}
  .hero-meta{padding:12px 10px;}
  .hero-meta div{padding:0 8px;}
  .hero-meta .num{font-size:1.02rem;}
  .hero-meta .lbl{font-size:.5rem; letter-spacing:.07em;}
  .hero-cta .btn{padding:12px 16px; font-size:.67rem;}
  .scroll-cue{display:none;}
}

/* ============================================================
   OVERVIEW QUOTE
   ============================================================ */
.overview{
  position:relative; padding:110px 0;
  background:var(--paper);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  overflow:hidden;
}
.overview-grid{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(52px,7vw,96px); align-items:center;
}
.overview-visual{position:relative; margin:0; padding:0 34px 34px 0;}
.overview-image{
  position:relative; height:clamp(430px,49vw,610px); overflow:hidden;
  background:var(--navy); box-shadow:0 26px 70px rgba(10,10,10,.18);
}
.overview-image::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(10,10,10,.5));
  pointer-events:none;
}
.overview-image img{width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.05); transition:transform 1.2s var(--ease),filter .8s var(--ease);}
.overview-visual:hover .overview-image img{transform:scale(1.035); filter:saturate(1) contrast(1.03);}
.overview-image-tag{
  position:absolute; top:22px; left:22px; z-index:2; padding:8px 12px;
  background:rgba(255,255,255,.92); color:var(--ink);
  font-family:var(--font-m); font-size:.63rem; font-weight:600; letter-spacing:.16em;
}
.overview-visual figcaption{
  margin-top:13px; font-family:var(--font-m); font-size:.63rem; color:var(--ink-faint);
  letter-spacing:.11em; text-transform:uppercase;
}
.overview-fact{
  position:absolute; right:0; bottom:0; z-index:3; width:205px; min-height:150px;
  padding:24px; background:var(--ink); color:var(--paper);
  display:flex; flex-direction:column; justify-content:space-between;
  border-top:3px solid var(--brass);
}
.overview-fact strong{font-family:var(--font-d); font-size:2.65rem; line-height:1; color:var(--brass-light); letter-spacing:-.05em;}
.overview-fact strong small{font-size:.8rem; letter-spacing:.04em;}
.overview-fact span{font-size:.75rem; line-height:1.45; letter-spacing:.07em; text-transform:uppercase; color:rgba(255,255,255,.72);}
.overview-story h2{font-size:clamp(2.6rem,4.7vw,4.5rem); line-height:1.02; margin-bottom:28px;}
.overview-story h2 span{color:var(--brass);}
.overview-story > p{max-width:530px; color:var(--ink-soft); font-size:1.03rem; line-height:1.8;}
.overview-stats{
  display:grid; grid-template-columns:repeat(3,1fr); margin:38px 0 30px;
  border-top:1px solid var(--line-strong); border-bottom:1px solid var(--line-strong);
}
.overview-stats div{padding:22px 14px 22px 0;}
.overview-stats div+div{padding-left:18px; border-left:1px solid var(--line);}
.overview-stats strong{display:block; font-family:var(--font-d); font-size:1.55rem; color:var(--ink); line-height:1.1;}
.overview-stats span{display:block; margin-top:7px; font-size:.62rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); line-height:1.35;}
.overview-link{
  display:inline-flex; align-items:center; gap:12px; padding-bottom:6px;
  border-bottom:1px solid var(--ink); font-size:.72rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; transition:color .3s,border-color .3s;
}
.overview-link span{font-size:1rem; transition:transform .3s var(--ease);}
.overview-link:hover{color:var(--brass); border-color:var(--brass);}
.overview-link:hover span{transform:translate(3px,-3px);}
.overview-mark{
  font-family:var(--font-m); font-size:.62rem; letter-spacing:.18em; color:var(--ink-faint); margin-top:48px; display:block;
}
@media (max-width:960px){
  .overview-grid{grid-template-columns:1fr; gap:64px;}
  .overview-image{height:min(72vw,620px);}
  .overview-story{max-width:680px;}
}
@media (max-width:560px){
  .overview{padding:78px 0;}
  .overview-visual{padding:0 18px 24px 0;}
  .overview-image{height:112vw; max-height:520px;}
  .overview-fact{width:170px; min-height:126px; padding:19px;}
  .overview-fact strong{font-size:2.1rem;}
  .overview-story h2{font-size:2.55rem;}
  .overview-stats{grid-template-columns:1fr;}
  .overview-stats div,.overview-stats div+div{padding:16px 0; border-left:0;}
  .overview-stats div+div{border-top:1px solid var(--line);}
}

/* ============================================================
   SECTION HEADS
   ============================================================ */
.section{padding:120px 0;}
.section.tight{padding:90px 0;}
.section-head{
  display:flex; justify-content:space-between; align-items:flex-end; gap:30px;
  margin-bottom:64px; flex-wrap:wrap;
}
.section-head h2{font-size:clamp(2rem,4vw,3.1rem);}
.section-head .head-note{max-width:340px; color:var(--ink-soft); font-size:.95rem; padding-bottom:6px;}

/* ============================================================
   ABOUT
   ============================================================ */
.about-section{position:relative; background:var(--concrete); overflow:hidden;}
.about-section::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent 49.94%,rgba(10,10,10,.045) 50%,transparent 50.06%);
  pointer-events:none;
}
.about-watermark{
  position:absolute; top:42px; right:-30px; color:transparent;
  -webkit-text-stroke:1px rgba(10,10,10,.055); font-family:var(--font-d);
  font-size:clamp(5rem,13vw,11rem); font-weight:800; line-height:1; letter-spacing:-.07em;
  user-select:none;
}
.about-heading{
  position:relative; z-index:2; display:grid; grid-template-columns:.42fr 1.08fr .8fr;
  gap:clamp(28px,4vw,64px); align-items:start; margin-bottom:76px;
}
.about-index{display:flex; align-items:center; gap:12px; padding-top:10px;}
.about-index span{font-family:var(--font-d); font-size:.75rem; font-weight:800; color:var(--brass);}
.about-index i{width:36px; height:1px; background:var(--brass);}
.about-index small{font-size:.62rem; font-style:normal; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-faint);}
.about-title h2{font-size:clamp(2.65rem,4.7vw,4.5rem); line-height:1.02;}
.about-title h2 span{color:var(--brass);}
.about-intro{padding-top:8px;}
.about-intro p{color:var(--ink-soft); font-size:.93rem; line-height:1.78;}
.about-intro .about-lead{font-family:var(--font-d); font-size:1.18rem; font-weight:600; line-height:1.55; color:var(--ink); margin-bottom:16px;}
.about-pill-row{display:flex; flex-wrap:wrap; gap:8px; margin-top:24px;}
.about-pill-row span{padding:7px 11px; border:1px solid var(--line-strong); font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;}
.about-showcase{position:relative; z-index:2; display:grid; grid-template-columns:.86fr 1.14fr; align-items:stretch;}
.about-image-card{position:relative; margin:0; min-height:620px; overflow:visible;}
.about-image-card > img{width:100%; height:100%; object-fit:cover; filter:saturate(.65) contrast(1.05);}
.about-image-card::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,10,10,.02),rgba(10,10,10,.42)); pointer-events:none;}
.about-image-label{
  position:absolute; top:22px; left:22px; z-index:2; background:var(--paper); color:var(--ink);
  padding:8px 12px; font-size:.61rem; font-weight:700; letter-spacing:.15em;
}
.about-image-card figcaption{
  position:absolute; left:22px; bottom:18px; z-index:2; color:rgba(255,255,255,.76);
  font-size:.59rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
}
.about-image-stat{
  position:absolute; z-index:4; right:-44px; bottom:58px; width:205px; padding:25px;
  background:var(--brass); color:var(--ink); box-shadow:0 18px 50px rgba(10,10,10,.2);
}
.about-image-stat strong{display:block; font-family:var(--font-d); font-size:1.8rem; letter-spacing:-.05em; line-height:1;}
.about-image-stat span{display:block; margin-top:9px; font-size:.64rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;}
.spec-sheet{
  background:var(--ink); color:var(--paper); padding:48px 48px 40px 72px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.spec-head{display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding-bottom:30px; border-bottom:1px solid var(--navy-line);}
.spec-head small{display:block; color:var(--brass-light); font-size:.62rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; margin-bottom:8px;}
.spec-head h3{font-size:1.7rem; color:var(--paper);}
.spec-head > span{font-size:.58rem; letter-spacing:.14em; color:rgba(255,255,255,.46); padding-top:5px;}
.spec-grid{display:grid; grid-template-columns:1fr 1fr;}
.spec-row{
  display:flex; flex-direction:column; justify-content:space-between; min-height:118px;
  padding:24px 20px 22px 0; border-bottom:1px solid var(--navy-line);
}
.spec-row:nth-child(even){padding-left:26px; border-left:1px solid var(--navy-line);}
.spec-row .k{font-family:var(--font-m); font-size:.61rem; letter-spacing:.11em; text-transform:uppercase; color:rgba(255,255,255,.46);}
.spec-row .v{font-family:var(--font-d); font-size:1.7rem; font-weight:700; color:var(--paper); white-space:nowrap; line-height:1.1;}
.spec-row .v .unit{font-family:var(--font-m); font-size:.68rem; font-weight:500; color:var(--brass-light); margin-left:5px; letter-spacing:.03em;}
.spec-footer{padding-top:30px; display:flex; justify-content:space-between; align-items:center; gap:28px;}
.spec-footer p{max-width:300px; font-size:.68rem; color:rgba(255,255,255,.48); line-height:1.7; letter-spacing:.04em;}
.spec-footer .btn{flex:0 0 auto; padding:13px 17px;}
@media (max-width:1020px){
  .about-heading{grid-template-columns:.3fr 1fr;}
  .about-intro{grid-column:2;}
  .about-showcase{grid-template-columns:1fr;}
  .about-image-card{min-height:560px;}
  .about-image-stat{right:24px;}
  .spec-sheet{padding:48px;}
}
@media (max-width:650px){
  .about-heading{grid-template-columns:1fr; margin-bottom:52px;}
  .about-intro{grid-column:auto;}
  .about-image-card{min-height:480px;}
  .about-image-stat{right:14px; bottom:48px; width:172px; padding:20px;}
  .spec-sheet{padding:34px 24px;}
  .spec-grid{grid-template-columns:1fr;}
  .spec-row:nth-child(even){padding-left:0; border-left:0;}
  .spec-footer{align-items:flex-start; flex-direction:column;}
}

/* ============================================================
   AWARDS — dark
   ============================================================ */
.awards{
  color:var(--paper); position:relative; overflow:hidden;
  padding:96px 0 104px;
  background:linear-gradient(135deg,#090909 0%,#11100D 100%);
}
.awards::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 82% 18%,rgba(192,120,0,.1),transparent 34%);
  pointer-events:none;
}
.awards::after{
  content:""; position:absolute; left:50%; top:0; width:min(460px,48vw); height:1px; transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--brass),transparent);
  pointer-events:none;
}
.awards-wrap{position:relative; z-index:2;}
.awards-heading{display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(44px,7vw,88px); align-items:start; margin-bottom:46px;}
.awards-index{padding-top:0; margin-bottom:30px;}
.awards-index small{color:rgba(255,255,255,.46);}
.awards-title h2{font-size:clamp(2.55rem,4.4vw,4.15rem); line-height:1.03; color:var(--paper);}
.awards-title h2 span{color:var(--brass-light);}
.awards-copy{border-left:1px solid rgba(211,154,39,.52); padding-left:34px;}
.awards-copy p{color:rgba(255,255,255,.62); font-size:.87rem; line-height:1.75; margin-bottom:13px;}
.awards-copy p:first-child{color:var(--paper); font-family:var(--font-d); font-size:1.04rem; font-weight:600; line-height:1.6;}
.awards-copy p:last-child{margin-bottom:0;}
.award-gallery{
  display:grid; grid-template-columns:minmax(0,420px) minmax(0,290px);
  gap:34px; align-items:start; justify-content:center;
}
.award-piece{margin:0; min-width:0;}
.award-media{
  position:relative; width:100%; height:300px; min-height:0; padding:12px; overflow:hidden;
  background:#F1EEE6; border:1px solid rgba(211,154,39,.42); cursor:zoom-in;
  box-shadow:0 15px 38px rgba(0,0,0,.22);
  transition:transform .45s var(--ease),border-color .35s,box-shadow .45s var(--ease);
}
.award-media::before{content:""; position:absolute; inset:7px; border:1px solid rgba(10,10,10,.13); z-index:1; pointer-events:none;}
.award-media img{width:100%; height:100%; object-fit:contain; transition:transform .8s var(--ease),filter .5s var(--ease);}
.award-media:hover{transform:translateY(-7px); border-color:var(--brass-light); box-shadow:0 24px 54px rgba(0,0,0,.34),0 0 0 1px rgba(211,154,39,.15);}
.award-media:hover img{transform:scale(1.018); filter:contrast(1.025);}
.award-view{
  position:absolute; right:24px; bottom:24px; z-index:3; display:flex; align-items:center; gap:10px;
  background:var(--ink); color:var(--paper); padding:9px 11px; font-size:.56rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase;
  transform:translateY(8px); opacity:0; transition:opacity .35s,transform .35s var(--ease);
}
.award-media:hover .award-view,.award-media:focus-visible .award-view{opacity:1; transform:translateY(0);}
.award-view b{color:var(--brass-light); font-size:.9rem;}
.award-certificate .award-media,.award-plaque .award-media{aspect-ratio:auto;}
.award-piece figcaption{display:grid; grid-template-columns:1fr; gap:5px; padding:16px 2px 0;}
.award-piece figcaption span{grid-column:1/-1; color:var(--brass-light); font-size:.59rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;}
.award-piece figcaption strong{color:var(--paper); font-family:var(--font-d); font-size:.92rem;}
.award-piece figcaption small{color:rgba(255,255,255,.42); font-size:.59rem; letter-spacing:.04em; text-align:left;}
@media (max-width:900px){
  .awards-heading{grid-template-columns:1fr; gap:42px;}
  .awards-copy{max-width:720px;}
  .award-gallery{grid-template-columns:minmax(0,1fr) minmax(0,.72fr);}
}
@media (max-width:600px){
  .awards{padding:76px 0 82px;}
  .awards-copy{padding-left:20px;}
  .award-gallery{grid-template-columns:1fr; max-width:420px; margin:0 auto;}
  .award-media{height:250px; padding:10px;}
  .award-plaque .award-media{height:330px;}
  .award-view{opacity:1; transform:none; right:14px; bottom:14px;}
}

/* ============================================================
   HIGHLIGHTS
   ============================================================ */
.highlights-section{
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 88% 10%,rgba(192,120,0,.11),transparent 27%),
    linear-gradient(180deg,#F6F3ED 0%,#EEE9DF 100%);
}
.highlights-section::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(rgba(10,10,10,.035) 1px,transparent 1px) 0 0/42px 42px,
             linear-gradient(90deg,rgba(10,10,10,.035) 1px,transparent 1px) 0 0/42px 42px;
  mask-image:linear-gradient(to bottom,transparent,black 25%,black 78%,transparent);
}
.highlights-head{position:relative; z-index:2; display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:54px;}
.highlights-head h2{font-size:clamp(2.7rem,5vw,4.6rem); line-height:1;}
.highlights-head h2 span{color:var(--brass);}
.highlight-grid{position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; perspective:1200px;}
.highlight-card{
  --card-tilt-x:0deg; --card-tilt-y:0deg;
  min-height:330px; background:rgba(255,255,255,.9); padding:34px 30px 30px;
  position:relative; overflow:hidden; border:1px solid rgba(10,10,10,.15);
  box-shadow:0 10px 28px rgba(10,10,10,.06);
  transform-style:preserve-3d;
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .35s,background .35s;
}
.highlight-card::before{
  content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:linear-gradient(90deg,var(--brass),var(--brass-light),transparent);
  transform:scaleX(.28); transform-origin:left; transition:transform .55s var(--ease);
}
.highlight-card::after{
  content:""; position:absolute; inset:-40%; pointer-events:none;
  background:linear-gradient(115deg,transparent 40%,rgba(211,154,39,.12) 50%,transparent 60%);
  transform:translateX(-70%) rotate(8deg); transition:transform .9s var(--ease);
}
.highlight-card:hover::before{transform:scaleX(1);}
.highlight-card:hover{
  background:#fff; border-color:rgba(192,120,0,.5);
  transform:perspective(900px) translateY(-10px) rotateX(2deg) rotateY(-2deg);
  box-shadow:0 26px 60px rgba(10,10,10,.14),0 0 0 1px rgba(192,120,0,.08);
}
.highlight-card:hover::after{transform:translateX(70%) rotate(8deg);}
.hl-card-no{position:absolute; top:28px; right:28px; font-size:.6rem; font-weight:700; letter-spacing:.16em; color:var(--ink-faint);}
.hl-icon-shell{
  width:92px; height:92px; margin-bottom:25px; display:grid; place-items:center; position:relative;
  border-radius:24px; background:linear-gradient(145deg,#FFFDF8,#E8DFD0);
  box-shadow:10px 12px 22px rgba(80,52,12,.13),-7px -7px 18px rgba(255,255,255,.9),inset 1px 1px 1px rgba(255,255,255,.9);
  transform:translateZ(30px);
}
.hl-icon-shell::after{content:""; position:absolute; inset:9px; border-radius:18px; border:1px solid rgba(192,120,0,.18);}
.hl-icon{width:76px; height:76px; position:relative; z-index:1; filter:drop-shadow(0 8px 7px rgba(88,52,0,.2)); animation:hlFloat 4.2s ease-in-out infinite;}
.highlight-card:nth-child(2n) .hl-icon{animation-delay:-1.3s;}
.highlight-card:nth-child(3n) .hl-icon{animation-delay:-2.4s;}
@keyframes hlFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(1.5deg)}}
.highlight-card h3{position:relative; z-index:2; font-size:1.18rem; font-weight:700; margin-bottom:11px; line-height:1.28; transform:translateZ(18px);}
.highlight-card p{position:relative; z-index:2; color:var(--ink-soft); font-size:.86rem; line-height:1.65; transform:translateZ(12px);}
@media (max-width:860px){ .highlight-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){
  .highlights-head{align-items:flex-start; flex-direction:column; margin-bottom:40px;}
  .highlight-grid{grid-template-columns:1fr;}
  .highlight-card{min-height:300px;}
}
@media (prefers-reduced-motion:reduce){
  .hl-icon{animation:none;}
  .highlight-card:hover{transform:none;}
}

/* ============================================================
   CONFIGURATION
   ============================================================ */
.config-section{position:relative; background:var(--paper); overflow:hidden;}
.config-section::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,transparent 49.94%,rgba(10,10,10,.045) 50%,transparent 50.06%);
}
.config-watermark{
  position:absolute; left:50%; top:46px; transform:translateX(-50%); color:transparent;
  -webkit-text-stroke:1px rgba(10,10,10,.045); font-family:var(--font-d);
  font-size:clamp(4rem,10vw,9rem); font-weight:800; line-height:1; letter-spacing:-.06em; white-space:nowrap;
  user-select:none; pointer-events:none;
}
.config-heading{
  position:relative; z-index:2; display:grid; grid-template-columns:.42fr 1.08fr .8fr;
  gap:clamp(30px,4vw,64px); align-items:start; margin-bottom:68px;
}
.config-heading h2{font-size:clamp(2.7rem,4.8vw,4.55rem); line-height:1.03;}
.config-heading h2 span{color:var(--brass);}
.config-heading > p{padding-top:8px; color:var(--ink-soft); font-size:.96rem; line-height:1.8;}
.config-showcase{position:relative; z-index:2; display:grid; grid-template-columns:.72fr 1.28fr; min-height:590px;}
.config-product{
  position:relative; z-index:3; background:var(--ink); color:var(--paper); padding:38px;
  display:flex; flex-direction:column; box-shadow:20px 24px 55px rgba(10,10,10,.17);
  border-top:3px solid var(--brass);
}
.config-product::after{
  content:""; position:absolute; width:180px; height:180px; right:-90px; bottom:-90px;
  border:1px solid rgba(211,154,39,.18); border-radius:50%; box-shadow:0 0 0 34px rgba(211,154,39,.025);
}
.config-product-top{display:flex; justify-content:space-between; gap:16px; font-size:.57rem; font-weight:700; letter-spacing:.14em; color:rgba(255,255,255,.4);}
.config-product-top span:last-child{color:var(--brass-light);}
.config-product-copy{margin:auto 0 30px;}
.config-product-copy > small{display:block; color:var(--brass-light); font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:12px;}
.config-product h3{font-size:clamp(2rem,3.2vw,3rem); line-height:1.02; color:var(--paper);}
.config-area{display:flex; align-items:baseline; gap:10px; margin:28px 0 22px;}
.config-area strong{font-family:var(--font-d); font-size:clamp(2.5rem,4.3vw,4rem); line-height:1; color:var(--brass-light); letter-spacing:-.06em;}
.config-area i{font-style:normal; color:rgba(255,255,255,.35);}
.config-area span{font-size:.65rem; font-weight:700; letter-spacing:.13em; color:rgba(255,255,255,.5);}
.config-product-copy p{color:rgba(255,255,255,.58); font-size:.86rem; line-height:1.7;}
.config-features{border-top:1px solid var(--navy-line); margin-bottom:28px;}
.config-features li{display:flex; align-items:center; gap:14px; padding:10px 0; border-bottom:1px solid var(--navy-line); font-size:.7rem; color:rgba(255,255,255,.65); letter-spacing:.04em;}
.config-features li span{color:var(--brass-light); font-size:.57rem; font-weight:700;}
.config-product .btn{align-self:flex-start; padding:13px 17px;}
.config-product .btn b{font-size:.95rem;}
.config-visual{
  position:relative; background:var(--concrete); border:1px solid var(--line-strong);
  padding:32px 34px 24px 64px; overflow:hidden;
  background-image:linear-gradient(rgba(10,10,10,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(10,10,10,.055) 1px,transparent 1px);
  background-size:28px 28px;
}
.config-visual::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 58% 48%,rgba(211,154,39,.13),transparent 36%); pointer-events:none;}
.config-visual-head{position:relative; z-index:2; display:flex; justify-content:space-between; gap:20px; color:var(--ink); font-size:.6rem; font-weight:700; letter-spacing:.14em;}
.config-visual-head small{color:var(--ink-faint); font-size:.55rem;}
.floorplate{position:relative; z-index:1; display:block; width:100%; height:440px; overflow:visible;}
.plan-line{stroke-dasharray:1200; stroke-dashoffset:1200; transition:stroke-dashoffset 1.8s var(--ease);}
.config-visual.in-view .plan-line{stroke-dashoffset:0;}
.config-visual.in-view .plan-line:nth-of-type(2){transition-delay:.18s;}
.config-visual.in-view .plan-line:nth-of-type(3){transition-delay:.34s;}
.plan-label{opacity:0; transform:translateY(8px); transition:opacity .65s ease 1.1s,transform .65s var(--ease) 1.1s;}
.config-visual.in-view .plan-label{opacity:1; transform:translateY(0);}
.plan-label text{font-family:var(--font-m); font-size:10px; font-weight:700; letter-spacing:1.3px; fill:var(--ink);}
.plan-label text.sub{font-size:7px; font-weight:600; fill:var(--ink-faint);}
.config-legend{position:relative; z-index:2; display:flex; gap:34px; border-top:1px solid var(--line); padding-top:16px;}
.config-legend > div{display:flex; align-items:center; gap:10px;}
.config-legend > div > span{width:13px; height:13px; transform:rotate(45deg); flex:0 0 auto;}
.legend-gold{background:var(--brass);}
.legend-light{background:#F8F4EA; border:1px solid var(--line-strong);}
.config-legend p{display:flex; flex-direction:column;}
.config-legend strong{font-size:.66rem; color:var(--ink);}
.config-legend small{font-size:.56rem; color:var(--ink-faint);}
.config-note{position:relative; z-index:2; margin-top:20px; font-family:var(--font-m); font-size:.67rem; letter-spacing:.04em; color:var(--ink-faint);}
@media (max-width:1040px){
  .config-heading{grid-template-columns:.3fr 1fr;}
  .config-heading > p{grid-column:2;}
  .config-showcase{grid-template-columns:1fr;}
  .config-product{min-height:550px;}
  .config-visual{padding-left:34px;}
}
@media (max-width:650px){
  .config-heading{grid-template-columns:1fr; margin-bottom:48px;}
  .config-heading > p{grid-column:auto;}
  .config-product{min-height:520px; padding:30px 24px;}
  .config-visual{padding:26px 14px 22px; min-height:500px;}
  .floorplate{height:390px;}
  .config-legend{gap:18px; flex-wrap:wrap;}
}
@media (prefers-reduced-motion:reduce){
  .plan-line{stroke-dashoffset:0;}
  .plan-label{opacity:1; transform:none;}
}

/* ============================================================
   LOCATION
   ============================================================ */
.location-section{
  position:relative; overflow:hidden; color:var(--paper);
  background:
    radial-gradient(circle at 88% 12%,rgba(192,120,0,.17),transparent 28%),
    linear-gradient(145deg,#080A0C 0%,#12110E 55%,#090909 100%);
}
.location-section::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/48px 48px,
             linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/48px 48px;
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);
}
.location-section::after{
  content:""; position:absolute; width:420px; height:420px; right:-230px; bottom:-230px;
  border:1px solid rgba(211,154,39,.16); border-radius:50%; box-shadow:0 0 0 58px rgba(211,154,39,.025);
}
.location-section .wrap{position:relative; z-index:2;}
.location-watermark{
  position:absolute; right:-.04em; top:30px; color:transparent; pointer-events:none; user-select:none;
  -webkit-text-stroke:1px rgba(255,255,255,.055); font-family:var(--font-d); font-weight:800;
  font-size:clamp(6rem,15vw,13rem); line-height:1; letter-spacing:-.07em;
}
.location-head{
  display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(44px,8vw,110px); align-items:end;
  margin-bottom:48px;
}
.location-kicker{
  display:block; margin-bottom:15px; color:var(--brass-light); font-size:.65rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
}
.location-head h2{font-size:clamp(2.65rem,5.2vw,5rem); line-height:.98; color:var(--paper);}
.location-head h2 em{font-style:normal; color:var(--brass-light);}
.location-head > p{
  max-width:480px; padding:0 0 5px 30px; border-left:1px solid rgba(211,154,39,.48);
  color:rgba(255,255,255,.62); font-size:.9rem; line-height:1.8;
}
.location-highlights{
  display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:28px;
  border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.035);
}
.location-highlights article{
  position:relative; min-height:142px; padding:24px 28px; display:flex; align-items:end; gap:19px;
  transition:background .35s var(--ease),transform .35s var(--ease);
}
.location-highlights article + article{border-left:1px solid rgba(255,255,255,.15);}
.location-highlights article:hover{background:rgba(211,154,39,.08); transform:translateY(-3px);}
.location-highlights article > span{
  position:absolute; right:18px; top:14px; color:rgba(255,255,255,.25); font-size:.58rem; letter-spacing:.14em;
}
.location-highlights strong{
  font-family:var(--font-d); color:var(--brass-light); font-size:clamp(2rem,3.2vw,3.15rem);
  line-height:.86; letter-spacing:-.055em; white-space:nowrap;
}
.location-highlights strong small{font-family:var(--font-m); font-size:.58rem; letter-spacing:.12em; color:rgba(255,255,255,.6);}
.location-highlights p{color:rgba(255,255,255,.72); font-size:.7rem; line-height:1.45; text-transform:uppercase; letter-spacing:.08em;}
.location-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:stretch;}
.location-section .location-copy{
  padding:28px 30px 30px; border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.045); backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px);
}
.connect-list-head{
  display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.2); text-transform:uppercase;
}
.connect-list-head span{font-size:.68rem; font-weight:700; letter-spacing:.14em; color:var(--paper);}
.connect-list-head small{font-size:.54rem; letter-spacing:.1em; color:rgba(255,255,255,.38);}
.connect-list{counter-reset:location-place;}
.connect-list li{
  counter-increment:location-place; display:flex; align-items:center; gap:14px;
  min-height:47px; padding:9px 8px 9px 0; border-bottom:1px solid rgba(255,255,255,.1);
  transition:padding-left .3s var(--ease),background .3s;
}
.connect-list li:hover{padding-left:8px; background:rgba(211,154,39,.055);}
.connect-list li::before{
  content:counter(location-place,decimal-leading-zero); width:22px; flex:0 0 auto;
  color:rgba(255,255,255,.28); font-size:.52rem; font-weight:700; letter-spacing:.08em;
}
.connect-list .place{flex:1; color:rgba(255,255,255,.82); font-size:.78rem; line-height:1.35;}
.connect-list .bar{
  width:64px; height:1px; background:rgba(255,255,255,.14); position:relative; overflow:hidden; flex:0 0 auto;
}
.connect-list .bar::after{
  content:""; position:absolute; inset:0; background:var(--brass-light); transform:scaleX(0); transform-origin:left;
  transition:transform 1.1s var(--ease);
}
.connect-list.in-view .bar::after{transform:scaleX(1);}
.connect-list .time{
  min-width:62px; flex:0 0 auto; padding:5px 7px; border:1px solid rgba(211,154,39,.28);
  font-family:var(--font-m); font-size:.63rem; color:var(--brass-light); white-space:nowrap; text-align:center;
}
.location-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:24px;}
.location-actions .btn{padding:12px 15px; font-size:.64rem;}
.location-actions .btn.solid{background:var(--paper); border-color:var(--paper); color:var(--ink);}
.location-actions .btn.solid::before{background:var(--brass-light);}
.location-actions .btn.brass b{font-size:.85rem;}
.map-frame{
  min-height:620px; border:1px solid rgba(211,154,39,.42); overflow:hidden; position:relative;
  background:#DAD5CB; box-shadow:0 22px 58px rgba(0,0,0,.28);
}
.map-frame::after{content:""; position:absolute; inset:9px; border:1px solid rgba(255,255,255,.32); pointer-events:none; z-index:2;}
.map-frame iframe{width:100%; height:100%; min-height:620px; border:0; display:block; filter:grayscale(.35) sepia(.08) contrast(1.03);}
.map-tag{
  position:absolute; top:22px; left:22px; display:flex; align-items:center; gap:9px;
  background:var(--ink); color:var(--paper); box-shadow:0 10px 28px rgba(0,0,0,.2);
  font-family:var(--font-m); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase;
  padding:10px 13px; z-index:3;
}
.map-tag i{width:7px; height:7px; border-radius:50%; background:var(--brass-light); box-shadow:0 0 0 5px rgba(211,154,39,.15);}
.map-coordinates{
  position:absolute; top:24px; right:24px; z-index:3; display:flex; flex-direction:column; align-items:flex-end;
  padding:8px 10px; background:rgba(255,255,255,.9); color:var(--ink); font-size:.53rem; font-weight:700; letter-spacing:.09em;
}
.map-address-card{
  position:absolute; left:22px; bottom:22px; z-index:3; width:min(320px,calc(100% - 44px));
  padding:18px 20px; display:flex; flex-direction:column; background:rgba(10,10,10,.92); color:var(--paper);
  border-left:3px solid var(--brass-light); box-shadow:0 16px 38px rgba(0,0,0,.26);
}
.map-address-card small{font-size:.55rem; letter-spacing:.15em; text-transform:uppercase; color:var(--brass-light);}
.map-address-card strong{margin:5px 0 2px; font-family:var(--font-d); font-size:1rem;}
.map-address-card span{font-size:.66rem; color:rgba(255,255,255,.6);}
@media (max-width:1000px){
  .location-grid{grid-template-columns:1fr;}
  .map-frame,.map-frame iframe{min-height:520px;}
}
@media (max-width:720px){
  .location-section{padding:82px 0;}
  .location-head{grid-template-columns:1fr; gap:25px; margin-bottom:34px;}
  .location-head > p{padding-left:20px;}
  .location-highlights{grid-template-columns:1fr;}
  .location-highlights article{min-height:112px;}
  .location-highlights article + article{border-left:none; border-top:1px solid rgba(255,255,255,.15);}
  .location-section .location-copy{padding:22px 18px 24px;}
  .connect-list .bar{display:none;}
  .map-frame,.map-frame iframe{min-height:450px;}
  .map-coordinates{display:none;}
}
@media (max-width:440px){
  .connect-list-head small{display:none;}
  .connect-list li::before{display:none;}
  .connect-list .place{font-size:.72rem;}
  .location-actions .btn{width:100%; justify-content:center;}
}

/* ============================================================
   AMENITIES
   ============================================================ */
.amenities{
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 12% 8%,rgba(211,154,39,.15),transparent 24%),
    linear-gradient(180deg,#F5F1E9 0%,#E9E2D7 100%);
}
.amenities::before{
  content:""; position:absolute; inset:-15%; pointer-events:none; opacity:.52;
  background:linear-gradient(30deg,rgba(10,10,10,.055) 1px,transparent 1px) 0 0/52px 30px,
             linear-gradient(150deg,rgba(10,10,10,.045) 1px,transparent 1px) 0 0/52px 30px;
  mask-image:linear-gradient(to bottom,transparent,black 20%,black 86%,transparent);
}
.amenities .wrap{position:relative; z-index:2;}
.amenities-watermark{
  position:absolute; left:50%; top:42px; transform:translateX(-50%); pointer-events:none; user-select:none;
  color:transparent; -webkit-text-stroke:1px rgba(10,10,10,.055); font-family:var(--font-d); font-weight:800;
  font-size:clamp(4.5rem,11vw,10rem); letter-spacing:-.065em; line-height:1; white-space:nowrap;
}
.amenities-head{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(44px,8vw,110px); align-items:end;
  margin-bottom:52px;
}
.amenities-kicker{
  display:block; margin-bottom:15px; color:var(--brass); font-size:.65rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
}
.amenities-head h2{font-size:clamp(2.7rem,5.1vw,4.9rem); line-height:.99;}
.amenities-head h2 em{font-style:normal; color:var(--brass);}
.amenities-intro{display:flex; align-items:flex-end; gap:30px; padding-left:30px; border-left:1px solid rgba(192,120,0,.42);}
.amenities-intro > p{flex:1; color:var(--ink-soft); font-size:.9rem; line-height:1.8;}
.amenities-count{display:flex; align-items:flex-end; gap:10px; flex:0 0 auto;}
.amenities-count strong{font-family:var(--font-d); font-size:3.2rem; line-height:.78; color:var(--brass); letter-spacing:-.07em;}
.amenities-count span{font-size:.55rem; font-weight:700; line-height:1.35; letter-spacing:.11em; text-transform:uppercase; color:var(--ink-faint);}
.marquee-track-wrap{
  position:relative; z-index:2; width:100%; overflow:hidden; margin-bottom:52px;
  padding:12px 0; border-top:1px solid rgba(10,10,10,.15); border-bottom:1px solid rgba(10,10,10,.15);
  background:rgba(255,255,255,.34);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track{display:flex; align-items:center; gap:10px; width:max-content; animation:marquee 46s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
.chip{
  display:flex; align-items:center; gap:10px; font-family:var(--font-m); font-size:.63rem;
  letter-spacing:.1em; text-transform:uppercase; padding:9px 15px; white-space:nowrap; color:var(--ink-soft);
}
.chip i{width:5px; height:5px; border-radius:50%; background:var(--brass); box-shadow:0 0 0 4px rgba(192,120,0,.1);}
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

.amenity-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; perspective:1200px;}
.amenity-cell{
  position:relative; min-height:380px; padding:30px 28px 27px; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:space-between; text-align:center;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(238,232,221,.94));
  border:1px solid rgba(10,10,10,.16); box-shadow:0 12px 32px rgba(68,48,18,.08);
  transform-style:preserve-3d;
  transition:transform .6s var(--ease),box-shadow .6s var(--ease),border-color .4s,background .4s;
}
.amenity-cell::before{
  content:""; position:absolute; left:0; top:0; width:100%; height:3px;
  background:linear-gradient(90deg,var(--brass),var(--brass-light),transparent 78%);
  transform:scaleX(.35); transform-origin:left; transition:transform .55s var(--ease);
}
.amenity-cell::after{
  content:""; position:absolute; inset:-55%; pointer-events:none;
  background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.78) 50%,transparent 58%);
  transform:translateX(-65%) rotate(8deg); transition:transform .95s var(--ease);
}
.amenity-cell:nth-child(2),.amenity-cell:nth-child(5){background:linear-gradient(145deg,#171612,#090909); border-color:rgba(211,154,39,.3);}
.amenity-cell:hover{
  z-index:3; border-color:rgba(192,120,0,.55); transform:translateY(-10px) rotateX(2deg) rotateY(-1.5deg);
  box-shadow:0 28px 68px rgba(68,48,18,.2),0 0 0 1px rgba(192,120,0,.08);
}
.amenity-cell:hover::before{transform:scaleX(1);}
.amenity-cell:hover::after{transform:translateX(65%) rotate(8deg);}
.amenity-no{
  position:absolute; top:20px; right:21px; z-index:4; font-size:.57rem; font-weight:700;
  letter-spacing:.16em; color:var(--ink-faint);
}
.amenity-cell:nth-child(2) .amenity-no,.amenity-cell:nth-child(5) .amenity-no{color:rgba(255,255,255,.36);}
.amenity-model{
  position:relative; z-index:2; width:160px; height:175px; margin:1px auto 10px;
  transform-style:preserve-3d; perspective:520px;
}
.model-shadow{
  position:absolute; left:23px; right:23px; bottom:13px; height:24px; border-radius:50%;
  background:rgba(54,36,8,.2); filter:blur(10px); transform:rotate(-5deg);
}
.model-plinth{
  position:absolute; left:44px; bottom:25px; width:74px; height:74px;
  background:linear-gradient(135deg,#E6C881,#A96A00); border:1px solid rgba(101,61,0,.45);
  transform:rotateX(62deg) rotateZ(45deg); box-shadow:11px 11px 0 rgba(102,66,12,.16),20px 22px 30px rgba(79,50,5,.19);
}
.model-plinth::after{content:""; position:absolute; inset:10px; border:1px solid rgba(255,255,255,.42);}
.model-face{
  position:absolute; left:39px; top:14px; width:82px; height:82px; display:grid; place-items:center;
  background:linear-gradient(145deg,#FFFDF8,#DED5C6); border:1px solid rgba(10,10,10,.18);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.9),0 20px 30px rgba(61,39,5,.2);
  transform:translateZ(28px) rotateY(-8deg) rotateX(3deg);
  animation:amenityFloat 4.4s ease-in-out infinite; animation-delay:calc(var(--amenity-index) * -.55s);
  transition:transform .6s var(--ease),box-shadow .6s var(--ease);
}
.model-face::before{content:""; position:absolute; right:-8px; top:7px; width:7px; height:100%; background:#BEB3A2; transform:skewY(45deg); transform-origin:left top;}
.model-face::after{content:""; position:absolute; left:7px; bottom:-8px; width:100%; height:7px; background:#AFA18E; transform:skewX(45deg); transform-origin:left top;}
.amenity-cell:nth-child(2) .model-face,.amenity-cell:nth-child(5) .model-face{background:linear-gradient(145deg,#2B2821,#11100D); border-color:rgba(211,154,39,.5);}
.amenity-cell:nth-child(2) .model-face::before,.amenity-cell:nth-child(5) .model-face::before{background:#070706;}
.amenity-cell:nth-child(2) .model-face::after,.amenity-cell:nth-child(5) .model-face::after{background:#201D17;}
.amenity-icon{width:42px; height:42px; color:var(--brass); stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round;}
.amenity-cell:nth-child(2) .amenity-icon,.amenity-cell:nth-child(5) .amenity-icon{color:var(--brass-light); filter:drop-shadow(0 0 8px rgba(211,154,39,.18));}
.model-orbit{
  position:absolute; left:27px; top:55px; width:106px; height:106px; border:1px solid rgba(192,120,0,.25); border-radius:50%;
  transform:rotateX(68deg) rotateZ(-12deg); animation:orbitTurn 7s linear infinite;
}
.model-orbit::after{content:""; position:absolute; width:7px; height:7px; right:8px; top:14px; border-radius:50%; background:var(--brass-light); box-shadow:0 0 10px rgba(192,120,0,.6);}
.amenity-cell:hover .model-face{transform:translateY(-10px) translateZ(38px) rotateY(7deg) rotateX(-2deg); box-shadow:0 30px 40px rgba(61,39,5,.27);}
@keyframes amenityFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes orbitTurn{to{rotate:360deg}}
.amenity-card-copy{position:relative; z-index:2; max-width:255px;}
.amenity-card-copy h3{font-size:1.08rem; margin-bottom:8px;}
.amenity-card-copy p{color:var(--ink-soft); font-size:.76rem; line-height:1.58;}
.amenity-cell:nth-child(2) .amenity-card-copy h3,.amenity-cell:nth-child(5) .amenity-card-copy h3{color:var(--paper);}
.amenity-cell:nth-child(2) .amenity-card-copy p,.amenity-cell:nth-child(5) .amenity-card-copy p{color:rgba(255,255,255,.52);}
.amenities-foot{
  display:flex; align-items:center; justify-content:center; gap:20px; margin-top:42px;
  color:var(--ink-faint); font-size:.59rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
}
.amenities-foot i{width:5px; height:5px; border-radius:50%; background:var(--brass);}
@media (max-width:960px){
  .amenities-head{grid-template-columns:1fr; gap:30px;}
  .amenities-intro{max-width:700px;}
  .amenity-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:620px){
  .amenities{padding:82px 0;}
  .amenities-head{margin-bottom:40px;}
  .amenities-intro{align-items:flex-start; padding-left:20px;}
  .amenities-count{display:none;}
  .marquee-track-wrap{margin-bottom:38px;}
  .amenity-grid{grid-template-columns:1fr; gap:15px;}
  .amenity-cell{min-height:340px;}
  .amenities-foot{gap:11px; flex-wrap:wrap; line-height:1.4;}
  .amenities-foot i{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .model-face,.model-orbit{animation:none;}
  .amenity-cell:hover{transform:none;}
}

/* Compact all-amenities presentation */
.amenities{padding:82px 0 88px;}
.amenities-watermark{top:24px; font-size:clamp(4rem,9vw,8rem);}
.amenities-head{
  grid-template-columns:1.15fr .85fr; align-items:end; gap:clamp(34px,6vw,80px);
  margin-bottom:34px;
}
.amenities-head h2{font-size:clamp(2.4rem,4.3vw,4rem); line-height:1; white-space:nowrap;}
.amenities-intro{align-items:center; gap:22px; padding-left:24px;}
.amenities-intro > p{font-size:.83rem; line-height:1.65;}
.amenities-count strong{font-size:2.7rem;}
.amenities .amenity-grid{
  grid-template-columns:repeat(6,minmax(0,1fr)); gap:11px;
  perspective:900px;
}
.amenities .amenity-cell,
.amenities .amenity-cell:nth-child(2),
.amenities .amenity-cell:nth-child(5){
  min-height:148px; padding:17px 9px 14px; gap:11px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:rgba(255,255,255,.72); border:1px solid rgba(10,10,10,.12);
  box-shadow:0 7px 18px rgba(68,48,18,.055); transform:none;
}
.amenities .amenity-cell::before{
  left:0; top:0; width:100%; height:2px;
  background:linear-gradient(90deg,var(--brass),var(--brass-light));
  transform:scaleX(0); transform-origin:center;
}
.amenities .amenity-cell::after{
  inset:-60%; background:linear-gradient(115deg,transparent 44%,rgba(255,255,255,.72) 50%,transparent 56%);
  transform:translateX(-70%) rotate(8deg);
}
.amenities .amenity-cell:hover{
  z-index:3; background:#fff; border-color:rgba(192,120,0,.42);
  transform:translateY(-6px) rotateX(2deg);
  box-shadow:0 17px 34px rgba(68,48,18,.14);
}
.amenities .amenity-cell:hover::before{transform:scaleX(1);}
.amenities .amenity-cell:hover::after{transform:translateX(70%) rotate(8deg);}
.amenities .amenity-no,
.amenities .amenity-cell:nth-child(2) .amenity-no,
.amenities .amenity-cell:nth-child(5) .amenity-no{
  top:9px; right:10px; color:rgba(10,10,10,.25); font-size:.48rem;
}
.amenity-coin{
  position:relative; z-index:2; width:70px; height:70px; flex:0 0 auto;
  display:grid; place-items:center; border-radius:50%;
  background:linear-gradient(145deg,#FFFDF8,#DED4C5); border:1px solid rgba(10,10,10,.18);
  box-shadow:0 5px 0 #BCAF9D,0 11px 19px rgba(71,45,7,.16),inset 2px 2px 3px rgba(255,255,255,.9);
  transform:translateY(-2px) rotateX(2deg); transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.amenity-coin::before{
  content:""; position:absolute; inset:8px; border:1px solid rgba(192,120,0,.2); border-radius:50%;
}
.amenity-coin::after{
  content:""; position:absolute; width:38px; height:8px; left:16px; bottom:-14px;
  background:rgba(56,37,8,.17); border-radius:50%; filter:blur(6px); transition:all .45s var(--ease);
}
.amenity-coin > span{position:relative; z-index:2; display:grid; place-items:center;}
.amenities .amenity-icon{width:34px; height:34px; color:var(--ink); stroke-width:1.35; transition:color .35s,transform .45s var(--ease);}
.amenities .amenity-cell h3,
.amenities .amenity-cell:nth-child(2) h3,
.amenities .amenity-cell:nth-child(5) h3{
  position:relative; z-index:2; max-width:135px; margin:0;
  color:var(--ink); font-family:var(--font-b); font-size:.71rem; font-weight:600;
  line-height:1.3; letter-spacing:0; text-align:center;
}
.amenities .amenity-cell:hover .amenity-coin{
  transform:translateY(-7px) rotateY(-8deg) rotateX(4deg);
  box-shadow:5px 7px 0 #BCAF9D,0 17px 25px rgba(71,45,7,.2),inset 2px 2px 3px rgba(255,255,255,.9);
}
.amenities .amenity-cell:hover .amenity-coin::after{bottom:-18px; opacity:.68; transform:scaleX(1.2);}
.amenities .amenity-cell:hover .amenity-icon{color:var(--brass); transform:scale(1.06);}
@media (max-width:1100px){.amenities .amenity-grid{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media (max-width:860px){
  .amenities-head{grid-template-columns:1fr; gap:23px;}
  .amenities-head h2{white-space:normal;}
  .amenities-intro{max-width:680px;}
  .amenities .amenity-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:600px){
  .amenities{padding:70px 0 74px;}
  .amenities-head{margin-bottom:28px;}
  .amenities-intro{padding-left:17px;}
  .amenities .amenity-grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px;}
  .amenities .amenity-cell,.amenities .amenity-cell:nth-child(2),.amenities .amenity-cell:nth-child(5){min-height:136px; padding:15px 6px 11px;}
  .amenity-coin{width:62px; height:62px;}
  .amenities .amenity-icon{width:30px; height:30px;}
  .amenities .amenity-cell h3,.amenities .amenity-cell:nth-child(2) h3,.amenities .amenity-cell:nth-child(5) h3{font-size:.64rem;}
}
@media (max-width:410px){.amenities .amenity-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ============================================================
   GALLERY
   ============================================================ */
.gallery-section{
  position:relative; overflow:hidden; padding:92px 0 100px;
  background:
    radial-gradient(circle at 92% 8%,rgba(192,120,0,.11),transparent 24%),
    linear-gradient(180deg,#F8F6F1,#EEE9DF);
}
.gallery-section::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(rgba(10,10,10,.035) 1px,transparent 1px) 0 0/44px 44px,
             linear-gradient(90deg,rgba(10,10,10,.035) 1px,transparent 1px) 0 0/44px 44px;
  mask-image:linear-gradient(to bottom,transparent,black 22%,black 82%,transparent);
}
.gallery-section .wrap{position:relative; z-index:2;}
.gallery-watermark{
  position:absolute; right:-.03em; top:20px; color:transparent; pointer-events:none; user-select:none;
  -webkit-text-stroke:1px rgba(10,10,10,.055); font-family:var(--font-d); font-size:clamp(6rem,15vw,13rem);
  font-weight:800; letter-spacing:-.07em; line-height:1;
}
.gallery-head{
  display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,7vw,92px); align-items:end;
  margin-bottom:38px;
}
.gallery-kicker{display:block; margin-bottom:14px; color:var(--brass); font-size:.64rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;}
.gallery-head h2{font-size:clamp(2.55rem,4.8vw,4.5rem); line-height:1;}
.gallery-head h2 em{font-style:normal; color:var(--brass);}
.gallery-intro{display:flex; align-items:end; gap:28px; padding-left:28px; border-left:1px solid rgba(192,120,0,.42);}
.gallery-intro p{flex:1; color:var(--ink-soft); font-size:.86rem; line-height:1.72;}
.gallery-intro > span{display:flex; flex-direction:column; flex:0 0 auto; color:var(--ink-faint); font-size:.55rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; line-height:1.3;}
.gallery-intro strong{font-family:var(--font-d); color:var(--brass); font-size:2.2rem; letter-spacing:-.05em; line-height:1;}
.gallery-tabs{
  display:flex; gap:0; margin-bottom:24px; border:1px solid rgba(10,10,10,.18);
  width:max-content; max-width:100%; background:rgba(255,255,255,.55);
}
.gtab{
  position:relative; display:flex; align-items:center; gap:14px;
  font-family:var(--font-m); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase;
  padding:12px 18px; border:0; border-right:1px solid rgba(10,10,10,.14); background:transparent; color:var(--ink-soft);
  transition:color .3s,background .3s;
}
.gtab:last-child{border-right:0;}
.gtab span{font-size:.52rem; color:var(--ink-faint); transition:color .3s;}
.gtab::after{content:""; position:absolute; left:18px; right:18px; bottom:0; height:2px; background:var(--brass); transform:scaleX(0); transition:transform .35s var(--ease);}
.gtab.active,.gtab:hover{background:var(--ink); color:var(--paper);}
.gtab.active span,.gtab:hover span{color:var(--brass-light);}
.gtab.active::after{transform:scaleX(1);}
.gallery-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;}
.gallery-grid.hidden{display:none;}
.g-item{
  position:relative; aspect-ratio:16/10; overflow:hidden; cursor:pointer;
  border:1px solid rgba(10,10,10,.2); background:var(--ink); box-shadow:0 12px 34px rgba(10,10,10,.1);
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .35s;
}
.g-item .ph{
  position:absolute; inset:0; display:block; padding:0; overflow:hidden;
}
.g-item .ph::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,5,5,.05) 45%,rgba(5,5,5,.72)); pointer-events:none;}
.g-item .ph img{width:100%; height:100%; object-fit:cover; filter:saturate(.84) contrast(1.03); transition:transform .9s var(--ease),filter .6s;}
.g-item:hover{transform:translateY(-6px); border-color:rgba(192,120,0,.48); box-shadow:0 24px 52px rgba(10,10,10,.18);}
.g-item:hover .ph img{transform:scale(1.045); filter:saturate(1.03) contrast(1.02);}
.g-item .g-no{position:absolute; left:18px; top:17px; z-index:2; color:rgba(255,255,255,.82); font-size:.58rem; font-weight:700; letter-spacing:.15em;}
.g-item .tag{
  position:absolute; left:18px; bottom:17px; z-index:2; display:flex; flex-direction:column; padding:0;
  color:var(--paper); background:transparent; font-family:var(--font-m); letter-spacing:normal;
}
.g-item .tag small{font-size:.54rem; color:var(--brass-light); font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.g-item .tag strong{margin-top:3px; font-family:var(--font-d); font-size:1rem; letter-spacing:-.02em;}
.g-item .zoom{
  position:absolute; top:16px; right:16px; z-index:3; width:38px; height:38px; border:1px solid rgba(255,255,255,.62);
  display:flex; align-items:center; justify-content:center; background:rgba(10,10,10,.45); color:var(--paper);
  backdrop-filter:blur(7px); opacity:0; transform:scale(.75) rotate(-20deg); transition:all .38s var(--ease);
}
.g-item:hover .zoom,.g-item:focus-visible .zoom{opacity:1; transform:scale(1) rotate(0);}
#galleryFloorplan{grid-template-columns:1fr;}
#galleryFloorplan .g-item{aspect-ratio:16/7; background:#fff;}
#galleryFloorplan .g-item .ph::after{background:linear-gradient(180deg,transparent 62%,rgba(10,10,10,.72));}
#galleryFloorplan .g-item .ph img{object-fit:contain; padding:18px; filter:none;}
@media (max-width:820px){
  .gallery-head{grid-template-columns:1fr; gap:25px;}
  .gallery-intro{max-width:680px;}
}
@media (max-width:650px){
  .gallery-section{padding:76px 0 82px;}
  .gallery-intro{padding-left:18px;}
  .gallery-intro > span{display:none;}
  .gallery-tabs{width:100%; overflow-x:auto;}
  .gtab{flex:1; justify-content:center; padding:11px 10px; white-space:nowrap; font-size:.58rem;}
  .gtab::after{left:10px; right:10px;}
  .gallery-grid{grid-template-columns:1fr;}
  .g-item,#galleryFloorplan .g-item{aspect-ratio:4/3;}
  #galleryFloorplan .g-item .ph img{padding:8px;}
}

.lightbox{
  position:fixed; inset:0; background:rgba(10,10,10,.95); z-index:900;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s;
}
.lightbox.open{opacity:1; visibility:visible;}
.lightbox-inner{width:min(920px,90vw); aspect-ratio:4/3; position:relative;}
.lightbox-inner .ph{width:100%; height:100%; background:var(--navy-panel); display:flex; align-items:flex-end; justify-content:flex-start; position:relative; overflow:hidden;}
.lightbox-inner .ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.lightbox.award-preview .lightbox-inner{width:min(1100px,92vw); height:min(82vh,900px); aspect-ratio:auto;}
.lightbox.award-preview .lightbox-inner .ph{background:#EDE8DC;}
.lightbox.award-preview .lightbox-inner .ph img{object-fit:contain; padding:16px;}
.lightbox-inner .ph span{position:relative; z-index:1; margin:18px; font-family:var(--font-m); color:var(--ink); background:rgba(255,255,255,.88); padding:7px 11px; letter-spacing:.1em; text-transform:uppercase; font-size:.72rem;}
.lightbox-close{position:absolute; top:-46px; right:0; color:var(--paper); background:transparent; border:0; padding:8px 0; font-family:var(--font-m); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase;}

/* ============================================================
   DEVELOPER
   ============================================================ */
.developer{
  color:var(--paper); position:relative; overflow:hidden; padding:90px 0 96px;
  background:
    radial-gradient(circle at 12% 15%,rgba(192,120,0,.13),transparent 26%),
    linear-gradient(145deg,#080808 0%,#12110E 55%,#080808 100%);
}
.developer::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px) 0 0/50px 50px,
             linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px) 0 0/50px 50px;
  mask-image:linear-gradient(to bottom,transparent,black 20%,black 82%,transparent);
}
.developer-watermark{
  position:absolute; right:-.04em; top:20px; color:transparent; pointer-events:none; user-select:none;
  -webkit-text-stroke:1px rgba(255,255,255,.05); font-family:var(--font-d); font-size:clamp(6rem,15vw,13rem);
  font-weight:800; letter-spacing:-.07em; line-height:1;
}
.developer-wrap{position:relative; z-index:2;}
.developer-head{
  display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(42px,8vw,110px); align-items:end;
  margin-bottom:38px;
}
.developer-kicker{display:block; margin-bottom:14px; color:var(--brass-light); font-size:.64rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;}
.developer-head h2{font-size:clamp(2.55rem,4.8vw,4.5rem); line-height:1; color:var(--paper);}
.developer-head h2 em{font-style:normal; color:var(--brass-light);}
.developer-head > p{
  max-width:450px; padding:0 0 4px 28px; border-left:1px solid rgba(211,154,39,.46);
  color:rgba(255,255,255,.58); font-size:.86rem; line-height:1.72;
}
.developer-showcase{
  display:grid; grid-template-columns:1.08fr .92fr; min-height:510px;
  border:1px solid rgba(255,255,255,.16); box-shadow:0 28px 70px rgba(0,0,0,.32);
}
.developer-visual{position:relative; min-width:0; margin:0; overflow:hidden; background:#181714;}
.developer-visual::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,8,8,.04) 45%,rgba(8,8,8,.72)); pointer-events:none;}
.developer-visual img{width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.04); transition:transform 1.1s var(--ease),filter .8s;}
.developer-visual:hover img{transform:scale(1.035); filter:saturate(.96) contrast(1.03);}
.developer-visual figcaption{
  position:absolute; left:24px; bottom:24px; z-index:3; width:min(290px,calc(100% - 48px));
  display:flex; flex-direction:column; padding:17px 19px; background:rgba(10,10,10,.88); border-left:3px solid var(--brass-light);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.developer-visual figcaption small{color:var(--brass-light); font-size:.54rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.developer-visual figcaption strong{margin:5px 0 2px; font-family:var(--font-d); font-size:1.08rem;}
.developer-visual figcaption span{color:rgba(255,255,255,.5); font-size:.62rem; letter-spacing:.08em;}
.dev-monogram{
  position:absolute; left:24px; top:24px; z-index:3; width:76px; height:76px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--paper); color:var(--ink); border:1px solid rgba(255,255,255,.5); box-shadow:0 12px 28px rgba(0,0,0,.18);
  font-family:var(--font-d); font-size:1.04rem; font-weight:800; line-height:.94; letter-spacing:-.05em;
}
.dev-monogram::after{content:""; position:absolute; inset:6px; border:1px solid rgba(192,120,0,.35);}
.dev-monogram span{position:relative; z-index:1;}
.developer-story{
  position:relative; display:flex; flex-direction:column; justify-content:center;
  padding:42px clamp(30px,4vw,54px); overflow:hidden; background:rgba(255,255,255,.045);
}
.developer-story::after{
  content:""; position:absolute; width:210px; height:210px; right:-125px; bottom:-125px;
  border:1px solid rgba(211,154,39,.18); border-radius:50%; box-shadow:0 0 0 34px rgba(211,154,39,.025);
}
.story-label{color:var(--brass-light); font-size:.58rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;}
.developer-story h3{margin:13px 0 20px; color:var(--paper); font-size:clamp(1.85rem,3vw,2.8rem); line-height:1.05;}
.developer-story h3 em{font-style:normal; color:var(--brass-light);}
.developer-story > p{color:rgba(255,255,255,.58); font-size:.83rem; line-height:1.75;}
.developer-principles{display:grid; grid-template-columns:repeat(3,1fr); margin:27px 0 28px; border-top:1px solid rgba(255,255,255,.14);}
.developer-principles article{padding:15px 11px 0 0;}
.developer-principles article + article{padding-left:13px; border-left:1px solid rgba(255,255,255,.12);}
.developer-principles span{display:block; margin-bottom:7px; color:var(--brass-light); font-size:.53rem; font-weight:700; letter-spacing:.11em;}
.developer-principles strong{display:block; color:var(--paper); font-family:var(--font-d); font-size:.9rem;}
.developer-principles small{display:block; margin-top:4px; color:rgba(255,255,255,.4); font-size:.55rem; line-height:1.35;}
.developer-story .btn{position:relative; z-index:2; align-self:flex-start; padding:12px 17px; font-size:.64rem;}
.developer-story .btn b{font-size:.85rem;}
@media (max-width:960px){
  .developer-head{grid-template-columns:1fr; gap:24px;}
  .developer-head > p{max-width:650px;}
  .developer-showcase{grid-template-columns:1fr;}
  .developer-visual{min-height:500px;}
  .developer-story{padding:42px 34px;}
}
@media (max-width:600px){
  .developer{padding:76px 0 82px;}
  .developer-head{margin-bottom:30px;}
  .developer-head > p{padding-left:18px;}
  .developer-visual{min-height:390px;}
  .dev-monogram{left:16px; top:16px; width:65px; height:65px;}
  .developer-visual figcaption{left:16px; bottom:16px; width:calc(100% - 32px);}
  .developer-story{padding:35px 22px;}
  .developer-principles{grid-template-columns:1fr; gap:0;}
  .developer-principles article{padding:12px 0;}
  .developer-principles article + article{padding-left:0; border-left:0; border-top:1px solid rgba(255,255,255,.1);}
}

/* ============================================================
   CONTACT
   ============================================================ */
.contact{
  position:relative; overflow:hidden; padding:92px 0 100px;
  background:
    radial-gradient(circle at 8% 10%,rgba(192,120,0,.12),transparent 24%),
    linear-gradient(180deg,#F7F4ED,#ECE6DB);
}
.contact::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(rgba(10,10,10,.035) 1px,transparent 1px) 0 0/46px 46px,
             linear-gradient(90deg,rgba(10,10,10,.035) 1px,transparent 1px) 0 0/46px 46px;
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 84%,transparent);
}
.contact-watermark{
  position:absolute; right:-.03em; top:22px; color:transparent; pointer-events:none; user-select:none;
  -webkit-text-stroke:1px rgba(10,10,10,.055); font-family:var(--font-d); font-size:clamp(5rem,13vw,11rem);
  font-weight:800; letter-spacing:-.07em; line-height:1;
}
.contact .wrap{position:relative; z-index:2;}
.contact-shell{
  display:grid; grid-template-columns:.92fr 1.08fr; min-height:570px;
  border:1px solid rgba(10,10,10,.2); box-shadow:0 24px 62px rgba(45,31,10,.14);
}
.contact-intro{
  position:relative; overflow:hidden; padding:46px clamp(30px,4vw,52px); color:var(--paper);
  background:
    radial-gradient(circle at 14% 12%,rgba(192,120,0,.15),transparent 30%),
    linear-gradient(145deg,#11110F,#080808);
}
.contact-intro::after{
  content:""; position:absolute; width:230px; height:230px; left:-145px; bottom:-145px;
  border:1px solid rgba(211,154,39,.2); border-radius:50%; box-shadow:0 0 0 38px rgba(211,154,39,.025);
}
.contact-kicker{display:block; color:var(--brass-light); font-size:.61rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase;}
.contact-intro h2{margin:15px 0 20px; color:var(--paper); font-size:clamp(2.2rem,4vw,3.75rem); line-height:1;}
.contact-intro h2 em{font-style:normal; color:var(--brass-light);}
.contact-intro > p{max-width:460px; color:rgba(255,255,255,.58); font-size:.83rem; line-height:1.75;}
.contact-benefits{margin:27px 0 30px; border-top:1px solid rgba(255,255,255,.15);}
.contact-benefits article{display:grid; grid-template-columns:32px 1fr; gap:2px 12px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.11);}
.contact-benefits article > span{grid-row:1/3; color:var(--brass-light); font-size:.53rem; font-weight:700; letter-spacing:.1em; padding-top:3px;}
.contact-benefits strong{font-family:var(--font-d); font-size:.78rem; color:var(--paper);}
.contact-benefits small{font-size:.59rem; color:rgba(255,255,255,.4);}
.contact-rera{position:relative; z-index:2; display:flex; align-items:center; gap:17px;}
.rera-seal{
  position:relative; width:68px; height:68px; flex:0 0 auto; display:flex; flex-direction:column; align-items:center; justify-content:center;
  border:1px solid var(--brass-light); color:var(--brass-light);
}
.rera-seal::before{content:""; position:absolute; inset:5px; border:1px solid rgba(211,154,39,.38);}
.rera-seal span{position:relative; font-family:var(--font-d); font-size:.78rem; font-weight:800; letter-spacing:.07em;}
.rera-seal small{position:relative; font-size:.39rem; font-weight:700; letter-spacing:.12em;}
.rera{display:flex; flex-direction:column; font-family:var(--font-m);}
.rera b{color:var(--paper); font-family:var(--font-d); font-size:.76rem;}
.rera span{margin:2px 0; color:var(--brass-light); font-size:.58rem; font-weight:700; letter-spacing:.08em;}
.rera small{color:rgba(255,255,255,.42); font-size:.54rem;}
.rera-scanner{
  margin:0 0 0 auto; padding:6px; flex:0 0 auto; background:var(--paper);
  border:1px solid rgba(211,154,39,.48); box-shadow:0 10px 28px rgba(0,0,0,.24);
}
.rera-scanner img{width:76px; height:76px; object-fit:contain; image-rendering:pixelated;}
.rera-scanner figcaption{
  width:76px; margin-top:5px; color:var(--ink); font-size:.39rem; font-weight:700;
  line-height:1.25; letter-spacing:.06em; text-align:center; text-transform:uppercase;
}
.contact-form{
  display:flex; flex-direction:column; justify-content:center; padding:46px clamp(30px,5vw,64px);
  background:rgba(255,255,255,.92);
}
.contact-form-head{display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:35px; padding-bottom:16px; border-bottom:1px solid var(--line-strong);}
.contact-form-head span{font-family:var(--font-d); font-size:1.35rem; font-weight:700; color:var(--ink);}
.contact-form-head small{font-size:.54rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint);}
.contact-fields{display:grid; grid-template-columns:1fr 1fr; gap:26px 22px;}
.form-row{margin:0;}
.form-row-wide{grid-column:1/-1;}
.form-row label{display:flex; align-items:center; gap:9px; font-family:var(--font-m); font-size:.61rem; letter-spacing:.11em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:9px;}
.form-row label span{color:var(--brass); font-size:.5rem; font-weight:700;}
.form-row input{
  width:100%; border:1px solid rgba(10,10,10,.18); background:#FAF8F3;
  padding:13px 14px; font-family:var(--font-b); font-size:.88rem; color:var(--ink);
  transition:border-color .3s,box-shadow .3s,background .3s;
}
.form-row input:focus{border-color:var(--brass); background:#fff; outline:none; box-shadow:0 0 0 3px rgba(192,120,0,.09);}
.form-row input::placeholder{color:var(--ink-faint);}
.contact-form .btn{width:100%; justify-content:center; margin-top:29px; padding:15px 20px;}
.contact-form .btn b{font-size:.9rem;}
.contact-privacy{margin-top:12px; color:var(--ink-faint); font-size:.57rem; line-height:1.5; text-align:center;}
.form-success{display:none; font-family:var(--font-m); font-size:.85rem; color:var(--brass); margin-top:18px;}
.form-success.show{display:block;}
@media (max-width:900px){
  .contact-shell{grid-template-columns:1fr;}
  .contact-intro,.contact-form{padding:42px 34px;}
}
@media (max-width:560px){
  .contact{padding:76px 0 82px;}
  .contact-intro,.contact-form{padding:34px 22px;}
  .contact-fields{grid-template-columns:1fr; gap:20px;}
  .form-row-wide{grid-column:auto;}
  .contact-form-head{margin-bottom:28px;}
  .contact-form-head small{display:none;}
  .contact-rera{align-items:flex-start; flex-wrap:wrap;}
  .rera-scanner{margin-left:0;}
}

/* ============================================================
   FOOTER
   ============================================================ */
footer{
  position:relative; overflow:hidden; padding:0 0 82px; color:rgba(255,255,255,.58);
  background:
    radial-gradient(circle at 88% 5%,rgba(192,120,0,.13),transparent 24%),
    linear-gradient(145deg,#090909,#11100D 62%,#080808);
}
footer::before{content:""; position:absolute; left:0; top:0; width:100%; height:2px; background:linear-gradient(90deg,var(--brass),var(--brass-light),transparent 72%);}
.footer-watermark{
  position:absolute; right:-.03em; top:130px; color:transparent; pointer-events:none; user-select:none;
  -webkit-text-stroke:1px rgba(255,255,255,.035); font-family:var(--font-d); font-size:clamp(6rem,14vw,12rem);
  font-weight:800; letter-spacing:-.07em; line-height:1;
}
footer .wrap{position:relative; z-index:2;}
.footer-cta{
  min-height:190px; display:flex; justify-content:space-between; align-items:center; gap:35px;
  padding:42px 0; border-bottom:1px solid rgba(255,255,255,.15);
}
.footer-cta > div > span{display:block; margin-bottom:10px; color:var(--brass-light); font-size:.58rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;}
.footer-cta h2{color:var(--paper); font-size:clamp(1.8rem,3.3vw,3rem); line-height:1.04;}
.footer-cta .btn{flex:0 0 auto; padding:13px 19px; font-size:.66rem;}
.footer-cta .btn b{font-size:.9rem;}
.footer-main{
  display:grid; grid-template-columns:1.1fr .75fr 1fr; gap:clamp(35px,6vw,82px);
  padding:42px 0 38px; border-bottom:1px solid rgba(255,255,255,.13);
}
.footer-identity{max-width:340px;}
.footer-brand{display:inline-flex; background:var(--paper); padding:8px 11px;}
.footer-brand img{width:190px; height:auto;}
.footer-identity p{margin:18px 0 9px; color:rgba(255,255,255,.5); font-size:.75rem; line-height:1.65;}
.footer-identity > span{color:var(--brass-light); font-size:.57rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.footer-nav > small,.footer-project > small{
  display:block; margin-bottom:17px; color:var(--brass-light); font-size:.56rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
}
.footer-nav > div{display:grid; grid-template-columns:1fr 1fr; gap:9px 18px;}
.footer-nav a{width:max-content; color:rgba(255,255,255,.65); font-size:.69rem; transition:color .3s,transform .3s var(--ease);}
.footer-nav a:hover{color:var(--paper); transform:translateX(3px);}
.footer-project ul{border-top:1px solid rgba(255,255,255,.13);}
.footer-project li{display:flex; justify-content:space-between; gap:18px; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.1);}
.footer-project li span{color:rgba(255,255,255,.38); font-size:.58rem;}
.footer-project li strong{color:rgba(255,255,255,.78); font-size:.6rem; font-weight:600; text-align:right;}
.footer-legal{display:grid; grid-template-columns:90px 1fr; gap:22px; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.1);}
.footer-legal > span{color:rgba(255,255,255,.72); font-size:.55rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;}
.footer-legal p{max-width:990px; color:rgba(255,255,255,.34); font-size:.63rem; line-height:1.7;}
.footer-bottom{
  padding-top:23px; font-family:var(--font-m); font-size:.59rem; letter-spacing:.04em;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;
}
.footer-bottom > div{display:flex; align-items:center; gap:22px; padding-right:75px;}
.footer-bottom a{color:rgba(255,255,255,.65); transition:color .3s;}
.footer-bottom a:hover{color:var(--brass-light);}
@media (max-width:860px){
  .footer-main{grid-template-columns:1fr 1fr;}
  .footer-identity{grid-column:1/-1; max-width:500px;}
}
@media (max-width:600px){
  footer{padding-bottom:76px;}
  .footer-cta{min-height:0; align-items:flex-start; flex-direction:column; padding:36px 0;}
  .footer-main{grid-template-columns:1fr; gap:34px; padding:35px 0;}
  .footer-identity{grid-column:auto;}
  .footer-legal{grid-template-columns:1fr; gap:9px;}
  .footer-bottom{align-items:flex-start; flex-direction:column;}
  .footer-bottom > div{padding-right:0; flex-wrap:wrap;}
}

/* ============================================================
   MODAL
   ============================================================ */
.modal-overlay{
  position:fixed; inset:0; background:rgba(10,10,10,.76); backdrop-filter:blur(6px);
  z-index:950; display:flex; align-items:center; justify-content:center; padding:20px;
  opacity:0; visibility:hidden; transition:opacity .4s var(--ease), visibility .4s;
}
.modal-overlay.open{opacity:1; visibility:visible;}
.modal-box{
  width:min(440px,100%); background:var(--paper); border:1px solid var(--ink);
  padding:44px 38px; position:relative;
  transform:scale(.92) translateY(14px); opacity:0; transition:all .45s var(--ease);
}
.modal-overlay.open .modal-box{transform:scale(1) translateY(0); opacity:1;}
.modal-close{position:absolute; top:18px; right:18px; width:30px; height:30px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line-strong); transition:transform .3s;}
.modal-close:hover{transform:rotate(90deg); border-color:var(--brass);}
.modal-box h3{font-size:1.5rem; margin-bottom:8px;}
.modal-box p{color:var(--ink-soft); font-size:.9rem; margin-bottom:26px;}

/* ============================================================
   FLOATING ENQUIRY BUTTON
   ============================================================ */
.enquiry-float{
  position:fixed; right:24px; bottom:24px; z-index:410;
  width:58px; height:58px; border-radius:50%;
  background:var(--brass); color:var(--paper); border:1px solid rgba(255,255,255,.42);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(192,120,0,.35);
  transition:transform .4s var(--ease), bottom .4s var(--ease), box-shadow .4s var(--ease);
}
.enquiry-float:hover{transform:scale(1.08) rotate(-4deg); box-shadow:0 10px 30px rgba(192,120,0,.5);}
.enquiry-float svg{width:28px; height:28px;}
.enquiry-float .ring{
  position:absolute; inset:-6px; border-radius:50%; border:1.5px solid var(--brass);
  animation:waPing 2.4s cubic-bezier(0,.5,.5,1) infinite;
}
.enquiry-float .ring:nth-child(2){animation-delay:.7s;}
@keyframes waPing{
  0%{transform:scale(.85); opacity:.7;}
  100%{transform:scale(1.5); opacity:0;}
}
.enquiry-tooltip{
  position:absolute; right:70px; top:50%; transform:translateY(-50%) translateX(6px);
  background:var(--ink); color:var(--paper); font-family:var(--font-m); font-size:.72rem;
  letter-spacing:.04em; padding:9px 14px; white-space:nowrap;
  opacity:0; visibility:hidden; transition:all .3s var(--ease);
}
.enquiry-tooltip::after{
  content:""; position:absolute; right:-5px; top:50%; transform:translateY(-50%) rotate(45deg);
  width:8px; height:8px; background:var(--ink);
}
.enquiry-float:hover .enquiry-tooltip{opacity:1; visibility:visible; transform:translateY(-50%) translateX(0);}
@media (max-width:900px){ .enquiry-float{width:52px; height:52px; right:16px;} .enquiry-tooltip{display:none;} }

/* fade-up utility for hero children */
.fade-up{opacity:0; transform:translateY(20px); animation:fadeUp .9s var(--ease) forwards;}
@keyframes fadeUp{ to{opacity:1; transform:translateY(0);} }
