/* Leaflet popup styling to match brand */
.leaflet-popup-content-wrapper{border-radius:0!important;box-shadow:0 8px 30px rgba(13,27,46,.18)!important;font-family:'Jost',sans-serif!important;border:1px solid rgba(184,150,90,.3)}
.leaflet-popup-tip{background:var(--white)!important}
.leaflet-popup-content{margin:0!important;padding:0!important}
.vd-popup{padding:1.1rem 1.3rem;min-width:200px}
.vd-popup-tag{font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:#b8965a;margin-bottom:.35rem}
.vd-popup-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:400;color:#0d1b2e;line-height:1.25;margin-bottom:.25rem}
.vd-popup-price{font-family:'Playfair Display',serif;font-size:.95rem;color:#0d1b2e}
.vd-popup-btn{display:block;margin-top:.75rem;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;background:#0d1b2e;color:#fff;padding:.45rem .9rem;text-align:center;cursor:pointer;transition:background .2s;border:none;width:100%;font-family:'Jost',sans-serif}
.vd-popup-btn:hover{background:#b8965a}
.leaflet-control-attribution{font-size:.55rem!important;opacity:.5}
/* Custom marker */
.vd-marker{width:36px;height:44px;position:relative}
.vd-marker-pin{width:36px;height:36px;border-radius:50% 50% 50% 0;background:#b8965a;border:3px solid #fff;transform:rotate(-45deg);box-shadow:0 3px 12px rgba(13,27,46,.35)}
.vd-marker-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-58%) rotate(45deg);width:14px;height:14px;background:#fff;border-radius:50%}
.vd-marker-shadow{width:12px;height:6px;background:rgba(13,27,46,.25);border-radius:50%;position:absolute;bottom:0;left:50%;transform:translateX(-50%);filter:blur(2px)}
/* Leaflet tiles dark overlay for brand match */
#prop-map .leaflet-tile{filter:saturate(.85) brightness(.98)}

.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
.proj-card{background:var(--white);border:1px solid var(--g200);cursor:pointer;transition:all .25s;overflow:hidden;box-shadow:0 2px 16px rgba(13,27,46,.06)}
.proj-card:hover{box-shadow:0 8px 40px rgba(13,27,46,.14);transform:translateY(-3px)}
.proj-card-img{aspect-ratio:16/10;overflow:hidden;position:relative;background:#e8e3db}
.proj-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.proj-card:hover .proj-card-img img{transform:scale(1.04)}
.proj-card-badge{position:absolute;top:1rem;left:1rem;padding:.3rem .8rem;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--white)}
.proj-card-body{padding:1.5rem 1.6rem}
.proj-card-loc{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.proj-card-name{font-family:var(--serif);font-size:1.2rem;font-weight:300;color:var(--navy);margin-bottom:.5rem;line-height:1.3}
.proj-card-tag{font-size:.78rem;color:var(--g600);margin-bottom:1rem;line-height:1.5}
.proj-card-meta{display:flex;gap:1.5rem;padding-top:.9rem;border-top:1px solid var(--g200)}
.proj-meta-label{font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--g400);display:block;margin-bottom:.15rem}
.proj-meta-val{font-size:.88rem;color:var(--navy);font-weight:500}
.proj-card-footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.6rem;background:var(--off);border-top:1px solid var(--g200)}
.proj-card-price small{font-size:.6rem;color:var(--g500);display:block}
.proj-card-price strong{font-size:1.1rem;color:var(--navy);font-family:var(--serif);font-weight:300}
.proj-card-cta{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500}
.proj-hero{position:relative;height:65vh;min-height:480px;overflow:hidden;margin-top:78px}
.proj-hero img{width:100%;height:100%;object-fit:cover}
.proj-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,27,46,.75) 0%,rgba(13,27,46,.2) 60%,transparent 100%)}
.proj-hero-content{position:absolute;bottom:3rem;left:4rem;right:4rem;color:var(--white)}
.proj-hero-badge{display:inline-block;padding:.3rem .9rem;background:var(--gold);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.8rem}
.proj-hero-title{font-family:var(--serif);font-size:3rem;font-weight:300;line-height:1.1;margin-bottom:.6rem}
.proj-hero-tag{font-size:.95rem;color:rgba(255,255,255,.75);font-weight:300}
.proj-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy)}
.proj-stat{padding:1.5rem 2rem;border-right:1px solid rgba(255,255,255,.08)}
.proj-stat:last-child{border-right:none}
.proj-stat-label{font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.3rem}
.proj-stat-val{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--gold)}
.proj-layout{display:grid;grid-template-columns:1fr 360px;align-items:start}
.proj-main{padding:3.5rem 4rem}
.proj-sidebar{padding:2.5rem 2rem;background:var(--off);border-left:1px solid var(--g200);position:sticky;top:78px}
.proj-section-title{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--navy);margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:1px solid var(--g200)}
.proj-desc{font-size:.88rem;color:var(--g600);line-height:1.9;margin-bottom:2.5rem;white-space:pre-line}
.proj-gallery{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:2.5rem}
.proj-gallery-main{grid-column:span 2;aspect-ratio:16/7;object-fit:cover;width:100%}
.proj-gallery-sm{aspect-ratio:4/3;object-fit:cover;width:100%}
.proj-units-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.2rem}
.proj-lots-wrap{margin-top:1.2rem;overflow-x:auto}
.lots-table{width:100%;border-collapse:collapse;font-size:.82rem;font-family:var(--sans)}
.lots-table th{background:var(--navy);color:#fff;padding:.6rem .9rem;text-align:left;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.lots-table td{padding:.55rem .9rem;border-bottom:1px solid var(--g100);color:var(--navy);white-space:nowrap}
.lots-table tbody tr:nth-child(even){background:var(--g50,#f9f9f7)}
.lots-table tbody tr:hover{background:#f5f0e8}
.proj-tl{display:flex;gap:0;margin-bottom:2.5rem}
.proj-tl-step{flex:1;position:relative;padding-top:2rem;text-align:center}
.proj-tl-step::before{content:'';position:absolute;top:.55rem;left:0;right:0;height:2px;background:var(--g200)}
.proj-tl-dot{width:18px;height:18px;border-radius:50%;background:var(--g200);position:absolute;top:0;left:50%;transform:translateX(-50%)}
.proj-tl-dot.done{background:var(--gold)}
.proj-tl-dot.now{background:var(--navy);box-shadow:0 0 0 3px rgba(184,150,90,.3)}
.proj-tl-lbl{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g500);margin-bottom:.2rem}
.proj-tl-date{font-size:.78rem;color:var(--navy);font-weight:500}
.proj-sb-price{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--navy);margin:1rem 0 .3rem}
.proj-feat-item{display:flex;align-items:center;gap:.6rem;font-size:.78rem;color:var(--g700);padding:.5rem 0;border-bottom:1px solid var(--g200)}
.proj-feat-item::before{content:'\2714';color:var(--gold);font-size:.7rem;flex-shrink:0}
@media(max-width:1100px){.proj-grid{grid-template-columns:repeat(2,1fr)}.proj-layout{grid-template-columns:1fr}.proj-sidebar{position:relative;top:auto;border-left:none;border-top:1px solid var(--g200)}.proj-hero-content{left:2rem;right:2rem}}
@media(max-width:768px){.proj-grid{grid-template-columns:1fr}.proj-hero{height:50vh;margin-top:64px}.proj-hero-title{font-size:2rem}.proj-hero-content{bottom:1.5rem;left:1.2rem;right:1.2rem}.proj-stats-bar{grid-template-columns:repeat(2,1fr)}.proj-main{padding:2rem 1.2rem}.proj-units-grid{grid-template-columns:1fr}.proj-gallery{grid-template-columns:1fr}.proj-gallery-main{grid-column:span 1}}

/* Projects page animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}
.proj-hero-badge{animation:fadeUp .6s ease forwards}
.proj-hero-title{animation:fadeUp .7s .1s ease both}
.proj-hero-tag{animation:fadeUp .7s .2s ease both}
.pg-projects-hero-badge{animation:fadeUp .5s ease forwards}
.pg-projects-hero-title{animation:fadeUp .6s .1s ease both}
.pg-projects-hero-sub{animation:fadeUp .6s .2s ease both}
.proj-card{animation:fadeUp .5s ease both}
.proj-card:nth-child(1){animation-delay:.05s}
.proj-card:nth-child(2){animation-delay:.15s}
.proj-card:nth-child(3){animation-delay:.25s}
/* Card skeleton loading */
.proj-card-skeleton{background:linear-gradient(90deg,#f0ebe3 25%,#e8e3db 50%,#f0ebe3 75%);background-size:1000px 100%;animation:shimmer 1.5s infinite}
/* Project filter tabs */
.proj-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--g200)}
.pf-btn{padding:.45rem 1.3rem;border:1px solid var(--g300);background:var(--white);color:var(--navy);font-family:var(--sans);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;font-weight:400}
.pf-btn.active,.pf-btn:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
/* Project items in property sidebar */
.ps-item.ps-project{border-left:3px solid var(--gold);background:linear-gradient(to right,rgba(184,150,90,.04),transparent)}
.ps-project-tag{font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:.2rem}



/* ════════════════════════════════════════════════════════
   TOKENS
════════════════════════════════════════════════════════ */
:root{
  --navy:#0d1b2e; --navy2:#152339; --navy3:#1e3254;
  --gold:#b8965a; --gold-lt:#d4b07a; --gold-pale:#f0e6d3; --gold-dim:#8a6e3e;
  --white:#fff; --off:#f7f5f1; --sand:#f2ede4;
  --g200:#e8e4dd; --g500:#9a9390; --g700:#5a5550;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Jost',sans-serif;
  --ease:cubic-bezier(.22,.68,0,1.2);
  --ease-s:cubic-bezier(.25,.46,.45,.94);
  --glass:rgba(255,255,255,.07);
  --glass-b:rgba(184,150,90,.22);
  --shadow:0 8px 40px rgba(13,27,46,.14);
  --shadow-lg:0 20px 70px rgba(13,27,46,.2);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--off);color:var(--navy);overflow-x:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,select,input,textarea{font-family:var(--sans)}
[dir=rtl] .label::before,[dir=rtl] .eyebrow::before{margin-right:0;margin-left:.6rem}
[dir=rtl] .section-tag::before{margin-right:0;margin-left:.5rem}

/* ════════════════════════════════════════════════════════
   TYPOGRAPHY UTILITIES
════════════════════════════════════════════════════════ */
.label,.eyebrow{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--gold);display:flex;align-items:center;gap:.6rem}
.label::before,.eyebrow::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}
.section-tag{font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:.7rem;display:flex;align-items:center;gap:.5rem}
.section-tag::before{content:'';width:20px;height:1px;background:var(--gold)}
.sh{font-family:var(--serif);font-size:clamp(2rem,3.8vw,3.4rem);font-weight:300;line-height:1.18;color:var(--navy)}
.sh em{font-style:italic;color:var(--gold)}
.sh-lg{font-family:var(--serif);font-size:clamp(2.6rem,5vw,4.8rem);font-weight:300;line-height:1.1;color:var(--white)}
.sh-lg em{font-style:italic;color:var(--gold-lt)}
.body-text{font-size:.9rem;color:var(--g700);line-height:1.9;font-weight:300}

