/* ── TOKENS ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0f1f35;--navy-mid:#1a2f4a;--navy-light:#243954;
  --gold:#c8912a; --mk-red:#c8202f; --mk-navy:#0c1f3f;--gold-light:#e5a93a;--gold-pale:#fdf4e7;
  --cream:#faf8f4;--white:#ffffff;
  --g100:#f5f3ef;--g200:#e8e4dc;--g400:#9a9488;--g600:#5c5650;
  --text:#1a1714;--r:10px;--rl:16px;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);font-size:16px;line-height:1.6;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:500;line-height:1.25}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}

/* ── PAGES ── */
.page{display:none}
.page.active{display:block;animation:pgIn .35s ease}
@keyframes pgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── NAVBAR ── */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:104px;
  background:linear-gradient(180deg,rgba(12,28,60,.9) 0%,rgba(15,31,53,.78) 100%);
  backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);
  border-bottom:1px solid rgba(200,145,42,.22);transition:height .3s,background .3s;
}
.navbar.scrolled{height:80px;box-shadow:0 6px 32px rgba(0,0,0,.22);background:linear-gradient(180deg,rgba(12,28,60,.96) 0%,rgba(15,31,53,.9) 100%)}.navbar.scrolled .nlogo-sub{opacity:0;max-height:0;overflow:hidden;margin:0}.navbar.scrolled .nlogo img{height:56px!important}
.nlogo{display:flex;align-items:center;gap:10px;cursor:pointer}.nlogo-wrap{display:flex;flex-direction:column;align-items:center;line-height:1}.nlogo-wrap img{height:70px}.nlogo-sub{font-size:7px;color:rgba(255,255,255,.45);letter-spacing:2.5px;text-transform:uppercase;margin-top:1px;font-weight:200}
.nlogo-mark{width:34px;height:34px;background:var(--mk-red);border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:17px;font-weight:600;color:#fff}
.nlogo-txt{font-family:'Playfair Display',serif;font-size:15px;color:#fff;line-height:1.2}
.nlogo-txt span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:300;color:rgba(255,255,255,.45);letter-spacing:1.5px;text-transform:uppercase}
.nlinks{display:flex;align-items:center;gap:1.8rem}
.nlink{font-size:13.5px;color:rgba(255,255,255,.72);cursor:pointer;font-weight:400;letter-spacing:.3px;transition:color .2s}
.nlink:hover,.nlink.act{color:var(--gold-light)}
.ncta{background:var(--mk-red);color:#fff;border:none;padding:8px 18px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .2s}
.ncta:hover{background:#e02535}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hamburger span{display:block;width:22px;height:2px;background:rgba(255,255,255,.8);transition:all .3s;border-radius:2px}
.mob-menu{display:none;flex-direction:column;position:fixed;top:70px;left:0;right:0;background:rgba(15,31,53,.98);z-index:190;padding:20px 2rem;border-bottom:1px solid rgba(200,145,42,.15)}
.mob-menu.open{display:flex}
.mob-link{font-size:15px;color:rgba(255,255,255,.8);cursor:pointer;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);transition:color .2s}
.mob-link:hover{color:var(--gold-light)}

/* ── SHARED ── */
.wrap{max-width:1100px;margin:0 auto;padding:0 2.5rem}
.section{padding:90px 0}
.eyebrow{font-size:11px;color:var(--gold);letter-spacing:2px;text-transform:uppercase;font-weight:500;margin-bottom:10px}
.section-title{font-size:clamp(26px,3vw,38px);color:var(--navy)}
.section-sub{font-size:15px;color:var(--g600);margin-top:10px;max-width:520px;line-height:1.7}
.btn-p{background:var(--mk-red);color:#fff;border:none;padding:13px 26px;border-radius:100px;font-size:14px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s;display:inline-flex;align-items:center;gap:7px}
.btn-p:hover{background:#e02535;transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,145,42,.3)}
.btn-o{background:transparent;color:var(--navy);border:1.5px solid var(--navy);padding:12px 24px;border-radius:100px;font-size:14px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.btn-o:hover{background:var(--navy);color:#fff}
.btn-ow{background:transparent;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.3);padding:12px 24px;border-radius:100px;font-size:14px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.btn-ow:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.08)}

/* ── VALUATION CTA PULSE ── */
@keyframes mkPulseRing{
  0%   {box-shadow:0 0 0 0 rgba(200,32,47,.55)}
  70%  {box-shadow:0 0 0 14px rgba(200,32,47,0)}
  100% {box-shadow:0 0 0 0 rgba(200,32,47,0)}
}
@keyframes mkPulseRingGold{
  0%   {box-shadow:0 0 0 0 rgba(229,169,58,.55)}
  70%  {box-shadow:0 0 0 12px rgba(229,169,58,0)}
  100% {box-shadow:0 0 0 0 rgba(229,169,58,0)}
}
.pulse-val{position:relative}
.pulse-val::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:mkPulseRing 2.4s ease-out infinite}
.pulse-val:hover::after{animation:none;opacity:0}
.ncta.pulse-val::after{animation:mkPulseRingGold 2.6s ease-out infinite}
@media (prefers-reduced-motion: reduce){.pulse-val::after{animation:none!important}}

/* ── LANDLORD GOOGLE REVIEW ── */
.g-review-section{position:relative;background:linear-gradient(180deg,#faf8f4 0%,#f5f1e8 100%);padding:110px 0;overflow:hidden}
.g-review-section::before{content:'G';position:absolute;right:-40px;bottom:-120px;font-family:'Playfair Display',serif;font-weight:600;font-size:440px;line-height:1;color:rgba(66,133,244,.04);pointer-events:none;letter-spacing:-20px}
.g-review-wrap{position:relative;max-width:880px;margin:0 auto;padding:0 2.5rem;z-index:2}
.g-review-header{display:flex;align-items:center;gap:14px;margin-bottom:34px;justify-content:center}
.g-review-logo{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.06);background:conic-gradient(from 90deg,#ea4335 0 25%,#fbbc05 25% 50%,#34a853 50% 75%,#4285f4 75%);position:relative}
.g-review-logo::after{content:'G';position:absolute;inset:4px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4285f4;font-weight:700;font-size:22px;font-family:'Product Sans','DM Sans',sans-serif}
.g-review-header-text{display:flex;flex-direction:column;gap:2px}
.g-review-header-title{font-size:13px;color:var(--g600);letter-spacing:.3px;font-weight:500}
.g-review-header-title b{color:var(--text);font-weight:600}
.g-review-rating-strip{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--g600)}
.g-review-rating-strip .g-stars{display:inline-flex;gap:2px}
.g-review-rating-strip .g-stars svg{width:14px;height:14px;fill:#fbbc05}
.g-review-eyebrow{text-align:center;font-size:11px;color:#4285f4;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;margin-bottom:18px;display:flex;align-items:center;gap:10px;justify-content:center}
.g-review-eyebrow::before,.g-review-eyebrow::after{content:'';width:40px;height:1px;background:rgba(66,133,244,.25)}
.g-review-quote{font-family:'Playfair Display',serif;font-weight:400;font-style:italic;font-size:clamp(24px,2.6vw,34px);line-height:1.4;color:var(--navy);text-align:center;letter-spacing:-.3px;position:relative;padding:0 10px}
.g-review-quote::before{content:'\201C';position:absolute;top:-36px;left:50%;transform:translateX(-50%);font-family:'Playfair Display',serif;font-size:120px;line-height:1;color:rgba(66,133,244,.14);font-style:normal;pointer-events:none}
.g-review-stars-big{display:flex;justify-content:center;gap:4px;margin:30px 0 22px}
.g-review-stars-big svg{width:22px;height:22px;fill:#fbbc05;animation:gStarPop .5s cubic-bezier(0.34,1.56,0.64,1) both}
.g-review-stars-big svg:nth-child(1){animation-delay:.1s}
.g-review-stars-big svg:nth-child(2){animation-delay:.2s}
.g-review-stars-big svg:nth-child(3){animation-delay:.3s}
.g-review-stars-big svg:nth-child(4){animation-delay:.4s}
.g-review-stars-big svg:nth-child(5){animation-delay:.5s}
@keyframes gStarPop{0%{opacity:0;transform:scale(.3) rotate(-30deg)}70%{transform:scale(1.15) rotate(8deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.g-review-author{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:22px;padding-top:26px;border-top:1px solid rgba(26,23,20,.08)}
.g-review-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif;font-weight:500;font-size:20px;flex-shrink:0;box-shadow:0 4px 14px rgba(66,133,244,.25)}
.g-review-meta{display:flex;flex-direction:column;gap:2px;text-align:left}
.g-review-name{font-size:15px;color:var(--text);font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.g-review-verified{display:inline-flex;align-items:center;gap:4px;background:rgba(52,168,83,.12);color:#1e8e3e;border-radius:100px;padding:2px 10px;font-size:10px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}
.g-review-verified svg{width:10px;height:10px;fill:#1e8e3e}
.g-review-details{font-size:12px;color:var(--g600);letter-spacing:.1px}
.g-review-cta{text-align:center;margin-top:40px}
.g-review-cta a{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:#4285f4;font-weight:500;padding:12px 24px;border:1.5px solid rgba(66,133,244,.3);border-radius:100px;transition:all .25s;cursor:pointer;background:rgba(255,255,255,.6);backdrop-filter:blur(4px)}
.g-review-cta a:hover{background:#4285f4;color:#fff;border-color:#4285f4;transform:translateY(-2px);box-shadow:0 8px 24px rgba(66,133,244,.25)}
.g-review-cta a svg{width:14px;height:14px;transition:transform .25s}
.g-review-cta a:hover svg{transform:translateX(3px)}
@media (max-width:760px){
  .g-review-section{padding:80px 0}
  .g-review-section::before{font-size:280px;right:-30px;bottom:-80px}
  .g-review-quote{font-size:22px;line-height:1.45}
  .g-review-quote::before{font-size:80px;top:-26px}
  .g-review-author{flex-direction:column;text-align:center;gap:10px}
  .g-review-meta{text-align:center}
  .g-review-name{justify-content:center}
}

/* ── CHAMPAGNE CELEBRATION (reviews page) ── */
.champagne-bubbles{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.champagne-bubbles .bubble{position:absolute;bottom:-30px;border-radius:50%;background:radial-gradient(circle at 30% 30%, rgba(255,245,210,.95), rgba(229,169,58,.55) 55%, rgba(229,169,58,0) 100%);box-shadow:0 0 8px rgba(229,169,58,.35);opacity:0;animation:bubbleRise linear infinite}
@keyframes bubbleRise{
  0%   {opacity:0;transform:translate3d(0,0,0) scale(.5)}
  10%  {opacity:.9}
  50%  {transform:translate3d(14px,-50vh,0) scale(1)}
  90%  {opacity:.7}
  100% {opacity:0;transform:translate3d(-8px,-110vh,0) scale(1.1)}
}
.champagne-bubbles .b1{left:6%;width:10px;height:10px;animation-duration:9s;animation-delay:-.5s}
.champagne-bubbles .b2{left:14%;width:6px;height:6px;animation-duration:11s;animation-delay:-3s}
.champagne-bubbles .b3{left:22%;width:14px;height:14px;animation-duration:8s;animation-delay:-6s}
.champagne-bubbles .b4{left:30%;width:8px;height:8px;animation-duration:10s;animation-delay:-1.5s}
.champagne-bubbles .b5{left:38%;width:11px;height:11px;animation-duration:12s;animation-delay:-4s}
.champagne-bubbles .b6{left:46%;width:5px;height:5px;animation-duration:9.5s;animation-delay:-7s}
.champagne-bubbles .b7{left:54%;width:13px;height:13px;animation-duration:10.5s;animation-delay:-2s}
.champagne-bubbles .b8{left:62%;width:7px;height:7px;animation-duration:11.5s;animation-delay:-5.5s}
.champagne-bubbles .b9{left:70%;width:10px;height:10px;animation-duration:8.5s;animation-delay:-8s}
.champagne-bubbles .b10{left:78%;width:9px;height:9px;animation-duration:10s;animation-delay:-3.5s}
.champagne-bubbles .b11{left:86%;width:12px;height:12px;animation-duration:11s;animation-delay:-6.5s}
.champagne-bubbles .b12{left:94%;width:6px;height:6px;animation-duration:9s;animation-delay:-.8s}

/* Toast / clinking flutes band */
.toast-band{position:relative;background:linear-gradient(180deg,var(--navy) 0%,#0a1a30 100%);padding:70px 0 62px;overflow:hidden;border-top:1px solid rgba(200,145,42,.22);border-bottom:1px solid rgba(200,145,42,.22)}
.toast-band::before,.toast-band::after{content:'';position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(229,169,58,.5),transparent)}
.toast-band::before{top:0}.toast-band::after{bottom:0}
.toast-wrap{position:relative;max-width:820px;margin:0 auto;padding:0 2.5rem;text-align:center;z-index:2}
.toast-eyebrow{font-size:11px;color:var(--gold-light);letter-spacing:3px;text-transform:uppercase;font-weight:500;margin-bottom:18px;display:inline-flex;align-items:center;gap:10px}
.toast-eyebrow::before,.toast-eyebrow::after{content:'';width:28px;height:1px;background:rgba(229,169,58,.4)}
.toast-flutes{position:relative;width:180px;height:130px;margin:0 auto 22px}
.toast-flutes svg{position:absolute;top:0;width:70px;height:130px;transform-origin:20px 115px;filter:drop-shadow(0 4px 10px rgba(229,169,58,.3))}
.flute-left{left:22px;transform:rotate(-40deg);animation:flute-idle-l 4s ease-in-out infinite}
.flute-right{right:22px;transform:rotate(40deg) scaleX(-1);animation:flute-idle-r 4s ease-in-out infinite}
.toast-band.clink .flute-left{animation:flute-clink-l 1.6s cubic-bezier(.34,1.56,.64,1) forwards,flute-idle-l 4s ease-in-out 1.6s infinite}
.toast-band.clink .flute-right{animation:flute-clink-r 1.6s cubic-bezier(.34,1.56,.64,1) forwards,flute-idle-r 4s ease-in-out 1.6s infinite}
@keyframes flute-clink-l{
  0%   {transform:rotate(-40deg) translateX(0)}
  45%  {transform:rotate(-18deg) translateX(22px)}
  55%  {transform:rotate(-22deg) translateX(18px)}
  100% {transform:rotate(-25deg) translateX(0)}
}
@keyframes flute-clink-r{
  0%   {transform:rotate(40deg) scaleX(-1) translateX(0)}
  45%  {transform:rotate(18deg) scaleX(-1) translateX(22px)}
  55%  {transform:rotate(22deg) scaleX(-1) translateX(18px)}
  100% {transform:rotate(25deg) scaleX(-1) translateX(0)}
}
@keyframes flute-idle-l{0%,100%{transform:rotate(-25deg)}50%{transform:rotate(-23deg)}}
@keyframes flute-idle-r{0%,100%{transform:rotate(25deg) scaleX(-1)}50%{transform:rotate(23deg) scaleX(-1)}}
.clink-spark{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:80px;height:80px;opacity:0;pointer-events:none}
.clink-spark span{position:absolute;top:50%;left:50%;width:2px;height:14px;background:linear-gradient(180deg,rgba(255,245,210,.95),rgba(229,169,58,0));transform-origin:center bottom;border-radius:1px}
.clink-spark span:nth-child(1){transform:translate(-50%,-100%) rotate(0deg)}
.clink-spark span:nth-child(2){transform:translate(-50%,-100%) rotate(45deg)}
.clink-spark span:nth-child(3){transform:translate(-50%,-100%) rotate(90deg)}
.clink-spark span:nth-child(4){transform:translate(-50%,-100%) rotate(135deg)}
.clink-spark span:nth-child(5){transform:translate(-50%,-100%) rotate(180deg)}
.clink-spark span:nth-child(6){transform:translate(-50%,-100%) rotate(225deg)}
.clink-spark span:nth-child(7){transform:translate(-50%,-100%) rotate(270deg)}
.clink-spark span:nth-child(8){transform:translate(-50%,-100%) rotate(315deg)}
.toast-band.clink .clink-spark{animation:sparkPop .7s ease-out .5s forwards}
@keyframes sparkPop{0%{opacity:0;transform:translateX(-50%) scale(.2)}30%{opacity:1}100%{opacity:0;transform:translateX(-50%) scale(1.6)}}
.toast-quote{font-family:'Playfair Display',serif;font-weight:400;font-style:italic;font-size:clamp(26px,3vw,40px);color:#fff;line-height:1.25;letter-spacing:-.4px;margin-bottom:14px}
.toast-quote em{color:var(--gold-light);font-style:italic;font-weight:500}
.toast-sub{font-size:14.5px;color:rgba(255,255,255,.58);max-width:580px;margin:0 auto;line-height:1.7;letter-spacing:.1px}
.toast-band-bubbles{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;opacity:.55}
@media (max-width:760px){
  .toast-band{padding:58px 0 54px}
  .toast-flutes{width:150px;height:110px;margin-bottom:18px}
  .toast-flutes svg{width:60px;height:110px}
  .flute-left{left:14px}.flute-right{right:14px}
}
@media (prefers-reduced-motion: reduce){
  .champagne-bubbles .bubble{animation:none;opacity:.25}
  .flute-left,.flute-right,.toast-band.clink .flute-left,.toast-band.clink .flute-right{animation:none}
  .clink-spark{display:none}
}

/* ── DRONE VIDEO HERO ── */
.hero{
  min-height:100vh;background:var(--navy);
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.hero-video-bg{position:absolute;inset:0;z-index:0}
.hero-video-bg video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2s ease}
.hero-video-bg video.loaded{opacity:1}
.hero-video-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,.15) 30%,rgba(0,0,0,.2) 65%,rgba(0,0,0,.5) 100%);pointer-events:none;z-index:1}
.hero-video-overlay{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,transparent 45%,rgba(0,0,0,.25) 100%)}
.hero-grid-pattern{display:none}
.hero-left{padding:140px 2.5rem 100px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:2;max-width:800px;margin:0 auto;width:100%}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(200,32,47,.1);border:1px solid rgba(200,32,47,.25);padding:6px 14px;border-radius:20px;margin-bottom:26px;font-size:12px;color:var(--gold-light);letter-spacing:1.5px;text-transform:uppercase;width:fit-content;animation:fadeUp .6s .1s both}
.hero-eyebrow::before{content:'';width:5px;height:5px;background:var(--gold-light);border-radius:50%}
.hero h1{font-size:clamp(36px,4.5vw,58px);color:#fff;animation:fadeUp .6s .25s both;line-height:1.1;text-shadow:0 2px 20px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.3)}
.hero h1 em{color:var(--gold-light);font-style:normal}
.hero-sub{font-size:17px;color:rgba(255,255,255,.92);margin:20px auto 34px;max-width:580px;line-height:1.75;animation:fadeUp .6s .4s both;font-weight:300;text-shadow:0 2px 12px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.3)}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;animation:fadeUp .6s .55s both}
.hero-stats{display:flex;gap:0;margin-top:52px;border-top:1px solid rgba(255,255,255,.1);padding-top:30px;animation:fadeUp .6s .7s both}
.hero-stat{flex:1;padding-right:2rem}
.hero-stat+.hero-stat{border-left:1px solid rgba(255,255,255,.1);padding-left:2rem}
.hero-stat-n{font-family:'Playfair Display',serif;font-size:32px;color:#fff;letter-spacing:-.5px}
.hero-stat-l{font-size:11px;color:rgba(255,255,255,.42);letter-spacing:.5px;margin-top:2px;text-transform:uppercase}
.hero-right{position:relative;display:flex;align-items:center;justify-content:center;padding:140px 2.5rem 80px 0;z-index:2;animation:fadeUp .7s .5s both}
.hero-img-wrap{position:relative;width:100%;max-width:420px}
.hero-img{width:100%;aspect-ratio:4/5;border-radius:var(--rl);overflow:hidden;border:1px solid rgba(200,145,42,.25);position:relative}
.hero-img video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s}
.hero-img video.loaded{opacity:1}
.hero-img-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#1a3050,#2d5a8e);z-index:-1}
.hero-img-caption{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(to top,rgba(15,31,53,.95),transparent)}
.hero-img-caption strong{display:block;font-size:19px;font-family:'Playfair Display',serif;color:#fff}
.hero-img-caption span{font-size:13px;color:rgba(255,255,255,.65)}
.hero-float{position:absolute;bottom:-14px;left:-26px;background:#fff;border-radius:var(--r);padding:16px 18px;box-shadow:0 8px 40px rgba(0,0,0,.25);min-width:185px}
.hero-float .stars{color:var(--gold);font-size:13px;margin-bottom:5px}
.hero-float p{font-size:12px;color:var(--g600);line-height:1.5}
.hero-float strong{font-size:13px;font-weight:500;color:var(--text);display:block;margin-top:8px}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* ── SEARCH ── */
.search-bar{background:var(--white);box-shadow:0 4px 28px rgba(0,0,0,.07);position:relative;z-index:10}
.s-tabs{display:flex;border-bottom:1px solid var(--g200);margin-bottom:18px}
.s-tab{padding:9px 20px;font-size:13px;cursor:pointer;border:none;background:transparent;font-family:'DM Sans',sans-serif;color:var(--g400);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}
.s-tab.active{color:var(--navy);border-bottom-color:var(--gold);font-weight:500}
.s-form{display:flex;gap:11px;align-items:center;flex-wrap:wrap}
.hero-s-beds-wrap.is-hidden{display:none}
.s-input{flex:1;min-width:200px;height:46px;padding:0 15px;border:1.5px solid var(--g200);border-radius:8px;font-size:14px;font-family:'DM Sans',sans-serif;outline:none;transition:border .2s;background:var(--g100)}
.s-input:focus{border-color:var(--gold);background:#fff}
.s-select{height:46px;padding:0 13px;border:1.5px solid var(--g200);border-radius:8px;font-size:13px;font-family:'DM Sans',sans-serif;background:var(--g100);outline:none;cursor:pointer}
.s-select:focus{border-color:var(--gold)}
.s-btn{height:46px;padding:0 26px;background:var(--navy);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .2s}
.s-btn:hover{background:var(--navy-mid)}

/* ── BUY PAGE SEARCH + FILTERS + PAGER ── */
.results-search{background:var(--white);box-shadow:0 4px 28px rgba(0,0,0,.07);border:1px solid var(--g200);border-radius:var(--rl);padding:20px 22px;margin-bottom:22px}
.res-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.res-filter{padding:8px 18px;font-size:13px;cursor:pointer;border:1.5px solid var(--g200);background:var(--white);color:var(--g600);border-radius:30px;font-family:'DM Sans',sans-serif;transition:all .2s}
.res-filter:hover{border-color:var(--gold);color:var(--navy)}
.res-filter.active{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:500}
.results-pager{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:36px}
.results-pager:empty{display:none}
.pager-btn{min-width:40px;height:40px;padding:0 12px;border:1.5px solid var(--g200);background:var(--white);color:var(--g600);border-radius:8px;font-size:14px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s}
.pager-btn:hover:not(:disabled){border-color:var(--gold);color:var(--navy)}
.pager-btn.active{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:600}
.pager-btn:disabled{opacity:.4;cursor:default}
.pager-ellipsis{color:var(--g400);padding:0 4px}

/* ── TRUST STRIP ── */
.trust{background:var(--navy);padding:22px 0}
.trust .wrap{display:flex;align-items:center;justify-content:space-between;gap:0;flex-wrap:nowrap}
.ti{display:flex;align-items:center;gap:10px;flex:1;justify-content:center;padding:0 12px}
.ti-icon{width:38px;height:38px;border-radius:8px;background:rgba(200,145,42,.12);border:1px solid rgba(200,145,42,.2);display:flex;align-items:center;justify-content:center;font-size:17px}
.ti p{font-size:12px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.5px}
.ti strong{display:block;font-size:14px;font-weight:500;color:#fff}

/* ── SERVICES ── */
.svc-card{background:var(--white);border-radius:var(--rl);padding:30px 26px;border:1px solid var(--g200);transition:all .3s;position:relative;overflow:hidden;cursor:pointer}
.svc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.svc-card:hover::after{transform:scaleX(1)}
.svc-card:hover{border-color:rgba(200,145,42,.3);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.svc-icon{font-size:28px;margin-bottom:16px}

/* Premium service cards */
.svc-card-premium{background:var(--white);border-radius:var(--rl);padding:0;border:1px solid var(--g200);transition:all .4s;position:relative;overflow:hidden;cursor:pointer;display:flex;flex-direction:column}
.svc-card-premium::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold),var(--mk-red));opacity:0;transition:opacity .3s}
.svc-card-premium:hover::before{opacity:1}
.svc-card-premium:hover{border-color:rgba(200,145,42,.35);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.1)}
.svc-card-premium .svc-top{padding:22px 22px 22px;flex:1}
.svc-card-premium .svc-icon-wrap{width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,var(--navy),var(--navy-mid));display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:transform .3s}
.svc-card-premium:hover .svc-icon-wrap{transform:scale(1.08)}
.svc-card-premium .svc-icon-wrap svg{stroke:#fff;width:20px;height:20px}
.svc-card-premium h3{font-size:17px;color:var(--navy);margin-bottom:8px}
.svc-card-premium p{font-size:12.5px;color:var(--g600);line-height:1.65}
.svc-card-premium .svc-bottom{display:none}
.svc-card-premium .svc-cta{display:none}
.svc-card-premium .svc-num{font-family:'Playfair Display',serif;font-size:36px;color:rgba(15,31,53,.06);font-weight:600;line-height:1}
.svc-grid-premium{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:768px){.svc-grid-premium{grid-template-columns:1fr}}


/* Refined service icons */
.svc-icon-svg{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(200,145,42,.12),rgba(200,145,42,.06));border:1px solid rgba(200,145,42,.2);display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:all .3s}
.svc-card:hover .svc-icon-svg{background:linear-gradient(135deg,rgba(200,145,42,.2),rgba(200,145,42,.1));border-color:rgba(200,145,42,.4);transform:scale(1.05)}

.svc-card h3{font-size:19px;color:var(--navy);margin-bottom:9px}
.svc-card p{font-size:13px;color:var(--g600);line-height:1.65;margin-bottom:18px}
.svc-link{font-size:13px;color:var(--gold);font-weight:500;display:inline-flex;align-items:center;gap:5px}
.svc-link::after{content:'→';transition:transform .2s;display:inline-block}
.svc-card:hover .svc-link::after{transform:translateX(4px)}

/* ── PROP CARDS ── */
.pcard{background:var(--white);border-radius:var(--rl);overflow:hidden;border:1px solid var(--g200);transition:all .3s;cursor:pointer;display:flex;flex-direction:column;height:100%}
.pcard:hover{box-shadow:0 12px 40px rgba(0,0,0,.12);transform:translateY(-4px);border-color:rgba(200,145,42,.3)}
.pcard.pcard-static{cursor:default}
.pcard.pcard-static:hover{box-shadow:none;transform:none;border-color:var(--g200)}
.pcard.pcard-static:hover .pc-img img{transform:none}
.pc-img{height:200px;position:relative;overflow:hidden;background:#1e3a5f}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.pcard:hover .pc-img img{transform:scale(1.05)}
.pc-badge{position:absolute;top:12px;left:12px;font-size:11px;font-weight:500;padding:4px 10px;border-radius:20px;letter-spacing:.3px}
.badge-s{background:var(--gold);color:#fff}
.badge-l{background:#14803c;color:#fff}
.badge-sa{background:#e67e22;color:#fff}
.badge-la{background:#6c5ce7;color:#fff}
.badge-sold{background:#7f8c8d;color:#fff}
.res-agreed .pc-img img,.res-sold .pc-img img{filter:saturate(.6)}
.res-agreed .pc-img::after,.res-sold .pc-img::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.15);pointer-events:none}
.badge-a{background:var(--g400);color:#fff}
.pc-count{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.5);color:rgba(255,255,255,.9);font-size:11px;padding:3px 8px;border-radius:20px}
.pc-price{position:absolute;bottom:0;left:0;right:0;padding:24px 15px 13px;background:linear-gradient(to top,rgba(10,20,35,.92),transparent);font-family:'Playfair Display',serif;font-size:18px;color:#fff;letter-spacing:-.3px}
.pc-img{flex-shrink:0}
.pc-body{padding:15px 17px;display:flex;flex-direction:column;flex:1}
.pc-addr{font-size:14px;font-weight:500;color:var(--text);margin-bottom:3px;line-height:1.4;min-height:40px;display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}
.pc-addr-text{flex:1;min-width:0}
.pc-eircode{display:inline-flex;align-items:center;font-family:'SF Mono','Monaco','Courier New',monospace;font-size:10.5px;font-weight:600;background:rgba(15,31,53,.07);color:var(--navy);padding:2px 7px;border-radius:4px;letter-spacing:.6px;white-space:nowrap;flex-shrink:0}
.pc-type{font-size:12px;color:var(--g400);margin-bottom:12px}
.pc-feats{display:flex;gap:10px;font-size:12px;color:var(--g600);align-items:center;flex-wrap:wrap;margin-top:auto;min-height:24px;padding-top:10px;border-top:1px solid var(--g200)}
.pc-feats>span:not(.pc-ber){display:inline-flex;align-items:center;gap:5px}
.pc-feat-icon{display:inline-flex;align-items:center;justify-content:center;font-size:17px;line-height:1;filter:saturate(1.1) contrast(1.15);opacity:.95}
.pc-ber{margin-left:auto;font-size:11px;font-weight:700;padding:3px 9px;border-radius:4px;letter-spacing:.4px;background:#888;color:#fff;font-family:'DM Sans',sans-serif;line-height:1;text-transform:uppercase;flex-shrink:0}
/* BER category palette — one colour per grade band */
.pc-ber[data-ber="A0"]{background:#4495D1;color:#fff}
.pc-ber[data-ber="A1"],.pc-ber[data-ber="A2"],.pc-ber[data-ber="A3"],.pc-ber[data-ber="A"]{background:#00A651;color:#fff}
.pc-ber[data-ber="B"],.pc-ber[data-ber="B1"],.pc-ber[data-ber="B2"],.pc-ber[data-ber="B3"]{background:#50B848;color:#fff}
.pc-ber[data-ber="C"],.pc-ber[data-ber="C1"],.pc-ber[data-ber="C2"],.pc-ber[data-ber="C3"]{background:#BFD730;color:#1a1714}
.pc-ber[data-ber="D"],.pc-ber[data-ber="D1"],.pc-ber[data-ber="D2"]{background:#FFF200;color:#1a1714}
.pc-ber[data-ber="E"],.pc-ber[data-ber="E1"],.pc-ber[data-ber="E2"]{background:#FDB913;color:#1a1714}
.pc-ber[data-ber="F"]{background:#F36F21;color:#fff}
.pc-ber[data-ber="G"]{background:#ED1D24;color:#fff}
.pc-ber[data-ber="Exempt"]{background:#888;color:#fff;font-weight:600}
.lux-stat .lsv.pc-ber{display:inline-block;font-size:18px;padding:6px 14px;border-radius:6px;margin-bottom:4px}

/* ── GRID ── */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid-empty{grid-column:1/-1;text-align:center;padding:50px 20px;font-size:15px;color:var(--g600);line-height:1.7}
.grid-empty a{color:var(--gold);font-weight:500}

/* ── ABOUT SECTION ── */
.about-text p{font-size:15px;color:var(--g600);line-height:1.8;margin-bottom:18px}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}
.m-card{background:var(--white);border-radius:var(--r);padding:18px;border:1px solid var(--g200);text-align:center;transition:all .3s}
.m-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.m-num{font-family:'Playfair Display',serif;font-size:26px;color:var(--navy)}
.m-label{font-size:11px;color:var(--g400);margin-top:3px;text-transform:uppercase;letter-spacing:.5px}
.team-frame{width:100%;aspect-ratio:4/5;border-radius:var(--rl);position:relative;overflow:hidden}
.team-frame video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.5s}
.team-frame video.loaded{opacity:1}
.team-frame-fallback{position:absolute;inset:0;background:url('assets/images/office.jpg')center/cover no-repeat;z-index:-1}
.team-quote{position:absolute;bottom:24px;left:-26px;right:26px;background:var(--navy);color:#fff;border-radius:var(--r);padding:18px 20px;box-shadow:0 8px 40px rgba(0,0,0,.22)}
.team-quote p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.82);font-style:italic}
.team-quote .qa{display:flex;align-items:center;gap:9px;margin-top:12px}
.qa-av{width:34px;height:34px;border-radius:50%;background:var(--mk-red);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0}
.qa-info{font-size:11px;color:rgba(255,255,255,.48)}
.qa-info strong{display:block;font-size:13px;font-weight:500;color:#fff}

/* ── TESTIMONIALS ── */
.testi{background:var(--navy)}
.t-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:26px;transition:all .3s}
.t-card:hover{background:rgba(255,255,255,.08);border-color:rgba(200,145,42,.3)}
.t-stars{color:var(--gold);font-size:13px;margin-bottom:12px}
.t-quote{font-size:13px;color:#fff;line-height:1.75;margin-bottom:18px;font-style:italic}
.t-auth{display:flex;align-items:center;gap:11px}
.t-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;flex-shrink:0}
.t-name{font-size:13px;font-weight:500;color:#fff}
.t-loc{font-size:11px;color:rgba(255,255,255,.7);margin-top:2px}
.google-rating{display:flex;align-items:center;gap:14px;margin-top:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:14px 20px;border-radius:var(--r);width:fit-content}
.gr-num{font-family:'Playfair Display',serif;font-size:28px;color:#fff}
.gr-info p{font-size:12px;color:rgba(255,255,255,.5)}
.gr-stars{color:var(--gold);font-size:14px}
.g-star-row{display:inline-flex;gap:2px;align-items:center;line-height:1;vertical-align:middle;font-size:inherit}
.g-star-slot{position:relative;display:inline-block;width:1em;height:1em;line-height:1;text-align:left}
.g-star-slot .g-star-bg{display:block;color:rgba(255,255,255,.32)}
.g-star-slot .g-star-fg{position:absolute;left:0;top:0;display:block;color:var(--gold);overflow:hidden;white-space:nowrap;height:100%}

/* ── VALUATION ── */
.val-card{background:var(--navy);border-radius:var(--rl);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:56px;position:relative;overflow:hidden}
.val-card::before{content:'';position:absolute;top:-80px;right:-80px;width:280px;height:280px;border-radius:50%;background:rgba(200,32,47,.06);border:1px solid rgba(200,32,47,.1)}
.val-text h2{color:#fff;font-size:30px;margin-bottom:14px}
.val-text p{color:rgba(255,255,255,.58);font-size:15px;line-height:1.7;margin-bottom:24px}
.val-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.val-list li{display:flex;align-items:center;gap:9px;font-size:14px;color:rgba(255,255,255,.72)}
.val-list li::before{content:'✓';width:18px;height:18px;border-radius:50%;background:rgba(200,145,42,.2);border:1px solid var(--gold);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--gold-light)}
.val-form{background:#fff;border-radius:var(--r);padding:32px;position:relative;z-index:1}
.val-form h3{font-size:20px;color:var(--navy);margin-bottom:4px}
.val-form>p{font-size:13px;color:var(--g400);margin-bottom:22px}

/* ── FORMS ── */
.f-group{margin-bottom:10px}
.f-label{display:block;font-size:11px;font-weight:500;color:var(--g600);margin-bottom:4px;letter-spacing:.3px;text-transform:uppercase}
.f-input,.f-select,.f-textarea{width:100%;padding:9px 12px;border:1.5px solid var(--g200);border-radius:var(--r);font-size:13px;font-family:'DM Sans',sans-serif;color:var(--text);outline:none;transition:border .2s;background:#fff}
.f-input:focus,.f-select:focus,.f-textarea:focus{border-color:var(--gold)}
.f-textarea{resize:vertical;min-height:90px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.f-submit{width:100%;height:40px;background:var(--navy);color:#fff;border:none;border-radius:var(--r);font-size:13px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .2s;margin-top:4px}
.f-submit:hover{background:var(--mk-red);transform:translateY(-1px)}

/* ── INSTAGRAM ── */
.ig-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;border-radius:var(--rl);overflow:hidden}
.ig-tile{aspect-ratio:1;overflow:hidden;position:relative;cursor:pointer}
.ig-tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ig-tile:hover img{transform:scale(1.08)}
.ig-tile-ov{position:absolute;inset:0;background:rgba(15,31,53,.55);opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px}
.ig-tile:hover .ig-tile-ov{opacity:1}

/* ── PAGE HERO ── */
.page-hero{padding:0;background:var(--navy);position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}
.page-hero-video{position:absolute;inset:0;z-index:0}
.page-hero-video video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 2s}
.page-hero-video video.loaded{opacity:1}
.page-hero-video::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.2) 30%,rgba(0,0,0,.25) 65%,rgba(0,0,0,.55) 100%);pointer-events:none;z-index:1}
.page-hero-overlay{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,rgba(0,0,0,.2) 0%,transparent 50%,rgba(0,0,0,.2) 100%)}
.page-hero-pattern{display:none}
.page-hero-inner{max-width:1100px;margin:0 auto;padding:0 2.5rem;position:relative;z-index:2;width:100%}
.page-hero .eyebrow{color:var(--gold-light);text-shadow:0 1px 6px rgba(0,0,0,.45)}
.page-hero h1{font-size:clamp(32px,4vw,54px);color:#fff;margin:10px 0 16px;max-width:680px;text-shadow:0 2px 20px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.35)}
.page-hero h1 em{color:var(--gold-light);font-style:normal}
.page-hero p{font-size:16px;color:rgba(255,255,255,.92);max-width:560px;line-height:1.75;text-shadow:0 2px 12px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.3)}
.page-hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.bc{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.35);margin-bottom:16px}
.bc span{cursor:pointer;transition:color .2s}.bc span:hover{color:var(--gold-light)}
.bc-sep{color:rgba(255,255,255,.18)}

/* ── TEAM CARDS ── */
.team-grid{display:flex;flex-wrap:wrap;gap:22px;justify-content:center}
.team-grid .tcard{width:calc(25% - 17px);min-width:230px}
.tcard{border-radius:var(--rl);overflow:hidden;cursor:pointer;position:relative;background:var(--white);border:1px solid var(--g200);box-shadow:0 2px 14px rgba(0,0,0,.05);transition:all .3s}
.tcard:hover{transform:translateY(-5px);box-shadow:0 14px 40px rgba(0,0,0,.1);border-color:rgba(200,145,42,.3)}
.tcard-photo{aspect-ratio:4/5;position:relative;overflow:hidden}
.tcard-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s}
.tcard:hover .tcard-photo img{transform:scale(1.03)}
.tcard-exp{display:none}
.tcard-overlay{display:none}
.tcard-body{padding:18px 20px 22px}
.tcard-name{font-family:'Playfair Display',serif;font-size:19px;font-weight:500;color:var(--navy);letter-spacing:-.3px;margin-bottom:4px}
.tcard-role{font-size:11px;font-weight:500;color:var(--gold);letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px}
.tcard-bio{font-size:13px;color:var(--g600);line-height:1.65;margin-top:10px}

/* ── REVIEW CARDS ── */
.rcard{background:var(--white);border-radius:var(--rl);border:1px solid var(--g200);padding:20px;transition:all .3s}
.rcard:hover{border-color:rgba(200,145,42,.35);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.07)}
.rcard-stars{color:var(--gold);font-size:13px;margin-bottom:8px;letter-spacing:2px}
.rcard-text{font-size:13px;color:var(--text);line-height:1.65;margin-bottom:14px}
.rcard-auth{display:flex;align-items:center;gap:10px}
.rcard-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;font-family:'Playfair Display',serif}
.rcard-name{font-size:13px;font-weight:500;color:var(--text)}
.rcard-loc{font-size:12px;color:var(--g400);margin-top:1px}

/* ── CONTACT ── */
.ci{display:flex;align-items:flex-start;gap:15px;padding:20px;background:var(--white);border-radius:var(--r);border:1px solid var(--g200);transition:all .3s}
.ci:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(0,0,0,.05)}
.ci-icon{width:42px;height:42px;border-radius:9px;background:var(--gold-pale);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.ci h4{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;color:var(--g600);margin-bottom:4px;letter-spacing:.5px;text-transform:uppercase}
.ci p{font-size:13px;color:var(--text);line-height:1.6}
.ci a{color:var(--gold)}

/* ── STEP ── */
.step-row{display:grid;grid-template-columns:72px 1fr;gap:28px;align-items:start;padding:30px 0;border-bottom:1px solid var(--g200);position:relative}
.step-row:last-child{border-bottom:none}
.step-n{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--navy),var(--navy-mid));color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:24px;font-weight:600;flex-shrink:0;position:relative;box-shadow:0 8px 24px rgba(15,31,53,.2);transition:all .3s}
.step-n::after{content:'';position:absolute;inset:-3px;border-radius:19px;border:2px solid rgba(200,145,42,.2);transition:border-color .3s}
.step-row:hover .step-n{transform:scale(1.08);box-shadow:0 12px 32px rgba(15,31,53,.3)}
.step-row:hover .step-n::after{border-color:rgba(200,145,42,.5)}
.step-row h3{font-family:'Playfair Display',serif;font-size:19px;color:var(--navy);margin-bottom:8px}
.step-row p{font-size:14px;color:var(--g600);line-height:1.75}

/* ── PKG ── */
.pkg{background:var(--white);border-radius:var(--rl);border:1px solid var(--g200);padding:40px 38px 30px;position:relative;overflow:hidden;transition:all .35s ease;display:flex;flex-direction:column}
.pkg:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 24px 60px rgba(15,31,53,.1)}
.pkg.star{border:1px solid var(--gold);background:linear-gradient(165deg,var(--navy) 0%,#13274a 100%);padding-top:52px}
.pkg.star::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,var(--gold-light),var(--gold),var(--gold-light),transparent)}
.pkg-num{font-family:'Playfair Display',serif;font-style:italic;font-size:44px;color:rgba(200,145,42,.38);line-height:1;letter-spacing:-1.5px;margin-bottom:14px;font-weight:400}
.pkg.star .pkg-num{color:rgba(229,169,58,.55)}
.pkg-eyebrow{font-size:11px;color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-weight:500;margin-bottom:14px;display:block}
.pkg.star .pkg-eyebrow{color:var(--gold-light)}
.pkg-hed{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(22px,2.2vw,28px);color:var(--navy);line-height:1.25;margin-bottom:14px;font-weight:400;letter-spacing:-.3px}
.pkg.star .pkg-hed{color:#fff}
.pkg-hed em{color:var(--gold);font-style:italic;font-weight:500}
.pkg.star .pkg-hed em{color:var(--gold-light)}
.pkg-sub{font-size:14px;color:var(--g600);line-height:1.7;margin-bottom:28px}
.pkg.star .pkg-sub{color:rgba(255,255,255,.65)}
.pkg-rule{height:1px;background:linear-gradient(90deg,transparent,rgba(200,145,42,.35),transparent);margin:0 0 22px;border:0}
.pkg.star .pkg-rule{background:linear-gradient(90deg,transparent,rgba(229,169,58,.3),transparent)}
.pkg-section-label{font-size:10px;letter-spacing:2.5px;color:var(--g400);text-transform:uppercase;margin-bottom:16px;font-weight:600}
.pkg.star .pkg-section-label{color:rgba(229,169,58,.75)}
.pkg-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:26px;flex:1}
.pkg-list li{display:flex;align-items:flex-start;gap:11px;font-size:13.5px;color:var(--text);line-height:1.55}
.pkg.star .pkg-list li{color:rgba(255,255,255,.85)}
.pkg-list li svg{flex-shrink:0;margin-top:3px;color:var(--gold);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.pkg.star .pkg-list li svg{color:var(--gold-light)}
.pkg:hover .pkg-list li svg{transform:scale(1.15) rotate(-4deg)}
.pkg-footer{padding-top:22px;border-top:1px solid var(--g100);font-size:11px;color:var(--g600);letter-spacing:1.5px;text-transform:uppercase;font-weight:500;display:flex;justify-content:space-between;align-items:center;margin-top:auto}
.pkg.star .pkg-footer{border-top-color:rgba(255,255,255,.1);color:rgba(255,255,255,.55)}
.pkg-footer strong{color:var(--gold);font-weight:600;letter-spacing:0;font-size:13px;text-transform:none;font-family:'Playfair Display',serif;font-style:italic}
.pkg.star .pkg-footer strong{color:var(--gold-light)}
.pkg-badge{position:absolute;top:18px;right:22px;background:var(--gold);color:var(--navy);font-family:'Playfair Display',serif;font-style:italic;font-size:12.5px;font-weight:500;padding:6px 14px;border-radius:100px;letter-spacing:.3px;text-transform:none;box-shadow:0 4px 14px rgba(200,145,42,.3);z-index:4;border:1px solid rgba(255,245,210,.4)}

/* ── PERK ── */
.perk{padding:26px;border-radius:var(--r);border:1.5px solid var(--g200);background:var(--white);transition:all .3s}
.perk:hover{border-color:var(--gold);background:var(--gold-pale)}
.perk-icon{font-size:28px;margin-bottom:12px}
.perk h3{font-size:16px;color:var(--navy);margin-bottom:7px}
.perk p{font-size:13px;color:var(--g600);line-height:1.65}

/* ── FOOTER ── */
footer{background:var(--navy);padding:58px 0 28px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:46px}
.fl-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.fl-mark{width:32px;height:32px;background:var(--mk-red);border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:15px;font-weight:600;color:#fff}
.fl-txt{font-family:'Playfair Display',serif;font-size:14px;color:#fff;line-height:1.2}
.fl-txt span{display:block;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:300;color:rgba(255,255,255,.32);letter-spacing:1.5px;text-transform:uppercase}
.fl-about{font-size:13px;color:rgba(255,255,255,.4);line-height:1.75;margin-bottom:18px;max-width:270px}
.fl-socials{display:flex;gap:9px}
.fl-soc{width:32px;height:32px;border-radius:6px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:12px;color:rgba(255,255,255,.45);cursor:pointer;transition:all .2s;text-decoration:none}
.fl-soc:hover{background:rgba(200,145,42,.2);border-color:rgba(200,145,42,.4);color:var(--gold-light)}
footer h4{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;color:#fff;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
footer ul li a{font-size:13px;color:rgba(255,255,255,.4);cursor:pointer;transition:color .2s}
footer ul li a:hover{color:var(--gold-light)}
.fc-p{font-size:13px;color:rgba(255,255,255,.4);line-height:1.7}
.fc-p a{color:var(--gold-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.footer-bottom p{font-size:12px;color:rgba(255,255,255,.28)}
.footer-signature{margin:14px 0 0;font-size:12px;color:rgba(255,255,255,.28);line-height:1.5}
.footer-signature a{color:rgba(255,255,255,.4);text-decoration:none}
.footer-signature a:hover{color:var(--gold-light)}
.psra{font-size:11px;color:rgba(255,255,255,.28);background:rgba(255,255,255,.05);padding:3px 9px;border-radius:4px;border:1px solid rgba(255,255,255,.08)}

/* ── MODAL ── */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:600;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;padding:12px;backdrop-filter:blur(8px)}
.modal-bg.open{opacity:1;pointer-events:all}
.modal-box{background:#fff;border-radius:var(--rl);padding:24px 28px;max-width:460px;width:100%;position:relative;animation:pgIn .3s;max-height:95vh;overflow-y:auto}
.modal-close{position:absolute;top:10px;right:10px;background:var(--g100);border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center}
.modal-box h2{font-size:22px;color:var(--navy);margin-bottom:2px}
.modal-box>p{font-size:12px;color:var(--g400);margin-bottom:14px}

/* ── TOAST ── */
.toast{position:fixed;bottom:24px;right:24px;z-index:700;background:var(--navy);color:#fff;padding:13px 18px;border-radius:var(--r);font-size:14px;font-weight:500;box-shadow:0 8px 28px rgba(0,0,0,.22);transform:translateY(70px);opacity:0;transition:all .35s;border-left:4px solid var(--gold)}
.toast.show{transform:translateY(0);opacity:1}

/* ── REVEAL ── */
.sr{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
.sr.shown{opacity:1;transform:none}
.sr-d1{transition-delay:.1s}.sr-d2{transition-delay:.2s}.sr-d3{transition-delay:.3s}.sr-d4{transition-delay:.4s}

/* ── BTT ── */
.btt{position:fixed;bottom:24px;left:24px;z-index:100;background:var(--navy);color:#fff;border:1px solid rgba(200,145,42,.3);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;opacity:0;pointer-events:none;transition:all .3s;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.btt.vis{opacity:1;pointer-events:all}
.btt:hover{background:var(--gold)}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .hero{grid-template-columns:1fr}.hero-right{display:none}.hero-left{padding:120px 1.5rem 60px}
  .g3{grid-template-columns:1fr 1fr}.g2{grid-template-columns:1fr}.val-card{grid-template-columns:1fr;padding:30px}
  .footer-grid{grid-template-columns:1fr 1fr}.ig-grid{grid-template-columns:repeat(3,1fr)}
  .team-grid .tcard{width:calc(50% - 11px);min-width:auto}.navbar{padding:0 1.5rem}
  .nlinks,.nphone-nav{display:none}.hamburger{display:flex}
  .wrap{padding:0 1.5rem}.section{padding:64px 0}
  .f-row{grid-template-columns:1fr}
}
@media(max-width:640px){
  .g3{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}
  .team-grid .tcard{width:100%;min-width:auto}.ig-grid{grid-template-columns:repeat(3,1fr)}
  .pkg{padding:24px}
}

/* ── SPARKLE ── */
@keyframes shimmer{0%,100%{opacity:.7}50%{opacity:1;text-shadow:0 0 20px rgba(200,145,42,.6),0 0 40px rgba(200,145,42,.3)}}
@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:.8}100%{transform:translateY(-120px) scale(.3);opacity:0}}
@keyframes goldPulse{0%,100%{box-shadow:0 0 0 rgba(200,145,42,0)}50%{box-shadow:0 0 22px rgba(200,145,42,.35)}}
@keyframes sparkle{0%,100%{transform:scale(1) rotate(0deg);opacity:.9}50%{transform:scale(1.15) rotate(180deg);opacity:1}}

.hero-left h1 em{animation:shimmer 3s ease-in-out infinite}

.hero-stat{transition:transform .3s}
.hero-stat:hover{transform:translateY(-3px)}
.hero-stat-n{transition:color .3s}
.hero-stat:hover .hero-stat-n{color:var(--gold-light)}

.btn-p{position:relative;overflow:hidden}
.btn-p::after{content:'';position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-20deg);animation:btnShine 4s ease-in-out infinite}
@keyframes btnShine{0%,70%,100%{left:-60%}40%{left:120%}}

.hero-stat-n{position:relative}

/* Floating particles in hero */
.hero-particles{display:none}
.p-dot{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(200,145,42,.6);animation:floatUp linear infinite}

/* Gold glow on tcard-exp badge */
.tcard-exp{animation:goldPulse 2.5s ease-in-out infinite}

/* Stat cards hover glow */
.m-card:hover{box-shadow:0 8px 32px rgba(200,145,42,.2);transform:translateY(-4px)}

/* Trust strip icon sparkle */
.ti-icon{animation:goldPulse 3s ease-in-out infinite}

/* Stars cascade animation */
.rcard-stars span { display:inline-block; opacity:0; transform:scale(0.3); transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1); }
.rcard-stars.stars-animate span { opacity:1; transform:scale(1); }
.rcard-stars span:nth-child(1){ transition-delay:0s }
.rcard-stars span:nth-child(2){ transition-delay:0.12s }
.rcard-stars span:nth-child(3){ transition-delay:0.24s }
.rcard-stars span:nth-child(4){ transition-delay:0.36s }
.rcard-stars span:nth-child(5){ transition-delay:0.48s }
@keyframes starGlow { 0%{text-shadow:0 0 0 transparent} 50%{text-shadow:0 0 12px rgba(200,145,42,.6)} 100%{text-shadow:0 0 0 transparent} }
.rcard-stars.stars-animate span { animation: starGlow 0.6s ease-out forwards; }
.rcard-stars.stars-animate span:nth-child(1){ animation-delay:0s }
.rcard-stars.stars-animate span:nth-child(2){ animation-delay:0.12s }
.rcard-stars.stars-animate span:nth-child(3){ animation-delay:0.24s }
.rcard-stars.stars-animate span:nth-child(4){ animation-delay:0.36s }
.rcard-stars.stars-animate span:nth-child(5){ animation-delay:0.48s }

/* Floating confetti */
#confetti-canvas { position:absolute; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:0; }

/* Typewriter heading */
#review-heading { overflow:hidden; }
#review-heading .tw-char { display:inline; opacity:0; }
#review-heading .tw-char.tw-visible { opacity:1; }
#review-heading em .tw-char.tw-visible { opacity:1; }
@keyframes twBlink { 0%,100%{opacity:1} 50%{opacity:0} }
#tw-cursor { display:inline-block; width:2px; height:0.9em; background:var(--gold-light); margin-left:2px; vertical-align:text-bottom; animation:twBlink 0.7s infinite; }

/* Review cards flip-in */
.rcard { opacity:0; transform:perspective(800px) rotateY(90deg) translateX(-30px); transition:all 0.7s cubic-bezier(0.25,0.46,0.45,0.94); }
.rcard.flip-in { opacity:1; transform:perspective(800px) rotateY(0deg) translateX(0); }
.rcard:nth-child(1){ transition-delay:0s }
.rcard:nth-child(2){ transition-delay:0.15s }
.rcard:nth-child(3){ transition-delay:0.3s }
.rcard:nth-child(4){ transition-delay:0.45s }
.rcard:nth-child(5){ transition-delay:0.6s }
.rcard:nth-child(6){ transition-delay:0.75s }
.rcard:nth-child(7){ transition-delay:0.9s }
.rcard:nth-child(8){ transition-delay:1.05s }
.rcard:nth-child(9){ transition-delay:1.2s }

/* Stars cascade - homepage testimonials */
.t-stars span { display:inline-block; opacity:0; transform:scale(0.3); transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1); }
.t-stars.stars-animate span { opacity:1; transform:scale(1); animation: starGlow 0.6s ease-out forwards; }
.t-stars span:nth-child(1){ transition-delay:0s; animation-delay:0s !important }
.t-stars span:nth-child(2){ transition-delay:0.12s; animation-delay:0.12s !important }
.t-stars span:nth-child(3){ transition-delay:0.24s; animation-delay:0.24s !important }
.t-stars span:nth-child(4){ transition-delay:0.36s; animation-delay:0.36s !important }
.t-stars span:nth-child(5){ transition-delay:0.48s; animation-delay:0.48s !important }

/* Review pagination */
.rev-page { display:none; opacity:0; transition:opacity 0.5s ease; }
.rev-page-active { display:block; opacity:1; }
.rev-dot { width:32px; height:32px; border-radius:8px; border:1px solid var(--g200); background:var(--white); font-size:13px; font-weight:600; color:var(--g400); cursor:pointer; transition:all 0.3s; }
.rev-dot.active { background:var(--navy); color:#fff; border-color:var(--navy); }
.rev-dot:hover { border-color:var(--gold); color:var(--gold); }
.rev-arrow { width:48px; height:48px; border-radius:50%; border:2px solid var(--navy); background:var(--navy); font-size:22px; cursor:pointer; transition:all 0.3s; color:#fff; font-weight:700; box-shadow:0 4px 12px rgba(15,31,53,.25); }
.rev-arrow:hover { background:var(--gold); color:#fff; border-color:var(--gold); box-shadow:0 4px 16px rgba(200,145,42,.4); transform:scale(1.1); }

/* Funky testimonial marquee */
.testi-marquee { overflow:hidden; position:relative; }
.testi-marquee::before, .testi-marquee::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.testi-marquee::before { left:0; background:linear-gradient(90deg, var(--navy), transparent); }
.testi-marquee::after { right:0; background:linear-gradient(-90deg, var(--navy), transparent); }
.testi-track { display:flex; gap:16px; width:max-content; }
.testi-track-left { animation: marqueeLeft 60s linear infinite; }
.testi-track-right { animation: marqueeRight 65s linear infinite; }
.testi-track:hover { animation-play-state:paused; }
@keyframes marqueeLeft { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes marqueeRight { 0%{transform:translateX(-50%)} 100%{transform:translateX(0)} }
.t-card-funky { min-width:300px; max-width:300px; flex-shrink:0; }
.t-card-inner { background:rgba(30,55,90,.85); border:1px solid rgba(200,145,42,.2); border-radius:14px; padding:20px 22px; position:relative; transition:all 0.4s; height:100%; }
.t-card-funky:hover .t-card-inner { background:rgba(35,65,105,.95); border-color:rgba(200,145,42,.4); transform:translateY(-4px); box-shadow:0 12px 32px rgba(0,0,0,.2); }

.t-big-quote { font-family:Georgia,'Playfair Display',serif; font-size:44px; color:var(--gold-light); line-height:.8; margin-bottom:-4px; opacity:0.4; font-weight:700; text-shadow:0 2px 8px rgba(200,145,42,.15); }
.t-quote-funky { font-size:13px; color:#fff; line-height:1.6; margin-bottom:14px; }
.t-auth-funky { display:flex; align-items:center; gap:11px; }

/* Carousel nav arrows */
.testi-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:32px}
.testi-arrow{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:rgba(255,255,255,.6);font-size:20px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;font-weight:700;backdrop-filter:blur(4px)}
.testi-arrow:hover{background:rgba(200,145,42,.2);border-color:var(--gold);color:var(--gold-light);transform:scale(1.1)}
/* Google verified badge on cards */
.t-google-badge{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);padding:3px 8px 3px 6px;border-radius:12px;font-size:10px;color:rgba(255,255,255,.5);margin-top:8px;width:fit-content}
/* Card gold accent line */
.t-card-inner::before{content:'';position:absolute;top:0;left:24px;right:24px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.3;border-radius:2px}

/* Google logo badge */
.google-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:10px 18px;border-radius:30px}
.google-badge svg{flex-shrink:0}
.google-badge-text{display:flex;flex-direction:column;gap:1px}
.google-badge-text .gb-stars{color:var(--gold);font-size:14px;letter-spacing:1px}
.google-badge-text .gb-label{font-size:11px;color:rgba(255,255,255,.5)}

/* Profile pic in review cards */
.t-av-pic{width:38px;height:38px;border-radius:50%;object-fit:cover;object-position:center top;flex-shrink:0;border:2px solid rgba(200,145,42,.3)}
.rcard-av-pic{width:38px;height:38px;border-radius:50%;object-fit:cover;object-position:center top;flex-shrink:0;border:2px solid rgba(200,145,42,.25)}

/* Google icon next to reviewer */
.g-icon-sm{display:inline-flex;vertical-align:middle;margin-left:4px;position:relative;top:-1px}

/* Tenant link bar - subtle design */
.tenant-link-bar{display:inline-flex;align-items:center;gap:6px;margin-top:24px;padding:10px 14px 10px 18px;background:linear-gradient(135deg,rgba(229,169,58,.14) 0%,rgba(255,255,255,.06) 100%);border:1px solid rgba(229,169,58,.35);border-radius:100px;width:fit-content;box-shadow:0 6px 24px rgba(15,31,53,.25),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);flex-wrap:wrap}
.tenant-link-bar span.tl-label{font-size:10.5px;color:var(--gold-light);text-transform:uppercase;letter-spacing:2px;font-weight:600;padding-right:6px}
.tenant-link-bar a{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#fff;font-weight:500;text-decoration:none;transition:all .25s ease;cursor:pointer;padding:6px 14px;border-radius:100px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);text-shadow:0 1px 4px rgba(0,0,0,.4)}
.tenant-link-bar a:hover{color:var(--navy);background:var(--gold-light);border-color:var(--gold-light);text-shadow:none;box-shadow:0 4px 14px rgba(229,169,58,.35);transform:translateY(-1px)}
.tenant-link-bar a svg{width:14px;height:14px;flex-shrink:0;transition:transform .25s}
.tenant-link-bar a:hover svg{transform:translateX(2px) rotate(3deg)}
.tenant-link-bar .tl-sep{width:1px;height:16px;background:rgba(229,169,58,.3);margin:0 2px}

/* ── PROPERTY BROCHURE PAGES ── */
/* ══════════════════════════════════════════════════════════════
   PROPERTY BROCHURE – REDESIGNED (stacked: image → info bar → content)
   ══════════════════════════════════════════════════════════════ */
.prop-hero{display:flex;flex-direction:column;background:var(--navy);padding-top:104px}
.prop-gallery{position:relative;width:100%;height:340px;overflow:hidden;cursor:pointer}
.prop-gallery img{width:100%;height:100%;object-fit:cover;transition:transform 12s ease;animation:propZoom 20s ease-in-out infinite alternate}
.prop-gallery:hover img{transform:scale(1.04)}
@keyframes propZoom{0%{transform:scale(1) translateX(0)}50%{transform:scale(1.06) translateX(-1%)}100%{transform:scale(1) translateX(0)}}
.prop-gallery-ov{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,31,53,.1) 0%,rgba(15,31,53,.4) 100%);z-index:1;pointer-events:none}
.prop-gallery-count{position:absolute;bottom:14px;left:14px;z-index:3;background:rgba(0,0,0,.45);backdrop-filter:blur(10px);padding:6px 14px;border-radius:20px;color:#fff;font-size:11px;display:flex;align-items:center;gap:6px;animation:fadeUp .5s .3s both}
.prop-gallery-count svg{width:13px;height:13px;stroke:#fff;fill:none}
.gal-nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;font-size:16px;opacity:0}
.prop-gallery:hover .gal-nav{opacity:1}
.gal-nav:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-50%) scale(1.1)}
.gal-prev{left:12px}.gal-next{right:12px}

/* Info bar below image */
.prop-info{background:var(--navy);padding:32px 2.5rem 28px;position:relative;max-width:1100px;margin:0 auto;width:100%}
.prop-info::before{display:none}
.prop-info-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.prop-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:14px;margin-bottom:8px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;width:fit-content;animation:fadeUp .4s both}
.prop-badge-sale{background:var(--mk-red);border:none;color:#fff}
.prop-badge-let{background:#14803c;border:none;color:#fff}
.prop-badge::before{content:'';width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.5);animation:ppulse 2s infinite}

/* Property CTA button animations */
.prop-ctas{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto;animation:fadeUp .5s .4s both}
.prop-ctas .btn-p,.prop-ctas .btn-ow{transition:all .25s}
.prop-ctas .btn-p:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(200,32,47,.25)}

/* Enquiry form animation */
.prop-enq{animation:fadeUp .5s .2s both}
.prop-enq .pf{transition:border-color .2s,box-shadow .2s}
.prop-enq .pf:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,145,42,.1)}
.pf-submit{transition:all .25s!important}
.pf-submit:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,31,53,.2)}

@keyframes ppulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
.prop-info h1{font-size:clamp(20px,2.5vw,28px);color:#fff;line-height:1.2;margin:0;animation:fadeUp .5s .1s both}
.prop-info h1 em{color:var(--gold-light);font-style:normal}
.prop-ptype{font-size:12px;color:rgba(255,255,255,.45);margin-top:2px;font-weight:300}
.prop-price-block{text-align:right;flex-shrink:0}
.prop-price{font-family:'Playfair Display',serif;font-size:clamp(28px,3.5vw,40px);color:var(--gold-light);letter-spacing:-.5px;animation:fadeUp .5s .2s both}
.prop-price .cur{font-size:.6em;color:#fff;vertical-align:top;margin-right:1px}
.prop-period{font-size:12px;color:rgba(255,255,255,.4);font-weight:300}

/* Stats strip – clean horizontal row */
.prop-stats{display:flex;align-items:center;gap:0;border-top:1px solid rgba(255,255,255,.1);margin-top:20px;padding-top:18px;flex-wrap:wrap;animation:fadeUp .5s .3s both}
.pstat{display:flex;align-items:center;gap:5px;padding:0 14px;position:relative}
.pstat:first-child{padding-left:0}
.pstat+.pstat::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:rgba(255,255,255,.1)}
.pstat-icon{display:flex;align-items:center}
.pstat-icon svg{width:14px;height:14px;stroke:var(--gold-light);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pstat-val{font-size:15px;font-weight:600;color:#fff;font-family:'DM Sans',sans-serif}
.pstat-lbl{font-size:10px;color:rgba(255,255,255,.4);letter-spacing:.3px}
.prop-ber{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;margin:0 0 0 6px}
.prop-ber-green{background:rgba(76,175,80,.12);border:1px solid rgba(76,175,80,.18)}
.prop-ber-green .ber-g{color:#81c784}
.prop-ber-amber{background:rgba(255,193,7,.1);border:1px solid rgba(255,193,7,.18)}
.prop-ber-amber .ber-g{color:#ffd54f}
.ber-g{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;letter-spacing:.3px}
.ber-d{font-size:9px;color:rgba(255,255,255,.4);line-height:1.3}
.ber-d strong{color:rgba(255,255,255,.6);font-weight:500}
.prop-ctas{display:flex;gap:8px;margin-left:auto;flex-shrink:0;align-items:center}
.prop-avail{padding:8px 12px;border-radius:8px;background:rgba(200,145,42,.06);border:1px solid rgba(200,145,42,.12);margin-top:10px}
.prop-avail p{font-size:11px;color:var(--gold-light);line-height:1.5}
.prop-avail strong{color:#fff;font-weight:500}
.lease-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.lease-pill{padding:4px 10px;border-radius:5px;font-size:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.5)}

/* Mosaic */
.prop-mosaic{padding:20px 0;background:var(--cream)}
.mosaic-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:180px 180px;gap:8px;border-radius:var(--rl);overflow:hidden;max-width:1100px;margin:0 auto;padding:0 2.5rem}
.mosaic-grid .mi{overflow:hidden;cursor:pointer;position:relative;animation:fadeUp .5s both}.mosaic-grid .mi:nth-child(1){animation-delay:.1s}.mosaic-grid .mi:nth-child(2){animation-delay:.2s}.mosaic-grid .mi:nth-child(3){animation-delay:.3s}.mosaic-grid .mi:nth-child(4){animation-delay:.4s}.mosaic-grid .mi:nth-child(5){animation-delay:.5s}
.mosaic-grid .mi img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.mosaic-grid .mi:hover img{transform:scale(1.04)}
.mosaic-grid .mi:first-child{grid-row:span 2}
.mosaic-more{position:absolute;inset:0;background:rgba(15,31,53,.5);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:500;backdrop-filter:blur(2px);gap:4px;transition:background .2s}
.mosaic-more:hover{background:rgba(15,31,53,.35)}

/* Description + Sidebar */
.prop-desc-layout{display:grid;grid-template-columns:1fr 320px;gap:40px;max-width:1100px;margin:0 auto;padding:0 2.5rem;align-items:start}
.prop-desc h2{font-size:26px;color:var(--navy);margin-bottom:8px}
.prop-desc .desc-bar{width:32px;height:3px;background:linear-gradient(90deg,var(--gold),var(--mk-red));border-radius:2px;margin-bottom:16px}
.prop-desc p{color:var(--g600);font-size:14px;line-height:1.8;margin-bottom:12px}

/* Features */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.fcard{background:var(--white);border:1px solid var(--g200);border-radius:12px;padding:20px;display:flex;align-items:flex-start;gap:14px;transition:all .35s;position:relative;overflow:hidden}
.fcard:hover{border-color:var(--gold);box-shadow:0 8px 24px rgba(200,145,42,.1);transform:translateY(-2px)}
.fcard-icon{width:24px;height:24px;border-radius:6px;background:rgba(200,145,42,.07);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fcard-icon svg{width:12px;height:12px;stroke:var(--gold);fill:none;stroke-width:2}

/* Accommodation */
.acc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}
.acc-card{background:var(--white);border:1px solid var(--g200);border-radius:12px;padding:22px 24px;transition:all .35s;position:relative}
.acc-card::before{content:'';position:absolute;top:0;left:0;width:2px;height:100%;background:var(--gold);opacity:0;transition:opacity .2s}
.acc-card:hover{border-color:rgba(200,145,42,.3);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.05)}
.acc-card:hover::before{opacity:1}
.acc-name{font-family:'Playfair Display',serif;font-size:13px;color:var(--navy);margin-bottom:1px}
.acc-dims{font-size:10px;color:var(--gold);font-weight:500;letter-spacing:.3px;margin-bottom:2px}
.acc-desc{font-size:11px;color:var(--g600);line-height:1.4}

/* Agent Card */
.prop-agent{background:var(--white);border:1px solid var(--g200);border-radius:var(--rl);padding:30px;text-align:center;margin-bottom:16px;position:relative;overflow:hidden;transition:all .3s}.prop-agent:hover{border-color:rgba(200,145,42,.3);box-shadow:0 8px 28px rgba(0,0,0,.06)}
.prop-agent::before{content:'';position:absolute;top:0;right:0;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(200,145,42,.08),transparent 70%)}
.prop-agent-av{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:22px;color:#fff;font-weight:600;margin-bottom:12px}
.prop-agent h3{font-size:17px;color:#fff;margin-bottom:2px}
.prop-agent-role{font-size:12px;color:rgba(255,255,255,.45);margin-bottom:14px}
.prop-agent-btns{display:flex;flex-direction:column;gap:6px}
.pa-btn{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#fff;font-size:12px;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif}
.pa-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(200,145,42,.3)}
.pa-btn svg{width:15px;height:15px;stroke:var(--gold-light);fill:none;stroke-width:2}
.pa-btn-red{background:var(--mk-red);border-color:var(--mk-red)}
.pa-btn-red:hover{background:#e02535}

/* Enquiry */
.prop-enq{background:var(--white);border:1px solid var(--g200);border-radius:12px;padding:20px;margin-top:12px}
.prop-enq h3{font-size:16px;color:var(--navy);margin-bottom:14px}
.pf{width:100%;padding:9px 12px;border:1px solid var(--g200);border-radius:8px;font-size:13px;font-family:'DM Sans',sans-serif;margin-bottom:8px;transition:border-color .2s;background:var(--g100);color:var(--text)}
.pf:focus{outline:none;border-color:var(--gold);background:var(--white)}
.pf::placeholder{color:var(--g400)}
textarea.pf{min-height:60px;resize:vertical}
select.pf{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a9488' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.pf-submit{width:100%;padding:10px;background:var(--mk-red);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .2s}
.pf-submit:hover{background:#e02535;transform:translateY(-1px)}

/* Map */
.prop-map{border-radius:16px;overflow:hidden;height:400px;border:1px solid var(--g200);margin-top:24px;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.prop-dir{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 20px;background:var(--navy);color:#fff;border-radius:100px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:'DM Sans',sans-serif}
.prop-dir:hover{background:var(--navy-mid);transform:translateY(-1px)}

/* Back link */
.prop-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--gold);cursor:pointer;margin-bottom:20px;font-weight:500;transition:color .2s}
.prop-back:hover{color:var(--gold-light)}

/* Lightbox */
.prop-lb{position:fixed;inset:0;background:rgba(8,16,28,.92);z-index:999;display:none;align-items:center;justify-content:center;backdrop-filter:blur(16px)}
.prop-lb.active{display:flex}
.prop-lb img{max-width:96vw;max-height:94vh;border-radius:6px;box-shadow:0 20px 80px rgba(0,0,0,.6)}
.plb-close{position:absolute;top:24px;right:24px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.plb-close:hover{background:var(--mk-red)}
.plb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.plb-nav:hover{background:var(--gold);border-color:var(--gold)}
.plb-prev{left:24px}.plb-next{right:24px}
.plb-counter{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:14px;background:rgba(15,31,53,.6);padding:6px 16px;border-radius:20px}

/* Brochure responsive */
@media(max-width:960px){
  .prop-gallery{height:280px}
  .prop-info{padding:16px 1.5rem 14px}
  .prop-info-row{flex-direction:column;gap:8px}
  .prop-price-block{text-align:left}
  .prop-stats{flex-wrap:wrap;gap:6px}
  .prop-ctas{margin-left:0;margin-top:8px;width:100%}
  .mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:120px 100px 100px}
  .mosaic-grid .mi:first-child{grid-column:span 2;grid-row:span 1}
  .prop-desc-layout{grid-template-columns:1fr}
  .acc-grid{grid-template-columns:1fr 1fr}
  .feat-grid{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr 1fr}
  .acc-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .prop-gallery{height:220px}
  .prop-info{padding:14px 1rem 12px}
  .prop-price{font-size:22px}
  .acc-grid{grid-template-columns:1fr}
  .mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .mosaic-grid .mi:first-child{grid-column:span 2;grid-row:span 1}
  .feat-grid{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════ */
/* LUXURY BROCHURE (editorial, Savills/Knight Frank style) */
/* ══════════════════════════════════════════════════════ */
.lux-brochure{background:#faf7f2;color:#1a2238;padding-top:88px;position:relative}
.lux-brochure .wrap{max-width:1140px;margin:0 auto;padding:0 2rem}
.lux-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;letter-spacing:.4px;color:#9a9488;padding:0;margin:0 0 14px;font-weight:400}
.lux-crumb a{color:#6e7380;cursor:pointer;transition:color .2s}
.lux-crumb a:hover{color:var(--gold)}
.lux-crumb .sep{color:#c3bcae;font-size:13px;line-height:1}
.lux-crumb .cur{color:#1a2238;font-weight:500;max-width:min(58vw,560px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.lux-masthead{padding:44px 0 36px;border-bottom:1px solid rgba(26,34,56,.08)}
.lux-masthead-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.lux-eyebrow{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:500}
.lux-status{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:#6e7380;font-weight:500}
.lux-status::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mk-red);margin-right:8px;vertical-align:middle}
.lux-title{font-family:'Playfair Display',serif;font-size:clamp(28px,3.6vw,44px);line-height:1.06;color:#1a2238;letter-spacing:-.015em;font-weight:400;margin:0}
.lux-title em{font-style:italic;color:var(--gold)}
.lux-location{font-size:12px;color:#6e7380;margin-top:10px;letter-spacing:.3px;font-weight:300}
.lux-masthead-price{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(26,34,56,.08)}
.lux-price-block{display:flex;align-items:baseline;gap:12px}
.lux-masthead-price .plabel{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#6e7380}
.lux-masthead-price .pval{font-family:'Playfair Display',serif;font-size:clamp(20px,2.4vw,30px);color:#1a2238;font-weight:500;letter-spacing:-.01em;line-height:1}
.lux-tenure{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#6e7380;font-weight:500;padding-bottom:4px}
.lux-tenure::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mk-red);margin-right:8px;vertical-align:middle}

.lux-stats{display:flex;flex-wrap:wrap;margin-top:24px;border-top:1px solid rgba(26,34,56,.1);border-bottom:1px solid rgba(26,34,56,.1)}
.lux-stat{flex:1;min-width:110px;padding:14px 20px;border-right:1px solid rgba(26,34,56,.08);display:flex;flex-direction:column;gap:4px}
.lux-stat:first-child{padding-left:0}
.lux-stat:last-child{border-right:0;padding-right:0}
.lux-stat .lsv{font-family:'DM Sans',sans-serif;font-size:26px;color:#1a2238;line-height:1;font-weight:300;letter-spacing:-.5px}
.lux-stat .lsv small{font-size:11px;color:#6e7380;margin-left:2px;letter-spacing:.5px}
.lux-stat .lsl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#6e7380;font-weight:500}

.lux-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.lux-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;font-size:10px;letter-spacing:2.2px;text-transform:uppercase;font-weight:500;border:1px solid #1a2238;background:#1a2238;color:#fff;cursor:pointer;transition:all .25s;text-decoration:none;font-family:inherit}
.lux-btn:hover{background:transparent;color:#1a2238}
.lux-btn-outline{background:transparent;color:#1a2238;border:1px solid rgba(26,34,56,.25)}
.lux-btn-outline:hover{border-color:#1a2238;background:#1a2238;color:#fff}

.lux-gallery{padding:36px 0}
.lux-gal-grid{display:grid;grid-template-columns:1.62fr 1fr;grid-auto-rows:190px;gap:8px}
.lux-gal-grid > .lux-cell{overflow:hidden;cursor:pointer;position:relative;background:#eee}
.lux-gal-grid > .lux-cell img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;display:block}
.lux-gal-grid > .lux-cell:hover img{transform:scale(1.035)}
.lux-gal-hero{grid-row:span 2}
.lux-gal-bottom{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;height:200px}
.lux-gal-bottom > .lux-cell{overflow:hidden;position:relative;cursor:pointer;background:#eee}
.lux-gal-bottom > .lux-cell img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease;display:block}
.lux-gal-bottom > .lux-cell:hover img{transform:scale(1.035)}
.lux-gal-more{position:absolute;inset:0;background:rgba(26,34,56,.72);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;letter-spacing:3px;text-transform:uppercase;font-weight:500}
.lux-gal-more-num{font-family:'Playfair Display',serif;font-size:32px;letter-spacing:0;font-weight:400;line-height:1}

.lux-body{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:56px;padding:44px 0;align-items:start}
.lux-desc{max-width:620px}
.lux-sec-label{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:12px}
.lux-h2{font-family:'Playfair Display',serif;font-size:clamp(20px,2.2vw,28px);line-height:1.18;color:#1a2238;font-weight:400;margin:0 0 18px;letter-spacing:-.01em}
.lux-pull{font-family:'Playfair Display',serif;font-style:italic;font-size:17px;line-height:1.5;color:#1a2238;border-left:2px solid var(--gold);padding-left:18px;margin:20px 0 24px;font-weight:400}
.lux-desc p{font-size:13.5px;line-height:1.75;color:#2a2f3d;margin:0 0 14px;font-weight:300}
.lux-desc p:last-child{margin-bottom:0}

.lux-side{position:sticky;top:104px;display:flex;flex-direction:column;gap:12px}
.lux-agent{background:#fff;border:1px solid rgba(26,34,56,.08);padding:22px;text-align:center}
.lux-agent img{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:center center;margin:0 auto 12px;display:block;box-shadow:0 0 0 1px rgba(200,145,42,.3)}
.lux-agent h3{font-family:'Playfair Display',serif;font-size:17px;color:#1a2238;font-weight:500;margin:0 0 2px}
.lux-agent-role{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:#6e7380;margin-bottom:14px;font-weight:500}
.lux-agent a{display:block;font-size:12px;color:#1a2238;padding:9px 0;text-decoration:none;border-top:1px solid rgba(26,34,56,.08);transition:color .2s;letter-spacing:.3px}
.lux-agent a:hover{color:var(--gold)}

.lux-enq{background:#fff;border:1px solid rgba(26,34,56,.08);padding:22px}
.lux-enq h3{font-family:'Playfair Display',serif;font-size:17px;color:#1a2238;font-weight:500;margin:0 0 4px}
.lux-enq-sub{font-size:11px;color:#6e7380;margin-bottom:14px;font-weight:300}
.lux-enq input,.lux-enq select,.lux-enq textarea{width:100%;padding:10px 0;border:none;border-bottom:1px solid rgba(26,34,56,.12);background:transparent;font-size:12px;color:#1a2238;font-family:inherit;margin-bottom:4px;transition:border-color .2s;box-sizing:border-box}
.lux-enq input:focus,.lux-enq select:focus,.lux-enq textarea:focus{outline:none;border-bottom-color:var(--gold)}
.lux-enq input::placeholder,.lux-enq textarea::placeholder{color:#9ea3b0;font-weight:300}
.lux-enq textarea{min-height:60px;resize:vertical;font-family:inherit}
.lux-enq button{width:100%;margin-top:14px;padding:11px;font-size:10px;letter-spacing:2.2px;text-transform:uppercase;background:#1a2238;color:#fff;border:1px solid #1a2238;cursor:pointer;font-family:inherit;font-weight:500;transition:all .25s}
.lux-enq button:hover{background:transparent;color:#1a2238}

.lux-features{background:#fff;padding:44px 0;border-top:1px solid rgba(26,34,56,.08);border-bottom:1px solid rgba(26,34,56,.08)}
.lux-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;margin-top:10px}
.lux-feat-item{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid rgba(26,34,56,.08);align-items:baseline}
.lux-feat-num{font-family:'Playfair Display',serif;font-size:12px;font-style:italic;color:var(--gold);letter-spacing:1px}
.lux-feat-txt{font-size:13px;color:#1a2238;line-height:1.5;font-weight:300}

.lux-rooms{padding:44px 0;background:#faf7f2}
.lux-rooms-body{max-width:720px}
.lux-rooms-body p{font-size:14px;line-height:1.7;color:#2a2f3d;margin:0 0 14px;font-weight:300}
.lux-floorplan{padding:44px 0;background:#fff;border-top:1px solid rgba(26,34,56,.08)}
.lux-floorplan-frame{margin-top:10px;background:#f7f4ef;padding:16px;border:1px solid rgba(26,34,56,.08)}
.lux-floorplan-frame img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain}
.lux-video{padding:44px 0;background:#fff;border-top:1px solid rgba(26,34,56,.08)}
.lux-video-frame{position:relative;width:100%;padding-top:56.25%;margin-top:10px;background:#0f1f35;overflow:hidden}
.lux-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.lux-accom{padding:44px 0;background:#faf7f2}
.lux-acc-table{width:100%;border-collapse:collapse;margin-top:10px}
.lux-acc-table tr{border-bottom:1px solid rgba(26,34,56,.08)}
.lux-acc-table tr:first-child{border-top:1px solid rgba(26,34,56,.12)}
.lux-acc-table td{padding:14px 14px 14px 0;vertical-align:top;font-size:13px;color:#2a2f3d;line-height:1.5;font-weight:300}
.lux-acc-table td:first-child{font-family:'Playfair Display',serif;font-size:15px;color:#1a2238;width:32%;font-weight:500}
.lux-acc-table td:nth-child(2){width:22%;color:#6e7380;font-size:11px;letter-spacing:1.2px;text-transform:uppercase}
.lux-acc-table td:last-child{color:#6e7380;padding-right:0}

.lux-map-sec{background:#fff;padding:44px 0;border-top:1px solid rgba(26,34,56,.08)}
.lux-map{width:100%;height:320px;border:0;margin-top:22px;filter:grayscale(.15) contrast(1.02);display:block}
.lux-map-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#6e7380;font-weight:300}
.lux-map-meta div strong{color:#1a2238;font-weight:500;margin-right:8px;letter-spacing:.5px}

/* Neighbourhood guide — deliberately cream so it reads as its own editorial
   section and is clearly distinguished from the navy site footer below. */
.lux-hood{background:#f3ede3;color:#1a2238;padding:56px 0 64px;border-top:1px solid rgba(26,34,56,.08);border-bottom:3px solid var(--gold)}
.lux-hood-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:28px}
.lux-hood-eyebrow{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:8px}
.lux-hood-title{font-family:'Playfair Display',serif;font-size:clamp(22px,2.6vw,32px);color:#1a2238;font-weight:400;margin:0;letter-spacing:-.01em;line-height:1.1}
.lux-hood-title em{color:var(--gold);font-style:italic}
.lux-hood-header p{font-size:13px;color:#2a2f3d;margin-top:8px;font-weight:300;max-width:540px;line-height:1.55}
.lux-hood-hero{position:relative;width:100%;height:260px;overflow:hidden;margin-bottom:28px;background:#1a2238}
.lux-hood-hero video,.lux-hood-hero img{width:100%;height:100%;object-fit:cover;display:block}
.lux-hood-hero-cap{position:absolute;left:20px;bottom:16px;color:#fff;font-family:'Playfair Display',serif;font-style:italic;font-size:15px;letter-spacing:.3px;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.lux-hood-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(26,34,56,.55) 0%,rgba(26,34,56,0) 45%);pointer-events:none}
.lux-hood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lux-hood-card{background:#fff;border:1px solid rgba(26,34,56,.08);overflow:hidden;display:flex;flex-direction:column}
.lux-hood-card-img{width:100%;height:130px;overflow:hidden;background:#ddd;position:relative}
.lux-hood-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s ease}
.lux-hood-card:hover .lux-hood-card-img img{transform:scale(1.04)}
.lux-hood-card-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.lux-hood-card-label{font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:500}
.lux-hood-card h4{font-family:'Playfair Display',serif;font-size:16px;color:#1a2238;font-weight:500;margin:0;letter-spacing:-.005em}
.lux-hood-card p{font-size:12px;color:#2a2f3d;line-height:1.55;margin:4px 0 0;font-weight:300}
.lux-hood-cta{margin-top:26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:22px;border-top:1px solid rgba(26,34,56,.1)}
.lux-hood-cta-txt{font-size:12px;color:#6e7380;font-weight:300;font-style:italic}
.lux-hood-cta-txt strong{color:#1a2238;font-weight:500;font-style:normal;letter-spacing:.3px}

@media(max-width:980px){
  .lux-body{grid-template-columns:1fr;gap:36px}
  .lux-side{position:static}
  .lux-gal-grid{grid-template-columns:1fr;grid-auto-rows:190px}
  .lux-gal-hero,.lux-gal-bottom{grid-column:1}
  .lux-gal-bottom{grid-template-columns:1fr 1fr}
  .lux-feat-grid{grid-template-columns:1fr;gap:0}
  .lux-stat{flex:0 0 50%;padding:14px 16px}
  .lux-stat:nth-child(2){border-right:0;padding-right:0}
  .lux-stat:nth-child(3){padding-left:0}
  .lux-masthead{padding-top:28px}
  .lux-acc-table td:first-child{font-size:14px;width:38%}
  .lux-acc-table td:nth-child(2){width:30%}
  .lux-hood-header{grid-template-columns:1fr}
  .lux-hood-grid{grid-template-columns:1fr 1fr}
  .lux-hood-hero{height:220px}
}
@media(max-width:600px){
  .lux-brochure .wrap{padding:0 1.1rem}
  .lux-masthead{padding:24px 0 32px}
  .lux-title{font-size:28px}
  .lux-hood-grid{grid-template-columns:1fr}
  .lux-hood-hero{height:180px}
  .lux-stat{flex:0 0 100%;border-right:0;padding:12px 0;border-bottom:1px solid rgba(26,34,56,.08)}
  .lux-stat:last-child{border-bottom:0}
  .lux-cta-row .lux-btn{flex:1;justify-content:center}
  .lux-acc-table td{display:block;padding:5px 0;width:100% !important}
  .lux-acc-table td:first-child{padding-top:14px}
  .lux-acc-table td:last-child{padding-bottom:14px}
}


@keyframes forceReveal{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.page.active .sr:not(.shown){animation:forceReveal .5s 1.5s forwards}

/* ── OVERSEAS PAGE ── */
.s-spain-label{font-size:11px;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;font-weight:500;padding-bottom:6px;display:flex;align-items:center;gap:6px}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.intro-text p{margin-bottom:1.1rem;font-size:15px;color:var(--g600);line-height:1.85}
.intro-stat-box{background:var(--navy);border-radius:var(--rl);padding:2.2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.istat{text-align:center;padding:1rem 0}
.istat-n{font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--gold-light);line-height:1}
.istat-l{font-size:11px;color:rgba(255,255,255,.5);margin-top:.3rem;text-transform:uppercase;letter-spacing:.5px}
.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.rg-card{border-radius:var(--rl);overflow:hidden;background:var(--white);border:1px solid var(--g200);transition:all .3s;position:relative;cursor:pointer}
.rg-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.1);border-color:rgba(200,145,42,.3)}
.rg-card__hero{height:190px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.rg-card__hero--murcia{background:url(../images/overseas/region-murcia.jpg) center/cover no-repeat}
.rg-card__hero--alicante{background:url(../images/overseas/region-alicante.jpg) center/cover no-repeat}
.rg-card__hero--malaga{background:url(../images/overseas/region-malaga.jpg) center/cover no-repeat}
.rg-card__hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62) 0%,rgba(0,0,0,.12) 60%,transparent 100%)}
.rg-card__name,.rg-card__coast-label{position:relative;z-index:2}
.rg-card__coast-label{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:10px;color:rgba(255,255,255,.7);letter-spacing:2px;text-transform:uppercase;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.rg-card__name{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:500;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.rg-card__body{padding:22px 20px}
.rg-card__title{font-size:17px;color:var(--navy);margin-bottom:6px}
.rg-card__coast{font-size:10px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}
.rg-card__desc{font-size:13px;color:var(--g600);line-height:1.7}
.rg-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.rg-tag{background:var(--g100);color:var(--g600);font-size:11px;padding:3px 10px;border-radius:100px;border:1px solid var(--g200)}
.journey-section{background:var(--navy);padding:90px 0;color:#fff}
.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px}
.j-step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--rl);padding:28px 24px;transition:background .2s,border-color .2s}
.j-step:hover{background:rgba(255,255,255,.1);border-color:rgba(200,145,42,.3)}
.j-num{width:34px;height:34px;background:var(--gold);color:var(--navy);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;margin-bottom:14px;flex-shrink:0}
.j-title{font-family:'Playfair Display',serif;font-size:17px;color:#fff;margin-bottom:8px}
.j-desc{font-size:13px;color:rgba(255,255,255,.55);line-height:1.65;margin-bottom:10px}
.j-list{list-style:none}
.j-list li{font-size:12.5px;color:rgba(255,255,255,.55);padding:3px 0 3px 14px;position:relative;border-bottom:1px solid rgba(255,255,255,.05)}
.j-list li:last-child{border-bottom:none}
.j-list li::before{content:'›';position:absolute;left:0;color:var(--gold-light);font-weight:700}
.letting-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px}
.l-card{border-radius:var(--rl);padding:32px 28px;border:1.5px solid var(--g200);background:var(--white);transition:all .3s}
.l-card:hover{border-color:rgba(200,145,42,.4);box-shadow:0 12px 40px rgba(0,0,0,.08)}
.l-card--hl{border-color:var(--gold);background:var(--gold-pale)}
.l-card__icon{font-size:2rem;margin-bottom:12px}
.l-card__title{font-size:20px;color:var(--navy);margin-bottom:4px}
.l-card__sub{font-size:10px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}
.l-card__desc{font-size:14px;color:var(--g600);line-height:1.7;margin-bottom:16px}
.l-list{list-style:none}
.l-list li{font-size:13px;color:var(--text);padding:7px 0 7px 22px;position:relative;border-bottom:1px solid var(--g200)}
.l-list li:last-child{border-bottom:none}
.l-list li::before{content:'';position:absolute;left:0;top:12px;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--gold);background:rgba(200,145,42,.12)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.why-item{background:var(--white);border-radius:var(--rl);padding:28px 22px;border:1px solid var(--g200);text-align:center;transition:all .3s}
.why-item:hover{border-color:rgba(200,145,42,.3);transform:translateY(-3px);box-shadow:0 10px 32px rgba(0,0,0,.07)}
.why-icon{font-size:2rem;margin-bottom:10px}
.why-title{font-size:15px;color:var(--navy);margin-bottom:6px}
.why-desc{font-size:13px;color:var(--g600);line-height:1.65}
.cta-band{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);padding:90px 0;text-align:center;border-top:1px solid rgba(200,145,42,.2);position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(200,145,42,.1) 0%,transparent 70%);pointer-events:none}
.cta-band h2{font-size:clamp(28px,3.5vw,44px);color:#fff;margin-bottom:14px}
.cta-band h2 em{color:var(--gold-light);font-style:normal}
.cta-band p{font-size:15px;color:rgba(255,255,255,.6);max-width:560px;margin:0 auto 32px;line-height:1.75}
.cta-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.contact-details{margin-top:28px;display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.c-detail{display:flex;align-items:center;gap:6px;font-size:13px;color:rgba(255,255,255,.55)}
.c-detail a{color:rgba(255,255,255,.7);transition:color .2s}
.c-detail a:hover{color:var(--gold-light)}
.c-dot{width:4px;height:4px;background:rgba(255,255,255,.25);border-radius:50%}
@media(max-width:960px){
  .intro-grid,.region-grid,.journey-grid,.letting-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .why-grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .testi-track-left,
  .testi-track-right {
    animation: none !important;
    transform: none !important;
  }
}
