/*
Theme Name: AB Green Valleys Premium
Theme URI: https://www.jdsgreens.com/
Author: AB Green Valleys
Description: Premium nature-led real estate WordPress theme for AB Green Valleys / JDS Greens.
Version: 10.1.2
Text Domain: ab-green-valleys
*/
:root {
  /* Centralized site palette — change these values to recolor the theme. */
  --abgv-brand: rgb(113, 125, 51);
  --abgv-brand-rgb: 113 125 51;
  --abgv-brand-ink: color-mix(in srgb, var(--abgv-brand) 32%, #10140a 68%);
  --abgv-brand-tint: rgb(var(--abgv-brand-rgb) / 0.12);
  --abgv-brand-pale: color-mix(in srgb, var(--abgv-brand) 12%, #fff 88%);
  --abgv-brand-glass: rgb(var(--abgv-brand-rgb) / 0.4);
  --green: var(--abgv-brand);
  --green2: var(--abgv-brand);
  --green3: var(--abgv-brand);
  --gold: #d9aa45;
  --gold2: #f1cf72;
  --cream: #f7f3ea;
  --white: #fff;
  --ink: var(--abgv-brand-ink);
  --muted: #6d766f;
  --line: rgb(var(--abgv-brand-rgb) / 0.14);
  --shadow: 0 20px 60px rgb(var(--abgv-brand-rgb) / 0.18);
  --radius: 24px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 20%,rgba(217,170,69,.06),transparent 25%),radial-gradient(circle at 80% 70%,rgb(var(--abgv-brand-rgb) / .06),transparent 28%);z-index:-1}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow:after{content:"";height:1px;width:42px;background:currentColor}.section{padding:92px 0}.section-head{text-align:center;max-width:800px;margin:0 auto 44px}.section-head h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(34px,4vw,56px);line-height:1.08;margin:12px 0;color:var(--green3)}.section-head p{color:var(--muted);max-width:680px;margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:8px;padding:14px 22px;font-size:12px;font-weight:800;letter-spacing:.08em;transition:.35s ease;cursor:pointer}.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--abgv-brand-ink);box-shadow:0 12px 28px rgba(217,170,69,.2)}.btn-gold:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(217,170,69,.3)}.btn-outline{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(255,255,255,.06)}.btn-outline:hover{background:#fff;color:var(--green)}
/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:14px 0;transition:.4s}.site-header.scrolled{background:rgb(var(--abgv-brand-rgb) / .94);backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(0,0,0,.15)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;color:#fff;position:relative;z-index:1}.brand-tricolour-bloom{position:relative;display:inline-flex;align-items:center;justify-content:center}.logo-bloom-container{position:absolute;inset:-8px -12px;border-radius:18px;pointer-events:none;z-index:-1}.logo-bloom-container:before{content:"";position:absolute;inset:-2px;border-radius:18px;background:linear-gradient(135deg,rgba(255,153,51,.35) 0%,rgba(255,255,255,.5) 50%,rgba(19,136,8,.35) 100%);filter:blur(12px);opacity:.85;animation:tricolourPulse 5s ease-in-out infinite alternate}.bloom-aura{position:absolute;border-radius:50%;filter:blur(12px);opacity:.6;animation:tricolourOrbit 7s ease-in-out infinite alternate}.bloom-saffron{width:50px;height:50px;background:radial-gradient(circle,rgba(255,153,51,.65),transparent 70%);top:-6px;left:-6px}.bloom-white{width:60px;height:60px;background:radial-gradient(circle,rgba(255,255,255,.85),transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation:tricolourPulse 4s ease-in-out infinite alternate}.bloom-green{width:50px;height:50px;background:radial-gradient(circle,rgba(19,136,8,.65),transparent 70%);bottom:-6px;right:-6px;animation-delay:-3s}.bloom-sparkle{position:absolute;font-size:10px;pointer-events:none;line-height:1;opacity:0;animation:sparkleTwinkle 4s ease-in-out infinite}.sparkle-1{top:-6px;right:4px;color:#ff9933;text-shadow:0 0 8px rgba(255,153,51,.9);animation-delay:.2s}.sparkle-2{bottom:-4px;left:-2px;font-size:11px;color:#138808;text-shadow:0 0 8px rgba(19,136,8,.9);animation-delay:1.8s}.sparkle-3{top:42%;right:-10px;font-size:8px;color:#f0c45d;text-shadow:0 0 6px rgba(240,196,93,.8);animation-delay:3.1s}.brand-tricolour-bloom:hover .logo-bloom-container:before{opacity:1;filter:blur(16px);transform:scale(1.08)}.brand-tricolour-bloom:hover .brand-logo{transform:scale(1.03);transition:transform .3s ease}@keyframes tricolourPulse{0%{opacity:.65;transform:scale(.97)}100%{opacity:1;transform:scale(1.05)}}@keyframes tricolourOrbit{0%{transform:translateY(0) translateX(0) scale(.95)}50%{transform:translateY(-4px) translateX(4px) scale(1.08)}100%{transform:translateY(3px) translateX(-3px) scale(1)}}@keyframes sparkleTwinkle{0%,100%{opacity:0;transform:scale(.6) rotate(0deg)}50%{opacity:.95;transform:scale(1.25) rotate(15deg)}}.brand-mark{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25))}.brand-text strong{font-family:Georgia,serif;display:block;font-size:20px;line-height:1;color:#f0c45d}.brand-text small{font-size:8px;letter-spacing:.22em;color:#fff}.nav{display:flex;align-items:center;gap:26px}.nav a{color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;position:relative;padding:12px 0}.nav a:after{content:"";position:absolute;left:0;bottom:5px;width:0;height:2px;background:var(--gold);transition:.3s}.nav a:hover:after,.nav a.active:after{width:100%}.nav-cta{padding:12px 18px!important;background:linear-gradient(135deg,var(--gold2),var(--gold));border-radius:7px;color:var(--abgv-brand-ink)!important}.nav-cta:after{display:none!important}.menu-toggle{display:none;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:8px;padding:9px 12px}
/* Hero */
.hero{min-height:760px;display:flex;align-items:flex-end;position:relative;overflow:hidden;color:#fff;background:var(--green3)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(var(--abgv-brand-rgb) / .48) 0%,rgb(var(--abgv-brand-rgb) / .12) 55%,rgb(var(--abgv-brand-rgb) / .28) 100%),url('assets/images/gallery-gate.jpg') center/cover;transform:scale(1.04);animation:heroZoom 14s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgb(var(--abgv-brand-rgb) / .65),transparent 45%);pointer-events:none}.hero-inner{position:relative;z-index:3;display:grid;grid-template-columns:1.25fr .65fr;gap:40px;align-items:center;padding:145px 0 75px}.hero-copy{max-width:700px}.hero-copy h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(48px,6vw,82px);line-height:.98;margin:16px 0 20px}.hero-copy h1 span{color:var(--gold2)}.hero-copy>p{font-size:22px;margin:0 0 8px}.hero-location{color:#f4d57d;margin:0 0 26px;font-weight:700}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-features{display:flex;flex-wrap:wrap;gap:0;margin-top:55px;border-top:1px solid rgba(255,255,255,.18);padding-top:20px}.hero-feature{display:flex;align-items:center;gap:9px;padding:0 18px;border-right:1px solid rgba(255,255,255,.22);font-size:11px}.hero-feature:first-child{padding-left:0}.hero-feature i{color:var(--gold2);font-style:normal;font-size:18px}.hero-form{animation:floatY 6s ease-in-out infinite;max-width:410px;margin-left:auto;width:100%}.form-card{background:rgb(var(--abgv-brand-rgb) / .92);border:1px solid rgba(217,170,69,.65);border-radius:20px;padding:26px;box-shadow:0 25px 80px rgba(0,0,0,.35);position:relative;overflow:hidden}.form-card:before{content:"";position:absolute;inset:-40% -30%;background:radial-gradient(circle,rgba(217,170,69,.16),transparent 55%);animation:formGlow 8s linear infinite}.form-card>*{position:relative}.form-card h3{font-family:Georgia,serif;font-size:25px;margin:0;color:#fff}.form-card>p{font-size:11px;color:#cfd9d3;margin:4px 0 16px}.field{margin-bottom:11px}.field label{display:block;color:#e7bf59;text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:800;margin:0 0 5px}.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid #dfe5e1;color:var(--abgv-brand-ink);border-radius:7px;padding:12px 13px;outline:none;transition:.3s;box-shadow:0 0 0 0 rgba(217,170,69,0)}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,170,69,.14);transform:translateY(-1px)}.form-submit{width:100%;border:0;margin-top:4px}.form-note{font-size:9px!important;text-align:center;color:#aebeb6!important;margin:10px 0 0!important}.form-result{font-size:12px;margin-top:8px;text-align:center}.form-result.success{color:#8ee2ad}.form-result.error{color:#ffb2a7}
.hero-form .form-card{padding:20px 22px;border-radius:18px}.hero-form .form-card h3{font-size:21px}.hero-form .form-card>p{font-size:10.5px;margin:3px 0 12px}.hero-form .field{margin-bottom:8px}.hero-form .field label{font-size:8.5px;margin:0 0 3px}.hero-form .field input,.hero-form .field select,.hero-form .field textarea{padding:8px 11px;font-size:11.5px;border-radius:6px}.hero-form .field textarea{min-height:55px;height:55px}.hero-form .form-submit{padding:11px 18px;font-size:11px;margin-top:2px}.hero-form .form-note{font-size:8.5px!important;margin:6px 0 0!important}.hero-form .form-result{font-size:11px;margin-top:6px}
/* Stats */
.stats{background:var(--green);color:#fff;position:relative;z-index:3;margin-top:-1px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{text-align:center;padding:27px 16px;border-right:1px solid rgba(255,255,255,.2);position:relative}.stat:last-child{border-right:0}.stat .icon{color:var(--gold);font-size:25px}.stat strong{font-family:Georgia,serif;font-weight:500;font-size:42px;display:block;line-height:1.05;margin:3px 0}.stat span{font-size:12px;color:#d4dfd9}
/* Amenity cards */
.amenities{background:var(--cream)}.amenity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.amenity-card{height:390px;border-radius:16px;overflow:hidden;position:relative;box-shadow:var(--shadow);background:var(--abgv-brand-ink);transform:translateY(0);transition:.45s}.amenity-card:hover{transform:translateY(-10px)}.amenity-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.05) 70%)}.amenity-img{position:absolute;inset:0;background:var(--bg) center/cover;transition:1s}.amenity-card:hover .amenity-img{transform:scale(1.08)}.amenity-content{position:absolute;z-index:2;bottom:0;padding:24px;color:#fff}.amenity-icon{width:40px;height:40px;border:1px solid rgba(255,255,255,.65);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.15);margin-bottom:10px}.amenity-content h3{font-family:Georgia,serif;margin:0;font-size:22px}.amenity-content p{margin:4px 0 0;font-size:11px;color:#e4e9e6}
/* Split / why */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.split-copy{padding:70px clamp(30px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.split-copy.dark{background:var(--green);color:#fff}.split-copy h2{font-family:Georgia,serif;font-size:52px;font-weight:500;line-height:1.02;margin:12px 0}.split-copy p{color:#c9d6cf;max-width:520px}.split-media{overflow:hidden}.split-media img{width:100%;height:100%;object-fit:cover;transition:1.2s}.split:hover .split-media img{transform:scale(1.04)}.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.info-card{padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:.35s;box-shadow:0 12px 35px rgba(0,0,0,.04)}.info-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:rgba(217,170,69,.45)}.check-icon{color:var(--gold);font-size:25px}.info-card h3{font-family:Georgia,serif;font-size:20px;margin:10px 0}.info-card p{font-size:12px;color:var(--muted);margin:0}
/* Construction */
.construction-wrap{background:#f0eee6}.construction-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:22px}.updates-list{display:grid;gap:12px}.update-card{display:grid;grid-template-columns:150px 1fr 90px;gap:18px;align-items:center;background:#fff;padding:12px;border:1px solid var(--line);border-radius:14px;transition:.35s}.update-card:hover{transform:translateX(6px);box-shadow:var(--shadow)}.update-card img{width:150px;height:100px;object-fit:cover;border-radius:10px}.update-card h3{margin:5px 0 2px;font-family:Georgia,serif}.update-card p{font-size:12px;color:var(--muted);margin:0}.status{font-size:9px;text-transform:uppercase;font-weight:800;background:#e2f5e8;color:#18713e;border-radius:20px;padding:5px 9px}.update-date{text-align:right;color:var(--gold)}.update-date strong{font-family:Georgia,serif;font-size:30px;display:block}.update-date small{font-size:10px;text-transform:uppercase;color:var(--muted)}.construction-panel{border-radius:20px;padding:34px;background:var(--green);color:#fff;position:relative;overflow:hidden}.construction-panel:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:rgba(217,170,69,.1);right:-100px;bottom:-120px}.construction-panel h3{font-family:Georgia,serif;font-size:34px;line-height:1.05}.construction-panel p{color:#c7d6ce;font-size:13px}.progress{height:7px;background:rgba(255,255,255,.12);border-radius:20px;overflow:hidden;margin:24px 0 8px}.progress span{display:block;width:72%;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));animation:progress 2s ease both}
/* Testimonials / Feedback Cards — Light & Happy Design */
.testimonials.trust-section {
  background: linear-gradient(135deg, #fbf7f0 0%, #f5efe3 45%, var(--abgv-brand-pale) 100%);
  color: var(--ink);
  position: relative;
  overflow: hidden;
  padding: 100px 0;
  border-top: 1px solid rgba(217, 170, 69, 0.25);
  border-bottom: 1px solid rgba(217, 170, 69, 0.15);
}

.testimonials.trust-section:before {
  content: "";
  position: absolute;
  top: -10%;
  left: -5%;
  width: 450px;
  height: 450px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(241, 207, 114, 0.35), transparent 70%);
  filter: blur(50px);
  animation: happyFloatGlow1 12s ease-in-out infinite alternate;
  pointer-events: none;
}

.testimonials.trust-section:after {
  content: "";
  position: absolute;
  bottom: -15%;
  right: -5%;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(162, 214, 185, 0.35), transparent 70%);
  filter: blur(60px);
  animation: happyFloatGlow2 14s ease-in-out infinite alternate;
  pointer-events: none;
}

.trust-particles {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(217, 170, 69, 0.22) 1.5px, transparent 1.5px);
  background-size: 32px 32px;
  opacity: 0.6;
  pointer-events: none;
  animation: happyParticleDrift 25s linear infinite;
}

.testimonials .section-head h2 {
  color: var(--green3);
  font-size: clamp(34px, 4.2vw, 54px);
}

.testimonials .section-head p {
  color: #556b60;
  font-size: 15px;
}

.testimonials .eyebrow {
  color: var(--gold);
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
  z-index: 2;
}

.testimonial {
  padding: 34px 30px;
  border: 1px solid rgba(217, 170, 69, 0.35);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 35px rgb(var(--abgv-brand-rgb) / 0.05), 0 2px 6px rgba(0, 0, 0, 0.02);
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.testimonial:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.4), transparent);
  pointer-events: none;
}

.testimonial:hover {
  transform: translateY(-8px) scale(1.02);
  background: #ffffff;
  border-color: rgba(241, 207, 114, 0.85);
  box-shadow: 0 20px 50px rgba(217, 170, 69, 0.22), 0 0 25px rgba(241, 207, 114, 0.18);
}

.stars {
  color: #d9aa45;
  letter-spacing: 5px;
  font-size: 18px;
  margin-bottom: 14px;
  filter: drop-shadow(0 2px 4px rgba(217, 170, 69, 0.3));
  animation: starSparkle 4s ease-in-out infinite;
}

.testimonial p {
  font-family: Georgia, serif;
  font-size: 18px;
  line-height: 1.6;
  color: var(--abgv-brand-ink);
  margin: 0 0 22px;
  font-style: italic;
}

.person {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 14px;
  border-top: 1px solid rgb(var(--abgv-brand-rgb) / 0.08);
}

.avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: var(--abgv-brand-ink);
  font-weight: 900;
  font-size: 16px;
  box-shadow: 0 6px 16px rgba(217, 170, 69, 0.3);
  flex-shrink: 0;
  transition: transform 0.35s ease;
}

.testimonial:hover .avatar {
  transform: scale(1.1) rotate(5deg);
}

.person strong {
  display: block;
  font-size: 14px;
  color: var(--green3);
  font-weight: 800;
}

.person span {
  font-size: 11px;
  color: #556b60;
  font-weight: 600;
}

@keyframes happyFloatGlow1 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(60px, 35px) scale(1.15); }
  100% { transform: translate(-30px, 20px) scale(0.95); }
}

@keyframes happyFloatGlow2 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-50px, -30px) scale(1.1); }
  100% { transform: translate(40px, -20px) scale(0.92); }
}

@keyframes happyParticleDrift {
  0% { background-position: 0 0; }
  100% { background-position: 64px 64px; }
}