/* ════════════════════════════════════════════════════════
   BUTTONS
════════════════════════════════════════════════════════ */
.btn{display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:.85rem 2.2rem;transition:all .25s;cursor:pointer;border:none}
.btn-gold{background:var(--gold);color:var(--white)}
.btn-gold:hover{background:var(--gold-lt)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy3)}
.btn-outline{border:1.5px solid var(--gold);color:var(--gold);background:transparent}
.btn-outline:hover{background:var(--gold);color:var(--white)}
.btn-outline-w{border:1.5px solid rgba(255,255,255,.5);color:var(--white);background:transparent}
.btn-outline-w:hover{border-color:var(--white);background:rgba(255,255,255,.1)}
.btn-sm{font-size:.64rem;padding:.6rem 1.4rem}

/* ════════════════════════════════════════════════════════
   LAYOUT
════════════════════════════════════════════════════════ */
.page{display:none}
.page.active{display:block}
.wrap{max-width:1380px;margin:0 auto;padding:0 4rem}
.sec{padding:6.5rem 0}
.sec-dark{background:var(--navy)}
.sec-dark .sh{color:var(--white)}
.sec-dark .body-text{color:rgba(255,255,255,.6)}
.sec-dark .section-tag{color:var(--gold-lt)}
.sec-dark .section-tag::before{background:var(--gold-lt)}
.sec-off{background:var(--sand)}
.sec-head{margin-bottom:3.5rem}
.sec-head p{font-size:.9rem;color:var(--g500);line-height:1.8;margin-top:.9rem;max-width:560px;font-weight:300}
.sec-head.c{text-align:center}
.sec-head.c p{margin:1rem auto 0}
.sec-head.c .section-tag{justify-content:center}
.sec-head.c .section-tag::before{display:none}
.row-between{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.link-more{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--g700);border-bottom:1px solid var(--g200);padding-bottom:.1rem;transition:color .2s,border-color .2s}
.link-more:hover{color:var(--gold);border-color:var(--gold)}

/* ════════════════════════════════════════════════════════
   NAVIGATION
════════════════════════════════════════════════════════ */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:78px;display:flex;align-items:center;justify-content:space-between;
  padding:0 3.5rem;
  background:rgba(247,245,241,.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(184,150,90,.15);
  transition:background .4s,box-shadow .4s;
}
#nav.scrolled{background:rgba(247,245,241,.98);box-shadow:0 2px 20px rgba(13,27,46,.08)}
#nav.dark-nav{background:rgba(13,27,46,.85)}
#nav.dark-nav .nav-link-a{color:rgba(255,255,255,.7)}
#nav.dark-nav .nav-link-a:hover{color:var(--gold)}
#nav.dark-nav .logo-text{color:var(--white)}
#nav.dark-nav .logo-mark{border-color:var(--gold)}

.logo{display:flex;align-items:center;gap:.75rem;cursor:pointer}
.logo-mark{width:38px;height:38px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;transition:all .3s}
.logo-mark::after{content:'';position:absolute;inset:4px;border:1px solid rgba(184,150,90,.2)}
.logo-mark span{font-family:var(--serif);font-size:.95rem;font-weight:500;color:var(--gold)}
.logo-text{font-family:var(--serif);font-size:1.18rem;font-weight:400;color:var(--navy);letter-spacing:.04em;line-height:1.15}
.logo-sub{display:block;font-family:var(--sans);font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--g500);margin-top:1px}

.nav-links{display:flex;gap:1.8rem;list-style:none;align-items:center}
.nav-link-a{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:400;color:var(--g700);transition:color .2s;padding:.4rem 0;display:block;position:relative}
.nav-link-a::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease-s)}
.nav-link-a:hover,.nav-link-a.active{color:var(--gold)}
.nav-link-a:hover::after,.nav-link-a.active::after{width:100%}
.has-dd{position:relative}
.dd-menu{
  position:absolute;top:calc(100%+12px);left:50%;transform:translateX(-50%);
  background:var(--white);border:1px solid var(--g200);
  box-shadow:var(--shadow-lg);min-width:210px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:all .22s var(--ease-s);border-radius:2px;overflow:hidden;
}
.has-dd:hover .dd-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.dd-menu a{display:block;padding:.72rem 1.4rem;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g700);border-bottom:1px solid var(--g200);transition:all .18s}
.dd-menu a:last-child{border-bottom:none}
.dd-menu a:hover{color:var(--gold);background:var(--sand);padding-left:1.8rem}

