/* ============================================================
   NEW GRAIN MARKET — design tokens (v2, art-directed pass)
   ============================================================ */

  /* ============================================================
     BRIGHT GREY & WHITE THEME DESIGN SYSTEM
     - Primary Grey:  #3A3A3A
     - Dark Grey:     #3A3A3A
     - Medium Grey:   #707070
     - Light Grey:    #F2F2F2
     - White:         #FFFFFF
     ============================================================ */
:root {
  --primary-dark-brown:   #4A2F24;
  --accent-copper:        #A66B3F;
  --accent-copper-hover:  #8E5830;
  --main-bg:              #F5EFE5;
  --card-bg:              #FFFFFF;
  --primary-text:         #302822;
  --secondary-text:       #6F6258;
  --soft-beige:           #D9C3A5;
  --border-color:         #E7DCCB;
  --light-brown-surface:  #EDE2D3;

  --theme-primary-grey:     #4A2F24;
  --theme-dark-grey:        #302822;
  --theme-dark-grey-hover:  #1F1612;
  --theme-medium-grey:      #6F6258;
  --theme-light-grey:       #F5EFE5;
  --theme-light-grey-alt:   #EDE2D3;
  --theme-white:            #FFFFFF;

  --brand-primary:          #A66B3F;
  --brand-primary-hover:    #8E5830;
  --brand-primary-deep:     #4A2F24;
  --brand-primary-light:    #C48B60;
  --brand-primary-tint:     #F9F1EB;
  --brand-primary-focus:    rgba(166, 107, 63, 0.25);

  --brand-secondary:        #6F6258;
  --brand-secondary-hover:  #4A2F24;
  --brand-secondary-light:  #8C7F74;
  --brand-secondary-dark:   #302822;
  --brand-secondary-tint:   #F5EFE5;

  --brand-gold:             #A66B3F;
  --brand-gold-soft:        #D9C3A5;
  --brand-gold-hover:       #8E5830;
  --brand-gold-tint:        #F9F1EB;

  --brand-green:            #4A2F24;
  --brand-green-deep:       #362017;
  --brand-green-soft:       #734C3C;
  --brand-green-tint:       #EDE2D3;

  /* Semantic Aliases */
  --maroon:       #A66B3F;
  --maroon-deep:  #4A2F24;
  --gold:         #A66B3F;
  --gold-soft:    #D9C3A5;
  --sage:         #D9C3A5;
  --slate:        #4A2F24;
  --slate-deep:   #302822;

  /* Backgrounds & Neutrals */
  --cream:        #F5EFE5;
  --cream-2:      #EDE2D3;
  --paper:        #FFFFFF;
  --ink:          #4A2F24;
  --ink-soft:     #6F6258;
  --dark-bg:      #4A2F24;
  --dark-surface: #362017;

  /* Text on dark surfaces */
  --text-light:         #FAF6EF;
  --text-light-muted:   #E7DCCB;
  --text-light-subtle:  #D9C3A5;

  /* Borders & Dividers */
  --line:         #E7DCCB;
  --line-2:       rgba(74, 47, 36, 0.08);
  --line-dark:    rgba(255, 255, 255, 0.15);
  --line-dark-2:  rgba(255, 255, 255, 0.08);

  /* Elevation Shadows */
  --shadow:       0 20px 48px -16px rgba(74, 47, 36, 0.12);
  --shadow-sm:    0 8px 24px -12px rgba(74, 47, 36, 0.08);
  --hero-image:   url('../images/extracted/extracted_73cb925a74.jpg');

  --serif: "Cormorant Garamond", "DM Serif Display", Georgia, serif;
  --sans: "Plus Jakarta Sans", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --maxw: 1280px;
  color-scheme: light;
}

/* Grey & White Theme consistency across system settings */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="dark-mode-override"]){
    --cream:#F2F2F2; --cream-2:#EAEAEA; --paper:#FFFFFF; --ink:#3A3A3A; --ink-soft:#707070;
    --line: rgba(36,36,36,0.12); --line-2: rgba(36,36,36,0.06);
  }
}
:root[data-theme="dark"]{
  --cream:#F2F2F2; --cream-2:#EAEAEA; --paper:#FFFFFF; --ink:#3A3A3A; --ink-soft:#707070;
  --line: rgba(36,36,36,0.12); --line-2: rgba(36,36,36,0.06);
}

*,*::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(--cream); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.6; overflow-x:clip; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
svg{ display:block; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 30px; position:relative; }
@media (max-width:600px){ .wrap{ padding:0 22px; } }

h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; margin:0; color:var(--ink); letter-spacing:-0.01em; }