@keyframes starSparkle {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.85; transform: scale(1.04); }
}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:12px}.gallery-item{overflow:hidden;border-radius:15px;position:relative}.gallery-item:nth-child(1){grid-row:span 2}.gallery-item:nth-child(5){grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:1s}.gallery-item:after{content:"View image ↗";position:absolute;inset:auto 14px 14px;opacity:0;transform:translateY(8px);color:#fff;font-size:11px;background:rgb(var(--abgv-brand-rgb) / .8);padding:8px 12px;border-radius:20px;transition:.35s}.gallery-item:hover img{transform:scale(1.08)}.gallery-item:hover:after{opacity:1;transform:none}
/* Location */
.location{background:var(--cream)}.location-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:45px;align-items:stretch}.location-copy h2{font-family:Georgia,serif;font-size:52px;font-weight:500;line-height:1.02;margin:14px 0}.location-copy p{color:var(--muted)}.location-list{display:grid;gap:12px;margin:24px 0}.location-list div{padding:13px 16px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:12px}.map-box{min-height:450px;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.map-box iframe{width:100%;height:100%;border:0;min-height:450px}
/* Sticky tools */
.quick-tools{position:fixed;right:18px;bottom:24px;z-index:990;display:flex;flex-direction:column;gap:8px}.quick-tool{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:800;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.4);transition:.3s}.quick-tool:hover{transform:translateY(-4px) scale(1.05)}.quick-tool.wa{background:#159447}.quick-tool.call{background:var(--abgv-brand)}.quick-tool.visit{background:var(--gold);color:var(--abgv-brand-ink)}.quick-tool span{font-size:20px;display:block;line-height:1}.updates-sticky{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:970;width:285px;background:rgba(255,255,255,.97);border:1px solid rgb(var(--abgv-brand-rgb) / .15);box-shadow:0 25px 70px rgb(var(--abgv-brand-rgb) / .22);border-radius:16px;overflow:hidden;backdrop-filter:blur(12px)}.updates-sticky-head{padding:16px 18px;background:var(--green);color:#fff}.updates-sticky-head small{color:var(--gold2);font-size:9px;font-weight:800;letter-spacing:.14em}.updates-sticky-head h3{font-family:Georgia,serif;font-size:20px;margin:4px 0}.sticky-update{display:grid;grid-template-columns:74px 1fr;gap:10px;padding:11px;border-bottom:1px solid var(--line)}.sticky-update img{width:74px;height:58px;object-fit:cover;border-radius:7px}.sticky-update h4{font-size:11px;margin:0 0 3px}.sticky-update p{font-size:9px;color:var(--muted);margin:0}.sticky-update time{font-size:8px;color:#8a6a23}.sticky-footer{padding:10px;text-align:center}.sticky-footer a{font-size:10px;font-weight:900;color:var(--green)}
/* Footer */
.site-footer{background:var(--abgv-brand);color:#cbd8d1;padding:65px 0 20px;position:relative;overflow:hidden}.site-footer:after{content:"";position:absolute;bottom:-40px;left:50%;transform:translateX(-50%);width:80%;height:120px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(217,170,69,.18),transparent 70%);filter:blur(30px);animation:footerGlowPulse 6s ease-in-out infinite alternate;pointer-events:none}.footer-grid{display:grid;grid-template-columns:1.1fr 1.35fr 1fr 1.05fr;gap:30px;position:relative;z-index:2}.site-footer h3{font-family:Georgia,serif;color:#fff;font-size:18px}.site-footer p,.site-footer a{font-size:11px;color:#b9c8c1}.site-footer a:hover{color:var(--gold2)}.site-footer a.btn.btn-gold,.site-footer a.btn.btn-gold:hover{color:#000}.footer-links{display:grid;gap:8px}.footer-links-grid{grid-template-columns:repeat(2,1fr);gap:8px 20px}.f-link-icon{display:inline-flex;align-items:center;justify-content:center;font-size:11px;margin-right:5px;opacity:.85;transition:transform .3s ease,opacity .3s ease}.footer-links a:hover .f-link-icon{transform:scale(1.22);opacity:1}.footer-brand{color:#f0c45d;font-family:Georgia,serif;font-size:26px}.footer-socials{display:flex;align-items:center;gap:10px;margin-top:16px}.social-btn{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(217,170,69,.32);color:#f0c45d;display:grid;place-items:center;transition:all .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 4px 12px rgba(0,0,0,.15)}.social-btn:hover{transform:translateY(-4px) scale(1.08);background:linear-gradient(135deg,var(--gold2),var(--gold));border-color:var(--gold);color:var(--abgv-brand-ink);box-shadow:0 8px 20px rgba(217,170,69,.35)}.footer-bottom{border-top:1px solid rgba(241,207,114,.22);margin-top:40px;padding-top:15px;text-align:center;font-size:10px;position:relative;z-index:2;overflow:hidden}.footer-bottom:before{content:"";position:absolute;top:-1px;left:-20%;width:30%;height:1px;background:linear-gradient(90deg,transparent,#f0c45d,transparent);animation:footerLineSweep 5s ease-in-out infinite}.footer-bottom a{color:var(--gold2);font-weight:700;transition:.3s}.footer-bottom a:hover{color:#fff;text-decoration:underline}@keyframes footerGlowPulse{0%{opacity:.35;transform:translateX(-50%) scale(.95)}100%{opacity:.9;transform:translateX(-50%) scale(1.15)}}@keyframes footerLineSweep{0%{left:-20%}100%{left:100%}}
/* Inner pages */
.page-hero{min-height:360px;display:flex;align-items:flex-end;padding:120px 0 55px;background:linear-gradient(90deg,rgb(var(--abgv-brand-rgb) / .82),rgb(var(--abgv-brand-rgb) / .28)),url('../images/gate-hero.jpg') center/cover;color:#fff}.page-hero h1{font-family:Georgia,serif;font-size:60px;font-weight:500;margin:8px 0}.page-content{padding:75px 0}.rich-content{max-width:900px;margin:auto}.rich-content h2{font-family:Georgia,serif;font-size:40px;color:var(--green)}.rich-content p{color:var(--muted)}.updates-page{background:#f4f1e9}.updates-page-grid{display:grid;grid-template-columns:1fr .75fr;gap:25px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filter{border:1px solid var(--line);background:#fff;border-radius:30px;padding:9px 15px;font-size:10px;font-weight:800}.filter.active{background:var(--green);color:#fff}.updates-page-card{display:grid;grid-template-columns:220px 1fr;gap:20px;background:#fff;border-radius:16px;padding:14px;margin-bottom:14px;border:1px solid var(--line)}.updates-page-card img{width:220px;height:150px;object-fit:cover;border-radius:10px}.contact-layout{display:grid;grid-template-columns:1fr .8fr;gap:30px}.contact-info{padding:32px;background:var(--green);color:#fff;border-radius:20px}.contact-info h2{font-family:Georgia,serif;font-size:42px}.contact-info p{color:#c8d6cf}.contact-detail{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.13)}
/* Animations */
.reveal,.reveal-left,.reveal-right{opacity:0;transform:translateY(35px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}.reveal-left{transform:translateX(-45px)}.reveal-right{transform:translateX(45px)}.reveal.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(20px);animation:staggerIn .7s forwards}.stagger>*:nth-child(2){animation-delay:.08s}.stagger>*:nth-child(3){animation-delay:.16s}.stagger>*:nth-child(4){animation-delay:.24s}.stagger>*:nth-child(5){animation-delay:.32s}@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.09)}}@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes formGlow{to{transform:rotate(360deg)}}@keyframes progress{from{width:0}to{width:72%}}@keyframes staggerIn{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* V9 MAP SHOWCASE — rich presentation layer while preserving the live Google map underneath */
.map-showcase{min-height:540px;border-radius:24px;padding:0;background:linear-gradient(135deg,#fff7df,#ead29a);box-shadow:0 24px 70px rgba(126,91,25,.18);border:1px solid rgba(217,170,69,.72);position:relative;overflow:hidden}
.map-visual{position:absolute;inset:5px;border-radius:20px;overflow:hidden;background:#eee7d5}
.map-visual iframe{position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;filter:saturate(.82) sepia(.08) contrast(.98) brightness(1.03)}
.map-wash{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,249,229,.16),rgba(255,255,255,.02) 45%,rgba(219,180,72,.12));pointer-events:none;z-index:2}
.map-showcase:before{content:"";position:absolute;inset:-1px;border-radius:24px;z-index:4;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.8),transparent 25%,transparent 72%,rgba(255,255,255,.75));opacity:.65}
.map-showcase:after{content:"";position:absolute;inset:0;border-radius:24px;z-index:5;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),inset 0 0 40px rgba(217,170,69,.16),0 0 34px rgba(217,170,69,.25)}
.map-compass{position:absolute;z-index:8;left:24px;top:20px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(255,250,235,.88);border:1px solid rgba(174,126,30,.48);box-shadow:0 8px 25px rgba(126,91,25,.16);color:#8e671f;backdrop-filter:blur(5px);pointer-events:none}
.map-compass span{position:absolute;top:7px;font-size:9px;font-weight:900}.map-compass b{font-size:30px;font-weight:400;transform:rotate(-15deg)}
.map-project-marker{position:absolute;z-index:9;left:50%;top:52%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;color:var(--abgv-brand-ink);pointer-events:none}
.map-project-marker i{width:30px;height:40px;background:linear-gradient(180deg,#e7bd52,#a87516);border:3px solid #fff;border-radius:52% 52% 52% 0;transform:rotate(-45deg);box-shadow:0 8px 22px rgba(174,126,30,.42),0 0 0 8px rgba(217,170,69,.10);position:relative}
.map-project-marker i:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.map-project-marker strong{font-size:13px;line-height:1.1;letter-spacing:.04em;text-shadow:0 1px 2px #fff}
.map-live-ring{position:absolute;z-index:7;left:50%;top:52%;width:145px;height:82px;transform:translate(-50%,-50%);border:1px solid rgba(217,170,69,.55);border-radius:50%;animation:mapRing 2.8s ease-out infinite;pointer-events:none}
.map-live-dot{position:absolute;z-index:8;left:50%;top:52%;width:9px;height:9px;border-radius:50%;background:#e0ad3d;box-shadow:0 0 20px rgba(217,170,69,.9);animation:mapDot 1.8s ease-in-out infinite;pointer-events:none}
.map-place{position:absolute;z-index:9;display:grid;grid-template-columns:42px 1fr;column-gap:9px;align-items:center;min-width:130px;color:var(--abgv-brand-ink);text-shadow:0 1px 0 rgba(255,255,255,.8);pointer-events:none}
.map-place span{grid-row:span 2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,251,239,.9);border:1px solid rgba(217,170,69,.58);color:#a67519;font-size:18px;box-shadow:0 0 0 6px rgba(217,170,69,.08),0 8px 22px rgba(126,91,25,.12);animation:mapMarkerPulse 2.6s ease-in-out infinite}
.map-place b{font-size:12px;line-height:1.12}.map-place small{font-size:10px;color:#6f603f}.place-highway{top:13%;left:54%}.place-school{top:23%;right:7%}.place-hospital{top:50%;right:5%}.place-market{bottom:20%;left:19%}.place-college{bottom:15%;right:16%}.place-town{top:37%;left:10%}
.map-road-label{position:absolute;z-index:8;color:rgba(80,72,52,.82);font-size:9px;font-style:italic;transform:rotate(-24deg);pointer-events:none}.road-nh{top:8%;right:25%;transform:rotate(28deg)}.road-bypass{top:57%;left:6%;transform:rotate(-24deg)}.road-taraori{bottom:17%;left:49%;transform:rotate(62deg)}
@keyframes mapRing{0%{opacity:.7;transform:translate(-50%,-50%) scale(.65)}80%,100%{opacity:0;transform:translate(-50%,-50%) scale(1.35)}}@keyframes mapDot{0%,100%{transform:scale(.9);opacity:.8}50%{transform:scale(1.35);opacity:1}}@keyframes mapMarkerPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07);box-shadow:0 0 0 10px rgba(217,170,69,.06),0 10px 28px rgba(126,91,25,.18)}}
@media(max-width:850px){.map-showcase{min-height:460px}.map-place{transform:scale(.88);transform-origin:center}.place-highway{left:50%}.place-school{right:2%}.place-hospital{right:1%}.place-town{left:3%}.place-market{left:10%}.place-college{right:8%}}
@media(max-width:560px){.map-showcase{min-height:400px;border-radius:18px}.map-visual{border-radius:14px}.map-compass{left:12px;top:12px;width:50px;height:50px}.map-place{min-width:90px;grid-template-columns:32px 1fr;column-gap:5px;transform:scale(.68)}.map-place span{width:32px;height:32px;font-size:14px}.map-place b{font-size:11px}.map-place small{font-size:9px}.map-project-marker strong{font-size:10px}.map-project-marker i{width:24px;height:33px}.map-live-ring{width:110px;height:64px}.road-nh{right:18%}}

@media(max-width:1100px){.nav{gap:15px}.hero-inner{grid-template-columns:1fr .8fr}.amenity-grid{grid-template-columns:repeat(3,1fr)}.why-grid{grid-template-columns:repeat(2,1fr)}.updates-sticky{width:250px}.container{width:min(1100px,calc(100% - 30px))}}
@media(max-width:850px){.nav{position:absolute;top:74px;left:15px;right:15px;background:rgb(var(--abgv-brand-rgb) / .98);display:none;flex-direction:column;align-items:stretch;padding:15px;border-radius:14px}.nav.open{display:flex}.nav a{padding:11px 14px}.menu-toggle{display:block}.hero{min-height:auto}.hero-inner{grid-template-columns:1fr;padding:130px 0 55px}.hero-form{max-width:560px}.hero-copy h1{font-size:52px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.amenity-grid{grid-template-columns:repeat(2,1fr)}.split,.location-grid,.construction-grid,.updates-page-grid,.contact-layout{grid-template-columns:1fr}.testimonial-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.updates-sticky{position:fixed;top:auto;bottom:95px;right:10px;transform:none;width:calc(100% - 80px);max-width:330px;max-height:48vh;overflow:auto}.quick-tools{right:10px}.quick-tool{width:50px;height:50px}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.container{width:calc(100% - 24px)}.brand-text{display:none}.hero-copy h1{font-size:42px}.hero-copy>p{font-size:18px}.hero-features{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-feature,.hero-feature:first-child{border:0;padding:0}.amenity-grid{grid-template-columns:1fr}.amenity-card{height:350px}.section{padding:65px 0}.split-copy h2,.location-copy h2{font-size:40px}.why-grid{grid-template-columns:1fr}.update-card{grid-template-columns:90px 1fr}.update-card img{width:90px;height:80px}.update-date{display:none}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:145px}.gallery-item:nth-child(1){grid-row:span 2}.gallery-item:nth-child(5){grid-column:span 2}.footer-grid{grid-template-columns:1fr}.page-hero h1{font-size:45px}.updates-page-card{grid-template-columns:1fr}.updates-page-card img{width:100%;height:210px}}
/* ABGV v3 two-column content + dynamic sidebar */
.abgv-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:18px;max-width:1540px;margin:0 auto;padding:0 14px;background:#f7f5ef}.abgv-main{min-width:0}.abgv-sidebar{min-width:0;align-self:start}.sidebar-inner{position:sticky;top:82px;max-height:calc(100vh - 95px);overflow:auto;padding:0 0 18px;scrollbar-width:thin}.side-card{background:#fff;border:1px solid rgb(var(--abgv-brand-rgb) / .13);border-radius:16px;padding:15px;margin:14px 0;box-shadow:0 12px 35px rgb(var(--abgv-brand-rgb) / .10);animation:sideIn .8s ease both}.side-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.side-head span{font-size:12px;font-weight:900;letter-spacing:.07em;color:var(--abgv-brand-ink)}.side-head a{font-size:9px;color:#7d6a36;font-weight:800}.side-update{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #ecebe5}.side-update:last-child,.side-news:last-child{border-bottom:0}.side-update img,.side-news img{width:90px;height:68px;object-fit:cover;border-radius:9px}.side-update h4,.side-news h4{font-size:11px;line-height:1.3;margin:0 0 4px;color:var(--abgv-brand-ink)}.side-update small,.side-news small{display:block;font-size:8px;color:#888;margin-top:4px}.side-status{display:inline-block;font-size:7px;font-weight:900;color:#fff;background:var(--abgv-brand);border-radius:20px;padding:3px 6px;margin-bottom:3px}.side-news{display:grid;grid-template-columns:74px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #ecebe5}.side-news img{width:74px;height:58px}.side-news p{font-size:9px;line-height:1.35;color:#7a817d;margin:0}.quick-enquiry .form-card{padding:4px 0 0;background:transparent;box-shadow:none;border:0}.quick-enquiry .form-card h3{font-size:23px}.quick-enquiry .form-card>p{font-size:10px}.quick-enquiry .field label{font-size:8px}.quick-enquiry .field input,.quick-enquiry .field select,.quick-enquiry .field textarea{padding:10px 11px;font-size:10px}.quick-enquiry .field{margin-bottom:9px}.quick-enquiry .form-note{font-size:8px}.quick-enquiry .form-orbit{display:none}
/* premium animated form */
.animated-form{position:relative;overflow:hidden}.animated-form:before{content:"";position:absolute;inset:-2px;border-radius:20px;padding:1px;background:conic-gradient(from 0deg,transparent 0 30%,rgba(218,174,72,.9),transparent 55% 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:formRing 7s linear infinite;pointer-events:none}.animated-form .field{animation:formField .65s both}.animated-form .field:nth-of-type(2){animation-delay:.06s}.animated-form .field:nth-of-type(3){animation-delay:.12s}.animated-form .field:nth-of-type(4){animation-delay:.18s}.animated-form .field:nth-of-type(5){animation-delay:.24s}.animated-form .field:nth-of-type(6){animation-delay:.30s}.animated-form .form-submit{position:relative;overflow:hidden}.animated-form .form-submit:after{content:"";position:absolute;top:-60%;left:-35%;width:25%;height:220%;background:rgba(255,255,255,.22);transform:rotate(20deg);animation:buttonShine 3.2s ease-in-out infinite}.animated-form .form-submit b{transition:transform .3s}.animated-form .form-submit:hover b{transform:translateX(5px)}.form-result.success{padding:10px 12px;margin-top:10px;border-radius:9px;background:#e9f6ee;color:#17613e;font-size:10px;animation:resultIn .4s ease}.form-result.error{padding:10px 12px;margin-top:10px;border-radius:9px;background:#fff0ee;color:#9b3c2f;font-size:10px;animation:resultIn .4s ease}.form-orbit{position:absolute;right:28px;top:20px;width:28px;height:28px;border:1px solid rgba(214,171,64,.5);border-radius:50%;animation:orbitFloat 3s ease-in-out infinite}.form-orbit span{position:absolute;left:50%;top:-3px;width:5px;height:5px;border-radius:50%;background:#e0b44e;box-shadow:0 0 12px #e0b44e}
.final-cta{background:linear-gradient(135deg,var(--abgv-brand),var(--abgv-brand));color:#fff;text-align:center}.final-cta h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(40px,5vw,64px);margin:15px 0}.final-cta p{max-width:650px;margin:0 auto 25px;color:#c8d6cf}.quick-tools{right:350px}.quick-tool{animation:toolFloat 4s ease-in-out infinite}.quick-tool:nth-child(2){animation-delay:.25s}.quick-tool:nth-child(3){animation-delay:.5s}
@keyframes sideIn{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:none}}@keyframes formRing{to{transform:rotate(360deg)}}@keyframes formField{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes buttonShine{0%,35%{left:-35%}65%,100%{left:125%}}@keyframes resultIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes orbitFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(180deg)}}@keyframes toolFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@media(max-width:1180px){.abgv-layout{grid-template-columns:minmax(0,1fr) 285px}.quick-tools{right:305px}.sidebar-inner{top:78px}}
@media(max-width:900px){.abgv-layout{display:block;padding:0}.abgv-sidebar{padding:0 12px}.sidebar-inner{position:relative;top:auto;max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.side-card{margin:0}.side-card.quick-enquiry{grid-column:1/-1}.quick-tools{right:10px}.abgv-sidebar .side-update{grid-template-columns:72px 1fr}.abgv-sidebar .side-update img{width:72px;height:58px}}
@media(max-width:560px){.sidebar-inner{grid-template-columns:1fr}.side-card.quick-enquiry{grid-column:auto}.quick-tools{right:8px;bottom:12px}.quick-tool{width:48px;height:48px}.hero-inner{padding-top:120px}.abgv-layout{background:#f7f5ef}.sidebar-inner{padding-bottom:12px}}
.hero{background-image:linear-gradient(90deg,rgb(var(--abgv-brand-rgb) / .48),rgb(var(--abgv-brand-rgb) / .12)),var(--hero-bg,url('../images/gate-hero.jpg'));background-position:center;background-size:cover;position:relative}.brand-logo{width:88px;height:58px;object-fit:contain;display:block}.brand{display:flex;align-items:center}
.hero:before{background:linear-gradient(90deg,rgb(var(--abgv-brand-rgb) / .48) 0%,rgb(var(--abgv-brand-rgb) / .12) 55%,rgb(var(--abgv-brand-rgb) / .28) 100%),var(--hero-bg,url('../images/gate-hero.jpg')) center/cover}

/* Golden Light Sweep & Ambient Glow Overlay for Hero */
.hero-gold-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.hero-gold-sweep {
  position: absolute;
  inset: -50%;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(217, 170, 69, 0) 35%,
    rgba(241, 207, 114, 0.24) 50%,
    rgba(217, 170, 69, 0) 65%,
    transparent 100%
  );
  animation: heroGoldSweep 14s ease-in-out infinite;
}

.hero-gold-orb-1 {
  position: absolute;
  top: 15%;
  left: 20%;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(241, 207, 114, 0.25), transparent 70%);
  filter: blur(40px);
  animation: heroGoldPulse 8s ease-in-out infinite alternate;
}

.hero-gold-orb-2 {
  position: absolute;
  bottom: 25%;
  right: 25%;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 170, 69, 0.2), transparent 70%);
  filter: blur(50px);
  animation: heroGoldPulse 10s ease-in-out infinite alternate -4s;
}

@keyframes heroGoldSweep {
  0% { transform: translateX(-100%) translateY(-30%); }
  50%, 100% { transform: translateX(100%) translateY(30%); }
}

@keyframes heroGoldPulse {
  0% { transform: scale(0.9); opacity: 0.5; }
  100% { transform: scale(1.15); opacity: 0.9; }
}

/* =========================================================
   AB GREEN VALLEYS V5 - FULL SCREEN PREMIUM EXPERIENCE
   Existing approved contact form markup intentionally preserved.
   ========================================================= */
body{overflow-x:hidden}
.abgv-layout{display:block;max-width:none;margin:0;padding:0;background:transparent}
.abgv-main{min-width:0;width:100%}
.abgv-home{width:100%;overflow:hidden}

/* Bigger, more confident navigation */
.site-header{padding:18px 0}
.nav-wrap{width:min(1380px,calc(100% - 56px));}
.brand-logo{width:108px;height:68px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.28))}
.brand-text strong{font-size:25px}
.brand-text small{font-size:9px}
.nav{gap:34px}
.nav a{font-size:13px;font-weight:800;letter-spacing:.08em;padding:14px 0;transition:color .3s,transform .3s}
.nav a:before{content:"";position:absolute;left:50%;bottom:1px;width:5px;height:5px;border-radius:50%;background:var(--gold2);opacity:0;transform:translate(-50%,8px) scale(.4);transition:.35s}
.nav a:hover,.nav a.active{color:#f5d477}
.nav a:hover{transform:translateY(-2px)}
.nav a:hover:before,.nav a.active:before{opacity:1;transform:translate(-50%,0) scale(1)}
.nav a:after{height:2px;bottom:0;box-shadow:0 0 12px rgba(241,207,114,.75)}
.nav-cta{padding:14px 22px!important;border-radius:10px!important;box-shadow:0 12px 30px rgba(217,170,69,.22);animation:ctaBreath 3.2s ease-in-out infinite}
.nav-cta:hover{transform:translateY(-3px) scale(1.02)!important}

/* Full-width hero */
.hero{min-height:820px;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.hero:before{animation:heroZoom 18s ease-in-out infinite alternate,heroDrift 20s ease-in-out infinite alternate}
.hero-copy .eyebrow{animation:eyebrowIn .8s .15s both}
.hero-copy h1{animation:heroTitleIn 1s .25s both;text-shadow:0 8px 40px rgba(0,0,0,.28)}
.hero-copy>p,.hero-location,.hero-actions,.hero-features{animation:heroTextIn .8s .55s both}
.hero-actions .btn{position:relative;overflow:hidden}
.hero-actions .btn:after{content:"";position:absolute;inset:-40% auto -40% -30%;width:22%;background:rgba(255,255,255,.28);transform:rotate(22deg);animation:buttonSweep 4s 1.2s infinite}
.hero-features .hero-feature{animation:featureIn .7s both}
.hero-features .hero-feature:nth-child(2){animation-delay:.12s}.hero-features .hero-feature:nth-child(3){animation-delay:.24s}.hero-features .hero-feature:nth-child(4){animation-delay:.36s}.hero-features .hero-feature:nth-child(5){animation-delay:.48s}

/* Approved form styling stays structurally unchanged, only visual animation is enhanced */
.hero-form{animation:formFloat 6s ease-in-out infinite}
.animated-form:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.06) 48%,transparent 60%);transform:translateX(-120%);animation:formSweep 5.5s ease-in-out infinite;pointer-events:none}
.animated-form .field input:hover,.animated-form .field select:hover,.animated-form .field textarea:hover{box-shadow:0 0 0 3px rgba(217,170,69,.08)}

/* Stats: number + icon animation */
.stats{overflow:hidden}
.stat{overflow:hidden;transition:background .4s,transform .4s}
.stat:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(217,170,69,.09),transparent);transform:translateX(-120%);animation:statSweep 5s ease-in-out infinite}
.stat:hover{background:rgba(255,255,255,.045)}
.stat .icon{display:inline-block;animation:iconPulse 2.6s ease-in-out infinite;filter:drop-shadow(0 0 7px rgba(217,170,69,.35))}
.stat:nth-child(2) .icon{animation-delay:.25s}.stat:nth-child(3) .icon{animation-delay:.5s}.stat:nth-child(4) .icon{animation-delay:.75s}
.stat-value{display:block;transform-origin:center;animation:statValue 1.2s cubic-bezier(.2,.8,.2,1) both}
.stat.visible .stat-value{animation:statValue 1s cubic-bezier(.2,.8,.2,1) both}
.stat span{position:relative;z-index:1}

/* Site Updates - replaces the old sidebar concept on homepage */
.site-updates-premium{background:linear-gradient(180deg,#f7f3ea,#fff);position:relative;overflow:hidden}
.site-updates-premium:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-250px;top:-220px;background:radial-gradient(circle,rgba(217,170,69,.12),transparent 68%);animation:updateOrb 9s ease-in-out infinite}
.updates-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px;position:relative;z-index:1}
.updates-head h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,54px);line-height:1.04;font-weight:500;margin:10px 0;color:var(--green3)}
.updates-head p{max-width:700px;color:var(--muted);margin:0}
.btn-outline-dark{border:1px solid rgb(var(--abgv-brand-rgb) / .28);color:var(--green);background:#fff}
.btn-outline-dark:hover{background:var(--green);color:#fff;transform:translateY(-3px)}
.site-update-track{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:1}
.site-update-card{background:#fff;border:1px solid rgb(var(--abgv-brand-rgb) / .12);border-radius:20px;overflow:hidden;box-shadow:0 14px 40px rgb(var(--abgv-brand-rgb) / .08);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s;transition-delay:var(--delay,0s)}
.site-update-card:hover{transform:translateY(-10px);box-shadow:0 24px 55px rgb(var(--abgv-brand-rgb) / .16);border-color:rgba(217,170,69,.5)}
.site-update-image{display:block;height:220px;position:relative;overflow:hidden;background:var(--green3)}
.site-update-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .6s}
.site-update-card:hover .site-update-image img{transform:scale(1.09);filter:saturate(1.08)}
.update-kind{position:absolute;left:15px;top:15px;background:rgb(var(--abgv-brand-rgb) / .9);color:#f5d477;border:1px solid rgba(241,207,114,.45);border-radius:30px;padding:6px 10px;font-size:8px;font-weight:900;letter-spacing:.12em}
.update-arrow{position:absolute;right:15px;bottom:15px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-weight:900;transform:translateY(8px);opacity:0;transition:.4s;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.site-update-card:hover .update-arrow{opacity:1;transform:none}
.site-update-body{padding:20px 20px 23px}
.site-update-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.site-update-meta span{color:#1d7046;background:#e9f7ee;border-radius:20px;padding:5px 9px;font-size:8px;font-weight:900;text-transform:uppercase}
.site-update-meta time{font-size:9px;color:#8a928d}
.site-update-body h3{font-family:Georgia,serif;font-size:23px;line-height:1.15;margin:6px 0 7px;color:var(--green3)}
.site-update-body h3 a{transition:color .3s}.site-update-body h3 a:hover{color:#b18a32}
.site-update-body p{font-size:11px;color:var(--muted);margin:0}
.site-update-card.reveal.visible{animation:cardPop .75s cubic-bezier(.2,.8,.2,1) both}
.site-update-empty{grid-column:1/-1;padding:60px;border:1px dashed rgb(var(--abgv-brand-rgb) / .25);border-radius:20px;text-align:center;background:#fff}

/* Construction progress strip */
.construction-progress-section{background:#fff}
.construction-progress{display:grid;grid-template-columns:1.3fr .65fr auto;gap:28px;align-items:center;background:linear-gradient(135deg,var(--abgv-brand),var(--abgv-brand));color:#fff;border-radius:24px;padding:36px 42px;box-shadow:0 22px 55px rgb(var(--abgv-brand-rgb) / .18);position:relative;overflow:hidden}
.construction-progress:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-170px;top:-180px;background:rgba(217,170,69,.1);animation:updateOrb 8s ease-in-out infinite}
.construction-progress h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(30px,3vw,46px);line-height:1.05;margin:10px 0}
.construction-progress p{color:#c8d8d0;max-width:600px;margin:0}
.progress-visual{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.progress-visual strong{display:block}.progress-visual small{display:block;color:#a9c1b6;font-size:10px;margin-top:3px}
.progress-ring{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(241,207,114,.35);background:conic-gradient(var(--gold) 0 72%,rgba(255,255,255,.08) 72% 100%);box-shadow:inset 0 0 0 9px rgb(var(--abgv-brand-rgb) / .75),0 0 28px rgba(217,170,69,.15);animation:ringPulse 2.8s ease-in-out infinite}
.progress-ring span{font-size:10px;font-weight:900;color:#f5d477}
.construction-progress .btn{position:relative;z-index:1;white-space:nowrap}

/* Floating actions - compact, premium, animated */
.quick-tools{position:fixed;right:22px;bottom:28px;z-index:1100;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.quick-tool{width:64px;height:64px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fff!important;border:1px solid rgba(241,207,114,.5);box-shadow:0 14px 30px rgba(0,0,0,.22);font-size:8px;font-weight:900;letter-spacing:.05em;position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,background .35s}
.quick-tool:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 55%);transform:translateX(-60%);animation:quickShine 4s ease-in-out infinite}
.quick-tool span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);font-size:13px;position:relative;z-index:1}
.quick-tool{background:linear-gradient(145deg,var(--abgv-brand),var(--abgv-brand))}
.quick-tool.call{background:linear-gradient(145deg,var(--abgv-brand),var(--abgv-brand))}
.quick-tool.visit{background:linear-gradient(145deg,#d9aa45,#a87924);color:#1a2b22!important}
.quick-tool:hover{transform:translateY(-6px) scale(1.05);box-shadow:0 20px 42px rgb(var(--abgv-brand-rgb) / .3)}
.quick-tool:nth-child(1){animation:quickFloat 3.6s ease-in-out infinite}.quick-tool:nth-child(2){animation:quickFloat 3.6s .35s ease-in-out infinite}.quick-tool:nth-child(3){animation:quickFloat 3.6s .7s ease-in-out infinite}

/* More motion across the landing page */
.amenity-card,.info-card,.testimonial,.gallery-item,.update-card{will-change:transform}
.gallery-item img{transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}.gallery-item:hover img{transform:scale(1.07);filter:saturate(1.08)}
.testimonial{transition:transform .45s,box-shadow .45s}.testimonial:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.location-list>div{transition:transform .35s,color .35s}.location-list>div:hover{transform:translateX(8px);color:var(--green)}
.final-cta .btn{animation:ctaBreath 3.2s ease-in-out infinite}

@keyframes ctaBreath{0%,100%{box-shadow:0 10px 28px rgba(217,170,69,.18)}50%{box-shadow:0 16px 38px rgba(217,170,69,.36)}}
@keyframes heroDrift{0%{background-position:50% 50%}100%{background-position:53% 47%}}
@keyframes eyebrowIn{from{opacity:0;letter-spacing:.4em;transform:translateY(10px)}to{opacity:1;letter-spacing:.18em;transform:none}}
@keyframes heroTitleIn{from{opacity:0;transform:translateY(32px) scale(.98)}to{opacity:1;transform:none}}
@keyframes heroTextIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes featureIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes buttonSweep{0%,45%{left:-35%}65%,100%{left:125%}}
@keyframes formFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes formSweep{0%,55%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@keyframes statSweep{0%,60%{transform:translateX(-120%)}80%,100%{transform:translateX(120%)}}
@keyframes iconPulse{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.12) rotate(4deg)}}
@keyframes statValue{from{opacity:0;transform:translateY(12px) scale(.88)}to{opacity:1;transform:none}}
@keyframes updateOrb{0%,100%{transform:translate(0,0)}50%{transform:translate(-18px,18px)}}
@keyframes cardPop{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ringPulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.06);filter:brightness(1.15)}}
@keyframes quickFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes quickShine{0%,55%{transform:translateX(-70%)}75%,100%{transform:translateX(70%)}}

@media(max-width:1180px){.nav-wrap{width:min(1100px,calc(100% - 30px))}.nav{gap:20px}.nav a{font-size:12px}.site-update-track{grid-template-columns:repeat(2,1fr)}.construction-progress{grid-template-columns:1fr .7fr}.construction-progress .btn{grid-column:1/-1;justify-self:start}}
@media(max-width:850px){.site-header{padding:12px 0}.nav{gap:0}.hero{min-height:auto}.hero-inner{grid-template-columns:1fr;padding:130px 0 55px}.site-update-track{grid-template-columns:1fr}.updates-head{align-items:flex-start;flex-direction:column}.construction-progress{grid-template-columns:1fr;padding:30px}.quick-tools{right:12px;bottom:18px}.quick-tool{width:58px;height:58px}.quick-tool span{width:24px;height:24px}.site-update-image{height:210px}}
@media(max-width:560px){.nav-wrap{width:calc(100% - 22px)}.brand-logo{width:90px;height:58px}.nav-cta{display:none}.hero{min-height:auto}.hero-copy h1{font-size:42px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat strong{font-size:34px}.site-update-body{padding:17px}.site-update-body h3{font-size:20px}.quick-tools{right:8px;bottom:12px;gap:7px}.quick-tool{width:52px;height:52px;border-radius:16px;font-size:7px}.quick-tool span{width:22px;height:22px;font-size:11px}.construction-progress{border-radius:18px;padding:25px 20px}.progress-visual{margin:5px 0}.site-updates-premium{padding-top:68px}}

/* =========================================================
   AB GREEN VALLEYS — REQUESTED FINAL POLISH
   Only the approved homepage refinements are added here.
========================================================= */

/* JDS Greens logo: keep its white artwork area visually clean on dark header */
.brand-logo{position:relative;z-index:2;width:102px;height:66px;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 0 12px rgba(231,194,96,.20));transition:transform .45s ease,filter .45s ease}
.brand{position:relative}.brand:after{content:"";position:absolute;left:8px;right:8px;top:50%;height:48px;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,rgba(229,194,102,.17),transparent 70%);filter:blur(10px);opacity:.7;animation:logoAura 4.5s ease-in-out infinite;pointer-events:none}.brand:hover .brand-logo{transform:translateY(-2px) scale(1.03);filter:drop-shadow(0 0 18px rgba(231,194,96,.34))}
@keyframes logoAura{0%,100%{opacity:.45;transform:translateY(-50%) scale(.96)}50%{opacity:.85;transform:translateY(-50%) scale(1.04)}}

/* Sticky header stays dark but alive while scrolling */
.site-header.scrolled{background:rgb(var(--abgv-brand-rgb) / .95);box-shadow:0 8px 32px rgba(0,0,0,.20),0 1px 0 rgba(231,194,96,.16);animation:headerGlow 4.8s ease-in-out infinite}
.site-header.scrolled:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(231,194,96,.08) 20%,rgba(231,194,96,.72) 50%,rgba(231,194,96,.08) 80%,transparent 100%);background-size:220% 100%;animation:headerSweep 4.5s linear infinite;pointer-events:none}
.site-header.scrolled .nav a{transition:color .35s ease,transform .35s ease,text-shadow .35s ease}.site-header.scrolled .nav a:hover{color:#ffe08a;text-shadow:0 0 14px rgba(240,196,93,.24)}
@keyframes headerGlow{0%,100%{box-shadow:0 8px 32px rgba(0,0,0,.20),0 1px 0 rgba(231,194,96,.12)}50%{box-shadow:0 10px 38px rgba(0,0,0,.24),0 1px 0 rgba(231,194,96,.30)}}
@keyframes headerSweep{0%{background-position:220% 0}100%{background-position:-20% 0}}
.updates-nav{padding-right:27px!important}.updates-badge{position:absolute;right:-7px;top:3px;font-size:6px;line-height:1;padding:3px 5px;border-radius:8px;color:var(--abgv-brand-ink);background:#f3cf70;letter-spacing:.08em;box-shadow:0 0 0 2px rgba(243,207,112,.08),0 0 13px rgba(243,207,112,.35);animation:updateBadgePulse 1.8s ease-in-out infinite}.updates-nav:before{opacity:1!important;transform:translate(-50%,0) scale(1)!important}.updates-nav:after{width:100%!important;animation:updateUnderline 2.2s ease-in-out infinite}
@keyframes updateBadgePulse{0%,100%{transform:scale(1);box-shadow:0 0 0 2px rgba(243,207,112,.08),0 0 10px rgba(243,207,112,.28)}50%{transform:scale(1.08);box-shadow:0 0 0 4px rgba(243,207,112,.04),0 0 20px rgba(243,207,112,.58)}}
@keyframes updateUnderline{0%,100%{opacity:.55;box-shadow:0 0 7px rgba(241,207,114,.25)}50%{opacity:1;box-shadow:0 0 16px rgba(241,207,114,.75)}}

/* Site Updates: light crystal / glass atmosphere */
.site-updates-premium{background:linear-gradient(135deg,#f8f4e8 0%,#eef5ef 48%,#fffaf0 100%);isolation:isolate}
.site-updates-premium:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 25%,rgba(255,255,255,.75),transparent 24%),radial-gradient(circle at 82% 70%,rgba(214,181,88,.12),transparent 26%),linear-gradient(115deg,transparent 20%,rgba(255,255,255,.48) 48%,transparent 62%);background-size:auto,auto,230% 100%;animation:crystalSweep 12s linear infinite;pointer-events:none;z-index:0}
.updates-crystal{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.updates-crystal span{position:absolute;width:12px;height:12px;border:1px solid rgb(var(--abgv-brand-rgb) / .28);transform:rotate(45deg);animation:crystalFloat 9s ease-in-out infinite}.updates-crystal span:nth-child(1){left:14%;top:22%}.updates-crystal span:nth-child(2){right:18%;top:48%;width:8px;height:8px;animation-delay:2s}.updates-crystal span:nth-child(3){left:62%;bottom:14%;width:16px;height:16px;animation-delay:4s}
@keyframes crystalSweep{0%{background-position:center,center,-220% 0}100%{background-position:center,center,220% 0}}@keyframes crystalFloat{0%,100%{transform:translateY(0) rotate(45deg);opacity:.28}50%{transform:translateY(-20px) rotate(135deg);opacity:.72}}

/* News & Offers is deliberately separate from Site Updates */
.news-offers-premium{position:relative;overflow:hidden;background:linear-gradient(135deg,#fffaf0,var(--abgv-brand-pale) 55%,#f7efe0)}
.news-offers-premium:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle,rgba(217,170,69,.13) 0 2%,transparent 3% 100%);background-size:54px 54px;opacity:.22;animation:newsParticles 18s linear infinite;pointer-events:none}.news-orbit{position:absolute;width:420px;height:420px;right:-160px;top:-120px;border:1px solid rgba(155,126,49,.15);border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.18),0 0 0 90px rgba(217,170,69,.05);animation:orbitFloat 10s ease-in-out infinite;pointer-events:none}.news-offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:1}.news-offer-card{height:350px;border-radius:22px;overflow:hidden;position:relative;background:var(--abgv-brand);box-shadow:0 18px 45px rgb(var(--abgv-brand-rgb) / .10);transform:translateY(0);transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s}.news-offer-card:hover{transform:translateY(-10px);box-shadow:0 28px 60px rgb(var(--abgv-brand-rgb) / .18)}.news-offer-image{position:absolute;inset:0;background:var(--bg) center/cover;transition:1.1s}.news-offer-card:hover .news-offer-image{transform:scale(1.08)}.news-offer-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgb(var(--abgv-brand-rgb) / .10),rgb(var(--abgv-brand-rgb) / .88) 78%)}.news-offer-content{position:absolute;left:0;right:0;bottom:0;padding:25px;color:#fff}.news-offer-content>span{display:inline-block;color:#f3d27a;font-size:8px;font-weight:900;letter-spacing:.16em;border:1px solid rgba(243,210,122,.45);border-radius:30px;padding:6px 10px}.news-offer-content h3{font-family:Georgia,serif;font-size:27px;font-weight:500;line-height:1.05;margin:12px 0 8px}.news-offer-content p{font-size:11px;color:#e5eee9;margin:0 0 14px}.news-offer-content a{color:#f3d27a;font-size:9px;font-weight:900;letter-spacing:.12em}.news-offer-card:nth-child(2){animation-delay:.15s}.news-offer-card:nth-child(3){animation-delay:.3s}
@keyframes newsParticles{to{transform:translate3d(54px,54px,0)}}@keyframes orbitFloat{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-18px,16px) rotate(12deg)}}

/* Invest in Peace: visual cards, nature-led motion */
.why-peace-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fbf8ef,var(--abgv-brand-pale) 55%,#fffaf0)}.why-peace-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 55%,rgb(var(--abgv-brand-rgb) / .18),transparent 28%),radial-gradient(circle at 85% 20%,rgba(230,197,111,.15),transparent 26%);animation:peaceBreathe 9s ease-in-out infinite;pointer-events:none}.why-peace-glow{position:absolute;width:620px;height:620px;left:-280px;bottom:-330px;border-radius:50%;background:radial-gradient(circle,rgb(var(--abgv-brand-rgb) / .18),transparent 67%);filter:blur(4px);animation:peaceFloat 11s ease-in-out infinite;pointer-events:none}.info-card-image{min-height:360px;overflow:hidden;color:#fff;border:1px solid rgba(255,255,255,.28);background:var(--abgv-brand-ink);position:relative}.info-card-image-bg{position:absolute;inset:0;background:var(--card-bg) center/cover;transition:1.1s}.info-card-image:hover .info-card-image-bg{transform:scale(1.08)}.info-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgb(var(--abgv-brand-rgb) / .08),rgb(var(--abgv-brand-rgb) / .90))}.info-card-image .check-icon,.info-card-image h3,.info-card-image p{position:relative;z-index:2}.info-card-image .check-icon{color:#f3d27a;font-size:13px;letter-spacing:.12em}.info-card-image h3{color:#fff;font-size:22px}.info-card-image p{color:#e2ebe5}.card-glow{position:absolute;width:130px;height:130px;right:-45px;top:-45px;border-radius:50%;background:radial-gradient(circle,rgba(243,210,122,.25),transparent 68%);animation:cardGlow 4s ease-in-out infinite}
@keyframes peaceBreathe{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes peaceFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(45px,-28px)}}@keyframes cardGlow{0%,100%{transform:scale(.9);opacity:.45}50%{transform:scale(1.2);opacity:.9}}

/* Building Today — progress / growth visual */
.construction-progress-section{background:linear-gradient(180deg,#fffaf1,var(--abgv-brand-pale))}.construction-progress{background:linear-gradient(135deg,var(--abgv-brand),var(--abgv-brand) 55%,var(--abgv-brand));box-shadow:0 25px 65px rgb(var(--abgv-brand-rgb) / .20)}.building-copy h2 span{color:#f2cf74}.building-bars{display:grid;grid-template-columns:repeat(4,12px);align-items:end;gap:7px;min-width:155px;position:relative;padding-bottom:43px}.building-bars i{display:block;width:12px;height:30px;border-radius:6px 6px 2px 2px;background:linear-gradient(#f5d77e,#b78a31);transform-origin:bottom;animation:buildingGrow 2.4s ease-in-out infinite}.building-bars i:nth-child(2){height:46px;animation-delay:.15s}.building-bars i:nth-child(3){height:62px;animation-delay:.3s}.building-bars i:nth-child(4){height:80px;animation-delay:.45s}.building-bars strong,.building-bars small{grid-column:1/-1}.building-bars strong{margin-top:-34px}.building-bars small{color:#a9c1b6;font-size:10px}.progress-ring{animation:ringPulse 2.8s ease-in-out infinite,ringGlow 3.6s ease-in-out infinite}
@keyframes buildingGrow{0%,100%{transform:scaleY(.72);opacity:.72}50%{transform:scaleY(1);opacity:1}}@keyframes ringGlow{0%,100%{box-shadow:inset 0 0 0 9px rgb(var(--abgv-brand-rgb) / .75),0 0 20px rgba(217,170,69,.10)}50%{box-shadow:inset 0 0 0 9px rgb(var(--abgv-brand-rgb) / .75),0 0 38px rgba(217,170,69,.30)}}

/* Trust section */
.trust-section{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(219,185,90,.10),transparent 26%),linear-gradient(135deg,var(--abgv-brand),var(--abgv-brand) 55%,var(--abgv-brand))}.trust-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.08) 0 1px,transparent 2px),radial-gradient(circle at 70% 65%,rgba(241,207,114,.12) 0 1px,transparent 2px);background-size:95px 95px,120px 120px;animation:trustDrift 18s linear infinite;pointer-events:none}.trust-particles{position:absolute;width:520px;height:520px;right:-180px;top:-220px;border:1px solid rgba(243,210,122,.16);border-radius:50%;box-shadow:0 0 0 60px rgba(243,210,122,.035),0 0 0 120px rgba(243,210,122,.02);animation:trustOrbit 14s linear infinite;pointer-events:none}.testimonial{position:relative;z-index:1;background:rgba(255,255,255,.065);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
@keyframes trustDrift{to{background-position:95px 95px,-120px 120px}}@keyframes trustOrbit{to{transform:rotate(360deg)}}

/* Gallery premium background */
.gallery-section-premium{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8f4e8,var(--abgv-brand-pale) 52%,#fffaf0)}.gallery-section-premium:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.85),transparent 25%),linear-gradient(125deg,transparent 25%,rgba(255,255,255,.45) 50%,transparent 70%);background-size:auto,240% 100%;animation:galleryLight 13s linear infinite;pointer-events:none}.gallery-section-premium .container{position:relative;z-index:1}.gallery-section-premium .gallery-item{box-shadow:0 18px 45px rgb(var(--abgv-brand-rgb) / .10)}
@keyframes galleryLight{0%{background-position:center,-220% 0}100%{background-position:center,220% 0}}

/* Location: attention-guiding benefits + map scanner */
.location{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8f5ea,var(--abgv-brand-pale))}.location:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 30%,rgb(var(--abgv-brand-rgb) / .15),transparent 25%),radial-gradient(circle at 85% 70%,rgba(218,181,78,.12),transparent 25%);animation:locationBreathe 10s ease-in-out infinite;pointer-events:none}.location-crystal{position:absolute;inset:0;pointer-events:none;overflow:hidden}.location-crystal span{position:absolute;border:1px solid rgb(var(--abgv-brand-rgb) / .16);width:34px;height:34px;transform:rotate(45deg);animation:locationCrystal 8s ease-in-out infinite}.location-crystal span:first-child{left:8%;top:24%}.location-crystal span:last-child{right:12%;bottom:18%;width:18px;height:18px;animation-delay:2.5s}.location-copy,.map-box{position:relative;z-index:1}.location-benefit{display:flex!important;align-items:center;gap:14px;padding:14px 16px!important;background:rgba(255,255,255,.78)!important;border:1px solid rgb(var(--abgv-brand-rgb) / .10)!important;box-shadow:0 8px 24px rgb(var(--abgv-brand-rgb) / .04);transition:transform .4s,box-shadow .4s,border-color .4s!important;position:relative;overflow:hidden}.location-benefit:after{content:"";position:absolute;left:-100%;top:0;width:55%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:locationSweep 4.6s ease-in-out infinite}.location-benefit:nth-child(2):after{animation-delay:.9s}.location-benefit:nth-child(3):after{animation-delay:1.8s}.location-benefit:nth-child(4):after{animation-delay:2.7s}.location-benefit:hover{transform:translateX(9px);box-shadow:0 14px 32px rgb(var(--abgv-brand-rgb) / .10);border-color:rgba(217,170,69,.35)!important}.location-icon{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid;place-items:center;color:#b68b32;background:radial-gradient(circle,rgba(236,207,123,.24),rgba(255,255,255,.7));border:1px solid rgba(182,139,50,.32);font-size:20px;animation:locationIconPulse 2.5s ease-in-out infinite}.location-benefit:nth-child(2) .location-icon{animation-delay:.5s}.location-benefit:nth-child(3) .location-icon{animation-delay:1s}.location-benefit:nth-child(4) .location-icon{animation-delay:1.5s}.location-benefit strong{display:block;color:var(--green3);font-size:12px}.location-benefit small{display:block;color:var(--muted);font-size:9px;margin-top:3px;line-height:1.4}.location-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.location-qr{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.location-qr span{font-size:8px;font-weight:900;letter-spacing:.1em;color:var(--green)}.location-qr img{width:68px;height:68px;display:block}.map-box{position:relative}.map-box:after{content:"";position:absolute;inset:0;border-radius:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 0 0 1px rgb(var(--abgv-brand-rgb) / .08);pointer-events:none}.map-orbit{position:absolute;z-index:3;width:120px;height:120px;left:50%;top:50%;margin:-60px;border:1px solid rgba(217,170,69,.42);border-radius:50%;animation:mapPulse 3s ease-out infinite;pointer-events:none}.map-pin-pulse{position:absolute;z-index:4;left:50%;top:50%;width:12px;height:12px;margin:-6px;border-radius:50%;background:#c89b3f;box-shadow:0 0 0 6px rgba(200,155,63,.14),0 0 24px rgba(200,155,63,.45);animation:pinPulse 2s ease-in-out infinite;pointer-events:none}.map-pin-pulse span{display:block;width:100%;height:100%;border-radius:50%;border:1px solid rgba(255,255,255,.75)}
@keyframes locationBreathe{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes locationCrystal{0%,100%{opacity:.18;transform:translateY(0) rotate(45deg)}50%{opacity:.58;transform:translateY(-22px) rotate(135deg)}}@keyframes locationSweep{0%,55%{left:-100%}75%,100%{left:140%}}@keyframes locationIconPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(200,155,63,.0)}50%{transform:scale(1.08);box-shadow:0 0 0 7px rgba(200,155,63,.06)}}@keyframes mapPulse{0%{transform:scale(.45);opacity:.8}80%,100%{transform:scale(1.7);opacity:0}}@keyframes pinPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}