.nav-r{display:flex;align-items:center;gap:.8rem}
.lang-sw{display:flex;background:rgba(13,27,46,.06);border:1px solid var(--g200);overflow:hidden;border-radius:2px}
.lang-btn{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:.35rem .7rem;color:var(--g700);background:transparent;border:none;cursor:pointer;transition:all .2s}
.lang-btn.on{background:var(--gold);color:var(--white)}
.lang-btn:hover:not(.on){color:var(--gold)}
.nav-cta{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:.62rem 1.6rem;background:var(--navy);color:var(--white);transition:all .25s;cursor:pointer;border:none}
.nav-cta:hover{background:var(--gold)}

/* ════════════════════════════════════════════════════════
   HERO
════════════════════════════════════════════════════════ */
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;padding-top:78px}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;background-size:cover;background-position:center;background-color:#0d1b2e}
.hero-slide.on{opacity:1}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(13,27,46,.82) 0%,rgba(13,27,46,.45) 50%,rgba(13,27,46,.1) 80%),linear-gradient(to top,rgba(13,27,46,.9) 0%,rgba(13,27,46,.3) 35%,transparent 65%)}
.hero-content{position:relative;z-index:2;padding:0 4rem 5.5rem;max-width:780px}
.hero-eyebrow{font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:1.1rem;display:flex;align-items:center;gap:.7rem;animation:fadeUp .8s .2s both}
.hero-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold-lt)}
.hero-h{font-family:var(--serif);font-size:clamp(3rem,6vw,5.5rem);font-weight:300;line-height:1.08;color:var(--white);margin-bottom:1.4rem;animation:fadeUp .8s .35s both}
.hero-h em{font-style:italic;color:var(--gold-lt)}
.hero-p{font-size:.92rem;color:rgba(255,255,255,.72);font-weight:300;line-height:1.85;max-width:500px;margin-bottom:2.2rem;animation:fadeUp .8s .5s both}
.hero-btns{display:flex;gap:1rem;animation:fadeUp .8s .65s both}
.hero-stats{position:absolute;right:0;bottom:0;z-index:3;display:flex;animation:fadeUp .8s .8s both}
.stat-box{background:rgba(13,27,46,.7);backdrop-filter:blur(12px);padding:1.5rem 2.2rem;border-left:1px solid rgba(255,255,255,.08);text-align:center}
.stat-n{font-family:var(--serif);font-size:2.1rem;font-weight:300;color:var(--gold-lt);line-height:1}
.stat-l{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:.35rem}
.hero-dots{position:absolute;left:4rem;bottom:2.8rem;z-index:3;display:flex;gap:.6rem}
.h-dot{width:28px;height:1.5px;background:rgba(255,255,255,.25);cursor:pointer;transition:all .3s}
.h-dot.on{background:var(--gold);width:48px}
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}

/* ════════════════════════════════════════════════════════
   SEARCH BAR
════════════════════════════════════════════════════════ */
.search-bar{background:var(--white);box-shadow:0 4px 30px rgba(13,27,46,.12);border-top:3px solid var(--gold);position:relative;z-index:10}
.search-inner{display:flex;align-items:stretch;max-width:100%}
.sf{flex:1;padding:1.2rem 1.6rem;border-right:1px solid var(--g200);transition:background .2s;position:relative}
.sf:hover{background:var(--off)}
.sf label{display:flex;align-items:center;gap:.4rem;font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.45rem;font-weight:500}
.sf select,.sf input{width:100%;background:transparent;border:none;outline:none;font-size:.84rem;color:var(--navy);font-family:var(--sans);font-weight:400;-webkit-appearance:none;cursor:pointer}
.sf select option{background:var(--white);color:var(--navy)}
.search-go{padding:0 2.8rem;background:var(--navy);color:var(--white);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;border:none;cursor:pointer;flex-shrink:0;transition:background .25s;border-left:3px solid var(--gold)}
.search-go:hover{background:var(--gold)}
.search-go:hover{background:var(--gold)}

/* ════════════════════════════════════════════════════════
   DESTINATIONS CIRCLES
════════════════════════════════════════════════════════ */
.dest-circles{display:flex;gap:1.8rem;justify-content:center;flex-wrap:wrap}
.dest-circle-item{text-align:center;cursor:pointer;transition:transform .3s var(--ease);width:158px}
.dest-circle-item:hover{transform:translateY(-6px)}
.dest-circ{width:148px;height:148px;border-radius:50%;overflow:hidden;margin:0 auto 1rem;border:2px solid transparent;transition:border-color .3s;position:relative}
.dest-circle-item:hover .dest-circ{border-color:var(--gold)}
.dest-circ img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dest-circle-item:hover .dest-circ img{transform:scale(1.1)}
.dest-circ::after{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(to bottom,transparent 40%,rgba(13,27,46,.55))}
.d-name{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--navy)}
.d-count{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:.2rem}

/* ════════════════════════════════════════════════════════
   PROPERTY CARDS
════════════════════════════════════════════════════════ */
.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:rgba(13,27,46,.08)}
.prop-grid.g2{grid-template-columns:repeat(2,1fr)}
.prop-grid.g4{grid-template-columns:repeat(4,1fr)}
.pc{background:var(--white);cursor:pointer;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}
.pc:hover{transform:translateY(-5px);z-index:2;box-shadow:var(--shadow-lg)}
.pc-img{position:relative;overflow:hidden;aspect-ratio:4/3}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-s)}
.pc:hover .pc-img img{transform:scale(1.06)}
.pc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(13,27,46,.5) 0%,transparent 50%)}
.pc-badge{position:absolute;top:1rem;left:1rem;z-index:2;font-size:.57rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;padding:.3rem .85rem}
.badge-off{background:var(--gold);color:var(--white)}
.badge-new{background:var(--navy);color:var(--white)}
.badge-resale{background:rgba(255,255,255,.9);color:var(--navy)}
.pc-fav{position:absolute;top:1rem;right:1rem;z-index:2;width:34px;height:34px;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;font-size:.9rem;color:var(--g500);transition:all .25s}
.pc-fav:hover{color:var(--gold)}
.pc-body{padding:1.4rem 1.5rem}
.pc-loc{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.pc-name{font-family:var(--serif);font-size:1.15rem;font-weight:400;color:var(--navy);line-height:1.3;margin-bottom:.9rem}
.pc-feats{display:flex;gap:1.1rem;padding:.8rem 0;border-top:1px solid var(--g200);border-bottom:1px solid var(--g200);margin-bottom:.85rem;align-items:center}
.pf{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--g600);font-weight:400}
.pf svg{width:12px;height:12px;fill:none;stroke:var(--gold-dim);stroke-width:1.5}
.pc-footer{display:flex;justify-content:space-between;align-items:center}
.pc-price{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--navy)}
.pc-price small{font-family:var(--sans);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g500);display:block;font-weight:300}
.pc-cta{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--g500);transition:color .2s}
.pc:hover .pc-cta{color:var(--gold)}

/* ════════════════════════════════════════════════════════
   LEGACY STRIP — 40 YEARS
════════════════════════════════════════════════════════ */
.legacy-strip{background:var(--navy);padding:5rem 0;position:relative;overflow:hidden}
.legacy-strip::before{content:'40';position:absolute;right:3rem;top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:18rem;font-weight:300;color:rgba(184,150,90,.04);line-height:1;pointer-events:none;user-select:none}
.legacy-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center}
.legacy-text .section-tag{color:var(--gold-lt)}
.legacy-text .section-tag::before{background:var(--gold-lt)}
.legacy-h{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.6rem);font-weight:300;color:var(--white);line-height:1.15;margin:.6rem 0 1.4rem}
.legacy-h em{font-style:italic;color:var(--gold-lt)}
.legacy-h strong{font-weight:400;color:var(--gold)}
.legacy-p{font-size:.9rem;color:rgba(255,255,255,.58);line-height:1.9;font-weight:300;margin-bottom:1.8rem}
.legacy-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5px;background:rgba(255,255,255,.06)}
.lst{background:rgba(13,27,46,.4);padding:1.8rem;text-align:center}
.lst-n{font-family:var(--serif);font-size:2.6rem;font-weight:300;color:var(--gold);line-height:1}
.lst-l{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.4rem}
.legacy-flags{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}
.flag-tag{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.5);padding:.32rem .8rem}
.legacy-img{position:relative}
.legacy-img img{width:100%;aspect-ratio:3/4;object-fit:cover}
.legacy-img::after{content:'';position:absolute;bottom:-1.5rem;left:-1.5rem;width:50%;aspect-ratio:1;border:2px solid var(--gold);z-index:-1}