/* ---- shared typography scale ---- */
.kicker{
  display:inline-flex; align-items:center; gap:12px;
  text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; font-weight:600;
  color:var(--theme-primary-grey); margin-bottom:26px; font-family:var(--sans);
}
.kicker::before{ content:""; width:26px; height:1px; background:var(--theme-medium-grey); display:block; }
.kicker.light{ color:#FFFFFF; }
.kicker.light::before{ background:#FFFFFF; }
.highlights .kicker,
.amenities .kicker{ color:var(--theme-primary-grey); }
.highlights .kicker::before,
.amenities .kicker::before{ background:var(--theme-medium-grey); }

.section{ padding:116px 0; position:relative; }
.section.compact{ padding:86px 0; }
@media (max-width:900px){ .section{ padding:80px 0; } .section.compact{ padding:64px 0; } }

/* premium buttons: clipped corner, sliding fill */
.btn{
  position:relative; display:inline-flex; align-items:center; gap:11px; overflow:hidden;
  padding:17px 30px 17px 30px; font-weight:600; font-size:.92rem; letter-spacing:.02em;
  border:1px solid transparent; isolation:isolate;
  border-radius:4px;
  transition:color .4s ease, border-color .4s ease;
}
.btn .arrow{ transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.btn:hover .arrow{ transform:translateX(6px); }
.btn-primary{ background:var(--theme-dark-grey); color:#FFFFFF; border-color:var(--theme-dark-grey); }
.btn-primary::before{
  content:""; position:absolute; inset:0; background:var(--theme-primary-grey); z-index:-1;
  transform:translateY(102%); transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.btn-primary:hover::before{ transform:translateY(0); }
.btn-ghost{ background:transparent; border-color:rgba(255,255,255,0.6); color:#FFFFFF; }
.btn-ghost::before{ content:""; position:absolute; inset:0; background:rgba(255,255,255,0.15); z-index:-1; transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.btn-ghost:hover::before{ transform:scaleX(1); }
.btn-outline{ background:transparent; border-color:var(--theme-dark-grey); color:var(--theme-dark-grey); }
.btn-outline::before{ content:""; position:absolute; inset:0; background:var(--theme-dark-grey); z-index:-1; transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.btn-outline:hover{ color:#FFFFFF; }
.btn-outline:hover::before{ transform:scaleX(1); }
.btn:focus-visible{ outline:3px solid var(--theme-medium-grey); outline-offset:3px; }

/* ---------------- NAV (Grey & White Theme) ---------------- */
header.site-nav{
  position:fixed; top:0; left:0; right:0; z-index:100; padding:18px 0;
  background:#FFFFFF;
  border-bottom:1px solid rgba(36,36,36,0.10);
  box-shadow:0 2px 14px rgba(0,0,0,0.05);
  transition:background .4s ease, padding .4s ease, box-shadow .4s ease, border-color .4s ease;
}
header.site-nav .wrap{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
header.site-nav.scrolled{
  background:rgba(255,255,255,0.98);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  padding:12px 0;
  box-shadow:0 4px 22px rgba(0,0,0,0.08);
  border-bottom:1px solid rgba(36,36,36,0.12);
}
.nav-logo{
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; text-decoration:none;
  padding:4px 8px; background:transparent;
  border-radius:6px; border:1px solid transparent;
  transition:all .35s ease;
}
.nav-logo img{
  height:42px; width:auto; max-width:220px; object-fit:contain; display:block;
  transition:height .35s ease, max-width .35s ease;
}
header.site-nav.scrolled .nav-logo img{
  height:36px; max-width:190px;
}
.nav-links{ display:flex; gap:32px; list-style:none; margin:0; padding:0; }
.nav-links a{
  font-size:.88rem; font-weight:600; letter-spacing:.02em; color:#4A2F24;
  position:relative; padding:4px 0; transition:color .3s ease;
}
.nav-links a:hover, .nav-links a.active{ color:#A66B3F; }
header.site-nav.scrolled .nav-links a{ color:#4A2F24; }
header.site-nav.scrolled .nav-links a:hover, .nav-links a.active{ color:#A66B3F; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background:#A66B3F; transition:width .3s ease; }
.nav-links a:hover::after{ width:100%; }

.nav-noble{
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; text-decoration:none;
  margin-left:22px; padding:4px 8px; background:transparent;
  border-left:1px solid rgba(36,36,36,0.12);
  transition:all .35s ease;
}
.nav-noble img{
  height:36px; width:auto; object-fit:contain; display:block;
  transition:height .35s ease, transform .3s ease;
}
.nav-noble:hover img{ transform:scale(1.05); }
header.site-nav.scrolled .nav-noble{
  border-left:1px solid rgba(36,36,36,0.12);
  padding:0 0 0 16px; margin-left:20px;
}
header.site-nav.scrolled .nav-noble img{
  height:32px;
}
@media (max-width:480px){
  .nav-noble{ margin-left:14px; padding-left:10px; }
  .nav-noble img{ height:32px; }
  header.site-nav.scrolled .nav-noble img{ height:28px; }
}
.nav-burger{ display:none; background:none; border:none; padding:8px; cursor:pointer; }
.nav-burger svg{ stroke:#3A3A3A; transition:stroke .3s ease; }
header.site-nav.scrolled .nav-burger svg{ stroke:#3A3A3A; }

/* ---------------- HERO (Grey & White Theme) ---------------- */
.hero{ position:relative; min-height:94vh; display:flex; align-items:flex-end; background:#242424; overflow:hidden; }
.hero .bg{ position:absolute; inset:-4%; background-image:var(--hero-image); background-position:center 32%; background-size:cover; background-repeat:no-repeat; will-change:transform; }
.hero::before{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(20,20,20,0.25) 0%, rgba(20,20,20,0.40) 42%, rgba(20,20,20,0.70) 98%),
             linear-gradient(90deg, rgba(20,20,20,0.70) 0%, rgba(20,20,20,0.40) 45%, rgba(20,20,20,0.05) 75%);
}
.hero-frame{ position:absolute; inset:26px; z-index:2; pointer-events:none; border:1px solid rgba(255,255,255,0.22); }
.hero-frame::before,.hero-frame::after{ content:""; position:absolute; width:52px; height:52px; border:1.5px solid #FFFFFF; }
.hero-frame::before{ top:-1px; left:-1px; border-right:none; border-bottom:none; }
.hero-frame::after{ bottom:-1px; right:-1px; border-left:none; border-top:none; }
.hero-tag{
  position:absolute; right:56px; top:50%; transform:translateY(-50%) rotate(90deg); transform-origin:center;
  z-index:2; color:rgba(255,255,255,0.85); font-size:.72rem; letter-spacing:.32em; text-transform:uppercase; white-space:nowrap;
}
@media (max-width:760px){ .hero-tag, .hero-frame{ display:none; } }
.hero-inner{ position:relative; z-index:3; padding:168px 0 76px; width:100%; }
.hero-mark{ display:flex; align-items:center; gap:14px; margin-bottom:34px; opacity:0; transform:translateY(28px); transition:opacity .9s ease .1s, transform .9s cubic-bezier(.2,.7,.3,1) .1s; }
.hero-mark img{ height:30px; width:auto; }
.hero-mark span{ color:#F2F2F2; font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; }
.hero-kicker{ color:#F2F2F2; font-family:var(--serif); font-style:italic; font-size:1.05rem; margin-bottom:20px; opacity:0; transform:translateY(28px); transition:opacity .9s ease .22s, transform .9s cubic-bezier(.2,.7,.3,1) .22s; text-shadow:0 1px 4px rgba(0,0,0,0.6); }
.hero h1{ color:#FFFFFF; font-size:clamp(2.5rem,6.4vw,5.2rem); line-height:1.02; max-width:17ch; opacity:0; transform:translateY(28px); transition:opacity 1s ease .38s, transform 1s cubic-bezier(.2,.7,.3,1) .38s; text-shadow:0 2px 10px rgba(0,0,0,0.65); }
.hero-sub{ color:#EAEAEA; max-width:50ch; margin-top:28px; font-size:1.08rem; line-height:1.7; opacity:0; transform:translateY(28px); transition:opacity 1s ease .56s, transform 1s cubic-bezier(.2,.7,.3,1) .56s; text-shadow:0 1px 5px rgba(0,0,0,0.6); }
.hero-loc{ margin-top:22px; color:#FFFFFF; font-size:.92rem; display:flex; gap:10px; align-items:center; opacity:0; transform:translateY(28px); transition:opacity 1s ease .7s, transform 1s cubic-bezier(.2,.7,.3,1) .7s; text-shadow:0 1px 4px rgba(0,0,0,0.6); }
.hero-ctas{ display:flex; gap:18px; flex-wrap:wrap; margin-top:46px; opacity:0; transform:translateY(28px); transition:opacity 1s ease .86s, transform 1s cubic-bezier(.2,.7,.3,1) .86s; }
.hero.in .hero-mark, .hero.in .hero-kicker, .hero.in h1, .hero.in .hero-sub, .hero.in .hero-loc, .hero.in .hero-ctas{ opacity:1; transform:translateY(0); }
.hero-scroll{ position:absolute; bottom:36px; left:50%; transform:translateX(-50%); z-index:3; color:#FFFFFF; display:flex; flex-direction:column; align-items:center; gap:10px; font-size:.68rem; letter-spacing:.22em; opacity:.88; }
.hero-float{
  position:absolute; right:56px; bottom:120px; z-index:3; display:flex; align-items:center; gap:16px;
  background:rgba(255,255,255,0.92); backdrop-filter:blur(10px); border:1px solid rgba(58,58,58,0.15);
  box-shadow:0 10px 30px rgba(0,0,0,0.10);
  padding:16px 20px; opacity:0; transform:translateY(16px);
  transition:opacity .8s ease .95s, transform .8s cubic-bezier(.2,.7,.3,1) .95s;
}
.hero.in .hero-float{ opacity:1; transform:translateY(0); }
.hero-float .n{ font-family:var(--serif); font-size:2rem; color:#4A2F24; line-height:1; }
.hero-float .l{ color:#707070; font-size:.72rem; line-height:1.5; }
@media (max-width:900px){ .hero-float{ display:none; } }
.hero-scroll .ring{ width:34px; height:34px; border:1px solid rgba(255,255,255,0.5); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.hero-scroll .ring svg{ animation:bob 1.8s ease infinite; }
@keyframes bob{ 0%,100%{ transform:translateY(-2px);} 50%{ transform:translateY(3px);} } 50%{ transform:translateY(3px);} }

.reveal{ opacity:0; transform:translateY(38px); transition:opacity .9s cubic-bezier(.2,.7,.3,1), transform .9s cubic-bezier(.2,.7,.3,1); }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal-scale{ opacity:0; transform:scale(.94); transition:opacity 1s ease, transform 1.1s cubic-bezier(.2,.7,.3,1); }
.reveal-scale.in{ opacity:1; transform:scale(1); }
.reveal-l{ opacity:0; transform:translateX(-40px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.3,1); }
.reveal-l.in{ opacity:1; transform:translateX(0); }
.reveal-r{ opacity:0; transform:translateX(40px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.3,1); }
.reveal-r.in{ opacity:1; transform:translateX(0); }
.reveal, .reveal-l, .reveal-r, .reveal-scale, .reveal-mask{ transition-delay: calc(var(--i, 0) * 110ms); }
.stagger > *{ transition-delay:calc(var(--i,0) * 110ms); }

/* ---------------- OVERVIEW — About Section (Bright White Theme) ---------------- */
.overview{ background-color:#FFFFFF; overflow:clip; position:relative; padding:48px 0 42px; }
.ov-ghost{
  position:absolute; top:4%; left:50%; transform:translateX(-50%); white-space:nowrap;
  font-family:var(--serif); font-weight:700; font-size:min(9vw,120px); color:rgba(58,58,58,0.03);
  pointer-events:none; z-index:0; letter-spacing:.01em;
}
.overview .ov-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:0 40px; align-items:start; position:relative; }
.overview .ov-head{ grid-column:1/2; position:relative; z-index:2; }
.overview .ov-head .big{ font-size:clamp(2rem,3.1vw,2.9rem); line-height:1.1; max-width:22ch; margin-top:4px; color:#4A2F24; }
.overview .ov-num{
  position:absolute; top:-36px; left:-6px; font-family:var(--serif); font-size:5.5rem; line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(58,58,58,0.12); font-weight:600; z-index:0; user-select:none;
}
.overview .ov-copy{ grid-column:1/2; margin-top:18px; padding-left:24px; border-left:1px solid rgba(58,58,58,0.18); max-width:58ch; }
.overview .ov-copy p{ color:#707070; font-size:.98rem; line-height:1.6; margin:0 0 12px; }
.overview .ov-copy p strong{ color:#4A2F24; font-weight:600; }
.overview .ov-copy p:last-child{ margin-bottom:0; }
.overview .quad{ display:flex; justify-content:space-between; gap:8px; margin-top:14px; flex-wrap:wrap; }
.overview .quad-item{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; flex:1 1 0; min-width:68px;
  background:#F2F2F2; padding:8px 6px; border-radius:6px; border:1px solid rgba(58,58,58,0.10); box-shadow:0 2px 8px rgba(0,0,0,0.03);
}
.overview .quad-item img{ width:32px; height:32px; border-radius:50%; object-fit:cover; box-shadow:0 3px 8px rgba(0,0,0,0.08); flex:none; }
.overview .quad-label{ font-family:var(--serif); font-style:italic; color:#4A2F24; font-size:.86rem; line-height:1.2; }
.overview .quad-label .meaning{ display:block; font-family:var(--sans); font-style:normal; color:#707070; font-size:.60rem; margin-top:3px; text-transform:uppercase; letter-spacing:.07em; font-weight:600; }

.reveal-mask{ opacity:1; }
.overview .ov-art{ grid-column:2/3; grid-row:1/3; margin-top:0; }
.overview .ov-photo{ position:relative; }
.overview .ov-photo .frame{ position:relative; box-shadow:0 14px 36px -10px rgba(0,0,0,0.10); overflow:hidden; border-radius:4px; }
.overview .ov-photo .frame img{ width:100%; height:auto; aspect-ratio:1024/682; object-fit:cover; max-height:none; clip-path:inset(0 0 0 100%); transition:clip-path 1s cubic-bezier(.2,.7,.3,1); }
.overview .ov-art.in .ov-photo .frame img{ clip-path:inset(0 0 0 0%); }
.overview .ov-photo .tag{
  position:absolute; left:-20px; bottom:22px; background:#3A3A3A; color:#FFFFFF;
  padding:12px 16px; max-width:200px; box-shadow:0 8px 20px -5px rgba(0,0,0,0.20); font-family:var(--serif);
  font-style:italic; font-size:.85rem; line-height:1.3; z-index:2; opacity:0; transform:translateX(-18px);
  transition:opacity .7s ease .5s, transform .7s cubic-bezier(.2,.7,.3,1) .5s;
}
.overview .ov-art.in .ov-photo .tag{ opacity:1; transform:translateX(0); }
.overview .ov-photo .detail{
  position:absolute; right:-14px; top:-14px; background:#F2F2F2; border:1px solid rgba(58,58,58,0.12);
  padding:10px 14px; box-shadow:0 6px 16px -4px rgba(0,0,0,0.06); z-index:2; text-align:center; min-width:88px;
  opacity:0; transform:translateY(-10px); transition:opacity .7s ease .65s, transform .7s cubic-bezier(.2,.7,.3,1) .65s;
}
.overview .ov-art.in .ov-photo .detail{ opacity:1; transform:translateY(0); }
.overview .ov-photo .detail .n{ font-family:var(--serif); font-size:1.55rem; color:#4A2F24; line-height:1; }
.overview .ov-photo .detail .l{ font-size:.60rem; text-transform:uppercase; letter-spacing:.1em; color:#707070; margin-top:2px; }

@media (max-width:980px){
  .overview{ padding:36px 0 30px; }
  .overview .ov-grid{ grid-template-columns:1fr; }
  .overview .ov-art{ grid-column:1/2; grid-row:auto; margin-top:18px; order:3; }
  .overview .ov-photo .frame img{ max-height:240px; aspect-ratio:1024/682; }
  .overview .ov-copy{ padding-left:16px; margin-top:14px; }
  .overview .ov-num{ font-size:4rem; top:-26px; }
}
@media (max-width:480px){
  .overview{ padding:30px 0 24px; }
  .overview .quad{ gap:6px; margin-top:12px; }
  .overview .quad-item{ min-width:56px; padding:6px 4px; }
  .overview .quad-item img{ width:28px; height:28px; }
  .overview .quad-label{ font-size:.76rem; }
}

/* ---------------- PROJECT HIGHLIGHTS — Light Grey Section (#F2F2F2) ---------------- */
.highlights{ background:#F2F2F2; color:#4A2F24; position:relative; overflow:hidden; }
.highlights::before{
  content:""; position:absolute; inset:0; opacity:.35; pointer-events:none;
  background:radial-gradient(circle at 12% 15%, rgba(112,112,112,0.04), transparent 45%),
             radial-gradient(circle at 88% 85%, rgba(58,58,58,0.03), transparent 50%);
}
.highlights .ghost{
  position:absolute; top:-4%; right:-2%; font-family:var(--serif); font-size:min(26vw,300px); color:rgba(58,58,58,0.025);
  font-weight:700; line-height:1; pointer-events:none; user-select:none; white-space:nowrap;
}
.highlights .wrap{ position:relative; }
.highlights .head{ max-width:620px; margin-bottom:64px; }
.highlights .head h2{ color:#4A2F24; }
.highlights .head p{ color:#707070; margin-top:18px; font-size:1.03rem; line-height:1.65; }
.stat-row{ display:flex; align-items:flex-end; flex-wrap:wrap; gap:0; border-top:1px solid rgba(58,58,58,0.14); }
.stat-item{ flex:1 1 220px; padding:38px 30px 0 0; border-right:1px solid rgba(58,58,58,0.12); position:relative; }
.stat-item:last-child{ border-right:none; }
.stat-item:nth-child(2){ padding-top:38px; }
.stat-item:nth-child(3){ padding-top:38px; }
.stat-item .num{ font-family:var(--serif); font-size:clamp(2.4rem,4.6vw,4rem); color:#4A2F24; display:flex; align-items:baseline; gap:2px; }
.stat-item .label{ color:#707070; font-size:.9rem; margin-top:16px; max-width:22ch; padding-bottom:34px; line-height:1.55; }
@media (max-width:900px){
  .stat-row{ flex-direction:column; }
  .stat-item{ border-right:none; border-bottom:1px solid rgba(58,58,58,0.12); padding-top:34px !important; padding-bottom:6px; }
  .stat-item:last-child{ border-bottom:none; }
}

/* ---------------- ARCHITECTURE — Bright Architectural Presentation (#FFFFFF) ---------------- */
.architecture{ position:relative; padding:0; height:84vh; min-height:580px; overflow:hidden; background-color:#FFFFFF; }
.architecture .bg{
  position:absolute; inset:0;
  background-image:url('../images/extracted/extracted_52394ba156.jpg');
  background-position:center center;
  background-size:contain;
  background-repeat:no-repeat;
  background-color:#FFFFFF;
}
.architecture.in .bg{ transform:none; }
.architecture::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.65) 46%, rgba(255,255,255,0.97) 86%);
  pointer-events:none;
}
.arch-frame{ position:absolute; inset:26px; border:1px solid rgba(58,58,58,0.16); pointer-events:none; z-index:2; }
.arch-frame::before,.arch-frame::after{ content:""; position:absolute; width:46px; height:46px; border:1.5px solid #3A3A3A; }
.arch-frame::before{ top:-1px; left:-1px; border-right:none; border-bottom:none; }
.arch-frame::after{ bottom:-1px; right:-1px; border-left:none; border-top:none; }
.arch-curtain{ display:none !important; }
.architecture-content{ position:relative; z-index:3; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding-bottom:66px; }
.architecture-content .kicker{ color:#3A3A3A !important; }
.architecture-content .kicker::before{ background:#3A3A3A !important; }
.architecture-content h2{ color:#4A2F24; font-size:clamp(2.1rem,4.6vw,3.6rem); max-width:16ch; line-height:1.12; }
.architecture-content p{ color:#707070; max-width:58ch; margin-top:24px; font-size:1.05rem; line-height:1.7; }
.arch-facts{ display:flex; gap:64px; margin-top:44px; flex-wrap:wrap; }
.arch-facts div{ font-family:var(--serif); color:#4A2F24; font-size:1.6rem; }
.arch-facts span{ display:block; font-family:var(--sans); color:#707070; font-size:.78rem; margin-top:7px; }
.arch-reveal{ opacity:1; transform:none; transition:opacity .6s ease, transform .6s cubic-bezier(.2,.7,.3,1); }
.architecture.in .arch-reveal{ opacity:1; transform:none; }
@media (max-width:700px){
  .architecture{ height:auto; padding:80px 0 60px; background:#FFFFFF; }
  .arch-frame{ display:none; }
  .arch-curtain{ display:none; }
}

/* ---------------- FLOOR PLANS — Light Grey Section ---------------- */
.plans{ background-color:#F2F2F2; }
.plan-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:58px; }
.plan-tab{
  background:#FFFFFF; border:1px solid rgba(36,36,36,0.12); padding:13px 24px; font-size:.9rem; color:#4A2F24;
  font-weight:600; position:relative; transition:background .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;
  box-shadow:0 1px 4px rgba(0,0,0,0.03);
}
.plan-tab.active{ color:#FFFFFF; background:#3A3A3A; border-color:#4A2F24; box-shadow:0 4px 12px rgba(58,58,58,0.20); }
.plan-tab:not(.active):hover{ border-color:#242424; color:#242424; }
.plan-panel{ display:none; }
.plan-panel.active{ animation:planIn .55s cubic-bezier(.2,.7,.3,1); }
@keyframes planIn{ from{ opacity:0; transform:translateY(12px);} to{ opacity:1; transform:translateY(0);} }
.plan-panel.active{ display:grid; grid-template-columns:1.6fr 1fr; gap:56px; align-items:start; }
.plan-img{
  background:#FFFFFF; border:1px solid rgba(36,36,36,0.12); padding:28px; box-shadow:0 18px 45px -15px rgba(0,0,0,0.10); cursor:zoom-in;
  position:relative; min-height:260px; display:flex; align-items:center; justify-content:center;
}
.plan-img::before,.plan-img::after{ content:""; position:absolute; width:22px; height:22px; border:1.5px solid #3A3A3A; opacity:.4; }
.plan-img::before{ top:8px; left:8px; border-right:none; border-bottom:none; }
.plan-img::after{ bottom:8px; right:8px; border-left:none; border-top:none; }
.plan-img img{ width:100%; height:auto; object-fit:contain; transition:transform .6s ease; }
.plan-img:hover img{ transform:scale(1.02); }
.plan-img .zoom-hint{
  position:absolute; bottom:14px; right:14px; background:#3A3A3A; color:#FFFFFF; width:38px; height:38px;
  border-radius:50%; display:flex; align-items:center; justify-content:center; opacity:0; transform:scale(.7);
  transition:opacity .3s ease, transform .3s ease;
}
.plan-img:hover .zoom-hint{ opacity:1; transform:scale(1); }
.plan-heading-row{ display:flex; align-items:center; gap:14px; margin-bottom:12px; }
.plan-side h3{ font-size:1.6rem; margin-bottom:0; color:#4A2F24; }
.plan-heading-row .plan-icon{
  width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  margin:0; flex:none;
}
img.plan-icon{ object-fit:cover; }
.plan-side .badge{ display:inline-flex; align-items:center; gap:8px; background:rgba(36,36,36,0.08); color:#242424; padding:7px 15px; font-size:.78rem; font-weight:600; margin-bottom:24px; border-radius:4px; }
.plan-side p{ color:#707070; font-size:.98rem; line-height:1.65; }
.plan-side .spec-block{ margin-top:30px; padding-top:24px; border-top:1px solid rgba(36,36,36,0.12); }
.plan-side .spec-block h4{ font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; color:#707070; font-weight:600; margin-bottom:14px; }
.plan-side .chip-row{ display:flex; flex-wrap:wrap; gap:10px; }
.chip{ background:#FFFFFF; border:1px solid rgba(36,36,36,0.12); padding:7px 13px; font-size:.85rem; color:#242424; border-radius:3px; }
.plan-side p.note{ color:#707070; font-size:.86rem; margin-top:24px; font-style:italic; font-family:var(--serif); }
@media (max-width:900px){ .plan-panel.active{ grid-template-columns:1fr; } }


/* ---------------- SPECIFICATIONS — White Section ---------------- */
.specs{ background:#FFFFFF; overflow:clip; scroll-margin-top:100px; }
.specs .spec-intro{ max-width:640px; margin-bottom:56px; }
.specs h2{ color:#4A2F24; }
.spec-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(36,36,36,0.10);
  border:1px solid rgba(36,36,36,0.10);
}
.spec-item{
  background:#FFFFFF; padding:42px 24px; display:flex; flex-direction:column; align-items:center;
  text-align:center; gap:18px; transition:background .3s ease, transform .3s ease;
}
.spec-item:hover{ background:#F2F2F2; transform:translateY(-4px); }
.spec-item .spec-icon{
  width:52px; height:52px; border-radius:50%; background:rgba(36,36,36,0.06); color:#242424;
  display:flex; align-items:center; justify-content:center; transition:background .3s ease, transform .3s ease, color .3s ease;
}
.spec-item:hover .spec-icon{ background:#3A3A3A; color:#FFFFFF; transform:scale(1.06); }
.spec-item span{ font-size:.92rem; color:#4A2F24; font-weight:500; letter-spacing:.01em; }
@media (max-width:900px){
  .spec-grid{ grid-template-columns:repeat(3,1fr); }
  .spec-item{ padding:30px 16px; }
}
@media (max-width:600px){
  .spec-grid{ grid-template-columns:repeat(2,1fr); }
  .spec-item{ padding:26px 12px; }
  .spec-item .spec-icon{ width:46px; height:46px; }
  .spec-item span{ font-size:.86rem; }
}

/* ---------------- AMENITIES (Services Section) — Light Grey with White Cards ---------------- */
.amenities{ background-color:#F2F2F2; color:#4A2F24; overflow:hidden; scroll-margin-top:100px; }
.amenities .head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }
.amenities .head h2{ color:#4A2F24; }
.amenities .head p{ color:#707070; margin-top:16px; font-size:1.02rem; line-height:1.65; max-width:52ch; }
.amen-shell{ position:relative; margin-top:60px; }
.amen-scroll{ display:flex; gap:26px; overflow-x:auto; padding:6px 4px 22px; scroll-snap-type:x proximity; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; cursor:grab; }
.amen-scroll.dragging{ cursor:grabbing; scroll-behavior:auto; }
.amen-scroll::-webkit-scrollbar{ height:5px; }
.amen-scroll::-webkit-scrollbar-thumb{ background:rgba(36,36,36,0.2); }
.amen-card{
  flex:0 0 270px; scroll-snap-align:start; background:#FFFFFF; border:1px solid rgba(36,36,36,0.10);
  border-radius:6px; box-shadow:0 6px 20px -6px rgba(0,0,0,0.07);
  padding:32px 26px; transition:transform .4s ease, background .4s ease, border-color .4s ease, box-shadow .4s ease; user-select:none;
}
.amen-card:hover{ transform:translateY(-8px); background:#FFFFFF; border-color:#4A2F24; box-shadow:0 14px 32px -8px rgba(0,0,0,0.12); }
.amen-card svg{ color:#4A2F24; margin-bottom:0px; pointer-events:none; }
.amen-card .idx{ font-family:var(--serif); font-style:italic; color:#707070; font-size:.85rem; margin-bottom:16px; display:block; }
.amen-card p{ margin:0; font-size:.94rem; color:#4A2F24; font-weight:500; line-height:1.6; overflow-wrap:break-word; }
.amen-nav{
  position:relative; width:44px; height:44px; border-radius:50%;
  background:#FFFFFF; border:1px solid rgba(36,36,36,0.15); color:#242424; box-shadow:0 4px 12px rgba(0,0,0,0.08);
  display:inline-flex; align-items:center; justify-content:center; z-index:3; cursor:pointer;
  transition:background .3s ease, border-color .3s ease, transform .3s ease, color .3s ease;
}
.amen-nav:hover{ background:#3A3A3A; border-color:#4A2F24; color:#FFFFFF; }
.amen-hint{ display:flex; align-items:center; gap:10px; margin-top:18px; color:#707070; font-size:.78rem; }
@media (max-width:1100px){ .amen-card{ flex:0 0 250px; } }
@media (max-width:900px){
  .amen-card{ flex:0 0 45%; }
}
@media (max-width:640px){
  .amen-card{ flex:0 0 84%; padding:26px 22px; }
}

/* ---------------- GALLERY — White Background, Original Colors Untouched ---------------- */
.gallery{ background-color:#FFFFFF; padding:46px 0 54px; overflow:hidden; }
.gallery .gal-top{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:18px; }
.gallery h2{ color:#4A2F24; }
.gal-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.gal-tab{
  background:#F2F2F2; border:1px solid rgba(36,36,36,0.12); padding:9px 20px; font-size:.86rem; color:#4A2F24;
  font-weight:600; border-radius:6px; cursor:pointer; box-shadow:0 1px 4px rgba(0,0,0,0.03);
  transition:background .25s ease, color .25s ease, border-color .25s ease, transform .15s ease;
}
.gal-tab:hover{ border-color:#242424; color:#242424; }
.gal-tab.active{ color:#FFFFFF; background:#3A3A3A; border-color:#4A2F24; box-shadow:0 4px 12px rgba(58,58,58,0.20); }
.gal-panel{ display:none; }
.gal-panel.active{ display:block; animation:galPanelIn .35s cubic-bezier(.2,.7,.3,1); }
@keyframes galPanelIn{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:translateY(0);} }

.gallery .gal-counter{
  font-family:var(--serif); font-style:italic; color:#707070; font-size:0.95rem;
  white-space:nowrap; margin-bottom:10px; display:block;
}
.gallery .gal-counter b{ color:#4A2F24; font-weight:600; font-style:normal; }

/* Slider Container */
.gal-shell{ position:relative; width:100%; overflow:visible; }
.gal-track{
  display:flex !important; flex-wrap:nowrap !important; align-items:stretch !important;
  gap:16px !important; height:320px !important; overflow-x:auto !important; overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important; scroll-behavior:smooth !important;
  -webkit-overflow-scrolling:touch !important; overscroll-behavior-x:contain !important;
  padding:4px 2px !important; cursor:grab; user-select:none;
  scrollbar-width:none; -ms-overflow-style:none;
}
.gal-track.dragging{ cursor:grabbing; scroll-behavior:auto !important; scroll-snap-type:none !important; }
.gal-track::-webkit-scrollbar{ display:none; width:0; height:0; }

/* Slider Cards */
.gal-slide{
  position:relative; flex:0 0 min(420px, 42vw); height:100%;
  scroll-snap-align:start; scroll-snap-stop:normal;
  border-radius:8px; border:1px solid rgba(36,36,36,0.12); box-shadow:0 4px 16px rgba(0,0,0,0.06);
  background:#FFFFFF; overflow:hidden; cursor:pointer;
  display:flex; flex-direction:column; justify-content:space-between;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.gal-slide:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.10); border-color:#4A2F24; }
.gal-slide.featured{ flex:0 0 min(540px, 52vw); }
.gal-slide.support{ flex:0 0 min(380px, 36vw); }
.gal-slide.plan{ flex:0 0 min(640px, 60vw); background:#FFFFFF; }

/* Zoom Magnifier Badge */
.gal-slide::after{
  content:""; position:absolute; top:8px; right:8px; width:26px; height:26px; border-radius:50%;
  background:rgba(36,36,36,0.75) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3Cline x1='11' y1='8' x2='11' y2='14'/%3E%3Cline x1='8' y1='11' x2='14' y2='11'/%3E%3C/svg%3E") center / 13px no-repeat;
  pointer-events:none; opacity:0.85; z-index:2; box-shadow:0 2px 6px rgba(0,0,0,0.25);
  transition:opacity .2s ease, transform .2s ease;
}
.gal-slide:hover::after{ opacity:1; transform:scale(1.08); }

/* Index Badge on the upper left */
.gal-slide .idx-tag{
  position:absolute; top:8px; left:8px; background:rgba(36,36,36,0.75); color:#FFFFFF;
  font-size:.68rem; font-weight:600; letter-spacing:.04em; padding:3px 7px; border-radius:4px;
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); pointer-events:none; line-height:1.2; z-index:2;
}

/* Images inside slides: 100% visible, uncropped, preserved aspect ratio, NO FILTERS */
.gal-slide img{
  flex:1 1 auto; min-height:0; width:100%; height:100%; object-fit:contain; display:block;
  background:#FFFFFF; pointer-events:none; padding:8px 10px 4px; transition:transform .4s cubic-bezier(.2,.7,.3,1);
}
.gal-slide.plan img{ background:#FFFFFF; padding:8px 12px 4px; }
.gal-slide:hover img{ transform:scale(1.02); }

/* Captions: clean footer below image */
.gal-slide .cap{
  flex:0 0 auto; position:static; background:#FFFFFF; color:#4A2F24;
  border-top:1px solid rgba(36,36,36,0.08); padding:8px 14px 9px; font-family:var(--sans);
  font-style:normal; font-size:.78rem; font-weight:500; line-height:1.3; opacity:1;
  transform:none; pointer-events:none; white-space:nowrap; text-overflow:ellipsis;
  overflow:hidden; margin:0; text-align:left;
}

/* Slider Nav Arrows */
.gal-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%;
  background:#FFFFFF; border:1px solid rgba(36,36,36,0.15); display:flex; align-items:center; justify-content:center;
  color:#242424; box-shadow:0 3px 12px rgba(0,0,0,0.08); cursor:pointer;
  transition:background .25s ease, color .25s ease, border-color .25s ease, transform .15s ease;
  z-index:4;
}
.gal-nav:hover{
  background:#3A3A3A; color:#FFFFFF; border-color:#4A2F24;
  transform:translateY(-50%) scale(1.06);
}
.gal-nav:active{ transform:translateY(-50%) scale(0.96); }
.gal-nav.prev{ left:-20px; }
.gal-nav.next{ right:-20px; }

/* Pagination Dots */
.gal-dots{
  display:flex; gap:7px; justify-content:center; align-items:center; margin-top:16px;
}
.gal-dots span{
  width:7px; height:7px; border-radius:50%; background:#D0D0D0; cursor:pointer;
  transition:background .3s ease, transform .3s ease;
}
.gal-dots span.active{ background:#3A3A3A; transform:scale(1.4); }

/* Tablet / Medium Desktop (769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px){
  .gal-track{ height:300px !important; gap:14px !important; }
  .gal-slide.featured{ flex-basis:min(480px, 58vw); }
  .gal-slide.support{ flex-basis:min(340px, 42vw); }
  .gal-slide.plan{ flex-basis:min(580px, 68vw); }
  .gal-nav.prev{ left:-14px; }
  .gal-nav.next{ right:-14px; }
}

.lightbox{ position:fixed; inset:0; background:rgba(20,20,20,0.96); z-index:1000; display:none; align-items:center; justify-content:center; padding:40px; }
.lightbox.open{ display:flex; }
.lightbox img{ max-width:100%; max-height:88vh; box-shadow:0 30px 80px rgba(0,0,0,0.7); }
.lightbox .close{ position:absolute; top:26px; right:32px; background:rgba(36,36,36,0.85); border:1px solid rgba(255,255,255,0.3); color:#FFFFFF; font-size:2rem; line-height:1; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.lightbox .close:hover{ background:#242424; }

/* ---------------- BROCHURE PDF VIEWER (Grey & White Theme) ---------------- */
.pdf-modal{
  position:fixed; inset:0; z-index:1001; background:rgba(20,20,20,0.95);
  display:none; flex-direction:column; padding:24px;
}
.pdf-modal.open{ display:flex; }
.pdf-modal-bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  color:#FFFFFF; font-family:var(--serif); font-style:italic; font-size:1.05rem;
  padding:0 4px 16px;
}
.pdf-modal-close{
  background:rgba(36,36,36,0.85); border:1px solid rgba(255,255,255,0.3); color:#FFFFFF; width:38px; height:38px;
  border-radius:50%; font-size:1.4rem; line-height:1; flex:none; transition:background .3s ease, border-color .3s ease;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
}
.pdf-modal-close:hover{ background:#242424; border-color:#FFFFFF; }
.pdf-modal-body{
  flex:1; background:#242424; box-shadow:0 30px 80px rgba(0,0,0,0.6);
  max-width:1000px; width:100%; margin:0 auto; overflow-y:auto; overflow-x:hidden;
  scroll-behavior:smooth; -webkit-overflow-scrolling:touch;
}
.pdf-pages{ display:flex; flex-direction:column; align-items:center; gap:14px; padding:14px; }
.pdf-pages img{
  width:100%; max-width:100%; height:auto; display:block; box-shadow:0 8px 24px rgba(0,0,0,0.15);
  cursor:zoom-in; background:#FFFFFF; transition:transform .3s ease;
}
.pdf-pages img:hover{ transform:scale(1.005); }
@media (max-width:700px){
  .pdf-modal{ padding:12px; }
  .pdf-modal-bar{ font-size:.92rem; padding:0 2px 12px; }
  .pdf-pages{ gap:10px; padding:10px; }
}

/* ---------------- FLOATING ACTION BUTTONS ---------------- */
.fab-stack{
  position:fixed; right:24px; bottom:24px; z-index:90;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.fab{
  width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; box-shadow:0 12px 26px -8px rgba(0,0,0,0.45); border:none; cursor:pointer;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, opacity .35s ease, visibility .35s ease;
}
.fab:hover{ transform:translateY(-4px) scale(1.06); box-shadow:0 16px 32px -8px rgba(0,0,0,0.55); }
.fab-whatsapp{ background:#454950; }
.fab-call{ background:#3A3A3A; }
.fab-call:hover{ background:#3A3A3A; }
.fab-top{
  background:#3A3A3A; color:#FFFFFF; opacity:0; visibility:hidden; transform:translateY(14px) scale(.85);
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease, background .3s ease, opacity .35s ease, visibility .35s ease;
}
.fab-top.show{ opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.fab-top:hover{ transform:translateY(-4px) scale(1.06); background:#3A3A3A; }
@media (max-width:600px){
  .fab-stack{ right:16px; bottom:16px; gap:12px; }
  .fab{ width:48px; height:48px; }
  .fab-whatsapp svg{ width:22px; height:22px; }
  .fab-call svg{ width:21px; height:21px; }
  .fab-top svg{ width:19px; height:19px; }
}

/* ---------------- LOCATION — Light Grey Section (#F2F2F2) ---------------- */
.location{ background-color:#F2F2F2; }
.loc-top{ max-width:680px; }
.loc-top h2{ color:#4A2F24; }
.loc-top p{ color:#707070; margin-top:16px; font-size:1.02rem; line-height:1.65; }
.loc-top-overlap{ position:relative; z-index:2; margin-bottom:-34px; }
.loc-body{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:68px; align-items:start; margin-top:66px; }
.loc-map-col{ display:flex; flex-direction:column; }
.loc-map{ position:relative; box-shadow:0 12px 36px rgba(0,0,0,0.06); border:6px solid #FFFFFF; outline:1px solid rgba(58,58,58,0.12); overflow:hidden; }
.loc-map::before{ content:""; position:absolute; inset:-6px; border:1px solid rgba(58,58,58,0.15); pointer-events:none; z-index:2; }
.loc-points{ list-style:none; margin:0; padding:0; position:relative; }
.loc-points::before{ content:""; position:absolute; left:13px; top:10px; bottom:10px; width:1px; background:rgba(58,58,58,0.18); }
.loc-points-anim::before{ transform:scaleY(0); transform-origin:top; transition:transform 1.1s cubic-bezier(.2,.7,.3,1) .2s; }
.reveal-r.in .loc-points-anim::before{ transform:scaleY(1); }
.loc-points li{ position:relative; padding:0 0 29px 46px; display:flex; align-items:flex-start; gap:10px; opacity:0; transform:translateX(10px); transition:opacity .5s ease, transform .5s ease; }
.reveal-r.in .loc-points li{ opacity:1; transform:translateX(0); }
.loc-points li:nth-child(1){ transition-delay:.25s; } .reveal-r.in .loc-points li:nth-child(2){ transition-delay:.32s; }
.loc-points li:nth-child(3){ transition-delay:.39s; } .reveal-r.in .loc-points li:nth-child(4){ transition-delay:.46s; }
.loc-points li:nth-child(5){ transition-delay:.53s; } .reveal-r.in .loc-points li:nth-child(6){ transition-delay:.60s; }
.loc-points li:nth-child(7){ transition-delay:.67s; } .reveal-r.in .loc-points li:nth-child(8){ transition-delay:.74s; }
.loc-points li:nth-child(9){ transition-delay:.81s; } .reveal-r.in .loc-points li:nth-child(10){ transition-delay:.88s; }
.loc-points li:last-child{ padding-bottom:0; }
.loc-points .dotnum{
  position:absolute; left:0; top:-2px; width:28px; height:28px; border-radius:50%; background:#FFFFFF;
  border:1px solid #3A3A3A; color:#4A2F24; font-family:var(--serif); font-size:.8rem; font-style:italic;
  display:flex; align-items:center; justify-content:center;
}
.loc-points span.name{ font-size:.98rem; color:#4A2F24; padding-top:3px; line-height:1.5; }
.loc-addr{ margin-top:40px; padding-top:30px; border-top:1px solid rgba(58,58,58,0.14); }
.loc-addr h4{ font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; color:#707070; margin-bottom:10px; }
.loc-addr p{ font-family:var(--serif); font-size:1.25rem; color:#4A2F24; margin:0; line-height:1.5; }
@media (max-width:900px){ .loc-body{ grid-template-columns:1fr; } .loc-top-overlap{ margin-bottom:0; } }

/* ---------------- ENQUIRY FORM — White Section (#FFFFFF) with Light Grey Card ---------------- */
.enquiry{ background-color:#FFFFFF; }
.enq-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:72px; align-items:start; }
.enq-side h2{ color:#4A2F24; }
.enq-side p{ color:#707070; font-size:1.02rem; line-height:1.7; margin:18px 0 34px; max-width:40ch; }
.enq-image{ position:relative; box-shadow:0 8px 24px rgba(0,0,0,0.06); border:1px solid rgba(58,58,58,0.12); overflow:hidden; }
.enq-image img{ width:100%; height:260px; object-fit:cover; display:block; }
.enq-badge{
  position:absolute; left:0; bottom:0; right:0; padding:16px 20px; background:linear-gradient(0deg, rgba(36,36,36,0.85), transparent);
  color:#FFFFFF; font-family:var(--serif); font-style:italic; font-size:.92rem; line-height:1.4;
}
.enq-contacts{ display:flex; gap:36px; margin-top:30px; flex-wrap:wrap; }
.enq-contacts div{ display:flex; flex-direction:column; gap:5px; }
.enq-contacts span{ font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:#707070; }
.enq-contacts a{ font-family:var(--serif); font-size:1.05rem; color:#4A2F24; }
.enq-contacts a:hover{ color:#707070; text-decoration:underline; }

.enq-form-wrap{ background:#F2F2F2; border:1px solid rgba(58,58,58,0.12); padding:44px; position:relative; box-shadow:0 8px 24px rgba(0,0,0,0.04); border-radius:6px; }
.enq-form-wrap .f-row{ margin-bottom:24px; }
.enq-form-wrap .f-2col{ display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:0; }
.enq-form-wrap .f-2col .f-row{ margin-bottom:24px; }
.enq-form-wrap label{ display:block; margin-bottom:8px; font-size:.82rem; color:#4A2F24; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.enq-form-wrap label .req{ color:#D32F2F; margin-left:3px; font-weight:700; text-transform:none; display:inline; }
.enq-form-wrap input[type="text"], .enq-form-wrap input[type="tel"], .enq-form-wrap input[type="email"], .enq-form-wrap select, .enq-form-wrap textarea{
  font-family:var(--sans); font-size:.98rem; font-weight:400; color:#4A2F24; text-transform:none; letter-spacing:normal;
  background:#FFFFFF; border:1px solid rgba(58,58,58,0.18); padding:13px 14px; outline:none; width:100%; border-radius:4px;
  transition:border-color .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.enq-form-wrap textarea{ resize:vertical; min-height:80px; font-family:var(--sans); }
.enq-form-wrap input:focus, .enq-form-wrap select:focus, .enq-form-wrap textarea:focus{ border-color:#4A2F24; box-shadow:0 0 0 3px rgba(58,58,58,0.12); background:#FFFFFF; }
.enq-form-wrap .f-row.invalid input, .enq-form-wrap .f-row.invalid textarea{ border-color:#4A2F24; }
.enq-form-wrap .err{ display:block; color:#4A2F24; font-size:.76rem; margin-top:6px; min-height:1px; font-weight:500; }
.pref-method .lbl{ display:block; font-size:.82rem; color:#4A2F24; font-weight:600; text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px; }
.pill-group{ display:flex; gap:8px; flex-wrap:wrap; }
.pill-group label{ display:inline-flex; margin:0; }
.pill-group input{ position:absolute; opacity:0; width:1px; height:1px; }
.pill-group span{
  padding:9px 16px; border:1px solid rgba(58,58,58,0.15); font-size:.85rem; color:#707070; cursor:pointer;
  transition:background .25s ease, color .25s ease, border-color .25s ease; text-transform:none; font-weight:500;
  background:#FFFFFF; border-radius:4px;
}
.pill-group input:checked + span{ background:#3A3A3A; border-color:#4A2F24; color:#FFFFFF; }
.pill-group input:focus-visible + span{ outline:2px solid #707070; outline-offset:2px; }

.enq-submit{ width:100%; justify-content:center; margin-top:6px; position:relative; background:#3A3A3A; color:#FFFFFF; border-color:#4A2F24; }
.enq-submit:hover{ background:#242424; border-color:#242424; }
.enq-submit .btn-spinner{
  position:absolute; width:18px; height:18px; border:2px solid rgba(255,255,255,0.4); border-top-color:#FFFFFF;
  border-radius:50%; opacity:0; right:24px; top:50%; margin-top:-9px;
}
.enq-submit.loading .btn-label{ opacity:0.4; }
.enq-submit.loading .btn-spinner{ opacity:1; animation:spin .7s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.enq-note{ color:#707070; font-size:.8rem; margin-top:16px; text-align:center; }

.enq-success{ text-align:center; padding:20px 10px; }
.enq-success svg{ color:#4A2F24; margin:0 auto 18px; }
.enq-success h3{ font-size:1.5rem; margin-bottom:10px; color:#4A2F24; }
.enq-success p{ color:#707070; font-size:.96rem; max-width:38ch; margin:0 auto; }
.enq-success-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:26px; }

@media (max-width:900px){
  .enq-grid{ grid-template-columns:1fr; gap:48px; }
  .enq-form-wrap{ padding:30px; }
  .enq-form-wrap .f-2col{ grid-template-columns:1fr; }
}

/* ---------------- CTA (Bright Light Grey Section) ---------------- */
.cta-band{ position:relative; overflow:hidden; color:#4A2F24; text-align:center; background:#F2F2F2; padding:90px 0; }
/* cta bg-split display restored */
/* cta::before restored */
.cta-band .wrap{ position:relative; z-index:2; }
.cta-band .kicker{ justify-content:center; color:#707070; }
.cta-band .kicker::before{ background:#707070; }
.cta-band h2{ color:#4A2F24; font-size:clamp(2.1rem,4.8vw,3.6rem); max-width:18ch; margin:0 auto; line-height:1.15; }
.cta-band p{ color:#707070; max-width:52ch; margin:24px auto 0; font-size:1.05rem; line-height:1.7; }
.cta-actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:42px; }
.cta-actions .btn-ghost:first-child{
  background:#3A3A3A; border:1px solid #3A3A3A; color:#FFFFFF;
}
.cta-actions .btn-ghost:first-child:hover{
  background:#242424; border-color:#242424; color:#FFFFFF;
}
.cta-actions .btn-ghost:not(:first-child){
  background:#FFFFFF; border:1px solid rgba(58,58,58,0.22); color:#4A2F24;
}
.cta-actions .btn-ghost:not(:first-child):hover{
  background:#3A3A3A; border-color:#4A2F24; color:#FFFFFF;
}
.contact-cards{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  background:transparent; margin-top:54px; border:none;
}
.contact-card{
  background:#FFFFFF; padding:32px 28px; text-align:left;
  border:1px solid rgba(58,58,58,0.12); border-radius:6px;
  box-shadow:0 4px 16px rgba(0,0,0,0.04);
}
.contact-card .role{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:#707070; margin-bottom:14px; font-weight:600; }
.contact-card .name{ font-family:var(--serif); font-size:1.25rem; margin-bottom:8px; color:#4A2F24; }
.contact-card .org{ font-size:.84rem; color:#707070; margin-bottom:18px; }
.contact-card a.phone{ font-weight:600; font-size:1.05rem; display:inline-flex; align-items:center; gap:8px; color:#4A2F24; transition:gap .3s ease, color .3s ease; }
.contact-card a.phone:hover{ gap:12px; color:#707070; }
@media (max-width:820px){ .contact-cards{ grid-template-columns:1fr; } }

/* ---------------- FOOTER — Bright White Theme (#FFFFFF) ---------------- */
footer{
  background: #FFFFFF;
  color: #707070;
  padding: 86px 0 38px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(58, 58, 58, 0.12);
  box-shadow: none;
}
footer::before{ display:none; }
footer .ghost-word{
  position: absolute;
  left: 50%;
  bottom: -4%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--serif);
  font-weight: 700;
  font-size: min(11vw, 150px);
  color: rgba(58, 58, 58, 0.03);
  letter-spacing: 0.04em;
  pointer-events: none;
  user-select: none;
}
footer .wrap{
  position: relative;
  z-index: 1;
}
.footer-grid{
  display: grid;
  grid-template-columns: 1.4fr 0.9fr 1fr 1.2fr;
  gap: 48px;
  padding-bottom: 52px;
  border-bottom: 1px solid rgba(58, 58, 58, 0.10);
}
.footer-logo-wrap{
  display: inline-flex;
  align-items: center;
  background: #F2F2F2;
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid rgba(58, 58, 58, 0.12);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  margin-bottom: 20px;
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.3, 1), box-shadow 0.3s ease;
}
.footer-logo-wrap:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}
.footer-logo-wrap a{
  display: flex;
  align-items: center;
  text-decoration: none;
}
.footer-logo-wrap .footer-logo{
  height: 44px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  display: block;
}
.footer-desc{
  font-size: 0.92rem;
  color: #707070;
  max-width: 34ch;
  line-height: 1.68;
  margin: 0;
}
.social-row{
  display: flex;
  gap: 12px;
  margin-top: 24px;
}
.social-row .social-btn{
  width: 40px;
  height: 40px;
  background: #F2F2F2;
  border: 1px solid rgba(58, 58, 58, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #3A3A3A;
  transition: all 0.32s cubic-bezier(0.2, 0.8, 0.3, 1);
  text-decoration: none;
}
.social-row .social-btn svg{
  transition: transform 0.3s ease;
}
.social-row .social-btn:hover{
  background: #3A3A3A;
  border-color: #3A3A3A;
  color: #FFFFFF;
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}
.social-row .social-btn:hover svg{
  transform: scale(1.1);
}
.footer-grid h5{
  color: #3A3A3A;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 0 0 24px;
  font-weight: 700;
  display: inline-block;
  position: relative;
}
.footer-grid h5::after{
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  background: #707070;
  margin-top: 8px;
  border-radius: 2px;
}
.footer-links{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer-links li a{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.93rem;
  color: #707070;
  text-decoration: none;
  transition: all 0.25s ease;
  padding: 2px 0;
}
.footer-links li a .link-arrow{
  color: #707070;
  font-size: 1.15rem;
  line-height: 1;
  opacity: 0.7;
  transition: transform 0.25s ease, opacity 0.25s ease, color 0.25s ease;
}
.footer-links li a:hover{
  color: #3A3A3A;
  transform: translateX(4px);
}
.footer-links li a:hover .link-arrow{
  opacity: 1;
  color: #3A3A3A;
  transform: translateX(3px);
}
.team-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.team-item{
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-bottom: 12px;
  border-bottom: 1px dashed rgba(58, 58, 58, 0.12);
}
.team-item:last-child{
  border-bottom: none;
  padding-bottom: 0;
}
.team-role{
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #707070;
  font-weight: 600;
}
.team-name{
  font-family: var(--serif);
  font-size: 1.08rem;
  color: #3A3A3A;
  letter-spacing: 0.01em;
}
.contact-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.contact-item{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.92rem;
  color: #707070;
  line-height: 1.55;
}
.contact-icon{
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: #F2F2F2;
  border: 1px solid rgba(58, 58, 58, 0.14);
  color: #3A3A3A;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  transition: all 0.3s ease;
}
.contact-item:hover .contact-icon{
  background: #3A3A3A;
  border-color: #3A3A3A;
  color: #FFFFFF;
  transform: translateY(-2px);
}
.contact-link{
  color: #3A3A3A;
  text-decoration: none;
  transition: color 0.25s ease;
  word-break: break-all;
}
.contact-link:hover{
  color: #707070;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-bottom{
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid rgba(58, 58, 58, 0.10);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 0.85rem;
  color: #707070;
}
.footer-copy{
  line-height: 1.5;
}
.footer-credit{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  text-align: right;
}
.footer-credit .footer-dev{
  color: #707070;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.footer-credit .footer-dev a{
  color: #3A3A3A;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.25s ease;
  padding: 2px 6px;
  border-radius: 4px;
}
.footer-credit .footer-dev a:hover{
  color: #FFFFFF;
  background: #3A3A3A;
}
@media (max-width: 960px){
  .footer-grid{
    grid-template-columns: 1fr 1fr;
    gap: 42px 32px;
    padding-bottom: 42px;
  }
}
@media (max-width: 600px){
  footer{
    padding: 64px 0 96px;
  }
  .footer-grid{
    grid-template-columns: 1fr;
    gap: 34px;
    padding-bottom: 34px;
  }
  .footer-bottom{
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .footer-credit{
    align-items: flex-start;
    text-align: left;
  }
}

.count{ font-variant-numeric:tabular-nums; }


/* ============================================================
   MOBILE-FIRST PREMIUM RESPONSIVE OPTIMIZATIONS (<= 940px / <= 768px / <= 480px / <= 380px)
   Strictly scoped to mobile/tablet viewports to protect desktop design.
   ============================================================ */

/* Global Mobile Overflow Guard & Scroll Lock */
html, body {
  max-width: 100%;
  overflow-x: clip;
}

body.nav-locked {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

body.nav-locked header.site-nav {
  /* Prevent header from jumping, shifting or recalculating backdrop-filter */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Nav Backdrop Overlay */
.nav-backdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(20, 20, 20, 0.65) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  z-index: 995 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .32s ease !important;
}
.nav-backdrop.open {
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Mobile Nav Drawer Enhancements (<= 940px) */
@media (max-width: 940px) {
  header.site-nav {
    padding: 16px 0;
    z-index: 1000;
  }
  header.site-nav.scrolled {
    padding: 10px 0;
  }
  header.site-nav .wrap {
    gap: 12px;
  }
  .nav-logo {
    padding: 5px 10px;
    border-radius: 6px;
  }
  .nav-logo img {
    height: 34px;
    max-width: 150px;
    object-fit: contain;
  }
  header.site-nav.scrolled .nav-logo {
    padding: 0;
  }
  header.site-nav.scrolled .nav-logo img {
    height: 30px;
  }
  .nav-noble {
    margin-left: auto;
    padding: 5px 8px;
    border-radius: 6px;
  }
  .nav-noble img {
    height: 30px;
    object-fit: contain;
  }
  header.site-nav.scrolled .nav-noble {
    padding: 0 0 0 10px;
    margin-left: auto;
    border-left: 1px solid var(--line);
    border-radius: 0;
  }
  header.site-nav.scrolled .nav-noble img {
    height: 28px;
  }
  
  /* Burger icon button on navbar */
  .nav-burger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    margin-left: 2px;
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
    z-index: 1002;
    position: relative;
    color: #3A3A3A;
    border: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
  }
  .nav-burger svg {
    stroke: currentColor;
    transition: transform .3s ease, stroke .3s ease;
  }
  header.site-nav.scrolled .nav-burger {
    color: #3A3A3A;
  }
  .nav-burger .icon-close {
    display: none;
  }
  .nav-burger.open {
    /* cta h2 override neutralized */
  }
  .nav-burger.open .icon-open {
    display: none;
  }
  .nav-burger.open .icon-close {
    display: block;
    stroke: #3A3A3A;
  }

  /* Slide-out Drawer Panel: Straight, Stable, Pixel-Perfect */
  .nav-links {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(340px, 86vw) !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    box-sizing: border-box !important;
    background: #FFFFFF !important;
    flex-direction: column !important;
    padding: 18px 22px 30px !important;
    transform: translate3d(100%, 0, 0) !important;
    transform-origin: right top !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    transform-style: flat !important;
    will-change: transform !important;
    transition: transform .34s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: -14px 0 40px rgba(48, 50, 56, 0.20) !important;
    border-left: 1px solid var(--line) !important;
    z-index: 1005 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    display: flex !important;
    gap: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .nav-links.open {
    transform: translate3d(0, 0, 0) !important;
  }

  /* Mobile Nav Drawer Header: Brand Logo & Dedicated Close Button */
  .mobile-nav-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 0 16px 0 !important;
    margin-bottom: 6px !important;
    border-bottom: 1px solid var(--line) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
  }
  .mobile-nav-brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .mobile-nav-brand img {
    height: 32px !important;
    width: auto !important;
    max-width: 150px !important;
    object-fit: contain !important;
    display: block !important;
  }
  .mobile-nav-close {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #F2F2F2 !important;
    border: 1px solid var(--line) !important;
    color: #3A3A3A !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.06) !important;
    transition: background .2s ease, color .2s ease, transform .15s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .mobile-nav-close:active {
    background: #3A3A3A !important;
    color: #FFFFFF !important;
    border-color: #3A3A3A !important;
    transform: scale(0.92) !important;
  }

  /* Menu Items: Straight vertical flow, stable rows */
  .nav-links li:not(.mobile-nav-header) {
    border-bottom: 1px solid var(--line-2) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
  }
  .nav-links li.mobile-nav-cta {
    border-bottom: none !important;
    margin-top: 22px !important;
    padding-top: 6px !important;
    flex: 0 0 auto !important;
  }
  .nav-links a:not(.btn) { color: #4A2F24 !important;
    font-size: 1.02rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    padding: 14px 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: color .2s ease !important;
    text-decoration: none !important;
  }
  .nav-links a:not(.btn):hover,
  .nav-links a:not(.btn):active,
  .nav-links a:not(.btn).active {
    color: #A66B3F !important;
  }
  /* Elegant right indicator arrow */
  .nav-links li:not(.mobile-nav-cta):not(.mobile-nav-header) a::after {
    content: "›" !important;
    font-size: 1.3rem !important;
    line-height: 1 !important;
    color: var(--ink-soft) !important;
    opacity: 0.45 !important;
    font-weight: 400 !important;
    display: inline-block !important;
    transition: transform .2s ease, color .2s ease, opacity .2s ease !important;
    width: auto !important;
    height: auto !important;
    position: static !important;
    background: none !important;
  }
  .nav-links li:not(.mobile-nav-cta):not(.mobile-nav-header) a:active::after,
  .nav-links li:not(.mobile-nav-cta):not(.mobile-nav-header) a:hover::after {
    transform: translateX(4px) !important;
    color: #3A3A3A !important;
    opacity: 1 !important;
  }
  .mobile-nav-cta .btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 20px !important;
    font-size: 0.94rem !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 941px) {
  .nav-backdrop, .mobile-nav-cta, .mobile-nav-header, .nav-burger .icon-close {
    display: none !important;
  }
}

/* ---------------- MOBILE RESPONSIVE POLISH (<= 768px) ---------------- */
@media (max-width: 768px) {
  /* Common Spacing & Wrapper */
  .wrap {
    padding: 0 20px;
  }
  .section {
    padding: 64px 0;
  }
  .section.compact {
    padding: 52px 0;
  }
  .kicker {
    margin-bottom: 18px;
    font-size: 0.68rem;
    letter-spacing: 0.16em;
  }

  /* Hero Section */
  .hero {
    min-height: auto;
    padding-top: 80px;
    align-items: stretch;
  }
  .hero-inner {
    padding: 44px 0 52px;
  }
  .hero-mark {
    margin-bottom: 20px;
    gap: 10px;
  }
  .hero-mark img {
    height: 24px;
  }
  .hero-mark span {
    font-size: 0.68rem;
    letter-spacing: 0.16em;
  }
  .hero-kicker {
    font-size: 0.95rem;
    margin-bottom: 14px;
  }
  .hero h1 {
    font-size: clamp(2rem, 7.5vw, 2.9rem);
    line-height: 1.1;
    max-width: 100%;
  }
  .hero-sub {
    font-size: 0.98rem;
    line-height: 1.64;
    margin-top: 18px;
    max-width: 100%;
  }
  .hero-loc {
    margin-top: 18px;
    font-size: 0.85rem;
    line-height: 1.45;
    align-items: flex-start;
  }
  .hero-loc svg {
    flex: none;
    margin-top: 2px;
  }
  .hero-ctas {
    margin-top: 32px;
    gap: 12px;
    flex-direction: column;
    width: 100%;
  }
  .hero-ctas .btn {
    width: 100%;
    justify-content: center;
    padding: 15px 22px;
    font-size: 0.92rem;
    text-align: center;
  }
  .hero-scroll {
    display: none;
  }

  /* Overview / Our Visitors Section */
  .overview {
    padding: 38px 0 30px;
  }
  .ov-ghost {
    font-size: 13vw;
    top: 1%;
  }
  .ov-num {
    font-size: 3.8rem;
    top: -22px;
    left: 0;
  }
  .overview .ov-head .big {
    font-size: clamp(1.75rem, 6.2vw, 2.2rem);
    line-height: 1.1;
    max-width: 100%;
  }
  .overview .ov-copy {
    margin-top: 16px;
    padding-left: 14px;
    max-width: 100%;
  }
  .overview .ov-copy p {
    font-size: 0.94rem;
    line-height: 1.6;
    margin-bottom: 12px;
  }
  .overview .ov-art {
    margin-top: 20px;
  }
  .overview .ov-photo .frame img {
    max-height: 240px;
    aspect-ratio: 16/10;
  }
  /* Prevent horizontal overflow on photo badges */
  .overview .ov-photo .tag {
    position: static;
    margin-top: 10px;
    max-width: 100%;
    padding: 10px 14px;
    font-size: 0.84rem;
    background: #3A3A3A;
    color: #FFFFFF;
    transform: none !important;
    opacity: 1 !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.12);
  }
  .overview .ov-photo .detail {
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 6px 12px;
    min-width: auto;
    transform: none !important;
    opacity: 1 !important;
  }
  .overview .ov-photo .detail .n {
    font-size: 1.35rem;
  }
  .overview .quad {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 14px;
  }
  .overview .quad-item {
    background: #FFFFFF;
    padding: 10px 8px;
    border: 1px solid var(--line-2);
    border-radius: 4px;
  }

  /* Highlights Section */
  .highlights {
    padding: 64px 0;
  }
  .highlights .head {
    margin-bottom: 32px;
  }
  .highlights .head h2 {
    font-size: clamp(1.85rem, 6.8vw, 2.4rem);
  }
  .highlights .head p {
    font-size: 0.96rem;
    margin-top: 12px;
  }
  .stat-row {
    display: grid;
    grid-template-columns: 1fr;
    border-top: 1px solid rgba(36,36,36,0.12);
  }
  .stat-item {
    padding: 22px 0 18px !important;
    border-right: none;
    border-bottom: 1px solid rgba(36,36,36,0.10);
  }
  .stat-item .num {
    font-size: clamp(2.2rem, 7.5vw, 3rem);
  }
  .stat-item .label {
    margin-top: 8px;
    padding-bottom: 0;
    font-size: 0.88rem;
    max-width: 100%;
  }

  /* Architecture Section */
  .architecture {
    height: auto;
    min-height: auto;
    padding: 72px 0 60px;
    /* arch bg override neutralized */
  }
  .architecture .bg {
    background-size: cover !important;
    background-position: center 30% !important;
    /* arch bg override neutralized */
  }
  .architecture-content {
    padding-bottom: 0;
  }
  .architecture-content h2 {
    font-size: clamp(1.75rem, 6.2vw, 2.3rem);
    max-width: 100%;
    /* cta h2 override neutralized */
  }
  .architecture-content p {
    font-size: 0.95rem;
    line-height: 1.62;
    margin-top: 16px;
    max-width: 100%;
    color: #707070 !important;
  }
  .arch-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 14px;
    margin-top: 32px;
  }
  .arch-facts div:last-child {
    grid-column: 1 / -1;
  }
  .arch-facts div {
    font-size: 1.35rem;
  }
  .arch-facts span {
    font-size: 0.74rem;
    margin-top: 4px;
  }

  /* Floor Plans Section */
  .plans {
    padding: 64px 0;
  }
  .plan-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding-bottom: 6px;
    margin-bottom: 24px;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  .plan-tabs::-webkit-scrollbar {
    display: none;
  }
  .plan-tab {
    flex: 0 0 auto;
    scroll-snap-align: start;
    padding: 10px 18px;
    font-size: 0.85rem;
    white-space: nowrap;
  }
  .plan-panel.active {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .plan-img {
    padding: 16px;
    min-height: 200px;
  }
  .plan-img .zoom-hint {
    opacity: 1;
    transform: scale(1);
    width: 36px;
    height: 36px;
    bottom: 10px;
    right: 10px;
  }
  .plan-side h3 {
    font-size: 1.35rem;
  }
  .plan-side p {
    font-size: 0.94rem;
    line-height: 1.6;
  }
  .plan-side .spec-block {
    margin-top: 22px;
    padding-top: 18px;
  }
  .chip {
    padding: 6px 11px;
    font-size: 0.8rem;
  }

  /* Specifications Grid */
  .specs {
    padding: 64px 0;
  }
  .specs .spec-intro {
    margin-bottom: 30px;
  }
  .specs .spec-intro h2 {
    font-size: clamp(1.85rem, 6.8vw, 2.4rem);
  }
  .spec-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .spec-item {
    padding: 22px 12px;
    gap: 12px;
  }
  .spec-item .spec-icon {
    width: 44px;
    height: 44px;
  }
  .spec-item .spec-icon svg {
    width: 20px;
    height: 20px;
  }
  .spec-item span {
    font-size: 0.84rem;
    line-height: 1.35;
  }

  /* Amenities Carousel */
  .amenities {
    padding: 64px 0;
  }
  .amenities .head h2 {
    font-size: clamp(1.85rem, 6.8vw, 2.4rem);
  }
  .amenities .head p {
    font-size: 0.95rem;
    margin-top: 12px;
  }
  .amen-shell {
    margin-top: 32px;
  }
  .amen-scroll {
    gap: 16px;
    padding: 8px 4px 20px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .amen-card {
    flex: 0 0 82%;
    scroll-snap-align: center;
    padding: 24px 20px;
  }
  .amen-card p {
    font-size: 0.92rem;
    line-height: 1.55;
  }
  .amen-hint {
    font-size: 0.76rem;
    margin-top: 14px;
  }

  /* ---------------- GALLERY MOBILE SLIDER (<= 768px) ---------------- */
  .gallery {
    padding: 32px 0 38px;
    overflow: hidden;
  }
  .gallery .gal-top {
    margin-bottom: 12px;
  }
  .gallery .gal-top h2 {
    font-size: clamp(1.65rem, 6vw, 2.1rem);
    line-height: 1.18;
    letter-spacing: -0.01em;
  }
  
  /* Category Tabs: Smooth scrollable pill row */
  .gal-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding: 2px 2px 8px 2px;
    margin-bottom: 12px;
    flex-wrap: nowrap;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    width: 100%;
    max-width: 100%;
  }
  .gal-tabs::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
  .gal-tab {
    flex: 0 0 auto;
    padding: 8px 15px;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    border-radius: 6px;
    white-space: nowrap;
    border: 1px solid var(--line);
    background: #FFFFFF;
    color: var(--ink-soft);
    box-shadow: 0 1px 4px rgba(30,18,10,0.04);
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
  }
  .gal-tab:active {
    transform: scale(0.97);
  }
  .gal-tab.active {
    background: #3A3A3A;
    border-color: #3A3A3A;
    color: #FFFFFF;
    box-shadow: 0 3px 10px var(--brand-primary-focus);
  }

  .gallery .gal-counter {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    font-size: 0.86rem;
    margin-bottom: 10px;
    padding-left: 2px;
  }

  /* Slider Shell & Track */
  .gal-shell {
    position: relative;
    width: 100%;
    overflow: visible;
  }
  .gal-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    height: clamp(240px, 62vw, 290px) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-x: contain !important;
    padding: 4px 2px 8px !important;
    cursor: default !important;
    user-select: auto !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .gal-track::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  /* Slide Cards: 1 main image with ~16% peek of next image */
  .gal-slide {
    position: relative !important;
    flex: 0 0 84% !important;
    max-width: 84% !important;
    height: 100% !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    border-radius: 8px !important;
    border: 1px solid var(--line) !important;
    box-shadow: var(--shadow-sm) !important;
    background: #FFFFFF !important;
    overflow: hidden !important;
    cursor: pointer !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
  }
  .gal-slide:active {
    transform: scale(0.98) !important;
  }
  .gal-slide.featured,
  .gal-slide.support,
  .gal-slide.plan,
  #gal-wip .gal-slide:last-child,
  #gal-elevation .gal-slide:last-child,
  #gal-completed .gal-slide:last-child {
    flex: 0 0 84% !important;
    max-width: 84% !important;
    height: 100% !important;
    grid-column: auto !important;
  }
  .gal-slide.plan {
    background: #ffffff !important;
  }

  /* Zoom hint badge */
  .gal-slide::after {
    top: 6px !important;
    right: 6px !important;
    width: 22px !important;
    height: 22px !important;
    background-size: 11px !important;
  }
  .gal-slide .idx-tag {
    top: 6px !important;
    left: 6px !important;
    font-size: 0.6rem !important;
    padding: 3px 6px !important;
  }

  /* Uncropped Image Display */
  .gal-slide img {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    background: #FFFFFF !important;
    pointer-events: none !important;
    padding: 6px 8px 2px !important;
  }
  .gal-slide.plan img {
    background: #ffffff !important;
    padding: 6px 10px 2px !important;
  }

  /* Captions below image */
  .gal-slide .cap {
    flex: 0 0 auto !important;
    position: static !important;
    background: #FFFFFF !important;
    color: #3A3A3A !important;
    border-top: 1px solid var(--line-2) !important;
    padding: 7px 10px 8px !important;
    font-family: var(--sans) !important;
    font-style: normal !important;
    font-size: 0.74rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    margin: 0 !important;
    text-align: left !important;
  }

  /* Nav buttons on mobile */
  .gal-nav {
    display: none !important;
  }
  .gal-dots {
    display: flex !important;
    gap: 6px !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 14px !important;
  }
  .gal-dots span {
    width: 6px !important;
    height: 6px !important;
  }
  .gal-dots span.active {
    background: #3A3A3A !important;
    transform: scale(1.35) !important;
  }

  /* Small Mobile (<= 340px) */
  @media (max-width: 340px) {
    .gal-slide {
      flex: 0 0 86% !important;
      max-width: 86% !important;
    }
    .gal-track {
      gap: 8px !important;
      height: 235px !important;
    }
  }

  /* Phablet / Tablet View (601px - 768px) */
  @media (min-width: 601px) and (max-width: 768px) {
    .gal-slide {
      flex: 0 0 58% !important;
      max-width: 58% !important;
    }
    .gal-track {
      height: 300px !important;
    }
  }

  /* Location Section */
  .location {
    padding: 64px 0;
  }
  .loc-top h2 {
    font-size: clamp(1.85rem, 6.8vw, 2.4rem);
  }
  .loc-body {
    margin-top: 32px;
    gap: 32px;
  }
  .loc-map {
    border-width: 4px;
  }
  .loc-map iframe {
    height: 260px !important;
  }
  .loc-points {
    margin-top: 8px;
  }
  .loc-points li {
    padding: 0 0 20px 36px;
  }
  .loc-points .dotnum {
    width: 24px;
    height: 24px;
    font-size: 0.74rem;
  }
  .loc-points::before {
    left: 11px;
  }
  .loc-points span.name {
    font-size: 0.92rem;
    line-height: 1.45;
  }
  .loc-addr {
    margin-top: 24px;
    padding-top: 20px;
  }
  .loc-addr p {
    font-size: 1.05rem;
  }

  /* Enquiry Form Section */
  .enquiry {
    padding: 64px 0;
  }
  .enq-side h2 {
    font-size: clamp(1.85rem, 6.8vw, 2.4rem);
  }
  .enq-grid {
    gap: 36px;
  }
  .enq-side p {
    font-size: 0.95rem;
    margin: 14px 0 24px;
  }
  .enq-image img {
    height: 190px;
  }
  .enq-contacts {
    gap: 20px 24px;
    margin-top: 22px;
  }
  .enq-form-wrap {
    padding: 24px 18px;
  }
  .enq-form-wrap .f-row {
    margin-bottom: 18px;
  }
  .enq-form-wrap label {
    font-size: 0.78rem;
    gap: 6px;
  }
  .enq-form-wrap input[type="text"],
  .enq-form-wrap input[type="tel"],
  .enq-form-wrap input[type="email"],
  .enq-form-wrap select,
  .enq-form-wrap textarea {
    font-size: 16px !important; /* CRITICAL: prevents iOS automatic zoom on focus */
    padding: 12px 14px;
    min-height: 46px;
    border-radius: 2px;
  }
  .pill-group {
    gap: 8px;
  }
  .pill-group label {
    flex: 1 1 calc(33.333% - 8px);
  }
  .pill-group span {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px 6px;
    font-size: 0.8rem;
    min-height: 42px;
  }
  .enq-submit {
    min-height: 50px;
    font-size: 0.96rem;
    padding: 15px 24px;
  }

  /* CTA Band & Contact Cards */
  .cta-band {
    padding: 68px 0;
    /* cta override neutralized */
  }
  .cta-band h2 {
    font-size: clamp(1.8rem, 6.8vw, 2.5rem);
    /* cta h2 override neutralized */
  }
  .cta-band p {
    font-size: 0.96rem;
    margin-top: 18px;
    color: #707070 !important;
  }
  .cta-actions {
    flex-direction: column;
    width: 100%;
    margin-top: 32px;
    gap: 12px;
  }
  .cta-actions .btn {
    width: 100%;
    justify-content: center;
    padding: 15px 22px;
  }
  .contact-cards {
    margin-top: 36px;
  }
  .contact-card {
    padding: 22px 18px;
  }
  .contact-card .name {
    font-size: 1.15rem;
  }
  .contact-card a.phone {
    font-size: 0.98rem;
    min-height: 44px;
  }

  /* Footer Section */
  footer {
    padding: 60px 0 96px;
    /* footer override neutralized */
  }
  .footer-grid {
    gap: 36px;
    padding-bottom: 36px;
  }
  .footer-grid h5 {
    /* cta h2 override neutralized */
  }
  .footer-desc {
    color: #707070 !important;
  }
  .footer-links li a {
    color: #707070 !important;
  }
  .team-name {
    /* cta h2 override neutralized */
  }
  .team-role {
    color: #707070 !important;
  }
  .contact-item {
    color: #707070 !important;
  }
  .contact-link {
    /* cta h2 override neutralized */
  }
  .footer-bottom {
    color: #707070 !important;
  }
  .footer-credit .footer-dev {
    color: #707070 !important;
  }
  .footer-credit .footer-dev a {
    /* cta h2 override neutralized */
  }
  .footer-logo-wrap {
    padding: 7px 14px;
    margin-bottom: 16px;
  }
  .footer-logo-wrap .footer-logo {
    height: 38px;
  }
  .footer-desc {
    font-size: 0.88rem;
    line-height: 1.62;
    max-width: 100%;
  }
  .footer-grid h5 {
    margin-bottom: 16px;
    font-size: 0.78rem;
  }
  .footer-links li a {
    font-size: 0.9rem;
    padding: 4px 0;
  }
  .team-list {
    gap: 14px;
  }
  .team-item {
    padding-bottom: 10px;
  }
  .contact-list {
    gap: 14px;
  }
  .contact-item {
    font-size: 0.88rem;
  }
  .footer-bottom {
    margin-top: 28px;
    padding-top: 22px;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    font-size: 0.8rem;
  }
  .footer-credit {
    align-items: flex-start;
    text-align: left;
    line-height: 1.6;
  }
  .social-row {
    margin-top: 18px;
    gap: 12px;
  }
  .social-row .social-btn {
    width: 38px;
    height: 38px;
  }

  /* Floating Action Buttons */
  .fab-stack {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    gap: 10px;
    z-index: 90;
  }
  .fab {
    width: 46px;
    height: 46px;
    box-shadow: 0 8px 20px -4px rgba(0,0,0,0.45);
  }
  .fab-whatsapp svg {
    width: 22px;
    height: 22px;
  }
  .fab-call svg {
    width: 20px;
    height: 20px;
  }
  .fab-top svg {
    width: 18px;
    height: 18px;
  }

  /* Lightbox Mobile Polish */
  .lightbox {
    padding: 16px 12px;
    background: rgba(48, 50, 56, 0.96);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 2000;
  }
  .lightbox img {
    max-width: 95vw;
    max-height: 84vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 16px 48px rgba(0,0,0,0.85);
  }
  .lightbox .close {
    position: fixed;
    top: max(16px, env(safe-area-inset-top, 16px));
    right: 16px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(36, 24, 18, 0.85);
    border: 1px solid rgba(217, 220, 225, 0.3);
    color: #FFFFFF;
    font-size: 26px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0,0,0,0.5);
    transition: background .2s ease, transform .2s ease;
    -webkit-tap-highlight-color: transparent;
    z-index: 2005;
  }
  .lightbox .close:active {
    transform: scale(0.92);
    background: #242424;
  }
  .pdf-modal {
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px));
  }
  .pdf-modal-bar {
    padding: 4px 6px 10px;
    font-size: 0.88rem;
  }
  .pdf-modal-close {
    width: 40px;
    height: 40px;
  }
  .pdf-pages {
    padding: 8px;
    gap: 8px;
  }
}

/* ---------------- EXTRA SMALL MOBILES (<= 380px) ---------------- */
@media (max-width: 380px) {
  .wrap {
    padding: 0 14px;
  }
  .nav-logo {
    padding: 4px 7px;
  }
  .nav-logo img {
    height: 30px;
    max-width: 120px;
    object-fit: contain;
  }
  .nav-noble {
    padding: 4px 6px;
  }
  .nav-noble img {
    height: 26px;
    object-fit: contain;
  }
  .hero-mark span {
    font-size: 0.62rem;
  }
  .hero-loc {
    font-size: 0.8rem;
  }
  .spec-item {
    padding: 18px 8px;
  }
  .spec-item span {
    font-size: 0.78rem;
  }
  .enq-form-wrap {
    padding: 20px 14px;
  }
  .pill-group label {
    flex: 1 1 100%;
  }
  .amen-card {
    flex: 0 0 88%;
    padding: 20px 16px;
  }
  .gallery {
    padding: 42px 0 48px;
  }
  .gal-tabs {
    gap: 6px;
    margin-bottom: 16px;
  }
  .gal-tab {
    padding: 8px 14px;
    font-size: 0.78rem;
  }
  .gal-track {
    gap: 8px !important;
  }
  .gal-slide .cap {
    font-size: 0.68rem !important;
    padding: 18px 8px 6px !important;
  }
  .nav-links {
    width: min(300px, 92vw) !important;
    padding: 16px 16px 24px !important;
  }
  .mobile-nav-brand img {
    height: 28px !important;
    max-width: 130px !important;
  }
  .mobile-nav-close {
    width: 32px !important;
    height: 32px !important;
  }
  .nav-links a:not(.btn) {
    font-size: 0.96rem !important;
    padding: 12px 2px !important;
  }
  .gal-slide .idx-tag {
    top: 6px !important;
    left: 6px !important;
    font-size: 0.58rem !important;
    padding: 2px 5px !important;
  }
}