@media(max-width:1100px){.news-offer-grid{grid-template-columns:repeat(2,1fr)}.brand-logo{width:94px;height:62px}}
@media(max-width:850px){.news-offer-grid{grid-template-columns:1fr}.building-bars{min-width:145px}.location-actions{align-items:flex-start}.location-qr{width:max-content}.site-header.scrolled:after{height:1px}}
@media(max-width:560px){.brand-logo{width:88px;height:58px}.updates-badge{right:2px}.news-offer-card{height:320px}.info-card-image{min-height:320px}.location-benefit{padding:12px!important}.location-qr img{width:58px;height:58px}.map-orbit{width:90px;height:90px;margin:-45px}.building-bars{min-width:120px;transform:scale(.9);transform-origin:left center}}

/* FINAL REQUESTED REFINEMENTS — logo, construction visual, location map */
.brand-logo{width:112px;height:70px;object-fit:contain;display:block;filter:drop-shadow(0 0 14px rgba(231,194,96,.22));mix-blend-mode:normal;position:relative;z-index:2;transition:transform .45s ease,filter .45s ease}.brand:after{left:0;right:0;top:50%;height:70px;background:radial-gradient(ellipse,rgba(231,194,96,.16),rgb(var(--abgv-brand-rgb) / .10) 34%,transparent 72%);filter:blur(13px);opacity:.85}.brand:hover .brand-logo{transform:translateY(-2px) scale(1.025);filter:drop-shadow(0 0 22px rgba(231,194,96,.38))}

/* Building Today: photographic project-progress treatment; animation stays in its own visual lane */
.construction-progress-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#f5f0e4 0%,var(--abgv-brand-pale) 52%,#f8f5ea 100%);padding-top:86px;padding-bottom:86px}.construction-progress-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 35%,rgba(206,175,88,.18),transparent 24%),radial-gradient(circle at 88% 70%,rgb(var(--abgv-brand-rgb) / .12),transparent 30%);animation:constructionAmbient 10s ease-in-out infinite;pointer-events:none}.construction-progress{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr) auto;background:linear-gradient(120deg,rgb(var(--abgv-brand-rgb) / .96),rgb(var(--abgv-brand-rgb) / .90));border:1px solid rgba(232,204,126,.22);box-shadow:0 28px 70px rgb(var(--abgv-brand-rgb) / .20);padding:34px;min-height:390px}.construction-progress:after{width:430px;height:430px;right:-190px;top:-210px;background:radial-gradient(circle,rgba(229,194,96,.18),transparent 68%);animation:constructionOrb 9s ease-in-out infinite}.building-copy{position:relative;z-index:3}.building-copy h2{max-width:620px}.building-copy p{max-width:590px}.building-progress-line{width:min(390px,90%);height:3px;margin:25px 0 9px;border-radius:99px;background:rgba(255,255,255,.10);overflow:hidden}.building-progress-line span{display:block;width:72%;height:100%;border-radius:99px;background:linear-gradient(90deg,#b78a31,#f5d77e,#b78a31);background-size:180% 100%;animation:progressShimmer 3.2s linear infinite}.building-progress-caption{display:block;color:#a9c1b6;font-size:10px;letter-spacing:.03em}.building-scene{position:relative;z-index:2;min-height:320px;border-radius:22px;overflow:hidden;background:url('../images/building-bg-crop3.jpg') center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15),0 20px 55px rgba(0,0,0,.20);isolation:isolate}.building-scene:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(var(--abgv-brand-rgb) / .04),rgb(var(--abgv-brand-rgb) / .22) 62%,rgb(var(--abgv-brand-rgb) / .48));z-index:-1}.building-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);background-size:220% 100%;animation:sceneSheen 6.5s ease-in-out infinite;pointer-events:none}.scene-glow{position:absolute;width:180px;height:180px;right:10%;top:8%;border-radius:50%;background:radial-gradient(circle,rgba(244,210,115,.32),transparent 68%);filter:blur(5px);animation:sceneGlow 4.5s ease-in-out infinite}.progress-ring{position:absolute;left:24px;top:24px;width:84px;height:84px;z-index:4}.building-scene-label{position:absolute;left:24px;bottom:22px;z-index:4;padding:11px 14px;border-left:2px solid #e7c260;background:rgb(var(--abgv-brand-rgb) / .56);backdrop-filter:blur(8px);border-radius:0 12px 12px 0;color:#fff}.building-scene-label strong{display:block;font-size:14px}.building-scene-label small{display:block;color:#d4dfd8;font-size:9px;margin-top:3px}.scene-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#f3d27a;box-shadow:0 0 14px rgba(243,210,122,.8);animation:sparkFloat 4s ease-in-out infinite;z-index:3}.scene-spark.s1{right:22%;top:28%}.scene-spark.s2{right:34%;top:44%;animation-delay:1.4s}.building-cta{align-self:end;position:relative;z-index:4;white-space:nowrap}.construction-progress .eyebrow{color:#f1cb68}

/* Location: dark, landmark-oriented presentation + animated map frame */
.location{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 46%,rgb(var(--abgv-brand-rgb) / .40),transparent 28%),linear-gradient(135deg,var(--abgv-brand) 0%,var(--abgv-brand) 48%,var(--abgv-brand) 100%);color:#fff}.location:before{background:radial-gradient(circle at 8% 24%,rgba(218,181,78,.10),transparent 22%),radial-gradient(circle at 86% 75%,rgb(var(--abgv-brand-rgb) / .20),transparent 26%);animation:locationBreathe 10s ease-in-out infinite}.location:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 35%,rgba(255,255,255,.035) 45%,transparent 55%);background-size:240% 100%;animation:locationLightSweep 11s linear infinite;pointer-events:none}.location-copy h2{color:#fff}.location-copy p{color:#c5d7ce}.location-copy .eyebrow{color:#e8c56c}.location-benefit{background:rgb(var(--abgv-brand-rgb) / .72)!important;border:1px solid rgba(232,197,108,.18)!important;box-shadow:0 12px 30px rgba(0,0,0,.16)!important;backdrop-filter:blur(7px)}.location-benefit:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.11),transparent)}.location-benefit strong{color:#fff}.location-benefit small{color:#a9c5b8}.location-icon{color:#f0cc70;background:radial-gradient(circle,rgba(236,207,123,.18),rgb(var(--abgv-brand-rgb) / .72));border-color:rgba(236,207,123,.42)}.location-actions .location-qr{background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(0,0,0,.20)}.location-copy>p strong{color:#f1cf75}.map-box{border:1px solid rgba(238,205,116,.34);box-shadow:0 24px 65px rgba(0,0,0,.30),0 0 35px rgba(225,192,91,.08);transform:translateZ(0)}.map-box:before{content:"";position:absolute;inset:-1px;border-radius:22px;padding:1px;background:linear-gradient(120deg,rgba(239,207,119,.10),rgba(239,207,119,.72),rgb(var(--abgv-brand-rgb) / .28),rgba(239,207,119,.10));background-size:240% 240%;animation:mapBorderFlow 5.5s linear infinite;z-index:5;pointer-events:none;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor}.map-box:after{inset:7px;border-radius:15px;box-shadow:inset 0 0 35px rgb(var(--abgv-brand-rgb) / .22),0 0 28px rgba(232,197,108,.10);animation:mapFrameGlow 3.8s ease-in-out infinite;z-index:4}.map-box iframe{position:relative;z-index:1;filter:saturate(.86) contrast(1.02)}.map-pin-pulse{z-index:6}.map-orbit{z-index:6}.location-crystal span{border-color:rgba(235,200,105,.14)}
@keyframes constructionAmbient{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes constructionOrb{0%,100%{transform:scale(.9);opacity:.55}50%{transform:scale(1.18);opacity:1}}@keyframes progressShimmer{to{background-position:180% 0}}@keyframes sceneSheen{0%,35%{background-position:-220% 0}65%,100%{background-position:220% 0}}@keyframes sceneGlow{0%,100%{transform:scale(.85);opacity:.45}50%{transform:scale(1.15);opacity:.9}}@keyframes sparkFloat{0%,100%{transform:translate(0,8px);opacity:.2}50%{transform:translate(8px,-20px);opacity:1}}@keyframes locationLightSweep{0%{background-position:-240% 0}100%{background-position:240% 0}}@keyframes mapBorderFlow{0%{background-position:0 50%}100%{background-position:240% 50%}}@keyframes mapFrameGlow{0%,100%{box-shadow:inset 0 0 35px rgb(var(--abgv-brand-rgb) / .22),0 0 18px rgba(232,197,108,.06)}50%{box-shadow:inset 0 0 35px rgb(var(--abgv-brand-rgb) / .18),0 0 34px rgba(232,197,108,.20)}}

@media(max-width:1180px){.construction-progress{grid-template-columns:1fr .9fr}.building-cta{grid-column:1/-1;justify-self:start}.building-scene{min-height:300px}}
@media(max-width:850px){.construction-progress{grid-template-columns:1fr;padding:28px}.building-scene{min-height:280px}.building-cta{grid-column:auto}.location{background:linear-gradient(145deg,var(--abgv-brand),var(--abgv-brand))}.map-box{min-height:420px}.map-box iframe{min-height:420px}}
@media(max-width:560px){.brand-logo{width:94px;height:62px}.construction-progress{padding:22px;border-radius:18px}.building-scene{min-height:250px;border-radius:16px}.progress-ring{left:16px;top:16px;width:70px;height:70px}.building-scene-label{left:16px;bottom:16px}.location-benefit{padding:13px!important}.map-box{min-height:360px}.map-box iframe{min-height:360px}}

/* =========================================================
   V8 FINAL REQUESTED ONLY: JDS LOGO + LOCATION VISUAL REFINEMENT
   No contact-form or admin-panel changes.
   ========================================================= */

/* JDS GREENS logo: cream backing + animated gold halo */
.site-header .brand{
  position:relative;
  width:128px;
  min-width:128px;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  isolation:isolate;
}
.site-header .brand:before{
  content:"";
  position:absolute;
  width:92px;
  height:72px;
  border-radius:22px;
  background:linear-gradient(145deg,#fffdf7,#f7efdf);
  box-shadow:0 8px 25px rgb(var(--abgv-brand-rgb) / .10), inset 0 0 0 1px rgba(184,142,52,.10);
  z-index:-2;
}
.site-header .brand:after{
  content:"";
  position:absolute;
  width:102px;
  height:82px;
  border-radius:26px;
  border:1px solid rgba(219,174,65,.82);
  box-shadow:0 0 0 1px rgba(219,174,65,.12),0 0 18px rgba(219,174,65,.18);
  animation:jdsLogoHalo 3.8s ease-in-out infinite;
  z-index:-1;
  pointer-events:none;
}
.site-header .brand-logo{
  width:88px;
  height:68px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 4px 10px rgba(76,58,32,.12));
  mix-blend-mode:multiply;
  transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.site-header .brand:hover .brand-logo{
  transform:translateY(-2px) scale(1.025);
  filter:drop-shadow(0 0 15px rgba(219,174,65,.28));
}
@keyframes jdsLogoHalo{
  0%,100%{opacity:.62;transform:scale(.98);box-shadow:0 0 0 1px rgba(219,174,65,.10),0 0 14px rgba(219,174,65,.12)}
  50%{opacity:1;transform:scale(1.035);box-shadow:0 0 0 1px rgba(219,174,65,.20),0 0 28px rgba(219,174,65,.28)}
}

/* Building Today section: fixed section background creates the requested parallax effect. */
.construction-progress-section{
  isolation:isolate;
  background-color:var(--abgv-brand);
  background-image:
    linear-gradient(180deg,rgb(var(--abgv-brand-rgb) / .16),rgb(var(--abgv-brand-rgb) / .28)),
    url('assets/images/waterbody.jpg');
  background-position:center center,center center;
  background-size:cover,cover;
  background-repeat:no-repeat,no-repeat;
  background-attachment:scroll,fixed;
}
.construction-progress-section:before{
  z-index:1;
  background:
    linear-gradient(180deg,rgb(var(--abgv-brand-rgb) / .16),rgb(var(--abgv-brand-rgb) / .28)),
    radial-gradient(circle at 12% 30%,rgba(219,174,65,.14),transparent 25%),
    radial-gradient(circle at 86% 68%,rgb(var(--abgv-brand-rgb) / .13),transparent 31%);
}
.construction-progress-parallax-bg{display:none}
.construction-progress-section>.container{
  width:min(1440px,calc(100% - 36px));
  position:relative;
  z-index:2;
}
.construction-progress{
  grid-template-columns:minmax(0,1fr) minmax(330px,410px);
  background:linear-gradient(118deg,rgba(8,13,16,.30) 0%,rgba(21,29,32,.30) 52%,rgba(42,36,29,.30) 100%);
  border:1px solid rgba(246,216,142,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(255,210,112,.10),0 32px 85px rgba(4,10,12,.36);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  backdrop-filter:blur(14px) saturate(125%);
}
.construction-progress:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background:linear-gradient(112deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.025) 22%,transparent 48%,rgba(240,190,88,.08) 100%);
  pointer-events:none;
}
.construction-progress p{
  color:#e0e4e3;
}
.building-progress-panel{
  position:relative;
  z-index:3;
  width:100%;
  justify-self:end;
  align-self:center;
  padding-left:34px;
  border-left:1px solid rgba(246,216,142,.34);
}
.building-progress-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
}
.building-progress-head>span{
  display:flex;
  align-items:center;
  gap:9px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.building-progress-head i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#efc65e;
  box-shadow:0 0 0 5px rgba(239,198,94,.14),0 0 18px rgba(239,198,94,.50);
  animation:ringPulse 2.2s ease-in-out infinite;
}
.building-progress-head strong{
  color:#f3cc68;
  font:600 34px/1 Georgia,serif;
}
.building-progress-meter{
  height:10px;
  padding:2px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:rgba(5,10,12,.38);
  box-shadow:inset 0 2px 7px rgba(0,0,0,.28);
}
.building-progress-meter span{
  display:block;
  width:72%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#bd8d31,#f3cf6e 58%,#e5b84d);
  box-shadow:0 0 18px rgba(239,198,94,.38);
  animation:progressShimmer 3.2s linear infinite;
}
.building-progress-panel small{
  display:block;
  margin:12px 0 24px;
  color:#d7ddda;
  font-size:11px;
  line-height:1.6;
}
.building-progress-panel .building-cta{
  width:100%;
  min-height:54px;
  justify-content:center;
}

@media(max-width:850px){
  .construction-progress-section{
    background-attachment:scroll,fixed;
    clip-path:inset(0);
  }
  .construction-progress-parallax-bg{
    display:block;
    position:fixed;
    z-index:0;
    inset:0;
    pointer-events:none;
  }
  .construction-progress-parallax-bg img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
  .construction-progress-section>.container{width:calc(100% - 24px)}
  .construction-progress{grid-template-columns:1fr}
  .building-progress-panel{padding:28px 0 0;border-left:0;border-top:1px solid rgba(246,216,142,.30)}
}