/* ════════════════════════════════════════════════════════
   TESTIMONIALS
════════════════════════════════════════════════════════ */
.testi-outer{overflow:hidden}
.testi-track{display:flex;transition:transform .7s var(--ease-s)}
.tcard{flex-shrink:0;width:calc(100%/3);padding:0 .8rem}
.tglass{background:var(--white);border:1px solid var(--g200);padding:2.2rem;height:100%;position:relative;transition:all .3s}
.tglass:hover{border-color:var(--gold);box-shadow:var(--shadow)}
.tq{font-family:var(--serif);font-size:5rem;line-height:.8;color:var(--gold);opacity:.12;position:absolute;top:1.2rem;left:1.5rem}
.tstars{color:var(--gold);font-size:.72rem;letter-spacing:.1rem;margin-bottom:.8rem}
.ttext{font-family:var(--serif);font-size:.98rem;font-style:italic;color:var(--navy);line-height:1.8;margin-bottom:1.5rem;font-weight:300}
.tauth{display:flex;align-items:center;gap:.9rem}
.tav{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1.5px solid var(--g200)}
.tn{font-size:.85rem;font-weight:500;color:var(--navy)}
.tr{font-size:.66rem;color:var(--gold);margin-top:.1rem}
.testi-nav{display:flex;gap:.45rem;justify-content:center;margin-top:2.2rem}
.t-dot{width:8px;height:8px;border-radius:50%;background:var(--g200);cursor:pointer;transition:all .3s}
.t-dot.on{background:var(--gold);width:22px;border-radius:4px}

/* ════════════════════════════════════════════════════════
   NEWSLETTER / CTA STRIP
════════════════════════════════════════════════════════ */
.nl-strip{background:var(--navy2);padding:5rem 0}
.nl-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.nl-text .section-tag{color:var(--gold-lt)}
.nl-text .section-tag::before{background:var(--gold-lt)}
.nl-h{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--white);margin:.5rem 0 .8rem}
.nl-h em{font-style:italic;color:var(--gold-lt)}
.nl-p{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.8;font-weight:300}
.nl-form{display:flex;gap:0;max-width:460px}
.nl-input{flex:1;padding:.95rem 1.3rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-right:none;color:var(--white);font-size:.85rem;outline:none;transition:border-color .2s;font-family:var(--sans)}
.nl-input::placeholder{color:rgba(255,255,255,.35)}
.nl-input:focus{border-color:var(--gold)}
.nl-btn{padding:.95rem 1.8rem;background:var(--gold);color:var(--white);border:none;cursor:pointer;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;transition:background .25s;white-space:nowrap}
.nl-btn:hover{background:var(--gold-lt)}

/* ════════════════════════════════════════════════════════
   FOOTER
════════════════════════════════════════════════════════ */
footer{background:#080f18;padding:5rem 0 2rem;border-top:1px solid rgba(184,150,90,.15)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:4rem;margin-bottom:4rem}
.fb p{font-size:.8rem;color:rgba(255,255,255,.35);line-height:1.85;margin:1rem 0 1.4rem;font-weight:300}
.socials{display:flex;gap:.5rem}
.soc{width:34px;height:34px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:.72rem;color:rgba(255,255,255,.4);transition:all .2s}
.soc:hover{border-color:var(--gold);color:var(--gold)}
.fc h5{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white);font-weight:500;margin-bottom:1.2rem}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.fc a{font-size:.8rem;color:rgba(255,255,255,.38);font-weight:300;transition:color .2s}
.fc a:hover{color:var(--gold)}
.footer-btm{border-top:1px solid rgba(255,255,255,.05);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:rgba(255,255,255,.3)}
.footer-btm a{color:rgba(255,255,255,.3);margin-left:1.5rem;transition:color .2s}
.footer-btm a:hover{color:var(--gold)}

/* ════════════════════════════════════════════════════════
   PAGE HERO (inner pages)
════════════════════════════════════════════════════════ */
.page-hero{position:relative;height:52vh;min-height:420px;display:flex;align-items:flex-end;overflow:hidden;margin-top:78px}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(13,27,46,.88) 0%,rgba(13,27,46,.35) 55%,rgba(13,27,46,.15) 100%)}
.page-hero-content{position:relative;z-index:2;padding:3rem 4rem}
.page-hero-badge{display:inline-block;background:var(--gold);color:var(--white);font-size:.57rem;letter-spacing:.18em;text-transform:uppercase;padding:.32rem .85rem;margin-bottom:.9rem}

/* destination hero — tall */
.dest-hero{height:75vh;min-height:560px}

/* ════════════════════════════════════════════════════════
   DESTINATION STORY STYLES
════════════════════════════════════════════════════════ */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.story-imgs{position:relative}
.story-img-main{width:100%;aspect-ratio:3/4;object-fit:cover}
.story-img-accent{position:absolute;bottom:-2rem;right:-2rem;width:52%;aspect-ratio:4/3;object-fit:cover;border:3px solid var(--off)}
.story-glass{position:absolute;top:2rem;left:-2rem;background:var(--navy);padding:1.3rem 1.7rem;box-shadow:var(--shadow)}
.sg-n{font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--gold)}
.sg-l{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:.2rem}
.story-feats{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}
.sf-item{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.3rem;background:var(--sand);border-left:2px solid var(--gold);transition:all .3s}
.sf-item:hover{background:var(--g200)}
.sf-icon{font-size:1.3rem;flex-shrink:0;margin-top:.1rem}
.sf-text h4{font-size:.86rem;font-weight:500;color:var(--navy);margin-bottom:.25rem}
.sf-text p{font-size:.79rem;color:var(--g700);line-height:1.65;font-weight:300}
.dest-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--g200);margin:3rem 0}
.dsb{background:var(--white);padding:1.6rem;text-align:center}
.dsb-n{font-family:var(--serif);font-size:1.8rem;font-weight:300;color:var(--navy)}
.dsb-l{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--g500);margin-top:.3rem}

/* ════════════════════════════════════════════════════════
   PROPERTIES PAGE — MAP + LIST
════════════════════════════════════════════════════════ */
.props-page-layout{display:grid;grid-template-columns:1fr 420px;gap:0;min-height:680px}
/* Map canvas */
.map-canvas{position:sticky;top:78px;height:calc(100vh - 78px);min-height:500px;background:#f0ebe3;overflow:hidden}
.france-map-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:5rem 1rem 4.5rem}
.france-map-wrap svg{width:100%;height:100%;max-width:480px;filter:drop-shadow(0 8px 32px rgba(0,0,0,.5))}
.fr-reg{cursor:pointer;transition:fill .25s,stroke-opacity .25s}
.fr-reg:hover,.fr-reg.sel{filter:brightness(1.4)}
.map-top-bar{position:absolute;top:0;left:0;right:0;padding:1.4rem 1.8rem .8rem;background:linear-gradient(to bottom,rgba(10,24,40,1) 60%,transparent);z-index:5}
.map-title{font-family:var(--serif);font-size:1.05rem;font-weight:400;color:var(--white);margin-bottom:.2rem}
.map-subtitle{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.map-chips{position:absolute;bottom:0;left:0;right:0;padding:.65rem 1.2rem;background:var(--navy);display:flex;flex-wrap:wrap;gap:.4rem;z-index:500;border-top:2px solid var(--gold)}
.mchip{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:.38rem 1rem;border-radius:2px;border:1px solid rgba(255,255,255,.15);background:transparent;color:rgba(255,255,255,.65);cursor:pointer;transition:all .2s;font-family:var(--sans);white-space:nowrap}
.mchip:hover{background:rgba(255,255,255,.08);color:var(--white);border-color:rgba(255,255,255,.35)}
.mchip.on{background:var(--gold);border-color:var(--gold);color:var(--white)}
/* Pins */
.map-pin{position:absolute;transform:translate(-50%,-100%);z-index:10;cursor:pointer;transition:transform .25s var(--ease)}
.map-pin:hover{transform:translate(-50%,-100%) scale(1.25)}
.mp-wrap{display:flex;flex-direction:column;align-items:center;position:relative}
.mp-tip{position:absolute;bottom:calc(100%+5px);left:50%;transform:translateX(-50%);background:var(--white);color:var(--navy);padding:.4rem .8rem;font-size:.66rem;font-weight:500;white-space:nowrap;box-shadow:0 3px 12px rgba(0,0,0,.2);opacity:0;transition:opacity .2s;pointer-events:none;font-family:var(--sans)}
.mp-tip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--white)}
.map-pin:hover .mp-tip{opacity:1}
.mp-head{width:13px;height:13px;border-radius:50%;border:2px solid var(--white);box-shadow:0 2px 10px rgba(0,0,0,.5)}
.mp-tail{width:2px;height:9px;margin-top:-1px}
.mp-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;animation:mpulse 2.5s ease-out infinite}
@keyframes mpulse{0%{width:13px;height:13px;opacity:.6}100%{width:44px;height:44px;opacity:0}}
/* Property list sidebar */
.props-sidebar{overflow-y:auto;background:var(--off)}
.props-sidebar-header{padding:1.4rem 1.6rem .9rem;background:var(--navy);border-bottom:2px solid var(--gold);position:sticky;top:0;z-index:5}
.psh-label{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}
.psh-title{font-family:var(--serif);font-size:1.2rem;font-weight:400;color:var(--white)}
.psh-count{font-size:.72rem;color:rgba(255,255,255,.5);margin-top:.25rem}
.props-sidebar-list{padding:.8rem;display:flex;flex-direction:column;gap:.6rem}
.ps-item{display:grid;grid-template-columns:100px 1fr;gap:0;background:var(--white);border:1px solid var(--g200);cursor:pointer;transition:all .22s;overflow:hidden}
.ps-item:hover,.ps-item.active{border-color:var(--gold);box-shadow:0 4px 20px rgba(13,27,46,.1)}
.ps-thumb{width:100px;height:78px;object-fit:cover;display:block;flex-shrink:0}
.ps-info{padding:.7rem .9rem}
.ps-reg{font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem}
.ps-name{font-family:var(--serif);font-size:.85rem;font-weight:400;color:var(--navy);line-height:1.25;margin-bottom:.25rem}
.ps-meta{font-size:.62rem;color:var(--g500);margin-bottom:.2rem}
.ps-price{font-family:var(--serif);font-size:.95rem;color:var(--gold);font-weight:500}

/* ════════════════════════════════════════════════════════
   PROPERTY DETAIL PAGE
════════════════════════════════════════════════════════ */
.pd-gallery{display:grid;grid-template-columns:1.8fr 1fr;grid-template-rows:auto auto;gap:2px;height:480px}
.gal-main{grid-row:span 2;overflow:hidden}
.gal-main img,.gal-sm img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gal-main:hover img,.gal-sm:hover img{transform:scale(1.04)}
.gal-sm{overflow:hidden}
.kf-bar{background:var(--white);border-bottom:1px solid var(--g200);display:grid;grid-template-columns:repeat(6,1fr)}
.kf{padding:1.4rem 1rem;text-align:center;border-right:1px solid var(--g200)}
.kf:last-child{border-right:none}
.kf-icon{font-size:1.2rem;color:var(--gold);margin-bottom:.4rem}
.kf-label{font-size:.54rem;letter-spacing:.15em;text-transform:uppercase;color:var(--g500);margin-bottom:.25rem}
.kf-val{font-family:var(--serif);font-size:1rem;color:var(--navy)}
.pd-layout{display:grid;grid-template-columns:1fr 370px;gap:3rem;padding:3.5rem 4rem}
.pd-sidebar{position:sticky;top:90px;height:fit-content}
.sb-card{background:var(--white);border:1px solid var(--g200);padding:2rem;box-shadow:var(--shadow)}
.sb-price{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--navy)}
.sb-from{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.25rem}
.fi{width:100%;padding:.82rem 1rem;margin-bottom:.7rem;border:1px solid var(--g200);font-family:var(--sans);font-size:.84rem;color:var(--navy);outline:none;background:var(--off);transition:border-color .2s}
.fi:focus{border-color:var(--gold)}
.fi::placeholder{color:var(--g500)}
/* Amenities */
.amen-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem}
.amen-card{text-align:center;padding:1.2rem .8rem;background:var(--sand);border:1px solid var(--g200);transition:all .3s;cursor:default}
.amen-card:hover{border-color:var(--gold);background:var(--white);transform:translateY(-2px);box-shadow:var(--shadow)}
.amen-icon{font-size:1.4rem;margin-bottom:.5rem;display:block}
.amen-lbl{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--g500);margin-bottom:.35rem}
.amen-dist{font-family:var(--serif);font-size:1rem;color:var(--navy)}
.amen-time{font-size:.62rem;color:var(--gold);margin-top:.15rem}
/* Timeline progress */
.prog-wrap{display:flex;align-items:flex-start;position:relative;margin:2rem 0}
.prog-wrap::before{content:'';position:absolute;top:13px;left:0;right:0;height:1px;background:var(--g200)}
.prog-step{flex:1;text-align:center;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.prog-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:600;margin-bottom:.5rem;background:var(--white);border:1.5px solid var(--g200);color:var(--g500)}
.prog-dot.done{background:var(--gold);border-color:var(--gold);color:var(--white)}
.prog-dot.now{background:var(--navy);border-color:var(--navy);color:var(--white);box-shadow:0 0 0 4px rgba(184,150,90,.2)}
/* Features & Finishes */
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.4rem}
.feat-item{display:flex;align-items:center;gap:.85rem;padding:.95rem 1.1rem;background:var(--off);border-radius:4px;border:1px solid var(--g200)}
.feat-icon{font-size:1.3rem;flex-shrink:0}
.feat-text{font-size:.82rem;color:var(--g700);font-weight:400;line-height:1.4}
/* You May Also Like */
.also-like{padding:4rem;background:var(--off);border-top:2px solid var(--g200)}
.also-like-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
.also-like .pc{border-radius:0;box-shadow:0 4px 24px rgba(13,27,46,.08);background:var(--white)}
.also-like .pc-img{aspect-ratio:16/10}
.also-like .pc-name{font-size:1.25rem;margin-bottom:.6rem}
.also-like .pc-body{padding:1.5rem 1.6rem}
.also-like .pc-loc{font-size:.58rem;letter-spacing:.18em;margin-bottom:.5rem}
.also-like .pc-price{font-size:1.4rem}
.also-like .pc-cta{font-size:.62rem;letter-spacing:.16em;color:var(--navy);font-weight:500}
.also-like .pc:hover .pc-cta{color:var(--gold)}
@media(max-width:1100px){.also-like-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.also-like{padding:2.5rem 1.3rem}.also-like-grid{grid-template-columns:1fr}.feat-grid{grid-template-columns:1fr}#prop-features-section{padding:2.5rem 1.3rem}}
.prog-lbl{font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--g500)}
.prog-date{font-size:.62rem;color:var(--navy);margin-top:.2rem}