/* Location Advantage: premium cream/gold presentation matching the approved reference */
.location{
  background:
    radial-gradient(circle at 12% 18%,rgba(221,181,80,.14),transparent 22%),
    radial-gradient(circle at 88% 78%,rgb(var(--abgv-brand-rgb) / .10),transparent 28%),
    linear-gradient(135deg,#fffdf7 0%,#f8f2e5 48%,#fbf7ed 100%);
  color:var(--abgv-brand-ink);
}
.location:before{
  background:
    radial-gradient(circle at 20% 50%,rgba(219,174,65,.10),transparent 28%),
    radial-gradient(circle at 82% 20%,rgb(var(--abgv-brand-rgb) / .08),transparent 26%);
}
.location:after{
  background:linear-gradient(120deg,transparent 0 35%,rgba(219,174,65,.075) 45%,transparent 55%);
  background-size:240% 100%;
}
.location-copy h2{color:var(--abgv-brand-ink)}
.location-copy p{color:#66756e}
.location-copy .eyebrow{color:#b48220}
.location-benefit{
  background:rgba(255,253,247,.82)!important;
  border:1px solid rgba(188,145,55,.22)!important;
  box-shadow:0 12px 30px rgb(var(--abgv-brand-rgb) / .08)!important;
  backdrop-filter:blur(8px);
}
.location-benefit strong{color:var(--abgv-brand-ink)}
.location-benefit small{color:#6f7c75}
.location-icon{
  color:#b9851f;
  background:radial-gradient(circle,#fffdf7,#f5ead0);
  border-color:rgba(190,146,54,.42);
  box-shadow:0 0 0 1px rgba(255,255,255,.8),0 7px 18px rgba(190,146,54,.10);
}
.location-benefit:after{
  background:linear-gradient(90deg,transparent,rgba(219,174,65,.18),transparent);
}
.location-actions .location-qr{
  background:rgba(255,253,247,.96);
  border:1px solid rgba(188,145,55,.20);
  box-shadow:0 12px 30px rgb(var(--abgv-brand-rgb) / .09);
}
.location-copy>p strong{color:#a9781e}

/* Interactive map frame: keep the real map, but give it the premium gold/cream treatment */
.map-box{
  position:relative;
  background:#f4eddd;
  border:1px solid rgba(197,153,57,.50);
  box-shadow:0 24px 65px rgb(var(--abgv-brand-rgb) / .14),0 0 35px rgba(219,174,65,.10);
}
.map-box:before{
  border-radius:22px;
  background:linear-gradient(120deg,rgba(239,207,119,.12),rgba(214,167,62,.86),rgb(var(--abgv-brand-rgb) / .25),rgba(239,207,119,.12));
  background-size:240% 240%;
  animation:mapBorderFlow 5.5s linear infinite;
}
.map-box:after{
  box-shadow:inset 0 0 35px rgba(126,104,55,.08),0 0 28px rgba(232,197,108,.12);
  animation:mapFrameGlow 3.8s ease-in-out infinite;
}
.map-box iframe{
  filter:saturate(.72) sepia(.08) contrast(.98) brightness(1.04);
}
.map-orbit{border-color:rgba(205,160,59,.48)}
.map-pin-pulse{background:#b98721;box-shadow:0 0 0 6px rgba(200,155,63,.12),0 0 24px rgba(200,155,63,.38)}

@media(max-width:850px){
  .site-header .brand{width:106px;min-width:106px;height:72px}
  .site-header .brand:before{width:82px;height:64px;border-radius:19px}
  .site-header .brand:after{width:90px;height:72px;border-radius:22px}
  .site-header .brand-logo{width:78px;height:60px}
}
@media(max-width:560px){
  .site-header .brand{width:96px;min-width:96px;height:68px}
  .site-header .brand:before{width:74px;height:58px}
  .site-header .brand:after{width:82px;height:66px}
  .site-header .brand-logo{width:70px;height:54px}
}

/* V10 MAP FIX — keep every custom marker/label inside the live map viewport */
.map-showcase{position:relative!important;overflow:hidden!important;isolation:isolate!important;min-height:540px!important;}
.map-showcase .map-visual{position:absolute!important;inset:5px!important;width:auto!important;height:auto!important;min-height:0!important;z-index:1!important;overflow:hidden!important;}
.map-showcase .map-visual iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;display:block!important;z-index:1!important;}
.map-showcase .map-wash,.map-showcase .map-compass,.map-showcase .map-project-marker,.map-showcase .map-place,.map-showcase .map-road-label,.map-showcase .map-live-ring,.map-showcase .map-live-dot{position:absolute!important;}
.map-showcase .map-wash{z-index:2!important;}
.map-showcase .map-compass,.map-showcase .map-road-label{z-index:8!important;}
.map-showcase .map-place,.map-showcase .map-project-marker,.map-showcase .map-live-ring,.map-showcase .map-live-dot{z-index:9!important;}
.map-showcase .map-project-marker{left:50%!important;top:52%!important;}
.map-showcase .map-live-ring,.map-showcase .map-live-dot{left:50%!important;top:52%!important;}
.map-showcase .map-compass{left:24px!important;top:20px!important;}
@media(max-width:560px){.map-showcase{min-height:400px!important}.map-showcase .map-visual{inset:4px!important}.map-showcase .map-compass{left:12px!important;top:12px!important}}

/* Map interaction: hide decorative labels/markers once the visitor interacts with the map.
   The underlying Google Map remains fully interactive. */
.map-showcase .map-compass,
.map-showcase .map-project-marker,
.map-showcase .map-place,
.map-showcase .map-road-label,
.map-showcase .map-live-ring,
.map-showcase .map-live-dot{
  transition:opacity .28s ease, visibility .28s ease;
}
.map-showcase .map-user-active .map-compass,
.map-showcase .map-user-active .map-project-marker,
.map-showcase .map-user-active .map-place,
.map-showcase .map-user-active .map-road-label,
.map-showcase .map-user-active .map-live-ring,
.map-showcase .map-user-active .map-live-dot{
  opacity:0!important;
  visibility:hidden!important;
}

/* V12 LOCATION — wide split layout, left distance panel + clean icon-only map */
.location-v12{padding-top:118px!important;padding-bottom:92px!important;min-height:760px!important;overflow:hidden}
.location-v12-grid{display:grid!important;grid-template-columns:minmax(420px,.9fr) minmax(560px,1.18fr)!important;gap:52px!important;align-items:center!important;max-width:1450px!important}
.location-v12-copy{position:relative;z-index:3}
.location-v12-copy h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(44px,4.5vw,68px);line-height:.98;color:var(--abgv-brand-ink);margin:14px 0 20px}
.location-v12-copy h1 span{color:#b9851f}
.location-v12-copy .location-intro{font-size:16px;line-height:1.7;max-width:650px;color:#66756e;margin:0 0 24px}
.location-distance-list{display:grid;gap:10px;max-width:680px}
.distance-card{display:grid;grid-template-columns:58px 1fr 58px;align-items:center;gap:14px;min-height:72px;padding:10px 16px;border-radius:14px;background:rgba(255,253,247,.92);border:1px solid rgba(188,145,55,.18);box-shadow:0 10px 24px rgb(var(--abgv-brand-rgb) / .07);position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.distance-card:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(219,174,65,.12),transparent);transform:translateX(-110%);animation:distanceSweep 6s ease-in-out infinite;pointer-events:none}
.distance-card:hover{transform:translateX(5px);border-color:rgba(188,145,55,.38);box-shadow:0 16px 32px rgb(var(--abgv-brand-rgb) / .12)}
.distance-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#ad7a18;background:radial-gradient(circle,#fffdf7,#f5ead0);border:1px solid rgba(190,146,54,.42);box-shadow:0 0 0 4px rgba(255,255,255,.72),0 7px 18px rgba(190,146,54,.12);font-size:22px;z-index:1}
.distance-card div{display:flex;flex-direction:column;gap:4px;z-index:1}.distance-card strong{font-size:15px;color:var(--abgv-brand-ink)}.distance-card div small{font-size:11px;color:#6f7c75}.distance-card>b{font-size:32px;line-height:.8;color:var(--abgv-brand-ink);text-align:center;z-index:1}.distance-card>b small{display:block;font-size:10px;font-weight:700;margin-top:6px;color:#6f7c75}
.location-v12 .location-coordinates{margin:20px 0 14px;color:#66756e;font-size:13px}.location-v12 .location-coordinates strong{color:#a9781e}
.location-v12-actions{display:flex;align-items:center;gap:18px}.location-v12-actions .btn{min-width:220px}.location-v12-actions .location-qr{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:rgba(255,253,247,.96);border:1px solid rgba(188,145,55,.20);box-shadow:0 12px 30px rgb(var(--abgv-brand-rgb) / .09);font-size:9px;letter-spacing:.08em;font-weight:800;color:var(--abgv-brand-ink)}.location-v12-actions .location-qr img{width:70px;height:70px;object-fit:contain}
.location-v12-map{min-height:640px!important;border-radius:28px!important;box-shadow:0 28px 80px rgb(var(--abgv-brand-rgb) / .15),0 0 45px rgba(219,174,65,.14)!important}
.location-v12-map .map-visual{inset:6px!important;border-radius:23px!important}
.location-v12-map .map-wash{background:linear-gradient(135deg,rgba(255,249,229,.18),rgba(255,255,255,.03) 45%,rgba(219,180,72,.10));z-index:2}
.location-v12-map .map-compass{z-index:8}
.location-v12-map .map-project-marker{left:50%!important;top:52%!important}
.location-v12-map .map-project-marker i{width:42px;height:54px;box-shadow:0 10px 28px rgba(174,126,30,.46),0 0 0 10px rgba(217,170,69,.10)}
.location-v12-map .map-place{z-index:9;width:54px!important;height:54px!important;border-radius:50%!important;padding:0!important;display:grid!important;place-items:center!important;background:rgba(255,252,239,.94)!important;border:1px solid rgba(190,146,54,.55)!important;box-shadow:0 0 0 6px rgba(255,255,255,.35),0 0 26px rgba(219,174,65,.30)!important;color:#a87516!important;animation:mapMarkerFloat 4.5s ease-in-out infinite!important}
.location-v12-map .map-place span{font-size:24px!important;font-weight:900!important;line-height:1!important}
.location-v12-map .map-place b,.location-v12-map .map-place small{display:none!important}
.location-v12-map .map-road-label{display:none!important}
.location-v12-map .map-project-marker strong{display:none!important}
.location-v12-map .map-project-marker i:after{width:12px;height:12px}
.location-v12-map .map-compass{display:grid!important}
.location-v12-map .map-live-ring{left:50%!important;top:52%!important}
.location-v12-map .map-live-dot{left:50%!important;top:52%!important}
@keyframes distanceSweep{0%,55%{transform:translateX(-110%)}75%,100%{transform:translateX(110%)}}
@keyframes mapMarkerFloat{0%,100%{transform:translateY(0);filter:drop-shadow(0 0 0 rgba(219,174,65,0))}50%{transform:translateY(-5px);filter:drop-shadow(0 0 10px rgba(219,174,65,.28))}}
@media(max-width:1050px){.location-v12-grid{grid-template-columns:1fr!important}.location-v12-map{min-height:560px!important}.location-v12-copy{max-width:820px}.location-distance-list{max-width:none}}
@media(max-width:560px){.location-v12{padding-top:96px!important}.location-v12-grid{gap:28px!important}.location-v12-copy h1{font-size:43px}.distance-card{grid-template-columns:48px 1fr 48px;gap:10px}.distance-icon{width:42px;height:42px}.distance-card>b{font-size:26px}.location-v12-actions{flex-direction:column;align-items:flex-start}.location-v12-map{min-height:420px!important;border-radius:20px!important}.location-v12-map .map-place{width:44px!important;height:44px!important}.location-v12-map .map-place span{font-size:18px!important}}

/* V13 FINAL LOCATION MAP CLEANUP — remove all custom map text/markers; keep only live Google map + premium frame. */
.location-v12-grid{width:min(1700px,calc(100% - 72px))!important;max-width:1700px!important;grid-template-columns:minmax(520px,.88fr) minmax(720px,1.12fr)!important;gap:64px!important;}
.location-v12-copy{max-width:760px!important;}
.location-v12-map{min-height:640px!important;}
.location-v12-map .map-wash{pointer-events:none!important;background:linear-gradient(135deg,rgba(255,249,229,.08),rgba(255,255,255,0) 55%,rgba(219,180,72,.05))!important;}
.location-v12-map .map-compass,.location-v12-map .map-project-marker,.location-v12-map .map-place,.location-v12-map .map-road-label,.location-v12-map .map-live-ring,.location-v12-map .map-live-dot{display:none!important;}
.location-v12-map .map-visual{inset:6px!important;border-radius:23px!important;overflow:hidden!important;}
.location-v12-map .map-visual iframe{display:block!important;width:100%!important;height:100%!important;min-height:0!important;border:0!important;overflow:hidden!important;}
@media(max-width:1050px){.location-v12-grid{width:min(920px,calc(100% - 36px))!important;grid-template-columns:1fr!important;gap:36px!important;}.location-v12-copy{max-width:none!important;}.location-v12-map{min-height:560px!important;}}
@media(max-width:560px){.location-v12-grid{width:calc(100% - 24px)!important;}.location-v12-map{min-height:420px!important;}}


/* V14 LANDING PAGE LOCATION — full-width desktop composition and original Google map only. */
@media(min-width:851px){
  .abgv-home .location > .container{width:min(1720px,calc(100% - 72px))!important;max-width:1720px!important}
  .abgv-home .location-grid{grid-template-columns:minmax(500px,.92fr) minmax(700px,1.08fr)!important;gap:70px!important;align-items:center!important}
  .abgv-home .location-copy{width:100%!important;max-width:760px!important}
  .abgv-home .location-copy h2{font-size:clamp(48px,4.1vw,68px)!important}
  .abgv-home .map-showcase{width:100%!important;min-height:640px!important}
  .abgv-home .map-showcase .map-visual{inset:6px!important;width:auto!important;height:auto!important}
  .abgv-home .map-showcase iframe{width:100%!important;height:100%!important;min-height:0!important;display:block!important}
}
/* No custom text, place names, compass, pin labels or road labels over the landing-page map. */
.abgv-home .map-showcase .map-compass,.abgv-home .map-showcase .map-project-marker,.abgv-home .map-showcase .map-place,.abgv-home .map-showcase .map-road-label,.abgv-home .map-showcase .map-live-ring,.abgv-home .map-showcase .map-live-dot{display:none!important}
@media(max-width:850px){.abgv-home .location > .container{width:calc(100% - 30px)!important}}

/* =========================================================
   HEADER-ONLY FINAL REFINEMENT
   Requested: wider layout, larger logo/menu text, animated
   green gradient, improved readability. No other sections changed.
   ========================================================= */
.site-header{
  padding:10px 0;
  overflow:visible;
  background:linear-gradient(110deg,var(--abgv-brand) 0%,var(--abgv-brand) 28%,var(--abgv-brand) 52%,var(--abgv-brand) 76%,var(--abgv-brand) 100%);
  background-size:260% 100%;
  animation:abgvHeaderGradient 12s ease-in-out infinite alternate;
  box-shadow:0 6px 24px rgba(0,0,0,.16);
}
.site-header:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 50%,rgb(var(--abgv-brand-rgb) / .18),transparent 24%),
    radial-gradient(circle at 55% 0%,rgb(var(--abgv-brand-rgb) / .13),transparent 28%),
    linear-gradient(90deg,transparent 0%,rgb(var(--abgv-brand-rgb) / .10) 50%,transparent 100%);
  background-size:auto,auto,220% 100%;
  animation:abgvHeaderGlow 8s ease-in-out infinite alternate;
}
.site-header:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--abgv-brand) 25%,#d9aa45 50%,var(--abgv-brand) 75%,transparent);
  background-size:220% 100%;
  animation:abgvHeaderSweep 5s linear infinite;
}
.site-header.scrolled{
  background:linear-gradient(110deg,var(--abgv-brand),var(--abgv-brand),var(--abgv-brand),var(--abgv-brand));
  background-size:260% 100%;
  animation:abgvHeaderGradient 12s ease-in-out infinite alternate;
  backdrop-filter:blur(12px);
}
.site-header .nav-wrap{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 38px;
  display:grid;
  grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);
  align-items:center;
  gap:30px;
  position:relative;
  z-index:2;
}
.site-header .brand{
  justify-self:start;
  width:auto;
  min-width:145px;
  height:78px;
  display:flex;
  align-items:center;
}
.site-header .brand-logo{
  width:128px;
  height:78px;
  object-fit:contain;
  transform-origin:left center;
  filter:drop-shadow(0 0 14px rgba(231,194,96,.24));
}
.site-header .nav{
  justify-self:center;
  gap:36px;
  white-space:nowrap;
}
.site-header .nav a{
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.055em;
  padding:18px 0;
  text-shadow:0 1px 8px rgba(0,0,0,.18);
}
.site-header .nav a:hover,
.site-header .nav a.active{
  color:#ffe08a;
  text-shadow:0 0 14px rgba(240,196,93,.28);
}
.site-header .nav-cta{
  justify-self:end;
  min-width:150px;
  padding:16px 25px!important;
  font-size:13px!important;
  border-radius:10px!important;
  white-space:nowrap;
}
@keyframes abgvHeaderGradient{
  0%{background-position:0% 50%}
  50%{background-position:55% 50%}
  100%{background-position:100% 50%}
}
@keyframes abgvHeaderGlow{
  0%{opacity:.55;background-position:0 0,0 0,-30% 0}
  50%{opacity:.9;background-position:0 0,0 0,50% 0}
  100%{opacity:.65;background-position:0 0,0 0,130% 0}
}
@keyframes abgvHeaderSweep{
  0%{background-position:220% 0}
  100%{background-position:-20% 0}
}
@media(max-width:1180px){
  .site-header .nav-wrap{padding:0 24px;grid-template-columns:130px auto 150px;gap:18px}
  .site-header .brand-logo{width:112px;height:70px}
  .site-header .nav{gap:22px}
  .site-header .nav a{font-size:13px}
  .site-header .nav-cta{min-width:135px;padding:14px 18px!important}
}
@media(max-width:850px){
  .site-header{padding:8px 0}
  .site-header .nav-wrap{display:flex;width:100%;padding:0 16px;gap:12px}
  .site-header .brand{min-width:0;height:68px}
  .site-header .brand-logo{width:100px;height:62px}
  .site-header .nav{top:72px;left:12px;right:12px;gap:0}
  .site-header .nav a{font-size:14px;padding:12px 14px}
  .site-header .nav-cta{display:none}
  .site-header .menu-toggle{margin-left:auto;display:block}
}
@media(max-width:560px){
  .site-header .nav-wrap{padding:0 10px}
  .site-header .brand-logo{width:92px;height:58px}
}

/* ==========================================================
   V16 HEADER REBUILD — desktop zoom-stable full-width header
   Header only. All page content remains untouched.
   ========================================================== */
@media (min-width: 851px){
  .site-header{
    height: 94px !important;
    padding: 0 !important;
    background: linear-gradient(110deg,var(--abgv-brand) 0%,var(--abgv-brand) 34%,var(--abgv-brand) 58%,var(--abgv-brand) 82%,var(--abgv-brand) 100%) !important;
    background-size: 260% 100% !important;
    animation: abgvHeaderGradient 14s ease-in-out infinite alternate !important;
    border-bottom: 1px solid rgba(232,194,91,.18) !important;
    overflow: visible !important;
  }
  .site-header:before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    opacity:.72 !important;
    background:
      radial-gradient(ellipse at 18% 105%,rgb(var(--abgv-brand-rgb) / .28),transparent 34%),
      radial-gradient(ellipse at 58% 110%,rgb(var(--abgv-brand-rgb) / .18),transparent 32%),
      radial-gradient(ellipse at 86% 0%,rgba(215,174,65,.10),transparent 28%) !important;
    animation: abgvHeaderGlow 8s ease-in-out infinite alternate !important;
  }
  .site-header:after{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:3px !important;
    background:linear-gradient(90deg,transparent 0%,rgb(var(--abgv-brand-rgb) / .15) 12%,rgba(112,190,91,.8) 34%,rgba(232,194,91,.85) 50%,rgba(112,190,91,.8) 66%,rgb(var(--abgv-brand-rgb) / .15) 88%,transparent 100%) !important;
    background-size:220% 100% !important;
    animation:abgvHeaderSweep 7s linear infinite !important;
    pointer-events:none !important;
  }
  .site-header.scrolled{
    background:linear-gradient(110deg,var(--abgv-brand) 0%,var(--abgv-brand) 35%,var(--abgv-brand) 60%,var(--abgv-brand) 100%) !important;
    background-size:260% 100% !important;
    animation:abgvHeaderGradient 14s ease-in-out infinite alternate !important;
    backdrop-filter:blur(12px) !important;
    box-shadow:0 8px 30px rgba(0,0,0,.25) !important;
  }
  .site-header.scrolled:after{height:3px !important;animation:abgvHeaderSweep 7s linear infinite !important}

  .site-header .nav-wrap{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    height:94px !important;
    margin:0 !important;
    padding:0 2.25vw !important;
    display:block !important;
  }

  /* Logo: fixed to the left edge of the header */
  .site-header .brand{
    position:absolute !important;
    left:2.25vw !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:126px !important;
    min-width:126px !important;
    height:80px !important;
    margin:0 !important;
    z-index:5 !important;
    justify-content:flex-start !important;
  }
  .site-header .brand-logo{
    width:118px !important;
    height:76px !important;
    object-fit:contain !important;
    transform:none !important;
  }
  .site-header .brand:hover .brand-logo{transform:translateY(-2px) scale(1.035) !important}

  /* Navigation is truly centered in the viewport, not inside a max-width container */
  .site-header .nav{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    width:auto !important;
    max-width:calc(100vw - 430px) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:clamp(20px,2.15vw,38px) !important;
    margin:0 !important;
    padding:0 !important;
    z-index:4 !important;
    white-space:nowrap !important;
  }
  .site-header .nav a{
    font-size:clamp(14px,1vw,17px) !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.035em !important;
    padding:18px 0 !important;
    text-shadow:0 1px 8px rgba(0,0,0,.28) !important;
    transform:none !important;
  }
  .site-header .nav a:hover{transform:translateY(-2px) !important}
  .site-header .nav a:after{bottom:3px !important;height:2px !important}
  .site-header .nav a:before{bottom:0 !important}

  /* Contact button: fixed to right edge */
  .site-header .nav-cta{
    position:absolute !important;
    right:2.25vw !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    min-width:158px !important;
    height:50px !important;
    padding:0 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:13px !important;
    font-weight:900 !important;
    letter-spacing:.07em !important;
    border-radius:10px !important;
    z-index:5 !important;
  }
  .site-header .nav-cta:hover{transform:translateY(-50%) scale(1.035) !important}

  /* Prevent the desktop header from collapsing into the old 1100px layout during browser zoom. */
  .site-header .menu-toggle{display:none !important}
}

@keyframes abgvHeaderGradient{
  0%{background-position:0% 50%}
  50%{background-position:52% 50%}
  100%{background-position:100% 50%}
}
@keyframes abgvHeaderGlow{
  0%{transform:translateX(-2%);opacity:.45}
  50%{transform:translateX(2%);opacity:.78}
  100%{transform:translateX(-1%);opacity:.55}
}
@keyframes abgvHeaderSweep{
  0%{background-position:220% 0}
  100%{background-position:-20% 0}
}

@media (max-width:1100px) and (min-width:851px){
  .site-header .brand{left:1.4vw;width:104px;min-width:104px}
  .site-header .brand-logo{width:98px;height:68px}
  .site-header .nav{max-width:calc(100vw - 320px);gap:clamp(13px,1.55vw,22px)}
  .site-header .nav a{font-size:13px;letter-spacing:.02em}
  .site-header .nav-cta{right:1.4vw;min-width:130px;padding:0 14px !important;font-size:11px}
}

/* ==========================================================
   V17 HEADER FINAL — WIDE DISTRIBUTION + CRYSTAL ANIMATION
   Header only. No page sections/content modified.
   ========================================================== */
@media (min-width:851px){
  .site-header .nav-wrap{
    padding:0 2.4vw !important;
    display:block !important;
    overflow:hidden !important;
  }

  /* Subtle crystal/glass particles across the header */
  .site-header .nav-wrap:before{
    content:"" !important;
    position:absolute !important;
    inset:-20% -8% !important;
    pointer-events:none !important;
    z-index:1 !important;
    background:
      radial-gradient(circle at 8% 28%,rgba(190,255,210,.42) 0 1px,transparent 2px),
      radial-gradient(circle at 17% 72%,rgba(132,225,157,.30) 0 1px,transparent 2px),
      radial-gradient(circle at 31% 20%,rgba(224,255,230,.34) 0 1px,transparent 2px),
      radial-gradient(circle at 48% 78%,rgba(140,232,163,.28) 0 1px,transparent 2px),
      radial-gradient(circle at 67% 26%,rgba(226,255,233,.35) 0 1px,transparent 2px),
      radial-gradient(circle at 81% 72%,rgba(139,232,162,.32) 0 1px,transparent 2px),
      radial-gradient(circle at 94% 32%,rgba(219,255,226,.36) 0 1px,transparent 2px),
      linear-gradient(125deg,transparent 0 38%,rgba(170,245,188,.10) 43%,rgba(235,255,240,.18) 46%,transparent 50%);
    background-size:auto,auto,auto,auto,auto,auto,auto,240% 240%;
    animation:abgvCrystalDrift 9s ease-in-out infinite;
    opacity:.9;
  }

  .site-header .nav-wrap:after{
    content:"" !important;
    position:absolute !important;
    top:-30% !important;
    left:-14% !important;
    width:18% !important;
    height:160% !important;
    pointer-events:none !important;
    z-index:1 !important;
    background:linear-gradient(110deg,transparent 20%,rgba(216,255,224,.08) 45%,rgba(242,255,245,.22) 50%,rgba(216,255,224,.08) 55%,transparent 80%);
    transform:skewX(-18deg);
    filter:blur(2px);
    animation:abgvCrystalSweep 7s ease-in-out infinite;
  }

  /* Contact button intentionally on the LEFT */
  .site-header .nav-cta{
    left:2.4vw !important;
    right:auto !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    min-width:158px !important;
    height:50px !important;
    z-index:5 !important;
  }

  /* JDS logo intentionally on the RIGHT, with a clean white backing */
  .site-header .brand{
    left:auto !important;
    right:2.4vw !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:142px !important;
    min-width:142px !important;
    height:82px !important;
    justify-content:center !important;
    z-index:5 !important;
  }
  .site-header .brand:before{
    width:104px !important;
    height:76px !important;
    border-radius:20px !important;
    background:#ffffff !important;
    box-shadow:0 8px 24px rgba(0,0,0,.12),inset 0 0 0 1px rgba(190,146,54,.16) !important;
  }
  .site-header .brand:after{
    width:114px !important;
    height:84px !important;
    border-radius:24px !important;
  }
  .site-header .brand-logo{
    width:94px !important;
    height:72px !important;
    object-fit:contain !important;
    transform:none !important;
    filter:drop-shadow(0 3px 9px rgba(0,0,0,.10)) !important;
  }

  /* Navigation fills the entire middle band instead of sitting in a small center cluster */
  .site-header .nav{
    left:calc(2.4vw + 178px) !important;
    right:calc(2.4vw + 178px) !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:auto !important;
    max-width:none !important;
    height:94px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-evenly !important;
    gap:0 !important;
    z-index:4 !important;
  }
  .site-header .nav a{
    flex:0 1 auto !important;
    font-size:clamp(15px,1.05vw,18px) !important;
    font-weight:800 !important;
    letter-spacing:.025em !important;
    padding:19px clamp(8px,.9vw,16px) !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
}

@keyframes abgvCrystalDrift{
  0%,100%{transform:translate3d(-1%,0,0) scale(1);opacity:.62;background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,-40% 0}
  50%{transform:translate3d(1%, -1%,0) scale(1.015);opacity:1;background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,70% 0}
}
@keyframes abgvCrystalSweep{
  0%,18%{left:-18%;opacity:0}
  35%{opacity:.9}
  65%{left:105%;opacity:.65}
  80%,100%{left:118%;opacity:0}
}

@media (max-width:1180px) and (min-width:851px){
  .site-header .nav-cta{left:1.4vw !important;min-width:130px !important;font-size:11px !important}
  .site-header .brand{right:1.4vw !important;width:110px !important;min-width:110px !important}
  .site-header .brand:before{width:82px !important;height:64px !important}
  .site-header .brand:after{width:90px !important;height:72px !important}
  .site-header .brand-logo{width:76px !important;height:58px !important}
  .site-header .nav{left:calc(1.4vw + 145px) !important;right:calc(1.4vw + 145px) !important}
  .site-header .nav a{font-size:13px !important;padding-left:5px !important;padding-right:5px !important}
}


/* =========================================================
   V18 LOCATION ALIGNMENT FIX
   Desktop layout stays two-column through normal browser zoom
   levels. The live Google map is locked to its own viewport so
   nothing can spill below it. No custom map labels/overlays.
   ========================================================= */
.location-v12{
  width:100% !important;
  min-height:760px !important;
  padding:118px 0 92px !important;
  overflow:hidden !important;
}
.location-v12 > .location-v12-grid{
  width:min(1760px, calc(100vw - clamp(40px, 7vw, 132px))) !important;
  max-width:1760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:minmax(520px, .94fr) minmax(650px, 1.06fr) !important;
  gap:clamp(42px, 4vw, 78px) !important;
  align-items:center !important;
}
.location-v12-copy{
  width:100% !important;
  max-width:760px !important;
  min-width:0 !important;
  justify-self:stretch !important;
}
.location-v12-copy h1{
  font-size:clamp(48px, 4.15vw, 72px) !important;
  line-height:.98 !important;
}
.location-distance-list{
  width:100% !important;
  max-width:none !important;
}
.distance-card{width:100% !important;box-sizing:border-box !important;}
.location-v12-map{
  width:100% !important;
  min-width:0 !important;
  height:clamp(560px, 68vh, 690px) !important;
  min-height:560px !important;
  max-height:690px !important;
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  box-sizing:border-box !important;
}
.location-v12-map .map-visual{
  position:absolute !important;
  inset:6px !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:hidden !important;
  border-radius:23px !important;
  z-index:1 !important;
}
.location-v12-map .map-visual iframe{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.location-v12-map .map-wash,
.location-v12-map .map-compass,
.location-v12-map .map-project-marker,
.location-v12-map .map-place,
.location-v12-map .map-road-label,
.location-v12-map .map-live-ring,
.location-v12-map .map-live-dot{display:none !important;}

/* Keep the approved desktop composition during ordinary zoom changes. */
@media (min-width:701px){
  .location-v12 > .location-v12-grid{
    grid-template-columns:minmax(500px,.94fr) minmax(620px,1.06fr) !important;
  }
}
@media (max-width:700px){
  .location-v12{
    min-height:auto !important;
    padding:96px 0 70px !important;
  }
  .location-v12 > .location-v12-grid{
    width:calc(100% - 28px) !important;
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .location-v12-copy{max-width:none !important;}
  .location-v12-copy h1{font-size:clamp(40px,11vw,54px) !important;}
  .location-v12-map{
    height:460px !important;
    min-height:460px !important;
    max-height:460px !important;
    border-radius:20px !important;
  }
  .location-v12-map .map-visual{inset:5px !important;border-radius:16px !important;}
}


/* ==========================================================
   V19 LOCATION FINAL FIX
   Deep fix for desktop/incognito/zoom layout + Google iframe crop.
   Only location sections are affected.
   ========================================================== */

/* Desktop/touch-safe composition: use actual pointer capability rather than
   viewport width, so browser zoom does not unexpectedly collapse the layout. */
@media (pointer:fine) and (hover:hover) and (min-width:701px){
  .location-v12-grid{
    width:min(1600px,calc(100% - 48px)) !important;
    max-width:1600px !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    gap:54px !important;
    align-items:center !important;
  }
  .location-v12-copy{width:100% !important;max-width:760px !important;}
  .location-v12-map{
    width:100% !important;
    min-height:640px !important;
    height:640px !important;
  }

  .abgv-home .location > .container{
    width:min(1600px,calc(100% - 48px)) !important;
    max-width:1600px !important;
  }
  .abgv-home .location-grid{
    width:100% !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    gap:54px !important;
    align-items:center !important;
  }
  .abgv-home .location-copy{width:100% !important;max-width:760px !important;}
  .abgv-home .map-showcase{
    width:100% !important;
    min-height:640px !important;
    height:640px !important;
  }
}

/* The no-key Google maps URL used by the site renders a result strip below
   the map. Make the iframe intentionally taller and crop it inside our
   premium frame so only the actual map viewport is visible. */
.location-v12-map .map-visual,
.abgv-home .map-showcase .map-visual{
  overflow:hidden !important;
  clip-path:inset(0 round 23px) !important;
}
.location-v12-map .map-visual iframe,
.abgv-home .map-showcase .map-visual iframe{
  width:100% !important;
  height:145% !important;
  min-height:0 !important;
  max-height:none !important;
  display:block !important;
  border:0 !important;
  transform:none !important;
}

/* Keep the premium frame itself stable while the embedded map is interactive. */
.location-v12-map,
.abgv-home .map-showcase{
  overflow:hidden !important;
}

/* Real mobile devices: stack only when the device is actually narrow/touch.
   Desktop browser zoom will keep the approved two-column composition. */
@media (hover:none) and (pointer:coarse), (max-width:700px){
  .location-v12-grid{
    width:calc(100% - 24px) !important;
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .location-v12-map{height:420px !important;min-height:420px !important;}
  .location-v12-map .map-visual{inset:4px !important;border-radius:18px !important;clip-path:inset(0 round 18px) !important;}
  .abgv-home .location > .container{width:calc(100% - 24px) !important;}
  .abgv-home .location-grid{grid-template-columns:1fr !important;gap:28px !important;}
  .abgv-home .map-showcase{height:420px !important;min-height:420px !important;}
  .abgv-home .map-showcase .map-visual{inset:4px !important;border-radius:18px !important;clip-path:inset(0 round 18px) !important;}
}


/* ==========================================================
   V20 HEADER ALIGNMENT — LOGO LEFT / CONTACT RIGHT / ABOUT US LAST
   Header only. Keep all page sections unchanged.
   ========================================================== */
@media (min-width:851px){
  .site-header .brand{
    left:2.25vw !important;
    right:auto !important;
    width:126px !important;
    min-width:126px !important;
    justify-content:flex-start !important;
  }
  .site-header .brand:before{
    width:104px !important;
    height:76px !important;
  }
  .site-header .brand:after{
    width:114px !important;
    height:84px !important;
  }
  .site-header .brand-logo{
    width:94px !important;
    height:72px !important;
  }
  .site-header .nav-cta{
    left:auto !important;
    right:2.25vw !important;
    min-width:158px !important;
    height:50px !important;
  }
  .site-header .nav{
    left:calc(2.25vw + 155px) !important;
    right:calc(2.25vw + 190px) !important;
    width:auto !important;
    max-width:none !important;
    justify-content:space-evenly !important;
    gap:0 !important;
  }
  .site-header .nav a{
    flex:0 1 auto !important;
    font-size:clamp(14px,1vw,17px) !important;
    padding-left:clamp(6px,.8vw,14px) !important;
    padding-right:clamp(6px,.8vw,14px) !important;
  }
}

@media (max-width:1180px) and (min-width:851px){
  .site-header .brand{
    left:1.4vw !important;
    right:auto !important;
    width:110px !important;
    min-width:110px !important;
  }
  .site-header .brand-logo{width:76px !important;height:58px !important}
  .site-header .nav-cta{
    left:auto !important;
    right:1.4vw !important;
    min-width:130px !important;
  }
  .site-header .nav{
    left:calc(1.4vw + 125px) !important;
    right:calc(1.4vw + 145px) !important;
    justify-content:space-evenly !important;
    gap:0 !important;
  }
}

/* =========================================================
   PROJECT OVERVIEW V21 — premium JDS Greens presentation
   Only page-project.php uses these styles.
   ========================================================= */
.project-v21{overflow:hidden;background:#f8f5ea}
.project-overview-hero{position:relative;min-height:780px;padding:150px 0 95px;background:radial-gradient(circle at 72% 35%,rgba(210,226,187,.62),transparent 27%),radial-gradient(circle at 15% 75%,rgba(217,170,69,.12),transparent 28%),linear-gradient(135deg,#fffdf7 0%,#f7f4e9 54%,var(--abgv-brand-pale) 100%);isolation:isolate}
.project-overview-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.45),transparent 42%,rgb(var(--abgv-brand-rgb) / .16));pointer-events:none}
.project-overview-hero:after{content:"";position:absolute;width:70%;height:180px;left:-10%;bottom:-80px;border-radius:50%;background:rgb(var(--abgv-brand-rgb) / .16);filter:blur(30px);transform:rotate(-8deg);pointer-events:none}
.project-overview-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:55px;align-items:center}
.project-overview-copy{max-width:720px}
.project-eyebrow{color:#9c7422!important}
.project-overview-copy h1{font-family:Georgia,serif;font-size:clamp(48px,5.3vw,76px);line-height:.98;font-weight:500;color:var(--abgv-brand-ink);margin:18px 0 16px;letter-spacing:-.035em}
.project-overview-copy h1 span{color:#b08326}
.project-rule{width:82px;height:2px;background:linear-gradient(90deg,#c69b3d,transparent);margin:0 0 28px}
.project-overview-copy p{max-width:680px;color:#52615a;font-size:15px;line-height:1.9;margin:0 0 18px}
.project-price-card{position:relative;display:flex;align-items:center;gap:16px;width:min(540px,100%);padding:18px 22px;margin-top:30px;border:1px solid rgba(178,140,54,.22);border-radius:20px;background:linear-gradient(110deg,rgba(255,255,250,.9),rgba(235,241,221,.78));box-shadow:0 20px 55px rgb(var(--abgv-brand-rgb) / .10);overflow:hidden;backdrop-filter:blur(8px)}
.project-price-card:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.8) 45%,transparent 65%);background-size:220% 100%;animation:projectShimmer 5s ease-in-out infinite}
.project-price-icon{position:relative;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--abgv-brand);color:#eacb76;font-weight:800;box-shadow:0 10px 25px rgb(var(--abgv-brand-rgb) / .18)}
.project-price-card div{position:relative}.project-price-card small{display:block;font-size:9px;font-weight:900;letter-spacing:.16em;color:#68766d;margin-bottom:2px}.project-price-card strong{display:block;color:var(--abgv-brand-ink);font-size:28px;line-height:1.1}.project-price-card em{font-style:normal;font-size:15px;font-weight:600;color:#657168}
.project-price-leaf{margin-left:auto;color:#b89236;font-size:32px;position:relative;animation:projectLeafPulse 3s ease-in-out infinite}
.project-sketch-wrap{position:relative;min-height:470px;display:flex;align-items:center;justify-content:center}
.project-sketch-glow{position:absolute;width:82%;height:70%;border-radius:50%;background:radial-gradient(circle,rgb(var(--abgv-brand-rgb) / .72),transparent 67%);filter:blur(8px);animation:projectBreath 5s ease-in-out infinite}
.project-sketch{position:relative;width:min(620px,100%);height:360px;object-fit:contain;mix-blend-mode:multiply;filter:sepia(.08) saturate(.55) contrast(.92);animation:projectFloat 6s ease-in-out infinite}
.project-sketch-caption{position:absolute;right:10%;bottom:48px;display:flex;align-items:center;gap:10px;color:var(--abgv-brand);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-sketch-caption i{display:block;width:36px;height:1px;background:#b68a2b}
.project-leaf-drift{position:absolute;width:130px;height:70px;border-radius:100% 0 100% 0;background:linear-gradient(135deg,rgb(var(--abgv-brand-rgb) / .13),rgba(205,219,172,.03));filter:blur(.2px);transform:rotate(25deg);animation:projectLeafDrift 9s ease-in-out infinite;pointer-events:none}.project-leaf-a{left:3%;top:18%}.project-leaf-b{right:4%;bottom:16%;transform:rotate(-35deg);animation-delay:-3s}.project-ambient{position:absolute;border-radius:50%;border:1px solid rgba(174,144,67,.14);animation:projectOrb 7s ease-in-out infinite;pointer-events:none}.project-ambient-a{width:240px;height:240px;right:12%;top:18%}.project-ambient-b{width:150px;height:150px;left:30%;bottom:10%;animation-delay:-2s}
.project-features-section{position:relative;padding:110px 0 120px;background:linear-gradient(135deg,#eef2e4,#faf8ef 46%,#f2ead9);isolation:isolate}.project-features-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 5% 10%,rgb(var(--abgv-brand-rgb) / .6),transparent 24%),radial-gradient(circle at 90% 80%,rgba(214,184,90,.12),transparent 25%);pointer-events:none}.project-feature-heading{position:relative;z-index:1;margin-bottom:55px}.project-feature-heading h2{font-family:Georgia,serif;font-size:clamp(42px,4.5vw,66px);line-height:.98;font-weight:500;color:var(--abgv-brand-ink);margin:15px 0}.project-feature-heading h2 span{color:var(--abgv-brand)}.project-feature-layout{position:relative;z-index:1;display:grid;grid-template-columns:1fr .92fr;gap:70px;align-items:start}.project-feature-copy{display:grid;gap:40px}.project-feature-item{display:grid;grid-template-columns:64px 1fr;gap:20px}.project-feature-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fffdf6,var(--abgv-brand-pale));border:1px solid rgb(var(--abgv-brand-rgb) / .35);box-shadow:0 12px 25px rgb(var(--abgv-brand-rgb) / .10);color:var(--abgv-brand);font-size:27px;animation:projectIconPulse 4s ease-in-out infinite}.project-feature-item:nth-child(2) .project-feature-icon{animation-delay:-1.7s}.project-feature-item h3{font-family:Georgia,serif;font-size:27px;color:var(--abgv-brand-ink);margin:0 0 12px}.project-feature-item p{font-size:13px;line-height:1.85;color:#647169;margin:0 0 12px;max-width:610px}.project-feature-images{display:grid;grid-template-columns:1fr;gap:18px}.project-image-card{position:relative;margin:0;border-radius:20px;overflow:hidden;box-shadow:0 22px 50px rgb(var(--abgv-brand-rgb) / .14);background:var(--abgv-brand-pale)}.project-image-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease}.project-image-card:hover img{transform:scale(1.045)}.project-image-main{height:300px}.project-image-small{height:230px;width:78%;justify-self:end}.project-image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgb(var(--abgv-brand-rgb) / .62));pointer-events:none}.project-image-card figcaption{position:absolute;left:22px;bottom:17px;z-index:2;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em}.project-orb{position:absolute;border-radius:50%;border:1px solid rgba(168,134,50,.14);animation:projectOrb 8s ease-in-out infinite}.project-orb-one{width:300px;height:300px;right:-100px;top:15%}.project-orb-two{width:170px;height:170px;left:-55px;bottom:8%;animation-delay:-3s}
.project-serenity-section{position:relative;padding:100px 0 120px;background:linear-gradient(145deg,#f8f6ed,var(--abgv-brand-pale));overflow:hidden}.project-serenity-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 45%,rgb(var(--abgv-brand-rgb) / .45),transparent 26%),radial-gradient(circle at 75% 40%,rgba(217,170,69,.12),transparent 28%)}.project-serenity-glow{position:absolute;width:55vw;height:300px;right:-10%;bottom:-80px;border-radius:50%;background:rgb(var(--abgv-brand-rgb) / .16);filter:blur(50px);animation:projectBreath 6s ease-in-out infinite}.project-serenity-grid{position:relative;z-index:1;display:grid;grid-template-columns:.75fr 1.3fr .58fr;gap:26px;align-items:center}.project-serenity-copy h2{font-family:Georgia,serif;font-size:clamp(40px,4vw,60px);line-height:.98;color:var(--abgv-brand-ink);margin:15px 0 20px}.project-serenity-copy h2 span{color:var(--abgv-brand)}.project-serenity-lead{font-size:17px;color:#657169;margin:0 0 32px}.project-mini-stats{display:grid;gap:14px}.project-mini-stats>div{display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center}.project-mini-stats span{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(181,144,49,.25);color:#b28426;box-shadow:0 8px 20px rgb(var(--abgv-brand-rgb) / .08)}.project-mini-stats strong{font-size:12px;color:var(--abgv-brand-ink)}.project-mini-stats small{font-size:10px;color:#7a827c}.project-serenity-image{position:relative;height:440px;margin:0;border-radius:26px;overflow:hidden;box-shadow:0 25px 60px rgb(var(--abgv-brand-rgb) / .16)}.project-serenity-image img{width:100%;height:100%;object-fit:cover}.project-image-sheen{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 48%,transparent 60%);background-size:220% 100%;animation:projectShimmer 6s ease-in-out infinite}.project-location-card{align-self:end;padding:32px 28px;border-radius:22px;background:linear-gradient(145deg,var(--abgv-brand),var(--abgv-brand));color:#fff;box-shadow:0 20px 45px rgb(var(--abgv-brand-rgb) / .2);position:relative;overflow:hidden}.project-location-card:after{content:"";position:absolute;width:150px;height:150px;right:-70px;top:-70px;border-radius:50%;border:1px solid rgba(255,255,255,.18);animation:projectOrb 5s ease-in-out infinite}.project-location-pin{width:44px;height:44px;display:grid;place-items:center;background:#fff;color:var(--abgv-brand);border-radius:50%;margin-bottom:24px;font-size:23px}.project-location-card small{display:block;font-size:9px;font-weight:800;letter-spacing:.16em;opacity:.78}.project-location-card strong{display:block;font-family:Georgia,serif;font-size:22px;margin-top:5px}.project-location-line{height:1px;background:rgba(255,255,255,.22);margin:22px 0}.project-location-card p{font-size:11px;line-height:1.7;color:var(--abgv-brand-pale);margin:0}
@keyframes projectFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes projectBreath{0%,100%{transform:scale(.96);opacity:.7}50%{transform:scale(1.04);opacity:1}}@keyframes projectShimmer{0%,100%{background-position:120% 0}50%{background-position:-40% 0}}@keyframes projectLeafPulse{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(8deg) scale(1.08)}}@keyframes projectLeafDrift{0%,100%{transform:translate3d(0,0,0) rotate(25deg);opacity:.5}50%{transform:translate3d(20px,-14px,0) rotate(38deg);opacity:.9}}@keyframes projectOrb{0%,100%{transform:scale(.96);opacity:.5}50%{transform:scale(1.05);opacity:1}}@keyframes projectIconPulse{0%,100%{box-shadow:0 12px 25px rgb(var(--abgv-brand-rgb) / .10),0 0 0 0 rgba(181,144,49,.10)}50%{box-shadow:0 15px 30px rgb(var(--abgv-brand-rgb) / .14),0 0 0 8px rgba(181,144,49,.06)}}
@media(max-width:900px){.project-overview-grid,.project-feature-layout,.project-serenity-grid{grid-template-columns:1fr}.project-overview-hero{padding-top:125px}.project-sketch-wrap{min-height:360px}.project-sketch{height:320px}.project-feature-images{grid-template-columns:1fr 1fr}.project-image-main,.project-image-small{height:260px;width:100%}.project-serenity-image{height:360px}.project-location-card{max-width:480px}}
@media(max-width:600px){.project-overview-hero{padding:110px 0 70px}.project-overview-copy h1{font-size:45px}.project-overview-copy p{font-size:14px}.project-sketch-wrap{min-height:270px}.project-sketch{height:250px}.project-sketch-caption{right:2%;bottom:15px;font-size:9px}.project-features-section,.project-serenity-section{padding:75px 0}.project-feature-heading h2,.project-serenity-copy h2{font-size:43px}.project-feature-layout{gap:40px}.project-feature-item{grid-template-columns:48px 1fr;gap:14px}.project-feature-icon{width:45px;height:45px;font-size:22px}.project-feature-item h3{font-size:22px}.project-feature-images{grid-template-columns:1fr}.project-image-main,.project-image-small{height:230px}.project-price-card strong{font-size:23px}.project-serenity-grid{gap:22px}.project-serenity-image{height:280px}.project-location-card{padding:25px}.project-leaf-drift{display:none}}
@media(prefers-reduced-motion:reduce){.project-v21 *,.project-v21 *:before,.project-v21 *:after{animation:none!important;transition:none!important}}

/* V22 SITE UPDATES — horizontal live rail + premium archive */
.site-updates-marquee{position:relative;overflow:hidden;background:linear-gradient(135deg,#fbf8ee 0%,var(--abgv-brand-pale) 45%,#fff9eb 100%);isolation:isolate}
.site-updates-marquee:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 22%,rgba(255,255,255,.9),transparent 25%),radial-gradient(circle at 85% 72%,rgba(217,170,69,.14),transparent 28%),linear-gradient(110deg,transparent 18%,rgba(255,255,255,.5) 48%,transparent 62%);background-size:auto,auto,240% 100%;animation:updatesCrystalFlow 15s linear infinite;pointer-events:none}
.site-update-marquee{position:relative;z-index:2;overflow:hidden;margin-top:32px;padding:12px 0 24px}
.site-update-track-marquee{display:flex!important;grid-template-columns:none!important;gap:16px;width:max-content;animation:siteUpdatesDrift 62s linear infinite;will-change:transform}
.site-update-track-marquee:hover{animation-play-state:paused}
.site-update-card-marquee{flex:0 0 310px;width:310px;background:rgba(255,255,255,.92);border:1px solid rgb(var(--abgv-brand-rgb) / .12);border-radius:18px;overflow:hidden;box-shadow:0 16px 38px rgb(var(--abgv-brand-rgb) / .10);position:relative;transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease;animation:updateCardFloat 5.8s ease-in-out infinite;animation-delay:var(--delay)}
.site-update-card-marquee[role="button"]{cursor:pointer}
.site-update-card-marquee[role="button"]:focus-visible{outline:3px solid #d8aa45;outline-offset:4px}
.site-update-card-marquee:before{content:"";position:absolute;inset:-1px;border-radius:18px;padding:1px;background:linear-gradient(110deg,transparent 15%,rgba(217,170,69,.8) 45%,transparent 65%);background-size:240% 100%;animation:updateBorderSweep 4.8s linear infinite;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;z-index:4}
.site-update-card-marquee:hover{transform:translateY(-10px) scale(1.015);box-shadow:0 24px 55px rgb(var(--abgv-brand-rgb) / .18);border-color:rgba(217,170,69,.42)}
.site-update-card-marquee .site-update-image{height:190px}.site-update-card-marquee .site-update-image img{height:100%;width:100%;object-fit:cover}.site-update-card-marquee .site-update-body{padding:16px}.site-update-card-marquee .site-update-body h3{font-size:21px}.site-update-card-marquee .site-update-body p{min-height:38px}
.site-update-more{flex:0 0 190px;min-height:410px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(145deg,var(--abgv-brand),var(--abgv-brand));color:#fff;border:1px solid rgba(217,170,69,.5);box-shadow:0 18px 42px rgb(var(--abgv-brand-rgb) / .16);position:relative;overflow:hidden;transition:.4s}.site-update-more:before{content:"";position:absolute;inset:-50%;background:radial-gradient(circle,rgba(241,207,114,.2),transparent 52%);animation:moreGlow 5s ease-in-out infinite}.site-update-more span,.site-update-more strong{position:relative;z-index:1}.site-update-more span{font-size:11px;font-weight:800;letter-spacing:.13em;text-align:center}.site-update-more strong{font-size:34px;color:#f3d278}.site-update-more:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgb(var(--abgv-brand-rgb) / .25)}

/* Homepage Site Update detail modal. Scoped to its own classes so the Updates page remains unchanged. */
.home-update-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:25px;background:rgb(var(--abgv-brand-rgb) / .72);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.home-update-modal.is-open{opacity:1;visibility:visible}
.home-update-modal-box{width:min(920px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 35px 100px rgba(0,0,0,.3);display:grid;grid-template-columns:1.05fr .95fr;transform:translateY(22px) scale(.97);transition:transform .35s}
.home-update-modal.is-open .home-update-modal-box{transform:none}
.home-update-modal-image{min-height:500px;background:#dce9df}
.home-update-modal-image img{width:100%;height:100%;min-height:500px;object-fit:cover;display:block}
.home-update-modal-copy{padding:42px 38px;position:relative}
.home-update-modal-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border:0;border-radius:50%;background:var(--abgv-brand-pale);color:var(--abgv-brand);font-size:23px;cursor:pointer;line-height:1}
.home-update-modal-close:hover,.home-update-modal-close:focus-visible{background:var(--abgv-brand);color:#fff;outline:none}
.home-update-modal-label{font-size:10px;color:#a77921;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.home-update-modal-copy h3{margin:10px 40px 14px 0;color:var(--abgv-brand);font:700 34px/1.1 Georgia,serif}
.home-update-modal-copy p{color:#63716a;font-size:14px;line-height:1.8;margin:0 0 20px}
.home-update-modal-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.home-update-modal-chip{padding:7px 10px;border-radius:99px;background:var(--abgv-brand-pale);color:var(--abgv-brand);font-size:10px;font-weight:900;letter-spacing:.06em}
.home-update-modal-chip.gold{background:#fbf1d9;color:#9c7424}
.home-update-modal-progress{margin-top:24px}
.home-update-modal-progress strong{display:flex;justify-content:space-between;color:var(--abgv-brand);font-size:12px;margin-bottom:8px}
.home-update-modal-progress>div{height:9px;background:#e3e8e2;border-radius:99px;overflow:hidden}
.home-update-modal-progress>div>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#f0c965,#d8aa45);border-radius:99px;transition:width .8s ease}
@keyframes siteUpdatesDrift{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
@keyframes updateCardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes updateBorderSweep{0%{background-position:-240% 0}100%{background-position:240% 0}}
@keyframes moreGlow{0%,100%{transform:scale(.8);opacity:.35}50%{transform:scale(1.1);opacity:.9}}
@keyframes updatesCrystalFlow{0%{background-position:0,0,-240% 0}100%{background-position:0,0,240% 0}}
.updates-page-premium{background:var(--abgv-brand);color:#f4f3e9;min-height:100vh;position:relative;overflow:hidden}.updates-page-premium:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 20%,rgba(217,170,69,.13),transparent 22%),radial-gradient(circle at 90% 55%,rgb(var(--abgv-brand-rgb) / .22),transparent 26%),linear-gradient(120deg,transparent 25%,rgba(217,170,69,.08) 50%,transparent 75%);background-size:auto,auto,240% 100%;animation:archiveAmbient 16s linear infinite;pointer-events:none}.updates-page-hero{position:relative;padding:150px 0 76px;background:linear-gradient(180deg,var(--abgv-brand),var(--abgv-brand) 75%,var(--abgv-brand))}.updates-page-hero:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-35px;height:90px;background:radial-gradient(ellipse at center,rgba(217,170,69,.18),transparent 62%);filter:blur(8px);animation:heroGoldPulse 6s ease-in-out infinite}.updates-page-hero h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,78px);font-weight:500;line-height:1;margin:12px 0;color:#fff}.updates-page-hero h1 span{color:#e9c76d}.updates-page-hero p{max-width:680px;color:#c4d6ce;font-size:16px}.updates-archive-section{position:relative;background:linear-gradient(180deg,var(--abgv-brand),var(--abgv-brand));padding-top:72px}.updates-archive-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:38px}.updates-archive-head h2{font-family:Georgia,serif;font-size:46px;font-weight:500;margin:10px 0;color:#fff}.updates-archive-head p{color:#abc2b7;max-width:620px}.filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.filter{border:1px solid rgba(217,170,69,.32);background:rgba(255,255,255,.035);color:#dbe7e1;border-radius:999px;padding:10px 16px;font-size:11px;font-weight:800;cursor:pointer;transition:.3s}.filter:hover,.filter.active{background:#e8c568;color:var(--abgv-brand-ink);border-color:#e8c568;box-shadow:0 0 22px rgba(232,197,104,.2)}.updates-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.updates-archive-card{border-radius:20px;overflow:hidden;background:linear-gradient(160deg,var(--abgv-brand),var(--abgv-brand));border:1px solid rgba(217,170,69,.25);box-shadow:0 18px 55px rgba(0,0,0,.18);position:relative;transition:.45s;animation:archiveCardIn .8s both;animation-delay:var(--delay)}.updates-archive-card:hover{transform:translateY(-10px);border-color:rgba(217,170,69,.68);box-shadow:0 30px 70px rgba(0,0,0,.28)}.archive-image{height:255px;display:block;position:relative;overflow:hidden}.archive-image img{width:100%;height:100%;object-fit:cover;transition:1s}.updates-archive-card:hover .archive-image img{transform:scale(1.08)}.archive-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgb(var(--abgv-brand-rgb) / .55));pointer-events:none}.archive-kind{position:absolute;left:16px;top:16px;z-index:2;background:var(--abgv-brand);color:#f4d477;border:1px solid rgba(244,212,119,.45);border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800;letter-spacing:.12em}.archive-arrow{position:absolute;right:16px;bottom:16px;z-index:2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f2d17a;color:var(--abgv-brand-ink);font-weight:900;box-shadow:0 8px 22px rgba(0,0,0,.18)}.archive-card-body{padding:20px}.archive-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#a9c2b6;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.archive-meta span{color:#84d0a3;background:rgba(84,192,135,.09);border-radius:999px;padding:5px 8px}.archive-card-body h2{font-family:Georgia,serif;font-size:26px;line-height:1.08;margin:14px 0 8px;color:#fff}.archive-card-body p{font-size:12px;color:#b8cbc2;min-height:42px}.archive-read{display:inline-flex;align-items:center;gap:9px;color:#f0cd70;font-size:10px;font-weight:800;letter-spacing:.12em;margin-top:8px}.archive-read b{font-size:16px}.updates-empty{grid-column:1/-1;padding:50px;border:1px solid rgba(217,170,69,.25);border-radius:20px;background:rgba(255,255,255,.03)}.updates-timeline{position:relative;padding:75px 0 95px;background:var(--abgv-brand);overflow:hidden}.timeline-copy{text-align:center;position:relative;z-index:2}.timeline-copy h2{font-family:Georgia,serif;font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1.02;margin:10px 0}.timeline-copy h2 span{color:#e8c568}.timeline-copy p{max-width:650px;margin:auto;color:#abc2b7}.timeline-line{max-width:850px;height:2px;background:linear-gradient(90deg,transparent,#d9aa45,transparent);margin:42px auto 0;position:relative;display:flex;justify-content:space-between}.timeline-line i{width:11px;height:11px;border:2px solid #f0ce74;background:var(--abgv-brand);border-radius:50%;display:block;margin-top:-5px;box-shadow:0 0 18px rgba(240,206,116,.45);animation:timelinePulse 2.4s ease-in-out infinite}.timeline-line i:nth-child(2){animation-delay:.5s}.timeline-line i:nth-child(3){animation-delay:1s}.timeline-line i:nth-child(4){animation-delay:1.5s}@keyframes archiveAmbient{0%{background-position:0 0,0 0,-240% 0}100%{background-position:0 0,0 0,240% 0}}@keyframes archiveCardIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes heroGoldPulse{0%,100%{opacity:.35;transform:scaleX(.8)}50%{opacity:.9;transform:scaleX(1.05)}}@keyframes timelinePulse{0%,100%{transform:scale(.85);opacity:.65}50%{transform:scale(1.3);opacity:1}}
@media(max-width:1050px){.updates-archive-grid{grid-template-columns:repeat(2,1fr)}.updates-archive-head{align-items:flex-start;flex-direction:column}.filters{justify-content:flex-start}}
@media(max-width:850px){.site-update-card-marquee{flex-basis:285px;width:285px}.site-update-card-marquee .site-update-image{height:175px}.updates-page-hero{padding-top:125px}.updates-archive-grid{grid-template-columns:1fr}.updates-archive-section{padding-top:58px}.home-update-modal{padding:12px}.home-update-modal-box{grid-template-columns:1fr;max-height:94vh}.home-update-modal-image,.home-update-modal-image img{min-height:260px;height:260px}.home-update-modal-copy{padding:28px 22px 30px}.home-update-modal-copy h3{font-size:28px}}
@media(max-width:560px){.site-update-card-marquee{flex-basis:260px;width:260px}.site-update-card-marquee .site-update-image{height:160px}.site-update-more{flex-basis:160px;min-height:365px}.updates-page-hero h1{font-size:46px}.updates-archive-head h2{font-size:36px}.archive-image{height:220px}.filters{gap:6px}.filter{padding:8px 11px}}


/* APPROVALS PAGE — dedicated page only */
.approvals-page{background:#fbfcfa;color:#14251d;overflow:hidden}
.approvals-hero{position:relative;padding:105px 0 92px;background:radial-gradient(circle at 78% 20%,rgba(215,181,77,.18),transparent 32%),linear-gradient(135deg,var(--abgv-brand) 0%,var(--abgv-brand) 58%,var(--abgv-brand) 100%);color:#fff;isolation:isolate}
.approvals-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,194,91,.65),transparent)}
.approvals-hero-inner{text-align:center;position:relative;z-index:2;max-width:900px}
.approvals-eyebrow{color:#e5c45e;letter-spacing:.18em}
.approvals-hero h1{font-family:Georgia,serif;font-size:clamp(48px,7vw,88px);line-height:.95;margin:18px 0 20px;font-weight:600}
.approvals-hero h1 span{color:#e6c25b;font-style:italic}
.approvals-hero p{max-width:700px;margin:0 auto;color:#d8e5df;font-size:17px;line-height:1.8}
.approval-hero-line{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:28px}.approval-hero-line i{display:block;width:38px;height:1px;background:#cfae4b}.approval-hero-line b{width:7px;height:7px;border:1px solid #e5c45e;transform:rotate(45deg);display:block}
.approvals-hero-glow{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.approvals-hero-glow-a{width:250px;height:250px;right:-80px;top:-80px;background:rgba(220,186,79,.08)}.approvals-hero-glow-b{width:190px;height:190px;left:-80px;bottom:-100px;background:rgb(var(--abgv-brand-rgb) / .08)}
.approval-intro{padding-top:92px;padding-bottom:82px}.approval-intro-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:center}.approval-intro-copy h2{font-family:Georgia,serif;font-size:clamp(38px,4vw,58px);line-height:1.08;margin:14px 0 22px}.approval-intro-copy h2 span{color:#9c7726}.approval-intro-copy p{font-size:16px;line-height:1.85;color:#617067;max-width:780px}.approval-license{display:inline-grid;grid-template-columns:auto auto;gap:4px 20px;margin-top:18px;padding:15px 20px;border-left:3px solid #d8b34e;background:#f5f1e5}.approval-license span{font-size:10px;letter-spacing:.16em;font-weight:800;color:#9c7726}.approval-license strong{font-size:14px}.approval-license small{grid-column:2;color:#7a857f}
.approval-highlight{padding:42px 34px;border:1px solid rgba(191,157,69,.42);background:linear-gradient(145deg,#fffdf7,#f4efe1);border-radius:24px;box-shadow:0 22px 55px rgb(var(--abgv-brand-rgb) / .10);text-align:center;position:relative}.approval-highlight:before{content:"";position:absolute;inset:9px;border:1px solid rgba(191,157,69,.18);border-radius:18px;pointer-events:none}.approval-highlight-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 18px;border-radius:50%;background:var(--abgv-brand);color:#e8c55e;font-size:25px;font-weight:800}.approval-highlight small{display:block;font-size:10px;letter-spacing:.17em;color:#927126;font-weight:800}.approval-highlight strong{display:block;margin:13px 0 8px;font-size:19px;line-height:1.35}.approval-date{font-size:13px;color:#69756e}
.approval-documents-section{padding:90px 0 100px;background:#f1f4f0;position:relative}.approval-section-head{text-align:center;max-width:720px;margin:0 auto 42px}.approval-section-head h2{font-family:Georgia,serif;font-size:clamp(38px,4vw,56px);margin:12px 0}.approval-section-head h2 span{color:#9c7726}.approval-section-head p{color:#68756e;line-height:1.7}.approval-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:1050px;margin:auto}.approval-card{background:#fff;border:1px solid #e1e6e1;border-radius:22px;padding:18px;box-shadow:0 18px 50px rgb(var(--abgv-brand-rgb) / .08);transition:transform .3s ease,box-shadow .3s ease}.approval-card:hover{transform:translateY(-6px);box-shadow:0 25px 60px rgb(var(--abgv-brand-rgb) / .13)}.approval-card-top{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 14px;border-bottom:1px solid #edf0ec}.approval-card-top span{font-family:Georgia,serif;color:#c49b35;font-size:22px}.approval-card-top small{font-size:9px;letter-spacing:.16em;font-weight:800;color:#718078}.approval-logo-wrap{height:220px;margin:15px 0;background:#fbfbf8;border-radius:15px;display:grid;place-items:center;overflow:hidden}.approval-logo-wrap img{max-width:68%;max-height:175px;object-fit:contain}.approval-card-body{padding:5px 9px 12px}.approval-card-body h3{font-family:Georgia,serif;font-size:28px;margin:4px 0 9px}.approval-card-body p{color:#68756e;line-height:1.65;margin:7px 0}.approval-card-body .approval-number{color:#9a7625;font-weight:800;font-size:13px;letter-spacing:.03em}
.approval-facts-section{padding:0 0 88px;background:#f1f4f0}.approval-facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--abgv-brand);color:#fff;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgb(var(--abgv-brand-rgb) / .18)}.approval-facts>div{padding:28px 25px;border-right:1px solid rgba(255,255,255,.1)}.approval-facts>div:last-child{border-right:0}.approval-facts small{display:block;color:#d5b657;font-size:9px;letter-spacing:.16em;font-weight:800;margin-bottom:9px}.approval-facts strong{font-size:15px;line-height:1.45}
.approval-cta-section{padding:0 0 95px;background:#f1f4f0}.approval-cta{border-radius:25px;padding:46px 52px;background:linear-gradient(120deg,var(--abgv-brand),var(--abgv-brand));color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;box-shadow:0 25px 70px rgb(var(--abgv-brand-rgb) / .16)}.approval-cta .eyebrow{color:#e3bd51}.approval-cta h2{font-family:Georgia,serif;font-size:clamp(31px,3.5vw,48px);margin:10px 0}.approval-cta p{margin:0;color:#c9d8d1}.approval-cta-actions{display:flex;align-items:center;gap:25px;flex-shrink:0}.approval-text-link{color:#fff;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.08em}.approval-text-link:hover{color:#e4c05b}
@media(max-width:900px){.approval-intro-grid{grid-template-columns:1fr;gap:35px}.approval-cards{grid-template-columns:1fr}.approval-facts{grid-template-columns:1fr 1fr}.approval-facts>div:nth-child(2){border-right:0}.approval-facts>div{border-bottom:1px solid rgba(255,255,255,.1)}.approval-cta{flex-direction:column;align-items:flex-start}.approval-cta-actions{flex-wrap:wrap}}
@media(max-width:560px){.approvals-hero{padding:78px 0 65px}.approval-intro{padding-top:65px}.approval-highlight{padding:34px 20px}.approval-logo-wrap{height:190px}.approval-facts{grid-template-columns:1fr}.approval-facts>div{border-right:0!important}.approval-cta{padding:35px 25px}.approval-cta-actions{width:100%;gap:18px}.approval-license{grid-template-columns:1fr}.approval-license small{grid-column:1}}


/* =========================================================
   HEADER — OLD V23.2 LIGHT STYLE
   Keep the original sticky/scroll animation; restore the
   light header appearance used by the previous version.
   ========================================================= */
.site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    padding:10px 0;
    transition:
        background .4s ease,
        box-shadow .4s ease,
        backdrop-filter .4s ease,
        padding .4s ease;
    background:
        radial-gradient(circle at 12% 35%, rgba(203,219,192,.42) 0 3px, transparent 4px),
        radial-gradient(circle at 47% 22%, rgba(203,219,192,.28) 0 2px, transparent 3px),
        radial-gradient(circle at 76% 38%, rgba(203,219,192,.30) 0 2px, transparent 3px),
        rgba(247,244,235,.97);
    border-bottom:2px solid rgba(201,164,76,.62);
    box-shadow:0 3px 18px rgb(var(--abgv-brand-rgb) / .07);
}

.site-header::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-2px;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent 0%,
        rgba(201,164,76,.18) 18%,
        rgba(201,164,76,.85) 50%,
        rgba(201,164,76,.18) 82%,
        transparent 100%
    );
    pointer-events:none;
}

.site-header .nav-wrap{
    position:relative;
    z-index:2;
}

.site-header .brand{
    color:var(--abgv-brand-ink);
}

.site-header .brand-logo{
    width:62px;
    height:62px;
    object-fit:contain;
    filter:drop-shadow(0 4px 10px rgba(76,58,32,.10));
}

.site-header .nav{
    display:flex;
    align-items:center;
    gap:26px;
}

.site-header .nav a{
    color:var(--abgv-brand-ink);
    font-size:11px;
    font-weight:700;
    letter-spacing:.05em;
    position:relative;
    padding:12px 0;
    text-shadow:none;
    transition:
        color .3s cubic-bezier(.22,1,.36,1),
        transform .3s cubic-bezier(.22,1,.36,1);
}

.site-header .nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:5px;
    width:0;
    height:2px;
    background:var(--gold);
    transition:width .3s cubic-bezier(.22,1,.36,1);
}

.site-header .nav a:hover,
.site-header .nav a.active{
    color:#a9781e;
    transform:translateY(-1px);
}

.site-header .nav a:hover::after,
.site-header .nav a.active::after{
    width:100%;
}

.site-header .nav-cta{
    padding:12px 18px !important;
    background:linear-gradient(135deg,var(--gold2),var(--gold));
    border-radius:7px;
    color:var(--abgv-brand-ink) !important;
    box-shadow:0 6px 18px rgba(215,173,69,.18);
}

.site-header .nav-cta:hover{
    color:var(--abgv-brand-ink) !important;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(215,173,69,.28);
}

.site-header .nav-cta::after{
    display:none !important;
}

/* Keep the sticky animation, but do NOT turn the header dark. */
.site-header.scrolled,
.site-header.ab-scrolled{
    background:
        radial-gradient(circle at 12% 35%, rgba(203,219,192,.35) 0 3px, transparent 4px),
        radial-gradient(circle at 47% 22%, rgba(203,219,192,.22) 0 2px, transparent 3px),
        rgba(247,244,235,.985) !important;
    backdrop-filter:blur(14px);
    box-shadow:
        0 8px 30px rgb(var(--abgv-brand-rgb) / .10),
        0 1px 0 rgba(201,164,76,.35);
    padding:7px 0;
}

.site-header.scrolled .nav a,
.site-header.ab-scrolled .nav a{
    color:var(--abgv-brand-ink);
}

.site-header.scrolled .nav a:hover,
.site-header.scrolled .nav a.active,
.site-header.ab-scrolled .nav a:hover,
.site-header.ab-scrolled .nav a.active{
    color:#a9781e;
}

.site-header .menu-toggle{
    border:1px solid rgb(var(--abgv-brand-rgb) / .20);
    background:rgba(255,255,255,.72);
    color:var(--abgv-brand-ink);
    border-radius:8px;
    padding:9px 12px;
}

@media(max-width:850px){
    .site-header .nav{
        background:rgba(247,244,235,.985);
        border:1px solid rgb(var(--abgv-brand-rgb) / .08);
        box-shadow:0 18px 45px rgb(var(--abgv-brand-rgb) / .12);
    }

    .site-header .nav a{
        color:var(--abgv-brand-ink);
    }

    .site-header.scrolled,
    .site-header.ab-scrolled{
        padding:7px 0;
    }
}

/* FINAL HEADER COLOR: keep the light-green header at all scroll positions */
.site-header,
.site-header.scrolled,
.site-header.ab-scrolled{
    background:
        radial-gradient(circle at 12% 35%, rgba(203,219,192,.42) 0 3px, transparent 4px),
        radial-gradient(circle at 47% 22%, rgba(203,219,192,.28) 0 2px, transparent 3px),
        radial-gradient(circle at 76% 38%, rgba(203,219,192,.30) 0 2px, transparent 3px),
        var(--abgv-brand-pale) !important;
    box-shadow:
        0 8px 30px rgb(var(--abgv-brand-rgb) / .08),
        0 1px 0 rgba(201,164,76,.35);
}

.site-header .nav a,
.site-header.scrolled .nav a,
.site-header.ab-scrolled .nav a{
    color:var(--abgv-brand-ink);
}

.site-header .nav a:hover,
.site-header .nav a.active,
.site-header.scrolled .nav a:hover,
.site-header.scrolled .nav a.active,
.site-header.ab-scrolled .nav a:hover,
.site-header.ab-scrolled .nav a.active{
    color:#a9781e;
}

/* =========================================================
   FINAL MICRO POLISH — floating action icons
   Classic icon only + subtle spark/glow effect
========================================================= */

/* No square/card behind the icons, no text labels. */
.quick-tool .quick-label{
    display:none !important;
}
.quick-tool .quick-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    position:relative;
    z-index:2;
    border:0 !important;
    background:transparent !important;
    border-radius:50%;
    box-shadow:none !important;
    overflow:visible !important;
    transition:transform .35s cubic-bezier(.22,1,.36,1),filter .35s ease;
}

/* Keep the classic supplied icon artwork exactly as it is. */
.quick-tool .quick-icon img{
    width:42px;
    height:42px;
    object-fit:contain;
    display:block;
    position:relative;
    z-index:3;
    background:transparent;
    filter:drop-shadow(0 0 3px rgba(255,255,255,.55))
           drop-shadow(0 0 8px rgba(65,210,85,.28));
    transition:filter .35s ease,transform .35s cubic-bezier(.22,1,.36,1);
}

/* Tiny "phuljhari" sparks behind each icon. */
.quick-tool .quick-icon::before,
.quick-tool .quick-icon::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:4px;
    height:4px;
    border-radius:50%;
    background:rgba(255,255,255,.90);
    box-shadow:
        0 -17px 0 rgba(255,255,255,.55),
        12px -12px 0 rgba(255,255,255,.38),
        17px 0 0 rgba(255,255,255,.52),
        11px 12px 0 rgba(255,255,255,.35),
        0 17px 0 rgba(255,255,255,.52),
        -12px 12px 0 rgba(255,255,255,.32),
        -17px 0 0 rgba(255,255,255,.50),
        -12px -12px 0 rgba(255,255,255,.34);
    transform:translate(-50%,-50%) scale(.72);
    opacity:.25;
    pointer-events:none;
    z-index:1;
    animation:quickSparkGlow 2.8s ease-in-out infinite;
}
.quick-tool .quick-icon::after{
    width:2px;
    height:2px;
    opacity:.38;
    box-shadow:
        0 -21px 0 rgba(255,255,255,.40),
        15px -15px 0 rgba(255,255,255,.28),
        21px 0 0 rgba(255,255,255,.38),
        15px 15px 0 rgba(255,255,255,.26),
        0 21px 0 rgba(255,255,255,.38),
        -15px 15px 0 rgba(255,255,255,.25),
        -21px 0 0 rgba(255,255,255,.35),
        -15px -15px 0 rgba(255,255,255,.25);
    animation:quickSparkTwinkle 2.2s .35s ease-in-out infinite;
}

.quick-tool .booking-icon{
    padding:0 !important;
}
.quick-tool .booking-icon svg{
    width:27px;
    height:27px;
    stroke:var(--abgv-brand-ink);
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    position:relative;
    z-index:3;
    filter:drop-shadow(0 0 4px rgba(255,255,255,.55));
    transition:transform .35s cubic-bezier(.22,1,.36,1),filter .35s ease;
}

.quick-tool:hover .quick-icon{
    transform:translateY(-2px) scale(1.07);
}
.quick-tool:hover .quick-icon img{
    filter:drop-shadow(0 0 4px rgba(255,255,255,.75))
           drop-shadow(0 0 12px rgba(65,210,85,.45));
    transform:scale(1.035);
}
.quick-tool:hover .booking-icon svg{
    transform:rotate(-4deg) scale(1.06);
    filter:drop-shadow(0 0 5px rgba(255,255,255,.75));
}

.quick-tool.wa .quick-icon::before{animation-delay:0s}
.quick-tool.call .quick-icon::before{animation-delay:.45s}
.quick-tool.visit .quick-icon::before{animation-delay:.9s}
.quick-tool.wa .quick-icon::after{animation-delay:.2s}
.quick-tool.call .quick-icon::after{animation-delay:.65s}
.quick-tool.visit .quick-icon::after{animation-delay:1.1s}

@keyframes quickSparkGlow{
    0%,100%{
        opacity:.16;
        transform:translate(-50%,-50%) scale(.68) rotate(0deg);
    }
    45%{
        opacity:.55;
        transform:translate(-50%,-50%) scale(1) rotate(12deg);
    }
    70%{
        opacity:.28;
        transform:translate(-50%,-50%) scale(.82) rotate(24deg);
    }
}
@keyframes quickSparkTwinkle{
    0%,100%{
        opacity:.12;
        transform:translate(-50%,-50%) scale(.65);
    }
    50%{
        opacity:.48;
        transform:translate(-50%,-50%) scale(1.08);
    }
}

/* Current page/menu: small moving marker, same existing palette */
.site-header .nav a.is-current{
    transform:translateY(-1px);
}
.site-header .nav a.is-current::before{
    content:"";
    position:absolute;
    left:50%;
    top:3px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 3px rgba(201,164,76,.10),0 0 12px rgba(201,164,76,.45);
    transform:translateX(-50%) scale(.72);
    animation:currentNavPulse 2.1s ease-in-out infinite;
    pointer-events:none;
}
.site-header .nav a.is-current:not(.updates-nav)::after{
    width:100%;
    animation:currentNavLine 2.1s ease-in-out infinite;
}

/* Updates is a special NEW item — remove the old underline entirely. */
.site-header .nav a.updates-nav::after,
.site-header .nav a.updates-nav.is-current::after,
.site-header .nav a.updates-nav:hover::after{
    width:0 !important;
    opacity:0 !important;
    box-shadow:none !important;
}
.site-header .nav a.updates-nav{
    padding-right:27px !important;
}
.site-header .nav a.updates-nav::before{
    content:"";
    position:absolute;
    left:50%;
    bottom:1px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--gold);
    transform:translateX(-50%);
    box-shadow:0 0 0 0 rgba(201,164,76,.30);
    animation:updateMenuDot 2.4s ease-in-out infinite;
    pointer-events:none;
}
.site-header .nav a.updates-nav.is-current::before{
    width:8px;
    height:8px;
    box-shadow:0 0 0 4px rgba(201,164,76,.08),0 0 15px rgba(201,164,76,.40);
}
.site-header .nav .updates-badge{
    z-index:3;
}

@keyframes currentNavPulse{
    0%,100%{opacity:.55;transform:translateX(-50%) scale(.72)}
    50%{opacity:1;transform:translateX(-50%) scale(1.08)}
}
@keyframes currentNavLine{
    0%,100%{box-shadow:0 0 5px rgba(201,164,76,.18)}
    50%{box-shadow:0 0 13px rgba(201,164,76,.55)}
}
@keyframes updateMenuDot{
    0%,100%{opacity:.48;transform:translateX(-50%) scale(.75)}
    50%{opacity:1;transform:translateX(-50%) scale(1.18)}
}



/* =========================================================
   V25.5 - CONTACT BACKGROUND / VISUAL POLISH ONLY
   Incremental update from V25.4. No other page is changed.
   ========================================================= */
body:has(.contact-layout) main{
  position:relative;
  isolation:isolate;
  background:transparent !important;
  overflow:hidden;
}

/* Show the supplied image with a wider, less-cropped presentation. */
body:has(.contact-layout) main::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(rgb(var(--abgv-brand-rgb) / .18),rgb(var(--abgv-brand-rgb) / .18)),
    url('assets/images/greenery-contact-bg.png');
  background-position:center top;
  background-size:100% 100%;
  background-repeat:no-repeat;
  background-color:var(--abgv-brand);
}

body:has(.contact-layout) .page-hero{
  background:transparent !important;
}

body:has(.contact-layout) .section:has(.contact-layout),
body:has(.contact-layout) .location{
  background:transparent !important;
}

body:has(.contact-layout) .contact-layout::before,
body:has(.contact-layout) .section:has(.contact-layout)::before{
  display:none !important;
}

/* Slightly lighter contact information card, without changing its geometry. */
body:has(.contact-layout) .contact-info{
  position:relative;
  overflow:hidden;
  background:rgb(var(--abgv-brand-rgb) / .86) !important;
  box-shadow:0 20px 55px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10);
  border:1px solid rgba(218,177,68,.34);
}

/* Soft glass/reflection sweep. */
body:has(.contact-layout) .contact-info::after{
  content:"";
  position:absolute;
  top:-25%;
  left:-35%;
  width:38%;
  height:160%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
  pointer-events:none;
  animation:abgvContactReflection 5.5s ease-in-out infinite;
}

@keyframes abgvContactReflection{
  0%,55%{left:-35%;opacity:0}
  65%{opacity:1}
  100%{left:125%;opacity:0}
}

/* Classic small icons before each contact detail. */
body:has(.contact-layout) .contact-detail{
  position:relative;
  padding-left:42px;
}
body:has(.contact-layout) .contact-detail::before{
  position:absolute;
  left:0;
  top:15px;
  width:26px;
  height:26px;
  border:1px solid rgba(218,177,68,.65);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#e5bc55;
  font-size:12px;
  line-height:1;
  background:rgba(255,255,255,.035);
  box-shadow:0 0 14px rgba(218,177,68,.12);
}
body:has(.contact-layout) .contact-detail:nth-of-type(1)::before{content:"☎"}
body:has(.contact-layout) .contact-detail:nth-of-type(2)::before{content:"✉"}
body:has(.contact-layout) .contact-detail:nth-of-type(3)::before{content:"⌖"}
body:has(.contact-layout) .contact-detail:nth-of-type(4)::before{content:"◎"}

/* Keep the form card stylish but preserve its existing size/alignment. */
body:has(.contact-layout) .contact-layout > .reveal-right > *{
  box-shadow:0 20px 55px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10);
}

@media(max-width:850px){
  body:has(.contact-layout) main::before{
    background-size:cover;
    background-position:center top;
  }
}



/* =========================================================
   V25.6 — MOBILE MENU FIX ONLY
   Keep desktop/header colors and all page layouts unchanged.
   On narrow/touch screens the menu becomes a proper dropdown
   anchored below the header instead of sitting inside the row.
========================================================= */
@media (hover:none) and (pointer:coarse), (max-width:700px){
  .site-header{
    padding:0 !important;
    min-height:72px !important;
  }
  .site-header .nav-wrap{
    width:100% !important;
    max-width:none !important;
    min-height:72px !important;
    height:72px !important;
    margin:0 !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    position:relative !important;
  }
  .site-header .brand{
    position:relative !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    width:auto !important;
    min-width:0 !important;
    height:64px !important;
    margin:0 !important;
    z-index:1003 !important;
    display:flex !important;
    align-items:center !important;
  }
  .site-header .brand-logo{
    width:76px !important;
    height:60px !important;
    object-fit:contain !important;
  }
  .site-header .menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    margin:0 !important;
    flex:0 0 44px !important;
    font-size:0 !important;
    line-height:1 !important;
    border:1px solid rgb(var(--abgv-brand-rgb) / .18) !important;
    background:rgba(255,255,255,.82) !important;
    color:var(--abgv-brand-ink) !important;
    border-radius:10px !important;
    box-shadow:0 6px 18px rgb(var(--abgv-brand-rgb) / .10) !important;
    position:relative !important;
    z-index:1004 !important;
    cursor:pointer !important;
  }
  .site-header .menu-toggle::before{
    content:'☰';
    font-size:20px;
    font-weight:700;
    line-height:1;
    transition:transform .25s ease, opacity .2s ease;
  }
  .site-header .menu-toggle[aria-expanded="true"]::before{
    content:'×';
    font-size:28px;
    transform:rotate(90deg);
  }
  .site-header .nav-cta{
    display:none !important;
  }
  .site-header .nav{
    position:absolute !important;
    top:calc(100% + 9px) !important;
    right:12px !important;
    left:auto !important;
    width:min(280px,calc(100vw - 24px)) !important;
    max-width:none !important;
    height:auto !important;
    max-height:calc(100vh - 92px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    margin:0 !important;
    padding:10px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:3px !important;
    white-space:normal !important;
    background:rgba(247,244,235,.985) !important;
    border:1px solid rgb(var(--abgv-brand-rgb) / .12) !important;
    border-radius:16px !important;
    box-shadow:0 22px 55px rgb(var(--abgv-brand-rgb) / .20),0 2px 0 rgba(201,164,76,.35) !important;
    backdrop-filter:blur(16px) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-10px) scale(.98) !important;
    transform-origin:top right !important;
    transition:opacity .24s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility .24s ease !important;
    z-index:1002 !important;
  }
  .site-header .nav.open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }
  .site-header .nav::before{
    content:'';
    position:absolute;
    top:-6px;
    right:14px;
    width:12px;
    height:12px;
    background:#f7f4eb;
    border-left:1px solid rgb(var(--abgv-brand-rgb) / .10);
    border-top:1px solid rgb(var(--abgv-brand-rgb) / .10);
    transform:rotate(45deg);
    pointer-events:none;
  }
  .site-header .nav a,
  .site-header.scrolled .nav a,
  .site-header.ab-scrolled .nav a{
    width:100% !important;
    min-height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding:11px 15px !important;
    margin:0 !important;
    border-radius:10px !important;
    color:var(--abgv-brand-ink) !important;
    font-size:12px !important;
    font-weight:800 !important;
    letter-spacing:.05em !important;
    line-height:1.2 !important;
    text-shadow:none !important;
    transform:none !important;
    transition:background .22s ease,color .22s ease,transform .22s ease !important;
  }
  .site-header .nav a:hover,
  .site-header .nav a.active,
  .site-header .nav a.is-current{
    color:#a9781e !important;
    background:rgba(217,170,69,.10) !important;
    transform:translateX(3px) !important;
  }
  .site-header .nav a::after{
    display:none !important;
  }
  .site-header .nav a.is-current::before{
    content:'' !important;
    position:absolute !important;
    left:6px !important;
    top:50% !important;
    bottom:auto !important;
    width:5px !important;
    height:5px !important;
    border-radius:50% !important;
    background:var(--gold) !important;
    box-shadow:0 0 10px rgba(201,164,76,.55) !important;
    transform:translateY(-50%) !important;
    animation:none !important;
  }
  .site-header .nav a.updates-nav{
    padding-right:15px !important;
  }
  .site-header .nav a.updates-nav::before{
    left:6px !important;
    top:50% !important;
    bottom:auto !important;
    width:5px !important;
    height:5px !important;
    transform:translateY(-50%) !important;
  }
  .site-header .nav .updates-badge{
    position:absolute !important;
    right:12px !important;
    top:5px !important;
  }
  body.menu-open{
    overflow:hidden !important;
  }
}


/* =========================================================
   V25.8 — SMALL TABLET / PHONE MENU POSITION FIX
   <=1100px uses the same clean dropdown navigation.
   >1100px keeps the approved desktop navigation untouched.
========================================================= */
@media (max-width:1100px){
  .site-header{
    min-height:72px !important;
    height:auto !important;
    padding:0 !important;
    overflow:visible !important;
  }
  .site-header .nav-wrap{
    width:100% !important;
    max-width:none !important;
    min-height:72px !important;
    height:72px !important;
    margin:0 !important;
    padding:0 16px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    position:relative !important;
    grid-template-columns:none !important;
  }
  .site-header .brand{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    transform:none !important;
    width:auto !important;
    min-width:0 !important;
    height:64px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    z-index:1103 !important;
  }
  .site-header .brand-logo{
    width:88px !important;
    height:62px !important;
    object-fit:contain !important;
  }
  .site-header .nav-cta{
    display:none !important;
  }
  .site-header .menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    margin:0 0 0 auto !important;
    padding:0 !important;
    font-size:0 !important;
    line-height:1 !important;
    border:1px solid rgb(var(--abgv-brand-rgb) / .18) !important;
    background:rgba(255,255,255,.90) !important;
    color:var(--abgv-brand-ink) !important;
    border-radius:10px !important;
    box-shadow:0 6px 18px rgb(var(--abgv-brand-rgb) / .10) !important;
    position:relative !important;
    z-index:1104 !important;
  }
  .site-header .menu-toggle::before{
    content:'☰' !important;
    font-size:20px !important;
    font-weight:700 !important;
    line-height:1 !important;
    transition:transform .25s ease,opacity .2s ease !important;
  }
  .site-header .menu-toggle[aria-expanded="true"]::before{
    content:'×' !important;
    font-size:28px !important;
    transform:rotate(90deg) !important;
  }
  .site-header .nav,
  .site-header.scrolled .nav,
  .site-header.ab-scrolled .nav{
    position:absolute !important;
    top:calc(100% + 8px) !important;
    left:auto !important;
    right:12px !important;
    width:min(360px,calc(100vw - 24px)) !important;
    max-width:calc(100vw - 24px) !important;
    height:auto !important;
    max-height:calc(100vh - 88px) !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    margin:0 !important;
    padding:10px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:3px !important;
    white-space:normal !important;
    background:rgba(247,244,235,.985) !important;
    border:1px solid rgb(var(--abgv-brand-rgb) / .12) !important;
    border-radius:16px !important;
    box-shadow:0 22px 55px rgb(var(--abgv-brand-rgb) / .20),0 2px 0 rgba(201,164,76,.35) !important;
    backdrop-filter:blur(16px) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-10px) scale(.98) !important;
    transform-origin:top right !important;
    transition:opacity .24s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility .24s ease !important;
    z-index:1102 !important;
  }
  .site-header .nav.open{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
  }
  .site-header .nav::before{
    content:'' !important;
    position:absolute !important;
    top:-6px !important;
    right:14px !important;
    width:12px !important;
    height:12px !important;
    background:#f7f4eb !important;
    border-left:1px solid rgb(var(--abgv-brand-rgb) / .10) !important;
    border-top:1px solid rgb(var(--abgv-brand-rgb) / .10) !important;
    transform:rotate(45deg) !important;
    pointer-events:none !important;
  }
  .site-header .nav a,
  .site-header.scrolled .nav a,
  .site-header.ab-scrolled .nav a{
    width:100% !important;
    min-height:44px !important;
    height:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    box-sizing:border-box !important;
    padding:11px 15px !important;
    margin:0 !important;
    border-radius:10px !important;
    color:var(--abgv-brand-ink) !important;
    font-size:12px !important;
    font-weight:800 !important;
    letter-spacing:.05em !important;
    line-height:1.2 !important;
    text-shadow:none !important;
    transform:none !important;
  }
  .site-header .nav a:hover,
  .site-header .nav a.active,
  .site-header .nav a.is-current{
    color:#a9781e !important;
    background:rgba(217,170,69,.10) !important;
    transform:translateX(3px) !important;
  }
  .site-header .nav a::after{display:none !important;}
  .site-header .nav a.is-current::before{
    content:'' !important;
    position:absolute !important;
    left:6px !important;
    top:50% !important;
    bottom:auto !important;
    width:5px !important;
    height:5px !important;
    border-radius:50% !important;
    background:var(--gold) !important;
    box-shadow:0 0 10px rgba(201,164,76,.55) !important;
    transform:translateY(-50%) !important;
  }
  .site-header .nav a.updates-nav::before{
    left:6px !important;
    top:50% !important;
    bottom:auto !important;
    width:5px !important;
    height:5px !important;
    transform:translateY(-50%) !important;
  }
  .site-header .nav .updates-badge{
    position:absolute !important;
    right:12px !important;
    top:5px !important;
  }
  body.menu-open{overflow:hidden !important;}
}

/* =========================================================
   V25.8 — SMALL TABLET / PHONE MENU POSITION FIX
   <=850px switches to a true mobile header/dropdown.
   Prevents the navigation from collapsing into a narrow
   vertical strip in browser/device previews around 651px.
   851-1100px keeps the compact tablet dropdown from V25.7.
========================================================= */
@media (max-width:850px){
  .site-header,
  .site-header .nav-wrap{
    overflow:visible !important;
  }

  .site-header .nav-wrap{
    width:100% !important;
    max-width:none !important;
    height:72px !important;
    min-height:72px !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    position:relative !important;
    box-sizing:border-box !important;
  }

  .site-header .brand{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    width:auto !important;
    min-width:0 !important;
    height:64px !important;
    margin:0 !important;
    transform:none !important;
    z-index:1203 !important;
  }

  .site-header .brand-logo{
    width:76px !important;
    height:60px !important;
  }

  .site-header .menu-toggle{
    display:flex !important;
    width:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    margin-left:auto !important;
    position:relative !important;
    z-index:1205 !important;
  }

  .site-header .nav-cta{display:none !important;}

  /* Full-width dropdown: always anchored to the header, never centered. */
  .site-header .nav,
  .site-header.scrolled .nav,
  .site-header.ab-scrolled .nav{
    position:absolute !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:calc(100vh - 82px) !important;
    margin:0 !important;
    padding:8px 12px 12px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:2px !important;
    border-radius:0 0 18px 18px !important;
    background:rgba(247,244,235,.985) !important;
    border:1px solid rgb(var(--abgv-brand-rgb) / .10) !important;
    border-top:1px solid rgba(201,164,76,.42) !important;
    box-shadow:0 18px 38px rgb(var(--abgv-brand-rgb) / .18) !important;
    transform:translateY(-8px) !important;
    transform-origin:top center !important;
    z-index:1202 !important;
  }

  .site-header .nav.open{
    transform:translateY(0) !important;
  }

  .site-header .nav::before{display:none !important;}

  .site-header .nav a,
  .site-header.scrolled .nav a,
  .site-header.ab-scrolled .nav a{
    width:100% !important;
    min-height:44px !important;
    height:44px !important;
    flex:0 0 44px !important;
    box-sizing:border-box !important;
    padding:11px 16px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    border-radius:10px !important;
    color:var(--abgv-brand-ink) !important;
    font-size:12px !important;
    font-weight:800 !important;
    letter-spacing:.05em !important;
    transform:none !important;
  }

  .site-header .nav a:hover,
  .site-header .nav a.active,
  .site-header .nav a.is-current{
    color:#a9781e !important;
    background:rgba(217,170,69,.10) !important;
    transform:translateX(3px) !important;
  }

  .site-header .nav a::after{display:none !important;}

  .site-header .nav a.is-current::before,
  .site-header .nav a.updates-nav::before{
    left:6px !important;
    top:50% !important;
    bottom:auto !important;
    width:5px !important;
    height:5px !important;
    transform:translateY(-50%) !important;
  }

  .site-header .nav .updates-badge{
    position:absolute !important;
    right:12px !important;
    top:5px !important;
  }
}

/* Compact tablet: keep the header row compact and anchor the menu to it. */
@media (min-width:851px) and (max-width:1100px){
  .site-header,
  .site-header .nav-wrap{overflow:visible !important;}
  .site-header .nav-wrap{display:flex !important;position:relative !important;}
  .site-header .nav{
    position:absolute !important;
    top:72px !important;
    left:auto !important;
    right:12px !important;
    width:360px !important;
    max-width:calc(100vw - 24px) !important;
    height:auto !important;
    transform:translateY(-8px) !important;
    transform-origin:top right !important;
  }
  .site-header .nav.open{transform:translateY(0) !important;}
}

/* =========================================================
   AB GREEN VALLEYS - YOUTUBE VIDEO SHOWCASE SECTION
   Clean, modern, responsive YouTube Video Showcase
   ========================================================= */
/* =========================================================
   AB GREEN VALLEYS - YOUTUBE VIDEO SHOWCASE SECTION
   Modern, elegant light champagne/cream gradient with ambient motion
   ========================================================= */
.abgv-video-section {
  background: linear-gradient(140deg, #fbf8f3 0%, #f4eee2 40%, #efe5d3 70%, #f7f3eb 100%);
  color: var(--ink);
  position: relative;
  overflow: hidden;
  padding: 92px 0;
}
.abgv-video-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  opacity: 0.6;
}
.abgv-video-orb-1 {
  width: 480px;
  height: 480px;
  top: -120px;
  left: -100px;
  background: radial-gradient(circle, rgba(241, 207, 114, 0.45), rgba(217, 170, 69, 0.15) 70%, transparent);
  animation: ambientGlow1 12s ease-in-out infinite alternate;
}
.abgv-video-orb-2 {
  width: 520px;
  height: 520px;
  bottom: -150px;
  right: -120px;
  background: radial-gradient(circle, rgb(var(--abgv-brand-rgb) / 0.18), rgba(217, 170, 69, 0.2) 60%, transparent);
  animation: ambientGlow2 15s ease-in-out infinite alternate;
}
.abgv-video-head {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 42px;
  position: relative;
  z-index: 2;
}
.abgv-video-head .eyebrow {
  color: var(--gold);
}
.abgv-video-head h2 {
  font-family: Georgia, serif;
  font-size: clamp(34px, 4.2vw, 56px);
  color: var(--green3);
  margin: 12px 0;
  font-weight: 500;
  line-height: 1.08;
}
.abgv-video-head p {
  color: var(--muted);
  font-size: 15px;
  margin: 0;
}
.abgv-video-frame-wrap {
  position: relative;
  z-index: 2;
  max-width: 1020px;
  margin: 0 auto;
  border-radius: 26px;
  padding: 10px;
  background: linear-gradient(135deg, rgba(241, 207, 114, 0.8), rgba(217, 170, 69, 0.4) 45%, rgb(var(--abgv-brand-rgb) / 0.25) 75%, rgba(241, 207, 114, 0.7));
  background-size: 200% 200%;
  animation: borderShimmer 8s ease infinite;
  box-shadow: 0 25px 75px rgba(184, 142, 51, 0.2), 0 10px 30px rgb(var(--abgv-brand-rgb) / 0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.abgv-video-frame-wrap:hover {
  transform: translateY(-5px);
  box-shadow: 0 35px 90px rgba(184, 142, 51, 0.3), 0 15px 40px rgb(var(--abgv-brand-rgb) / 0.12);
}
.abgv-video-player {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  height: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #000;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}
.abgv-video-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 20px;
}
.abgv-video-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1020px;
  margin: 35px auto 0;
  position: relative;
  z-index: 2;
}
.abgv-video-feat {
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(217, 170, 69, 0.35);
  border-radius: 18px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 35px rgb(var(--abgv-brand-rgb) / 0.06);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}
.abgv-video-feat:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 20px 45px rgba(217, 170, 69, 0.22);
}
.abgv-video-feat-icon {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: var(--abgv-brand-ink);
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 900;
  flex-shrink: 0;
  box-shadow: 0 8px 20px rgba(217, 170, 69, 0.3);
}
.abgv-video-feat h4 {
  font-family: Georgia, serif;
  color: var(--green3);
  font-size: 17px;
  margin: 0 0 3px;
}
.abgv-video-feat p {
  color: var(--muted);
  font-size: 12px;
  margin: 0;
}

@keyframes borderShimmer {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes ambientGlow1 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(60px, 40px) scale(1.12); }
  100% { transform: translate(-30px, 20px) scale(0.95); }
}

@keyframes ambientGlow2 {
  0% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-50px, -30px) scale(1.1); }
  100% { transform: translate(40px, -20px) scale(0.92); }
}

@media (max-width: 850px) {
  .abgv-video-features {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* =========================================================
   CLASSY DEVELOPER CREDIT LINK — AGENT WEBFLOW
   ========================================================= */
.dev-credit-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: 4px;
  padding: 3px 11px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(217, 170, 69, 0.22), rgba(241, 207, 114, 0.08));
  border: 1px solid rgba(241, 207, 114, 0.45);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  font-weight: 800 !important;
  font-size: 11px !important;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  transition: all 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
  position: relative;
  overflow: hidden;
  vertical-align: middle;
}

.dev-credit-link:before {
  content: "";
  position: absolute;
  inset: -50%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
  transform: rotate(25deg) translateX(-150%);
  animation: devSweep 4s ease-in-out infinite;
}

.dev-credit-link span:first-child {
  background: linear-gradient(135deg, #f5d477, #d9aa45, #ffffff, #f1cf72);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: devShimmer 4s linear infinite;
  font-weight: 800;
}

.dev-credit-link .dev-arrow {
  font-size: 11px;
  color: var(--gold2);
  transition: transform 0.3s ease, color 0.3s ease;
  display: inline-block;
}

.dev-credit-link:hover {
  transform: translateY(-3px) scale(1.05);
  border-color: rgba(241, 207, 114, 0.9);
  background: linear-gradient(135deg, rgba(217, 170, 69, 0.4), rgba(241, 207, 114, 0.25));
  box-shadow: 0 8px 24px rgba(217, 170, 69, 0.45), 0 0 16px rgba(241, 207, 114, 0.3);
}

.dev-credit-link:hover .dev-arrow {
  transform: translate(3px, -3px);
  color: #ffffff;
}

@keyframes devShimmer {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes devSweep {
  0%, 40% { transform: rotate(25deg) translateX(-150%); }
  70%, 100% { transform: rotate(25deg) translateX(150%); }
}

/* =========================================================
   AB GREEN VALLEYS - FAQ PAGE & ACCORDION STYLING
   ========================================================= */
.faq-page {
  background: var(--cream);
}
.faq-hero-sub {
  color: #c9d6cf;
  font-size: 16px;
  max-width: 720px;
  margin: 12px 0 0;
  line-height: 1.6;
}

.faq-section {
  padding: 70px 0 100px;
}

/* Controls: Search & Category Filter Pills */
.faq-controls {
  margin-bottom: 45px;
}

.faq-search-wrap {
  position: relative;
  max-width: 720px;
  margin: 0 auto 28px;
}

.faq-search-wrap .search-icon {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  color: var(--muted);
  pointer-events: none;
}

.faq-search-input {
  width: 100%;
  padding: 16px 48px 16px 52px;
  border-radius: 50px;
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.18);
  background: #ffffff;
  color: var(--ink);
  font-size: 15px;
  box-shadow: 0 10px 30px rgb(var(--abgv-brand-rgb) / 0.06);
  outline: none;
  transition: all 0.35s ease;
}

.faq-search-input:focus {
  border-color: var(--gold);
  box-shadow: 0 14px 38px rgba(217, 170, 69, 0.22);
  transform: translateY(-1px);
}

.faq-clear-btn {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 0;
  background: rgb(var(--abgv-brand-rgb) / 0.08);
  color: var(--ink);
  font-size: 18px;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.3s;
}

.faq-clear-btn:hover {
  background: var(--gold);
  color: var(--abgv-brand-ink);
}

/* Filter Pills */
.faq-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.faq-filter-btn {
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.15);
  background: #ffffff;
  color: var(--ink);
  border-radius: 30px;
  padding: 10px 20px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: all 0.35s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.faq-filter-btn:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(217, 170, 69, 0.18);
}

.faq-filter-btn.active {
  background: linear-gradient(135deg, var(--green2), var(--green3));
  color: #ffffff;
  border-color: var(--green3);
  box-shadow: 0 8px 25px rgb(var(--abgv-brand-rgb) / 0.25);
}

/* Accordion Item */
.faq-list {
  max-width: 920px;
  margin: 0 auto;
}

.faq-item {
  background: #ffffff;
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.12);
  border-radius: 20px;
  margin-bottom: 16px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgb(var(--abgv-brand-rgb) / 0.04);
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.faq-item:hover {
  border-color: rgba(217, 170, 69, 0.45);
  transform: translateY(-3px);
  box-shadow: 0 18px 45px rgb(var(--abgv-brand-rgb) / 0.09);
}

.faq-item.active {
  border-color: var(--gold);
  box-shadow: 0 20px 55px rgba(217, 170, 69, 0.22);
}

.faq-question {
  width: 100%;
  background: transparent;
  border: 0;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  text-align: left;
  cursor: pointer;
  transition: background 0.3s;
}

.faq-question:hover {
  background: rgba(247, 243, 234, 0.5);
}

.faq-q-text {
  font-family: Georgia, serif;
  font-size: 19px;
  font-weight: 500;
  color: var(--green3);
  line-height: 1.35;
  display: flex;
  align-items: center;
  gap: 14px;
}

.faq-num {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: var(--gold);
  background: rgba(217, 170, 69, 0.12);
  border-radius: 20px;
  padding: 4px 10px;
  flex-shrink: 0;
}

.faq-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgb(var(--abgv-brand-rgb) / 0.06);
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.12);
  color: var(--green3);
  display: grid;
  place-items: center;
  font-size: 20px;
  font-weight: 700;
  flex-shrink: 0;
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.faq-item.active .faq-icon {
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: var(--abgv-brand-ink);
  border-color: var(--gold);
  transform: rotate(45deg);
  box-shadow: 0 6px 18px rgba(217, 170, 69, 0.35);
}

/* Accordion Answer Slide Transition */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(0.25, 1, 0.5, 1);
}

.faq-answer-inner {
  padding: 0 28px 26px 68px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  border-top: 1px solid rgb(var(--abgv-brand-rgb) / 0.06);
  margin-top: -6px;
  padding-top: 18px;
}

.faq-answer-inner p {
  margin: 0;
}

.faq-answer-inner strong {
  color: var(--green3);
}

.faq-answer-inner a {
  color: var(--green2);
  font-weight: 700;
  text-decoration: underline;
}

.faq-answer-inner a:hover {
  color: var(--gold);
}

/* No Results Message */
.faq-no-results {
  text-align: center;
  padding: 50px 20px;
  max-width: 600px;
  margin: 0 auto;
}

.no-res-icon {
  font-size: 48px;
  display: block;
  margin-bottom: 12px;
}

.faq-no-results h3 {
  font-family: Georgia, serif;
  font-size: 26px;
  color: var(--green3);
  margin: 0 0 8px;
}

.faq-no-results p {
  color: var(--muted);
  font-size: 14px;
  margin-bottom: 20px;
}

/* FAQ CTA Box */
.faq-cta-box {
  max-width: 920px;
  margin: 65px auto 0;
  background: linear-gradient(135deg, var(--abgv-brand) 0%, var(--abgv-brand) 50%, var(--abgv-brand) 100%);
  border: 1px solid rgba(217, 170, 69, 0.35);
  border-radius: 24px;
  padding: 45px 50px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  box-shadow: 0 25px 70px rgb(var(--abgv-brand-rgb) / 0.25);
  position: relative;
  overflow: hidden;
}

.faq-cta-box:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 90% 20%, rgba(217, 170, 69, 0.2), transparent 60%);
  pointer-events: none;
}

.faq-cta-content {
  position: relative;
  z-index: 2;
}

.faq-cta-content h2 {
  font-family: Georgia, serif;
  font-size: 32px;
  color: #ffffff;
  margin: 8px 0;
}

.faq-cta-content p {
  color: #c9d6cf;
  font-size: 14px;
  margin: 0;
  max-width: 480px;
}

.faq-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

@media (max-width: 850px) {
  .faq-cta-box {
    flex-direction: column;
    text-align: center;
    padding: 35px 25px;
  }
  .faq-cta-content p {
    margin: 0 auto;
  }
  .faq-cta-actions {
    width: 100%;
  }
  .faq-answer-inner {
    padding: 16px 20px 20px 20px;
  }
  .faq-question {
    padding: 18px 20px;
  }
  .faq-q-text {
    font-size: 16px;
  }
}

/* =========================================================
   LUXURY STATS SECTION — PREMIUM REDESIGN
   ========================================================= */
.stats-section-v2 {
  background: linear-gradient(135deg, var(--abgv-brand) 0%, var(--abgv-brand) 50%, var(--abgv-brand) 100%);
  position: relative;
  z-index: 3;
  padding: 42px 0;
  border-top: 1px solid rgba(241, 207, 114, 0.35);
  border-bottom: 1px solid rgba(241, 207, 114, 0.25);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 20px 45px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}

.stats-section-v2:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(217, 170, 69, 0.14), transparent 70%),
              radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.05), transparent 40%);
  pointer-events: none;
}

.stats-section-v2 .stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.stats-section-v2 .stat-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(241, 207, 114, 0.3);
  border-radius: 18px;
  padding: 26px 20px;
  text-align: center;
  position: relative;
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  overflow: hidden;
}

.stats-section-v2 .stat-card:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(241, 207, 114, 0.18), transparent);
  transform: translateX(-120%);
  transition: transform 0.6s ease;
}

.stats-section-v2 .stat-card:hover {
  transform: translateY(-6px) scale(1.02);
  border-color: rgba(241, 207, 114, 0.8);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.05));
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.38), 0 0 22px rgba(217, 170, 69, 0.28);
}

.stats-section-v2 .stat-card:hover:before {
  transform: translateX(120%);
}

.stat-icon-wrap {
  width: 52px;
  height: 52px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(217, 170, 69, 0.28), rgba(241, 207, 114, 0.1));
  border: 1px solid rgba(241, 207, 114, 0.45);
  display: grid;
  place-items: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
  transition: transform 0.4s ease, border-color 0.4s ease;
}

.stats-section-v2 .stat-card:hover .stat-icon-wrap {
  transform: scale(1.12) rotate(6deg);
  border-color: rgba(241, 207, 114, 0.95);
  background: linear-gradient(135deg, rgba(217, 170, 69, 0.45), rgba(241, 207, 114, 0.25));
}

.stat-icon {
  font-size: 24px;
}

.stats-section-v2 .stat-value {
  font-family: Georgia, serif;
  font-weight: 700;
  font-size: clamp(34px, 3.5vw, 46px);
  line-height: 1.05;
  display: block;
  margin: 2px 0 6px;
  background: linear-gradient(135deg, #ffffff 20%, #f5d477 60%, #d9aa45 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
}

.stats-section-v2 .stat-label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c9ded3;
  display: block;
}

@media (max-width: 900px) {
  .stats-section-v2 .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

@media (max-width: 500px) {
  .stats-section-v2 .stats-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   LEGAL PAGES — PRIVACY POLICY & TERMS OF USE
   ========================================================= */
.legal-page {
  background: var(--cream);
}

.legal-hero-sub {
  color: #c9d6cf;
  font-size: 16px;
  max-width: 760px;
  margin: 12px 0 0;
  line-height: 1.6;
}

.legal-content-section {
  padding: 70px 0 100px;
}

.legal-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  align-items: start;
}

.legal-sidebar {
  position: sticky;
  top: 100px;
}

.legal-nav-card {
  background: #ffffff;
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.14);
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 10px 30px rgb(var(--abgv-brand-rgb) / 0.05);
}

.legal-nav-card h4 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: var(--gold);
  margin: 0 0 16px;
  text-transform: uppercase;
}

.legal-nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.legal-nav a {
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 8px;
  transition: all 0.3s ease;
  text-decoration: none;
}

.legal-nav a:hover {
  background: rgba(217, 170, 69, 0.12);
  color: var(--green3);
  transform: translateX(4px);
}

.legal-card {
  background: #ffffff;
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.14);
  border-radius: 24px;
  padding: 45px 50px;
  box-shadow: 0 15px 45px rgb(var(--abgv-brand-rgb) / 0.06);
}

.legal-meta-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: 1px solid rgb(var(--abgv-brand-rgb) / 0.1);
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}

.legal-date {
  color: var(--gold);
  background: rgba(217, 170, 69, 0.12);
  padding: 4px 12px;
  border-radius: 20px;
}

.legal-section-block {
  margin-bottom: 40px;
  scroll-margin-top: 110px;
}

.legal-section-block h2 {
  font-family: Georgia, serif;
  font-size: 24px;
  color: var(--green3);
  margin: 0 0 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid rgba(217, 170, 69, 0.25);
}

.legal-section-block p {
  color: #4a5d53;
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 14px;
}

.legal-section-block ul {
  padding-left: 22px;
  margin: 14px 0;
  color: #4a5d53;
  font-size: 15px;
  line-height: 1.75;
}

.legal-section-block li {
  margin-bottom: 8px;
}

.legal-footer-contact {
  margin-top: 50px;
  padding: 30px;
  background: linear-gradient(135deg, var(--abgv-brand), var(--abgv-brand));
  border-radius: 18px;
  color: #ffffff;
  border: 1px solid rgba(217, 170, 69, 0.3);
}

.legal-footer-contact h3 {
  font-family: Georgia, serif;
  margin: 0 0 8px;
  color: #ffffff;
}

.legal-footer-contact p {
  color: #c8d6cf;
  font-size: 14px;
  margin-bottom: 20px;
}