/* ════════════════════════════════════════════════════════
   SERVICES PAGE
════════════════════════════════════════════════════════ */
.svc-hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(13,27,46,.06)}
.svc-hero-card{background:var(--white);padding:3rem 2.2rem;cursor:pointer;position:relative;overflow:hidden;transition:all .3s;border-top:3px solid transparent}
.svc-hero-card:hover,.svc-hero-card.active{border-top-color:var(--gold);background:var(--navy)}
.svc-hero-card:hover .shc-h,.svc-hero-card.active .shc-h{color:var(--white)}
.svc-hero-card:hover .shc-p,.svc-hero-card.active .shc-p{color:rgba(255,255,255,.55)}
.svc-hero-card:hover .shc-num,.svc-hero-card.active .shc-num{color:rgba(184,150,90,.15)}
.shc-num{font-family:var(--serif);font-size:3.5rem;font-weight:300;color:rgba(13,27,46,.06);line-height:1;margin-bottom:1rem}
.shc-icon{width:48px;height:48px;border:1px solid var(--g200);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1.2rem;transition:border-color .3s}
.svc-hero-card:hover .shc-icon,.svc-hero-card.active .shc-icon{border-color:rgba(184,150,90,.4)}
.shc-h{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--navy);margin-bottom:.6rem;transition:color .3s}
.shc-p{font-size:.8rem;color:var(--g500);line-height:1.75;font-weight:300;transition:color .3s}
.svc-detail-panel{background:var(--sand);padding:4.5rem 0;display:none}
.svc-detail-panel.active{display:block}
.svc-detail-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.svc-pts{list-style:none;display:flex;flex-direction:column;gap:.65rem;margin:1.5rem 0}
.svc-pts li{display:flex;align-items:center;gap:.7rem;font-size:.84rem;color:var(--g700);font-weight:300}
.svc-pts li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}

/* ════════════════════════════════════════════════════════
   PERSONAL ADVICE PAGE
════════════════════════════════════════════════════════ */
.pa-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.pa-left{background:var(--navy);padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center}
.pa-right{position:relative;overflow:hidden;min-height:600px}
.pa-right img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.pa-steps{display:flex;flex-direction:column;gap:1.5rem;margin:2rem 0}
.pa-step{display:flex;gap:1.2rem;align-items:flex-start;padding:1.2rem 1.4rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);transition:all .3s}
.pa-step:hover{background:rgba(255,255,255,.08);border-color:rgba(184,150,90,.25)}
.pa-step-n{font-family:var(--serif);font-size:1.6rem;font-weight:300;color:var(--gold);line-height:1;flex-shrink:0;width:2rem}
.pa-step-text h4{font-size:.88rem;font-weight:500;color:var(--white);margin-bottom:.3rem}
.pa-step-text p{font-size:.79rem;color:rgba(255,255,255,.5);line-height:1.65;font-weight:300}

/* ════════════════════════════════════════════════════════
   BLOG PAGE
════════════════════════════════════════════════════════ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.blog-card{background:var(--white);cursor:pointer;overflow:hidden;transition:box-shadow .3s}
.blog-card:hover{box-shadow:var(--shadow-lg)}
.blog-img{aspect-ratio:16/9;overflow:hidden}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.blog-card:hover .blog-img img{transform:scale(1.05)}
.blog-body{padding:1.4rem}
.blog-cat{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.blog-h{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--navy);line-height:1.35;margin-bottom:.7rem}
.blog-p{font-size:.8rem;color:var(--g500);line-height:1.7;font-weight:300;margin-bottom:1rem}
.blog-meta{display:flex;justify-content:space-between;font-size:.66rem;color:var(--g500)}

/* ════════════════════════════════════════════════════════
   CONTACT PAGE
════════════════════════════════════════════════════════ */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:0}
.contact-form-side{padding:5rem 4rem;background:var(--white)}
.contact-info-side{padding:5rem 4rem;background:var(--navy)}
.contact-office{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.contact-office:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.co-city{font-family:var(--serif);font-size:1.2rem;color:var(--white);margin-bottom:.6rem}
.co-info{display:flex;flex-direction:column;gap:.4rem}
.co-info span{font-size:.8rem;color:rgba(255,255,255,.5);font-weight:300;display:flex;align-items:center;gap:.5rem}

/* ════════════════════════════════════════════════════════
   CHATBOT
════════════════════════════════════════════════════════ */
#cc-bubble{position:fixed;bottom:2rem;right:2rem;z-index:9000;width:58px;height:58px;border-radius:50%;background:var(--navy);border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 28px rgba(13,27,46,.35);transition:all .28s var(--ease)}
#cc-bubble:hover{background:var(--gold);transform:scale(1.08)}
#cc-bubble:hover .cc-bi{color:var(--white)}
.cc-bi{font-size:1.3rem;color:var(--gold);transition:color .25s;line-height:1}
.cc-notif{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#e74c3c;border:2px solid var(--white);animation:notifpulse 2s infinite}
@keyframes notifpulse{0%,100%{box-shadow:0 0 0 0 rgba(231,76,60,.4)}50%{box-shadow:0 0 0 6px rgba(231,76,60,0)}}
#cc-panel{position:fixed;bottom:5.5rem;right:2rem;z-index:8999;width:380px;background:var(--white);box-shadow:0 20px 70px rgba(13,27,46,.22);border:1px solid rgba(184,150,90,.2);display:flex;flex-direction:column;max-height:560px;transform:translateY(16px) scale(.97);opacity:0;pointer-events:none;transition:all .3s var(--ease)}
#cc-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
.cch{display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.4rem;background:var(--navy);flex-shrink:0}
.cc-av{width:38px;height:38px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.9rem;font-weight:500;color:var(--navy);flex-shrink:0}
.cc-name{font-size:.86rem;font-weight:500;color:var(--white)}
.cc-status{font-size:.62rem;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:.35rem;margin-top:.1rem}
.cc-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#2ecc71;display:inline-block;animation:statusblink 2.5s infinite}
@keyframes statusblink{0%,100%{opacity:1}50%{opacity:.3}}
.cc-close{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.35);font-size:1.2rem;cursor:pointer;padding:.2rem .4rem;transition:color .2s}
.cc-close:hover{color:var(--white)}
.cc-quick{display:flex;gap:.4rem;flex-wrap:wrap;padding:.8rem 1.1rem;border-bottom:1px solid var(--g200);flex-shrink:0}
.cc-qr{font-size:.6rem;letter-spacing:.08em;padding:.3rem .75rem;border:1px solid var(--g200);background:var(--off);color:var(--g700);border-radius:40px;cursor:pointer;transition:all .2s;font-family:var(--sans)}
.cc-qr:hover{border-color:var(--gold);color:var(--gold);background:rgba(184,150,90,.05)}
.cc-msgs{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.85rem;background:var(--off);scroll-behavior:smooth}
.cc-msgs::-webkit-scrollbar{width:3px}
.cc-msgs::-webkit-scrollbar-thumb{background:var(--g200)}
.cm{display:flex;flex-direction:column;max-width:86%}
.cm.bot{align-self:flex-start}
.cm.user{align-self:flex-end;align-items:flex-end}
.cb{padding:.82rem 1.05rem;font-size:.8rem;line-height:1.65;font-weight:300}
.cm.bot .cb{background:var(--white);color:var(--navy);border:1px solid var(--g200);border-radius:0 12px 12px 12px}
.cm.user .cb{background:var(--navy);color:rgba(255,255,255,.88);border-radius:12px 0 12px 12px}
.cc-prop-card{background:var(--white);border:1px solid var(--g200);overflow:hidden;margin-top:.4rem;cursor:pointer;transition:border-color .2s;border-radius:0 10px 10px 10px;max-width:260px}
.cc-prop-card:hover{border-color:var(--gold)}
.cc-prop-card img{width:100%;height:130px;object-fit:cover;display:block}
.cc-pc-body{padding:.75rem .9rem}
.cc-pc-loc{font-size:.57rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}
.cc-pc-name{font-family:var(--serif);font-size:.9rem;color:var(--navy);margin-bottom:.3rem;line-height:1.2}
.cc-pc-price{font-family:var(--serif);font-size:1rem;color:var(--navy)}
.cm-time{font-size:.58rem;color:var(--g500);margin-top:.25rem;padding:0 .2rem}
.cc-typing-wrap .cb{background:var(--white);border:1px solid var(--g200);border-radius:0 12px 12px 12px}
.cc-dots{display:flex;gap:4px;align-items:center}
.ccd{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:ccdot 1.4s infinite}
.ccd:nth-child(2){animation-delay:.2s}.ccd:nth-child(3){animation-delay:.4s}
@keyframes ccdot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
.cc-input-row{display:flex;gap:.5rem;padding:.85rem 1rem;border-top:1px solid var(--g200);background:var(--white);flex-shrink:0}
.cc-input{flex:1;padding:.65rem .9rem;border:1px solid var(--g200);font-family:var(--sans);font-size:.82rem;color:var(--navy);outline:none;background:var(--off);transition:border-color .2s;border-radius:3px}
.cc-input::placeholder{color:var(--g500)}
.cc-input:focus{border-color:var(--gold)}
.cc-send{width:36px;height:36px;border-radius:50%;background:var(--navy);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--white);font-size:.9rem;flex-shrink:0;transition:background .2s,transform .2s}
.cc-send:hover{background:var(--gold);transform:scale(1.06)}