.legal-contact-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* Footer Bottom Layout */
.footer-bottom-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.footer-legal-links a {
  color: var(--gold2);
  text-decoration: none;
  transition: color 0.3s;
}

.footer-legal-links a:hover {
  color: #ffffff;
  text-decoration: underline;
}

@media (max-width: 900px) {
  .legal-grid {
    grid-template-columns: 1fr;
  }
  .legal-sidebar {
    position: static;
  }
  .legal-card {
    padding: 30px 24px;
  }
  .footer-bottom-flex {
    flex-direction: column;
    text-align: center;
  }
}

/* =========================================================
   ABOUT US PAGE — PREMIUM STYLISH LAYOUT & TYPOGRAPHY
   ========================================================= */
.about-page {
  background: #f8f6f0;
  position: relative;
  overflow: hidden;
  color: var(--abgv-brand-ink);
}

.about-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: 
    radial-gradient(circle at 10% 12%, rgba(217, 170, 69, 0.1) 0%, transparent 40%),
    radial-gradient(circle at 90% 75%, rgb(var(--abgv-brand-rgb) / 0.09) 0%, transparent 45%);
  pointer-events: none;
}

/* About Hero */
.about-hero {
  min-height: 520px;
  position: relative;
  background: linear-gradient(135deg, var(--abgv-brand) 0%, var(--abgv-brand) 60%, var(--abgv-brand) 100%);
  color: #ffffff;
  padding: 145px 0 75px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.about-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(217, 170, 69, 0.25), transparent 60%);
  animation: heroGlowPulse 8s ease-in-out infinite alternate;
}