/* ════════════════════════════════════════════════════════
   REVEAL ANIMATIONS
════════════════════════════════════════════════════════ */
.rev{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-s),transform .7s var(--ease-s)}
.rev.vis{opacity:1;transform:translateY(0)}
.revL{opacity:0;transform:translateX(-22px);transition:opacity .7s var(--ease-s),transform .7s var(--ease-s)}
.revL.vis{opacity:1;transform:translateX(0)}
.revR{opacity:0;transform:translateX(22px);transition:opacity .7s var(--ease-s),transform .7s var(--ease-s)}
.revR.vis{opacity:1;transform:translateX(0)}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}

/* ════════════════════════════════════════════════════════
   HAMBURGER + MOBILE MENU
════════════════════════════════════════════════════════ */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;padding:.5rem;cursor:pointer;z-index:1001;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.hamburger span{display:block;width:22px;height:2px;background:var(--navy);transition:all .3s;transform-origin:center;border-radius:2px}
#nav.dark-nav .hamburger span{background:var(--white)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

#mobile-menu{
  position:fixed;top:0;left:0;right:0;bottom:0;z-index:799;
  background:var(--navy);
  display:flex;flex-direction:column;
  padding:74px 0 2rem;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  overflow-y:auto;-webkit-overflow-scrolling:touch;
}
#mobile-menu.open{transform:translateX(0)}
.mm-items{padding:0 1.5rem;flex:1}
.mm-link{
  font-family:var(--serif);font-size:1.35rem;font-weight:300;color:var(--white);
  padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.07);
  display:block;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.mm-link:active{color:var(--gold)}
.mm-sub{padding-left:.8rem;margin:.2rem 0}
.mm-sub a{
  font-family:var(--sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.4);padding:.4rem 0;display:block;
  border-bottom:1px solid rgba(255,255,255,.04);text-decoration:none;
  -webkit-tap-highlight-color:transparent;
}
.mm-sub a:active{color:var(--gold)}
.mm-bottom{padding:1.5rem;border-top:1px solid rgba(255,255,255,.08);margin-top:.5rem}
.mm-lang{display:flex;gap:.5rem;margin-bottom:1rem}
.mm-lang-btn{font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;padding:.45rem 1rem;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.5);background:transparent;border-radius:2px;cursor:pointer}
.mm-lang-btn.on{background:var(--gold);border-color:var(--gold);color:var(--white)}
.mm-cta{display:block;width:100%;text-align:center;padding:.9rem;background:var(--gold);color:var(--white);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;cursor:pointer;border:none;font-family:var(--sans)}