.about-hero-inner {
  position: relative;
  z-index: 2;
}

.about-hero-title {
  font-family: Georgia, serif;
  font-size: clamp(38px, 4.5vw, 60px);
  font-weight: 500;
  line-height: 1.08;
  margin: 14px 0 18px;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.about-hero-subtitle {
  font-size: 18px;
  color: #d1ded7;
  max-width: 820px;
  line-height: 1.7;
  margin: 0 0 45px;
}

/* Hero Quick Stats */
.about-hero-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(217, 170, 69, 0.35);
  border-radius: 20px;
  padding: 26px 30px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
}

.hero-stat-card {
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  padding: 4px 12px;
}

.hero-stat-card:last-child {
  border-right: none;
}

.stat-number {
  font-family: Georgia, serif;
  font-size: 34px;
  color: var(--gold2);
  display: block;
  line-height: 1.1;
  font-weight: 700;
}

.stat-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #e2ece7;
  text-transform: uppercase;
  margin-top: 4px;
  display: block;
}

/* Story Section */
.about-story-section {
  padding: 90px 0 75px;
}

.about-story-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  align-items: start;
}

.story-heading {
  font-family: Georgia, serif;
  font-size: 42px;
  color: var(--green3);
  margin: 14px 0 22px;
  line-height: 1.12;
  font-weight: 500;
}

.lead-p {
  font-size: 18px;
  color: var(--abgv-brand-ink);
  font-weight: 600;
  line-height: 1.7;
  margin-bottom: 18px;
}

.body-p {
  font-size: 15.5px;
  color: #4a5d53;
  line-height: 1.75;
  margin-bottom: 16px;
}

/* Story Bullets */
.story-bullets-list {
  margin-top: 35px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.bullet-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #ffffff;
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.14);
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 0 10px 30px rgb(var(--abgv-brand-rgb) / 0.05);
  transition: transform 0.3s ease, border-color 0.3s ease;
}

.bullet-item:hover {
  transform: translateX(6px);
  border-color: var(--gold);
}

.bullet-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  color: var(--abgv-brand-ink);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: 0 8px 20px rgba(217, 170, 69, 0.3);
}

.bullet-info h4 {
  font-family: Georgia, serif;
  font-size: 18px;
  color: var(--green3);
  margin: 0 0 4px;
}

.bullet-info p {
  font-size: 13.5px;
  color: #5d6e64;
  margin: 0;
  line-height: 1.55;
}

/* Story Media */
.story-media-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.story-main-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 25px 70px rgb(var(--abgv-brand-rgb) / 0.18);
  border: 1px solid rgba(217, 170, 69, 0.35);
  min-height: 340px;
}

.story-main-card img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  display: block;
  transition: transform 0.8s ease;
}

.story-main-card:hover img {
  transform: scale(1.05);
}

.media-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  background: rgb(var(--abgv-brand-rgb) / 0.9);
  backdrop-filter: blur(10px);
  border: 1px solid var(--gold);
  border-radius: 12px;
  padding: 8px 14px;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 10px;
}

.mb-num {
  font-family: Georgia, serif;
  font-size: 20px;
  color: var(--gold);
  font-weight: 700;
}

.mb-title {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.media-caption {
  position: absolute;
  bottom: 18px;
  left: 18px;
  right: 18px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(12px);
  border-radius: 16px;
  padding: 18px 22px;
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.12);
}

.media-caption h3 {
  font-family: Georgia, serif;
  font-size: 20px;
  color: var(--green3);
  margin: 0 0 4px;
}

.media-caption p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
}

.story-sub-media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.sub-media-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  height: 140px;
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.14);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.sub-media-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.sub-media-card:hover img {
  transform: scale(1.08);
}

.sub-media-card span {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0deg, rgb(var(--abgv-brand-rgb) / 0.9) 0%, transparent 100%);
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  padding: 16px 12px 10px;
}

/* Pillars Section V2 */
.about-pillars-section {
  padding: 85px 0;
}

.pillars-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.pillar-box {
  background: #ffffff;
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.13);
  border-radius: 22px;
  padding: 38px 32px;
  box-shadow: 0 15px 40px rgb(var(--abgv-brand-rgb) / 0.05);
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  display: flex;
  flex-direction: column;
}

.pillar-box:hover {
  transform: translateY(-8px);
  box-shadow: 0 25px 60px rgb(var(--abgv-brand-rgb) / 0.12);
  border-color: var(--gold);
}

.pillar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.p-num {
  font-family: Georgia, serif;
  font-size: 32px;
  font-weight: 700;
  color: rgb(var(--abgv-brand-rgb) / 0.18);
  transition: color 0.3s;
}

.pillar-box:hover .p-num {
  color: var(--gold);
}

.p-icon-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(217, 170, 69, 0.14);
  border: 1px solid rgba(217, 170, 69, 0.4);
  color: var(--abgv-brand);
  display: grid;
  place-items: center;
}

.pillar-box h3 {
  font-family: Georgia, serif;
  font-size: 22px;
  color: var(--green3);
  margin: 0 0 12px;
}

.pillar-box p {
  color: #52655b;
  font-size: 14.5px;
  line-height: 1.7;
  margin: 0 0 20px;
}

.pillar-checklist {
  margin-top: auto;
  padding-left: 0;
  list-style: none;
  border-top: 1px solid rgb(var(--abgv-brand-rgb) / 0.08);
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pillar-checklist li {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--green);
  display: flex;
  align-items: center;
  gap: 8px;
}

.pillar-checklist li::before {
  content: "✓";
  color: var(--gold);
  font-weight: 900;
}

/* Vision Mission Values Section */
.about-vmv-section {
  padding: 70px 0;
}

.vmv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.vmv-card {
  background: linear-gradient(145deg, var(--abgv-brand) 0%, var(--abgv-brand) 100%);
  border: 1px solid rgba(217, 170, 69, 0.35);
  border-radius: 24px;
  padding: 42px 35px;
  color: #ffffff;
  box-shadow: 0 20px 60px rgb(var(--abgv-brand-rgb) / 0.18);
  transition: transform 0.4s ease;
}

.vmv-card:hover {
  transform: translateY(-6px);
}

.vmv-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: var(--gold2);
  background: rgba(217, 170, 69, 0.15);
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 18px;
}

.vmv-card h3 {
  font-family: Georgia, serif;
  font-size: 24px;
  color: #ffffff;
  margin: 0 0 14px;
}

.vmv-card p {
  color: #c9d8d1;
  font-size: 15px;
  line-height: 1.75;
  margin: 0;
}

.vmv-bullets {
  padding-left: 0;
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.vmv-bullets li {
  font-size: 13.5px;
  color: #cbd8d1;
  line-height: 1.6;
}

.vmv-bullets strong {
  color: var(--gold2);
}

/* Timeline Container V2 */
.about-timeline-section {
  padding: 85px 0 100px;
}

.timeline-container-v2 {
  position: relative;
  max-width: 920px;
  margin: 55px auto 0;
}

.tl-central-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  background: linear-gradient(180deg, var(--gold), rgb(var(--abgv-brand-rgb) / 0.15));
}

.tl-block {
  position: relative;
  width: 50%;
  margin-bottom: 40px;
}

.tl-left {
  align-self: flex-start;
  padding-right: 45px;
  text-align: right;
  margin-left: 0;
}

.tl-right {
  align-self: flex-end;
  padding-left: 45px;
  text-align: left;
  margin-left: 50%;
}

.tl-badge-year {
  position: absolute;
  top: 24px;
  background: var(--gold);
  color: var(--abgv-brand-ink);
  font-weight: 900;
  font-size: 12px;
  padding: 6px 14px;
  border-radius: 20px;
  box-shadow: 0 4px 14px rgba(217, 170, 69, 0.4);
  z-index: 2;
}

.tl-left .tl-badge-year {
  right: -25px;
}

.tl-right .tl-badge-year {
  left: -25px;
}

.tl-card {
  background: #ffffff;
  border: 1px solid rgb(var(--abgv-brand-rgb) / 0.12);
  border-radius: 18px;
  padding: 26px;
  box-shadow: 0 12px 35px rgb(var(--abgv-brand-rgb) / 0.05);
}

.tl-card h4 {
  font-family: Georgia, serif;
  font-size: 20px;
  color: var(--green3);
  margin: 0 0 8px;
}

.tl-card p {
  color: #52655b;
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
}

/* About CTA Banner */
.about-cta-banner {
  background: linear-gradient(135deg, var(--abgv-brand) 0%, var(--abgv-brand) 60%, var(--abgv-brand) 100%);
  border: 1px solid rgba(217, 170, 69, 0.35);
  border-radius: 24px;
  padding: 55px 65px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  box-shadow: 0 25px 70px rgb(var(--abgv-brand-rgb) / 0.25);
}

.cta-text h2 {
  font-family: Georgia, serif;
  font-size: 38px;
  color: #ffffff;
  margin: 10px 0;
}

.cta-text p {
  color: #c9d8d1;
  font-size: 16px;
  margin: 0;
  max-width: 620px;
}

.cta-buttons {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* Responsive Styles */
@media (max-width: 990px) {
  .about-story-grid {
    grid-template-columns: 1fr;
  }
  .pillars-grid-v2,
  .vmv-grid {
    grid-template-columns: 1fr;
  }
  .about-hero-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .tl-central-line {
    left: 20px;
  }
  .tl-block {
    width: 100% !important;
    margin-left: 0 !important;
    padding-left: 60px !important;
    padding-right: 0 !important;
    text-align: left !important;
  }
  .tl-badge-year {
    left: 0 !important;
    right: auto !important;
  }
}
/* =========================================================
   PURE CSS ANIMATED TOWNSHIP SHOWCASE
   ========================================================= */
.story-css-showcase {
  width: 100%;
  display: flex;
  justify-content: center;
}

.css-township-card {
  width: 100%;
  max-width: 520px;
  height: 520px;
  background: linear-gradient(145deg, var(--abgv-brand) 0%, var(--abgv-brand) 55%, var(--abgv-brand) 100%);
  border-radius: 30px;
  border: 1px solid rgba(217, 170, 69, 0.4);
  box-shadow: 0 30px 80px rgb(var(--abgv-brand-rgb) / 0.25);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.css-township-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(217, 170, 69, 0.18), transparent 65%);
  animation: coreGlowPulse 6s ease-in-out infinite alternate;
  pointer-events: none;
}

.township-orbit-wrapper {
  position: relative;
  width: 380px;
  height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Concentric Orbit Rings */
.orbit-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px dashed rgba(217, 170, 69, 0.35);
  pointer-events: none;
}

.ring-1 {
  width: 320px;
  height: 320px;
  animation: ringSpin 24s linear infinite;
}

.ring-2 {
  width: 240px;
  height: 240px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  animation: ringSpin 18s linear infinite reverse;
}

.ring-3 {
  width: 160px;
  height: 160px;
  border: 1px dashed rgba(217, 170, 69, 0.5);
  animation: ringSpin 12s linear infinite;
}

/* Core Eco Shield Center */
.core-eco-shield {
  width: 135px;
  height: 135px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--abgv-brand) 0%, var(--abgv-brand) 100%);
  border: 2px solid var(--gold);
  box-shadow: 0 0 35px rgba(217, 170, 69, 0.4), inset 0 0 15px rgba(255, 255, 255, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 3;
  position: relative;
  text-align: center;
  padding: 10px;
}

.core-glow {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(217, 170, 69, 0.3), transparent 70%);
  animation: coreGlowPulse 3s ease-in-out infinite alternate;
  pointer-events: none;
}

.core-icon {
  font-size: 26px;
  line-height: 1;
  margin-bottom: 2px;
}

.core-title {
  font-family: Georgia, serif;
  font-size: 10px;
  color: var(--gold2);
  letter-spacing: 0.12em;
  font-weight: 800;
  display: block;
  line-height: 1.2;
}

.core-sub {
  font-size: 7.5px;
  color: #d1ded7;
  letter-spacing: 0.14em;
  font-weight: 700;
  margin-top: 2px;
}

/* Floating CSS Stat Cards */
.css-float-card {
  position: absolute;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(217, 170, 69, 0.4);
  border-radius: 14px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25);
  z-index: 4;
  transition: transform 0.3s ease;
}

.css-float-card:hover {
  transform: scale(1.1) !important;
  border-color: var(--gold);
}

.card-icon {
  font-size: 20px;
  line-height: 1;
}

.card-text strong {
  display: block;
  font-size: 12px;
  color: var(--green3);
  font-weight: 800;
  line-height: 1.1;
}

.card-text small {
  font-size: 9.5px;
  color: var(--muted);
  display: block;
}

/* Card Floating Positions & Keyframe Delays */
.card-top-left {
  top: 15px;
  left: -10px;
  animation: floatCard1 6s ease-in-out infinite alternate;
}

.card-top-right {
  top: 20px;
  right: -10px;
  animation: floatCard2 7s ease-in-out infinite alternate 1s;
}

.card-bottom-left {
  bottom: 20px;
  left: -10px;
  animation: floatCard3 6.5s ease-in-out infinite alternate 0.5s;
}

.card-bottom-right {
  bottom: 15px;
  right: -10px;
  animation: floatCard4 7.5s ease-in-out infinite alternate 1.5s;
}

/* Township Live Banner */
.township-live-banner {
  position: absolute;
  bottom: 18px;
  background: rgb(var(--abgv-brand-rgb) / 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(217, 170, 69, 0.35);
  border-radius: 20px;
  padding: 6px 16px;
  color: #ffffff;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 5;
}

.live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2ecc71;
  box-shadow: 0 0 10px #2ecc71;
  animation: liveDotPulse 2s ease-in-out infinite;
}

/* Keyframes */
@keyframes ringSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes coreGlowPulse {
  0% { transform: scale(0.95); opacity: 0.6; }
  100% { transform: scale(1.08); opacity: 0.95; }
}

@keyframes liveDotPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.5; }
}

@keyframes floatCard1 {
  0% { transform: translateY(0px) translateX(0px); }
  100% { transform: translateY(-12px) translateX(6px); }
}

@keyframes floatCard2 {
  0% { transform: translateY(0px) translateX(0px); }
  100% { transform: translateY(-10px) translateX(-8px); }
}

@keyframes floatCard3 {
  0% { transform: translateY(0px) translateX(0px); }
  100% { transform: translateY(10px) translateX(6px); }
}

@keyframes floatCard4 {
  0% { transform: translateY(0px) translateX(0px); }
  100% { transform: translateY(12px) translateX(-6px); }
}

/* =========================================================
   LOCATION CARD & LANDMARKS REFINEMENT (HIGH CONTRAST & BROCHURE MATCH)
   ========================================================= */
.location-icon-badge {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #f5d477 !important;
  background: linear-gradient(135deg, var(--abgv-brand-ink), var(--abgv-brand)) !important;
  border: 2px solid #d9aa45 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
  transition: all 0.35s ease;
}

.location-benefit:hover .location-icon-badge,
.distance-card:hover .location-icon-badge {
  transform: scale(1.08);
  border-color: #f1cf72 !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--abgv-brand), var(--abgv-brand)) !important;
  box-shadow: 0 6px 20px rgba(217, 170, 69, 0.4);
}

.location-benefit {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 16px 20px !important;
  background: #ffffff !important;
  border: 1.5px solid rgb(var(--abgv-brand-rgb) / 0.16) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgb(var(--abgv-brand-rgb) / 0.06) !important;
  transition: transform .35s, box-shadow .35s, border-color .35s !important;
  margin-bottom: 12px !important;
}

.location-benefit:hover {
  transform: translateX(8px) !important;
  box-shadow: 0 14px 35px rgb(var(--abgv-brand-rgb) / 0.12) !important;
  border-color: rgba(217, 170, 69, 0.6) !important;
}

.location-benefit strong {
  display: block !important;
  color: var(--abgv-brand-ink) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

.location-benefit small {
  display: block !important;
  color: #384e44 !important;
  opacity: 1 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  margin-top: 3px !important;
}

.location-intro-head {
  color: #926a15 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  margin: 12px 0 18px !important;
  line-height: 1.5 !important;
}

.location-footnote {
  color: var(--abgv-brand-ink) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  font-style: italic !important;
  line-height: 1.65 !important;
  margin: 22px 0 20px !important;
  padding: 14px 18px !important;
  border-left: 4px solid #b8860b !important;
  background: rgba(217, 170, 69, 0.12) !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}

.distance-card {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding: 16px 20px !important;
  background: #ffffff !important;
  border: 1.5px solid rgb(var(--abgv-brand-rgb) / 0.14) !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 20px rgb(var(--abgv-brand-rgb) / 0.05) !important;
  transition: all 0.35s ease !important;
  margin-bottom: 12px !important;
}

.distance-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(217, 170, 69, 0.6) !important;
  box-shadow: 0 12px 30px rgb(var(--abgv-brand-rgb) / 0.12) !important;
}

.distance-card strong {
  display: block !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--abgv-brand-ink) !important;
}

.distance-card small {
  display: block !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #384e44 !important;
  opacity: 1 !important;
  margin-top: 3px !important;
}

.distance-card b {
  margin-left: auto !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: var(--abgv-brand-ink) !important;
  background: rgba(217, 170, 69, 0.18) !important;
  border: 1px solid rgba(217, 170, 69, 0.45) !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
}

.distance-card b small {
  display: inline !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  margin-left: 3px !important;
  color: #72591a !important;
}

/* =========================================================
   V10.2 LUXURY CLASSIC BRAND ELEVATION — #717D33 OLIVE IDENTITY
   ========================================================= */

:root {
  /* Primary Brand Color: #717D33 / RGB(113, 125, 51) */
  --abgv-brand: #717D33;
  --abgv-brand-rgb: 113 125 51;
  --abgv-brand-dark: #3c441c;
  --abgv-brand-ink: #1e230e;
  --abgv-brand-tint: rgba(113, 125, 51, 0.08);
  --abgv-brand-light: #f6f7f1;
  --abgv-brand-accent: #c4a137;
  --abgv-gold-gradient: linear-gradient(135deg, #e6cd7c 0%, #c4a137 55%, #9e7e22 100%);
  --abgv-olive-gradient: linear-gradient(135deg, #7e8b39 0%, #717D33 50%, #515a23 100%);
  --abgv-dark-gradient: linear-gradient(135deg, #181d0c 0%, #282f15 50%, #15190a 100%);
  
  --green: var(--abgv-brand);
  --green2: #5c6728;
  --green3: #222710;
  --gold: #c4a137;
  --gold2: #e8cd79;
  --cream: #faf8f5;
  --white: #ffffff;
  --ink: var(--abgv-brand-ink);
  --muted: #575e4c;
  --line: rgba(113, 125, 51, 0.16);
  --shadow: 0 16px 48px rgba(35, 40, 15, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 24px 70px rgba(27, 32, 14, 0.14), 0 4px 14px rgba(0, 0, 0, 0.06);
  --radius: 20px;
}

/* Global Smooth Transitions & Typography Polish */
body {
  color: var(--ink);
  background-color: #faf9f6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, .section-head h2 {
  font-family: Georgia, "Playfair Display", "Times New Roman", serif !important;
  letter-spacing: -0.015em;
}

/* Luxury Header & Navigation */
.site-header,
.site-header.scrolled,
.site-header.ab-scrolled {
  background: linear-gradient(180deg, rgba(20, 24, 10, 0.95) 0%, rgba(32, 38, 16, 0.90) 100%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  border-bottom: 1px solid rgba(196, 161, 55, 0.3) !important;
  box-shadow: 0 10px 35px rgba(18, 22, 9, 0.25) !important;
}

.site-header .nav a {
  color: #f7f8f2 !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  transition: color 0.3s ease, transform 0.3s ease;
}

.site-header .nav a:hover,
.site-header .nav a.active {
  color: #e8cd79 !important;
}

.nav-cta, .btn-gold {
  background: linear-gradient(135deg, #ebd283 0%, #c4a137 55%, #9e7f22 100%) !important;
  color: #1a1e0b !important;
  font-weight: 800 !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 8px 25px rgba(196, 161, 55, 0.28) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.nav-cta:hover, .btn-gold:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 14px 35px rgba(196, 161, 55, 0.42) !important;
  filter: brightness(1.06);
}

/* Hero Section — Classic Luxury Real-Estate Readability & Balance */
.hero {
  min-height: 760px !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  overflow: hidden !important;
  background: #14180a !important;
}

.hero:before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    90deg,
    rgba(14, 18, 8, 0.74) 0%,
    rgba(18, 22, 9, 0.48) 52%,
    rgba(14, 18, 8, 0.36) 100%
  ), url('assets/images/gallery-gate.jpg') center/cover no-repeat !important;
  opacity: 1 !important;
  transform: scale(1.02);
  animation: heroZoom 14s ease-in-out infinite alternate !important;
  z-index: 1 !important;
}

.hero:after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(10, 13, 5, 0.55) 0%,
    transparent 35%,
    rgba(10, 13, 5, 0.65) 100%
  ) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.hero-inner {
  position: relative !important;
  z-index: 3 !important;
  padding: 135px 0 70px !important;
}

.hero-copy .eyebrow {
  color: #ebd283 !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2em !important;
  margin-bottom: 12px !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8) !important;
}

.hero-copy h1 {
  font-family: Georgia, "Playfair Display", serif !important;
  font-size: clamp(34px, 4.2vw, 54px) !important;
  line-height: 1.14 !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  margin: 12px 0 16px !important;
  letter-spacing: -0.015em !important;
  text-shadow: 0 4px 22px rgba(0, 0, 0, 0.9), 0 1px 4px rgba(0, 0, 0, 0.9) !important;
}

.hero-copy h1 span {
  color: #ebd283 !important;
}

.hero-copy > p {
  font-size: clamp(18px, 2.2vw, 22px) !important;
  font-weight: 700 !important;
  color: #f4f6ee !important;
  margin: 0 0 18px !important;
  letter-spacing: 0.02em !important;
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.9) !important;
}

.hero-location {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  background: rgba(113, 125, 51, 0.42) !important;
  border: 1.5px solid rgba(232, 205, 121, 0.6) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px) !important;
  padding: 10px 20px !important;
  border-radius: 30px !important;
  margin: 0 0 28px !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35) !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9) !important;
}

.hero-features {
  border-top: 1px solid rgba(255, 255, 255, 0.32) !important;
  padding-top: 22px !important;
  margin-top: 45px !important;
}

.hero-feature {
  color: #ffffff !important;
  border-right: 1px solid rgba(255, 255, 255, 0.32) !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9) !important;
}

.hero-feature i {
  color: #ebd283 !important;
}

/* Form Card — Visible, Well-Positioned, Glassmorphism */
.hero-form {
  max-width: 420px !important;
}

.form-card {
  background: linear-gradient(145deg, rgba(22, 27, 11, 0.94), rgba(14, 18, 7, 0.96)) !important;
  border: 1.8px solid rgba(232, 205, 121, 0.55) !important;
  border-radius: 22px !important;
  padding: 26px !important;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

.form-card h3 {
  color: #ffffff !important;
  font-family: Georgia, serif !important;
  font-size: 22px !important;
  margin: 0 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.4);
}

.form-card > p {
  color: #d6e0d8 !important;
  font-size: 11px !important;
  margin: 4px 0 16px !important;
}

.form-card .field label {
  color: #ebd283 !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  font-size: 9.5px !important;
  margin-bottom: 5px !important;
  display: block !important;
}

.form-card .field input,
.form-card .field select,
.form-card .field textarea {
  border: 1px solid rgba(113, 125, 51, 0.35) !important;
  background: #ffffff !important;
  color: #1e230e !important;
  font-weight: 600 !important;
  font-size: 12.5px !important;
  border-radius: 8px !important;
  padding: 10px 13px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}

.form-card .field input:focus,
.form-card .field select:focus,
.form-card .field textarea:focus {
  border-color: #c4a137 !important;
  box-shadow: 0 0 0 3px rgba(196, 161, 55, 0.28) !important;
}

/* Mobile & Tablet Responsiveness */
@media (max-width: 850px) {
  .hero-inner {
    grid-template-columns: 1fr !important;
    padding: 110px 0 50px !important;
    gap: 30px !important;
  }
  .hero:before {
    background: linear-gradient(
      180deg,
      rgba(14, 18, 8, 0.82) 0%,
      rgba(18, 22, 9, 0.65) 50%,
      rgba(14, 18, 8, 0.78) 100%
    ), url('assets/images/gallery-gate.jpg') center/cover no-repeat !important;
  }
  .hero-copy h1 {
    font-size: 32px !important;
  }
  .hero-location {
    font-size: 13px !important;
    padding: 8px 14px !important;
  }
  .hero-form {
    max-width: 100% !important;
    margin: 0 !important;
  }
}

.form-card h3 {
  color: #ffffff !important;
}

.form-card .field label {
  color: #e8cd79 !important;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.form-card .field input,
.form-card .field select,
.form-card .field textarea {
  border: 1px solid rgba(113, 125, 51, 0.3) !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #1e230e !important;
  font-weight: 500;
  transition: all 0.3s ease;
}

.form-card .field input:focus,
.form-card .field select:focus,
.form-card .field textarea:focus {
  border-color: #c4a137 !important;
  box-shadow: 0 0 0 3px rgba(196, 161, 55, 0.22) !important;
}

/* Stats Section — Dark Olive & Metallic Gold */
.stats {
  background: linear-gradient(135deg, #1e230e 0%, #293014 50%, #1a1e0c 100%) !important;
  border-top: 1px solid rgba(196, 161, 55, 0.25);
  border-bottom: 1px solid rgba(196, 161, 55, 0.25);
}

.stat strong {
  color: #e8cd79 !important;
}

.stat span {
  color: #d6ddc4 !important;
}

/* Location Advantage & Distance Cards */
.location-benefit,
.distance-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(113, 125, 51, 0.18) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 28px rgba(35, 40, 15, 0.06) !important;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.location-benefit:hover,
.distance-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(196, 161, 55, 0.55) !important;
  box-shadow: 0 16px 40px rgba(35, 40, 15, 0.12) !important;
}

.location-icon-badge {
  background: linear-gradient(135deg, #282f14, #171b0c) !important;
  color: #e8cd79 !important;
  border: 2px solid #c4a137 !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
}

.location-benefit strong,
.distance-card strong {
  color: #1e230e !important;
}

.location-benefit small,
.distance-card small {
  color: #48503b !important;
}

.location-footnote {
  background: rgba(113, 125, 51, 0.09) !important;
  border-left: 4px solid #c4a137 !important;
  color: #1e230e !important;
}

.distance-card b {
  background: rgba(196, 161, 55, 0.16) !important;
  border: 1px solid rgba(196, 161, 55, 0.4) !important;
  color: #1e230e !important;
}

.distance-card b small {
  color: #705b1c !important;
}

/* Amenity Cards */
.amenity-card {
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 14px 40px rgba(25, 30, 12, 0.25) !important;
}

.amenity-icon {
  background: rgba(196, 161, 55, 0.22) !important;
  border-color: rgba(232, 205, 121, 0.6) !important;
  color: #ebd283 !important;
}

/* Floating Quick Tools — Completely Independent Elements */
.quick-tools {
  position: fixed !important;
  right: 22px !important;
  bottom: 28px !important;
  z-index: 1100 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: flex-end !important;
  pointer-events: none !important;
}

.quick-tool {
  pointer-events: auto !important;
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.25) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease !important;
  margin: 0 !important;
}

.quick-tool.wa {
  background: linear-gradient(135deg, #25D366, #128C7E) !important;
  box-shadow: 0 8px 22px rgba(37, 211, 102, 0.35) !important;
}

.quick-tool.call {
  background: linear-gradient(135deg, #717D33, #4a5320) !important;
  box-shadow: 0 8px 22px rgba(113, 125, 51, 0.35) !important;
}

.quick-tool.visit {
  background: linear-gradient(135deg, #ebd283, #c4a137) !important;
  color: #1a1e0b !important;
  box-shadow: 0 8px 22px rgba(196, 161, 55, 0.35) !important;
}

.quick-tool:hover {
  transform: translateY(-5px) scale(1.08) !important;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.4) !important;
}

/* =========================================================
   V10.3 COMPACT BRAND-RICH FOOTER WITH SMOOTH CSS ANIMATIONS
   ========================================================= */

/* Top Animated Flowing Border Line */
.site-footer {
  position: relative !important;
  background: linear-gradient(135deg, #1d220e 0%, #282f14 45%, #151a0a 100%) !important;
  color: #f7f8f2 !important;
  padding: 48px 0 0 !important;
  border-top: 3px solid transparent !important;
  box-shadow: 0 -12px 35px rgba(0, 0, 0, 0.3) !important;
  overflow: hidden !important;
}

.site-footer:before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #717D33 0%, #ebd283 30%, #717D33 60%, #ebd283 100%) !important;
  background-size: 200% 100% !important;
  animation: footerBorderFlow 6s linear infinite !important;
  z-index: 5 !important;
}

@keyframes footerBorderFlow {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Ambient Breathing Brand Orbs */
.footer-bg-ambient {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

.footer-bg-orb-1 {
  position: absolute !important;
  top: -20% !important;
  left: 10% !important;
  width: 320px !important;
  height: 320px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(113, 125, 51, 0.42), transparent 70%) !important;
  filter: blur(40px) !important;
  animation: footerOrbFloat 9s ease-in-out infinite alternate !important;
}

.footer-bg-orb-2 {
  position: absolute !important;
  bottom: -10% !important;
  right: 15% !important;
  width: 380px !important;
  height: 380px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(113, 125, 51, 0.35), transparent 70%) !important;
  filter: blur(45px) !important;
  animation: footerOrbFloat 12s ease-in-out infinite alternate-reverse !important;
}

@keyframes footerOrbFloat {
  0% { transform: translateY(0px) scale(0.95); opacity: 0.6; }
  100% { transform: translateY(-18px) scale(1.1); opacity: 0.95; }
}

/* Compact Grid Layout & Padding */
.footer-grid {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr 1.1fr 1fr !important;
  gap: 28px !important;
  position: relative !important;
  z-index: 3 !important;
}

.footer-brand {
  font-family: Georgia, "Playfair Display", serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: #ebd283 !important;
  margin-bottom: 10px !important;
  text-shadow: 0 2px 12px rgba(113, 125, 51, 0.4) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
}

@keyframes footerLogoPulseGlow {
  0%, 100% {
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.45)) drop-shadow(0 0 14px rgba(235, 210, 131, 0.35)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.5));
  }
  50% {
    filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.95)) drop-shadow(0 0 28px rgba(235, 210, 131, 0.8)) drop-shadow(0 2px 8px rgba(0, 0, 0, 0.7));
  }
}

.footer-brand-logo {
  height: 48px !important;
  width: auto !important;
  max-width: 125px !important;
  object-fit: contain !important;
  animation: footerLogoPulseGlow 5s ease-in-out infinite !important;
  transition: transform 0.35s ease !important;
}

.footer-brand:hover .footer-brand-logo {
  transform: scale(1.05) translateY(-1px) !important;
}

.site-footer p {
  color: #e4e9df !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  margin-bottom: 10px !important;
}

.site-footer h3 {
  font-family: Georgia, "Playfair Display", serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 14px !important;
  letter-spacing: 0.04em !important;
  position: relative !important;
}

.site-footer h3:after {
  content: "" !important;
  display: block !important;
  width: 38px !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, #717D33, #ebd283) !important;
  margin-top: 6px !important;
  border-radius: 3px !important;
}

/* Highly Legible Links & Prominent Brand Olive Badges */
.footer-links a,
.footer-links span {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.45 !important;
  transition: all 0.28s ease !important;
}

.footer-links a:hover {
  color: #ebd283 !important;
  transform: translateX(4px) !important;
}

.f-link-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #717D33 !important;
  border: 1.2px solid #ebd283 !important;
  font-size: 11px !important;
  color: #ebd283 !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}

/* Social Buttons */
.footer-socials {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
}

.social-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #717D33 !important;
  border: 1.5px solid rgba(235, 210, 131, 0.6) !important;
  color: #ffffff !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25) !important;
}

.social-btn:hover {
  background: linear-gradient(135deg, #ebd283, #c4a137) !important;
  color: #1a1e0b !important;
  transform: translateY(-3px) scale(1.08) !important;
  box-shadow: 0 6px 18px rgba(196, 161, 55, 0.45) !important;
}

/* Compact Bottom Copyright Bar */
.footer-bottom {
  margin-top: 32px !important;
  padding: 16px 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
  color: #d2dccb !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  position: relative !important;
  z-index: 3 !important;
}

.dev-credit-link {
  color: #ebd283 !important;
  font-weight: 700 !important;
}

.dev-credit-link:hover {
  color: #ffffff !important;
}

/* Mobile Responsiveness */
@media (max-width: 850px) {
  .site-footer {
    padding: 36px 0 0 !important;
  }
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .footer-bottom {
    margin-top: 24px !important;
    flex-direction: column !important;
    text-align: center !important;
    gap: 8px !important;
  }
}

/* Project Overview Image Enlargement & Prominence */
.project-overview-grid {
  display: grid !important;
  grid-template-columns: 1fr 1.15fr !important;
  gap: 44px !important;
  align-items: center !important;
}

.project-sketch-wrap {
  position: relative !important;
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 60px rgba(113, 125, 51, 0.22), 0 4px 18px rgba(0, 0, 0, 0.12) !important;
  border: 2px solid rgba(196, 161, 55, 0.45) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.project-sketch-wrap:hover {
  transform: scale(1.02) !important;
  box-shadow: 0 28px 75px rgba(113, 125, 51, 0.32), 0 8px 24px rgba(0, 0, 0, 0.18) !important;
}

.project-sketch {
  width: 100% !important;
  height: auto !important;
  min-height: 380px !important;
  max-height: 520px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: transform 0.8s ease !important;
}

@media (max-width: 900px) {
  .project-overview-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .project-sketch {
    min-height: 280px !important;
    max-height: 420px !important;
  }
}