/* ════════════════════════════════════════════
   TABLET — 1100px
════════════════════════════════════════════ */
@media(max-width:1100px){
  .wrap{padding:0 2rem}
  .prop-grid{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .props-page-layout{grid-template-columns:1fr}
  .map-canvas{position:relative;top:auto;height:420px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .nl-inner,.story-grid,.grid-2,.legacy-inner,.pa-grid,.contact-grid,.svc-detail-inner{grid-template-columns:1fr;gap:2.5rem}
  .story-img-accent,.legacy-img::after{display:none}
  .page-hero-content{padding:2rem 2rem}
  .hero-content{padding:0 2rem 4rem}
  .hero-dots{left:2rem}
}

/* ════════════════════════════════════════════
   MOBILE — 768px
════════════════════════════════════════════ */
@media(max-width:768px){
  /* ── BASE ── */
  html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
  body{overflow-x:hidden}
  .wrap{padding:0 1.3rem}
  .sec{padding:3.5rem 0}
  .sh{font-size:clamp(1.85rem,5.5vw,2.4rem)!important}
  .row-between{flex-direction:column;align-items:flex-start;gap:.8rem;margin-bottom:2.5rem;flex-wrap:wrap}

  /* ── NAVIGATION ── */
  #nav{padding:0 1.3rem;height:64px}
  .nav-links{display:none}
  .nav-r .nav-cta{display:none}
  .nav-r .lang-sw{display:none}
  .hamburger{display:flex}
  .logo-img-blue,.logo-img-white{height:38px}

  /* ── HERO — Full height, text visible ── */
  .hero{height:100svh;min-height:600px;padding-top:64px}
  .hero-content{padding:0 1.5rem 5rem;max-width:100%;position:relative;z-index:2}
  .hero-eyebrow{font-size:.62rem;letter-spacing:.2em;margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem}
  .hero-eyebrow::before{width:18px}
  .hero-h{font-size:clamp(2.2rem,7.5vw,3.2rem);line-height:1.08;margin-bottom:1rem}
  .hero-p{font-size:.9rem;color:rgba(255,255,255,.82);font-weight:300;line-height:1.75;margin-bottom:1.6rem;max-width:100%;display:block}
  .hero-stats{display:none}
  .hero-btns{flex-wrap:wrap;gap:.7rem}
  .btn{font-size:.7rem;padding:.8rem 1.7rem}
  .hero-dots{left:1.5rem;bottom:2rem}
  .h-dot{width:22px}.h-dot.on{width:40px}

  /* ── SEARCH BAR ── */
  .search-bar{border-top:2px solid var(--gold)}
  .search-inner{flex-direction:column}
  .sf{border-right:none;border-bottom:1px solid var(--g200);padding:1rem 1.3rem}
  .sf label{font-size:.56rem}
  .sf select,.sf input{font-size:.86rem}
  .search-go{padding:1rem 1.3rem;width:100%;text-align:center;font-size:.7rem}

  /* ── DESTINATION CIRCLES ── */
  .dest-circles{gap:.7rem;justify-content:center;flex-wrap:wrap}
  .dest-circle-item{width:calc(33.3% - .5rem);min-width:88px;max-width:118px}
  .dest-circ{width:86px;height:86px;margin-bottom:.7rem}
  .d-name{font-size:.8rem;font-weight:400}
  .d-count{font-size:.58rem}

  /* ── PROPERTY CARDS ── */
  .prop-grid{grid-template-columns:1fr;gap:1px}
  .pc-body{padding:1.2rem 1.3rem}
  .pc-name{font-size:1.05rem}
  .pc-price{font-size:1.15rem}
  .grid-3,.blog-grid{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr!important;gap:2rem!important}

  /* ── 40 YEARS LEGACY ── */
  .legacy-strip{padding:3.5rem 0}
  .legacy-strip::before{display:none}
  .legacy-inner{grid-template-columns:1fr;gap:2rem}
  .legacy-h{font-size:clamp(1.8rem,5.5vw,2.5rem)}
  .legacy-stats{grid-template-columns:repeat(2,1fr)}
  .lst{padding:1.3rem}
  .lst-n{font-size:2.1rem}
  .legacy-flags{gap:.4rem;margin-top:1rem}
  .flag-tag{font-size:.56rem;padding:.22rem .65rem}

  /* ── TESTIMONIALS ── */
  .tcard{width:100%;padding:0}
  .tglass{padding:1.6rem}
  .ttext{font-size:.92rem;line-height:1.75}

  /* ── NEWSLETTER ── */
  .nl-strip{padding:3rem 0}
  .nl-inner{grid-template-columns:1fr;gap:2rem}
  .nl-h{font-size:1.6rem}
  .nl-form{flex-direction:column;max-width:100%}
  .nl-input{border-right:1px solid rgba(255,255,255,.12);border-bottom:none;width:100%;padding:.9rem 1.2rem}
  .nl-btn{padding:.9rem;width:100%}

  /* ── FOOTER ── */
  footer{padding:3rem 0 2rem}
  .footer-grid{grid-template-columns:1fr;gap:2rem;margin-bottom:2.5rem}
  .footer-btm{flex-direction:column;text-align:center;gap:.6rem}
  .footer-btm div{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem}
  .footer-btm a{margin-left:.5rem}
  .footer-logo-img{height:28px}

  /* ── INNER PAGE HEROES ── */
  .page-hero{height:46vh;min-height:300px;margin-top:64px}
  .page-hero-content{padding:1.8rem 1.3rem}
  .page-hero-badge{font-size:.54rem;padding:.28rem .75rem;letter-spacing:.14em}
  .sh-lg{font-size:clamp(1.75rem,6.5vw,2.6rem);line-height:1.1}
  .dest-hero{height:54vh;min-height:340px}

  /* ── DESTINATION STORY PAGES ── */
  .story-grid{grid-template-columns:1fr;gap:2rem}
  .story-imgs{margin-bottom:1rem}
  .story-img-main{aspect-ratio:4/3;width:100%}
  .story-glass{left:-.5rem;top:.5rem;padding:1rem 1.2rem}
  .sg-n{font-size:1.9rem}
  .sg-l{font-size:.58rem}
  .story-feats{gap:.8rem}
  .sf-item{padding:1rem}
  .sf-icon{font-size:1.1rem}
  .sf-text h4{font-size:.85rem}
  .sf-text p{font-size:.78rem}
  .dest-stats-bar{grid-template-columns:repeat(2,1fr)}
  .dsb{padding:1.2rem .9rem}
  .dsb-n{font-size:1.5rem}
  .dsb-l{font-size:.56rem}

  /* ── PROPERTIES PAGE ── */
  .props-page-layout{grid-template-columns:1fr}
  .map-canvas{position:relative;top:auto;height:340px}
  .map-top-bar{padding:1rem 1.2rem .6rem}
  .map-title{font-size:.9rem}
  .map-subtitle{font-size:.58rem}
  .map-chips{padding:.6rem 1rem .9rem;gap:.4rem}
  .mchip{font-size:.56rem;padding:.3rem .75rem;border-radius:30px}
  .props-sidebar{max-height:420px}
  .props-sidebar-header{padding:1.3rem 1.2rem .8rem}
  .psh-title{font-size:1.1rem}
  .map-pin{display:none}
  .ps-item{padding:.75rem}
  .ps-thumb{width:76px;height:56px}
  .ps-name{font-size:.85rem}
  .ps-price{font-size:.88rem}

  /* ── PROPERTY DETAIL ── */
  .pd-gallery{grid-template-columns:1fr;height:auto}
  .gal-main{grid-row:span 1}
  .gal-main,.gal-sm{max-height:260px}
  .kf-bar{grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--g200)}
  .kf{padding:1.1rem .6rem}
  .kf-icon{font-size:1rem}
  .kf-label{font-size:.5rem}
  .kf-val{font-size:.88rem}
  .pd-layout{grid-template-columns:1fr;padding:1.8rem 1.3rem;gap:2rem}
  .amen-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}
  .amen-card{padding:1.1rem .7rem}
  .amen-icon{font-size:1.25rem}
  .amen-lbl{font-size:.52rem}
  .amen-dist{font-size:.9rem}
  .amen-time{font-size:.6rem}
  .prog-wrap{gap:.5rem}
  .prog-step{min-width:56px}
  .prog-dot{width:24px;height:24px;font-size:.58rem}
  .prog-lbl{font-size:.56rem}
  .prog-date{font-size:.6rem}
  .sb-card{padding:1.5rem}
  .sb-price{font-size:1.7rem}
  #prop-map{height:300px}

  /* ── SERVICES ── */
  .svc-hero-grid{grid-template-columns:1fr}
  .svc-hero-card{padding:2rem 1.5rem}
  .shc-num{font-size:2.5rem;margin-bottom:.5rem}
  .shc-h{font-size:1.15rem}
  .svc-detail-inner{grid-template-columns:1fr}
  .svc-detail-panel{padding:2.5rem 0}
  .svc-pts li{font-size:.82rem}

  /* ── PERSONAL ADVICE ── */
  .pa-grid{grid-template-columns:1fr}
  .pa-left{padding:3rem 1.3rem}
  .pa-right{min-height:260px}
  .pa-step{padding:1rem 1.1rem}
  .pa-steps{gap:1rem}
  .pa-step-n{font-size:1.4rem}
  .pa-step-text h4{font-size:.86rem}
  .pa-step-text p{font-size:.78rem}

  /* ── BLOG ── */
  .blog-grid{grid-template-columns:1fr}
  .blog-h{font-size:1.05rem}
  .blog-p{font-size:.79rem}

  /* ── CONTACT ── */
  .contact-grid{grid-template-columns:1fr}
  .contact-form-side{padding:3rem 1.3rem}
  .contact-info-side{padding:3rem 1.3rem}
  .co-city{font-size:1.1rem}

  /* ── ABOUT ── */
  .grid-4{grid-template-columns:repeat(2,1fr);gap:1.5rem}

  /* ── CHATBOT ── */
  #cc-bubble{bottom:1.2rem;right:1.2rem;width:52px;height:52px}
  #cc-panel{width:calc(100vw - 2rem);right:1rem;bottom:5rem;max-height:78vh}
  .cc-quick{padding:.65rem .9rem;gap:.4rem}
  .cc-qr{font-size:.58rem;padding:.28rem .65rem}
  .cc-msgs{padding:.9rem}
  .cb{font-size:.79rem;padding:.75rem .95rem}
}

/* ════════════════════════════════════════════
   SMALL MOBILE — 480px
════════════════════════════════════════════ */
@media(max-width:480px){
  .wrap{padding:0 1.1rem}
  /* ── HERO stays big and readable ── */
  .hero{min-height:580px}
  .hero-content{padding:0 1.2rem 4.5rem}
  .hero-eyebrow{font-size:.6rem;letter-spacing:.16em;margin-bottom:.7rem}
  .hero-eyebrow::before{width:14px}
  .hero-h{font-size:clamp(2rem,7vw,2.6rem);margin-bottom:.9rem}
  .hero-p{display:block;font-size:.86rem;color:rgba(255,255,255,.82);line-height:1.72;margin-bottom:1.4rem;max-width:100%}
  .hero-btns{gap:.6rem}
  .btn{font-size:.67rem;padding:.75rem 1.45rem}
  /* ── Destinations ── */
  .dest-circle-item{width:calc(33.3% - .4rem);min-width:82px;max-width:104px}
  .dest-circ{width:76px;height:76px}
  .d-name{font-size:.76rem}
  /* ── Key facts ── */
  .kf-bar{grid-template-columns:repeat(2,1fr)}
  .kf{padding:1rem .6rem}
  /* ── Layout ── */
  .svc-hero-grid{grid-template-columns:1fr}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
  .legacy-stats{grid-template-columns:repeat(2,1fr)}
  .dest-stats-bar{grid-template-columns:repeat(2,1fr)}
  .amen-grid{grid-template-columns:repeat(2,1fr)}
  .prog-wrap{flex-wrap:wrap;gap:.7rem}
  .prog-wrap::before{display:none}
  .prog-step{width:calc(33% - .5rem);min-width:50px}
  .sh-lg{font-size:clamp(1.6rem,6.5vw,2.2rem)}
  .nl-h{font-size:1.45rem}
}

/* ════ REAL LOGO IMAGES ════ */
.logo-img-blue{height:48px;width:auto;display:block;object-fit:contain}
.logo-img-white{height:48px;width:auto;display:block;object-fit:contain;display:none}
/* On dark nav, swap logos */
#nav.dark-nav .logo-img-blue{display:none}
#nav.dark-nav .logo-img-white{display:block}
/* In footer always show white */
.footer-logo-img{height:42px;width:auto;display:block;object-fit:contain}



