/* ============================================
   THE AGENCY DOMINICAN REPUBLIC — SHARED STYLES
   ============================================ */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#ED2127;--r2:#c41a1f;--blk:#0B0B0B;--ir:#ffffff;--ir2:#ffffff;--ir3:rgba(26,26,26,.09);
  --line-d:rgba(255,255,255,.08);--line-l:rgba(26,26,26,.06);
  --txt:#111111;--t2:#4a4a4a;--t3:#888;--wh:#fff;
  --fh:'Barlow Condensed',sans-serif;--fs:'Noto Serif Display',serif;--fb:'Roboto',sans-serif;
  --sh:0 2px 16px rgba(0,0,0,.06),0 1px 4px rgba(0,0,0,.04);
  --sh2:0 10px 40px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);
  --sh3:0 24px 70px rgba(0,0,0,.18),0 4px 16px rgba(0,0,0,.08);
  --transition:.6s cubic-bezier(.16,1,.3,1);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--wh);color:var(--txt);font-family:var(--fb);-webkit-font-smoothing:antialiased;line-height:1.8}
::selection{background:var(--blk);color:#fff}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{cursor:pointer;font-family:inherit}
::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--ir)}::-webkit-scrollbar-thumb{background:var(--red)}

/* ===== NAV ===== */
#nav{position:fixed;top:0;left:0;right:0;z-index:999;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.06);padding:.95rem 2.8rem;display:flex;align-items:center;justify-content:space-between;transition:var(--transition);box-shadow:0 1px 0 rgba(0,0,0,.04),0 4px 20px rgba(0,0,0,.04)}
#nav.sc{padding:.7rem 2.8rem;box-shadow:0 2px 24px rgba(0,0,0,.09)}
.nlo{display:flex;align-items:center;gap:0.5rem;flex-shrink:0}
.nav-logo-img{height:34px;width:auto;display:block}
.nav-sep{width:1px;height:20px;background:rgba(0,0,0,.1)}
.nag{font-family:var(--fs);font-size:.93rem;font-weight:600;color:var(--txt);letter-spacing:.01em}
.nli{display:flex;gap:0.7rem;list-style:none;align-items:center}
.nli>li{position:relative}
.nli>li>a,.nli>li>span.ndrop{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t2);font-weight:400;transition:var(--transition);white-space:nowrap;padding:.6rem 0;border-bottom:1px solid transparent;cursor:pointer;display:flex;align-items:center;gap:.25rem}
.nli>li>a:hover,.nli>li:hover>span.ndrop{color:var(--red);border-bottom-color:rgba(237,33,39,.3)}
.nli>li.active>a{color:var(--red)}
.ndrop::after{content:'▾';font-size:.65em}
.nsub{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:var(--sh3);border:1px solid var(--ir3);min-width:230px;padding:.5rem 0;z-index:1000}
.nli>li:hover .nsub{display:block}
.nsub a{display:block;padding:.6rem 1.2rem;font-size:.86rem;letter-spacing:.02em;text-transform:none;color:var(--t2);font-weight:500;transition:var(--transition);border-bottom:1px solid var(--ir)}
.nsub a:last-child{border-bottom:none}
.nsub a:hover{background:var(--ir);color:var(--red);padding-left:1.4rem}
.nbt{display:flex;gap:.5rem;align-items:center;flex-shrink:0}
#langSwitchWrap{min-width:70px;display:flex;align-items:center}
#langSwitchWrap .goog-te-gadget{font-family:var(--fb)!important;font-size:0!important}
#langSwitchWrap .goog-te-gadget .goog-te-combo{font-family:var(--fb);font-size:.82rem;padding:.4rem .5rem;border:1px solid var(--ir3);background:#fff;color:var(--txt);cursor:pointer}
.skiptranslate>div:first-child{display:none!important}
.nct{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;background:var(--red);color:#fff;padding:.5rem 1.2rem;border:none;font-weight:700;transition:var(--transition);box-shadow:0 2px 10px rgba(237,33,39,.25)}
.nct:hover{background:var(--r2);box-shadow:0 4px 18px rgba(237,33,39,.35);transform:translateY(-1px)}
.nmobile-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:.5rem}
.nmobile-toggle span{width:22px;height:2px;background:var(--txt);transition:var(--transition)}
#langSwitch{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;background:var(--ir);border:1px solid var(--ir3);padding:.4rem .6rem;color:var(--t2);cursor:pointer}
#mobileMenu{display:none}
#mobileMenu.open{display:block}

/* Mobile nav */
@media(max-width:1080px){
  #nav{padding:.82rem 1.4rem}
  .nav-logo-img{height:28px}
  .nli{display:none}
  .nbt .nct{display:none}
  .nmobile-toggle{display:flex}
  #mobileMenu{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:1100;overflow-y:auto;padding:5.5rem 1.6rem 2rem}
  .mm-close{position:fixed;top:1rem;right:1.4rem;background:none;border:none;font-size:1.3rem;z-index:1101}
  .mm-link{display:block;font-family:var(--fs);font-size:1.1rem;font-weight:600;padding:.85rem 0;border-bottom:1px solid var(--ir3);color:var(--txt)}
  .mm-sub{padding-left:1rem}
  .mm-sub a{display:block;font-size:.9rem;color:var(--t2);padding:.55rem 0;border-bottom:1px solid var(--ir)}
  .mm-cta{display:block;text-align:center;background:var(--red);color:#fff;padding:.9rem;margin-top:1.5rem;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
}

/* ===== GENERIC SECTION SYSTEM ===== */
section{padding:4.25rem 2.8rem}
.sl,.brand-tag{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:.7rem;font-weight:400}
.st{font-family:var(--fh);font-size:clamp(2rem,3.4vw,3rem);font-weight:400;line-height:1.04;margin-bottom:1rem;letter-spacing:.07em;text-transform:uppercase;text-wrap:balance}
.st em{font-family:var(--fs);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;font-size:.94em}
.st em{font-style:italic;color:inherit}
.rl{width:28px;height:3px;background:var(--red);margin:.8rem 0}
.sb{font-size:.94rem;color:var(--t2);line-height:1.85;font-weight:400;max-width:560px}
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.rv.v{opacity:1;transform:none}
.center{text-align:center;margin-left:auto;margin-right:auto}

/* ===== PAGE HERO (for sub-pages) ===== */
.phero{position:relative;min-height:62vh;display:flex;align-items:center;background:var(--blk);overflow:hidden;padding:9rem 2.8rem 4rem}
.phero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55}
.phero-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.85) 100%)}
.phero-in{position:relative;z-index:2;max-width:760px}
.breadcrumb{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:1.1rem}
.breadcrumb a{color:rgba(255,255,255,.75);transition:var(--transition)}
.breadcrumb a:hover{color:var(--red)}
.phero h1{font-family:var(--fh);font-size:clamp(2.6rem,5.5vw,4.3rem);font-weight:400;color:#fff;line-height:1.02;margin-bottom:1rem;letter-spacing:.06em;text-transform:uppercase;text-wrap:balance}
.phero h1 em{font-family:var(--fs);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;font-size:.93em}
.phero h1 em{font-style:italic}
.phero p{font-size:.92rem;color:rgba(255,255,255,.78);line-height:1.85;max-width:600px;margin-bottom:1.6rem}
.phero-cta{display:flex;gap:0.5rem;flex-wrap:wrap}

/* ===== BUTTONS ===== */
.bwh{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;background:#fff;color:var(--red);padding:.8rem 1.9rem;border:none;font-weight:700;transition:var(--transition);display:inline-block;box-shadow:0 4px 18px rgba(0,0,0,.15)}
.bwh:hover{background:var(--ir);transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,0,0,.2)}
.bgh{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;background:transparent;color:#fff;padding:.8rem 1.9rem;border:1px solid rgba(255,255,255,.38);font-weight:500;transition:var(--transition);display:inline-block}
.bgh:hover{border-color:#fff;background:rgba(255,255,255,.1);transform:translateY(-2px)}
.bred{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;background:var(--red);color:#fff;padding:.8rem 1.9rem;border:none;font-weight:700;transition:var(--transition);display:inline-block;box-shadow:0 4px 18px rgba(237,33,39,.3)}
.bred:hover{background:var(--r2);transform:translateY(-2px);box-shadow:0 6px 24px rgba(237,33,39,.4)}
.boutline{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;background:transparent;color:var(--txt);padding:.8rem 1.9rem;border:1px solid var(--ir3);font-weight:600;transition:var(--transition);display:inline-block}
.boutline:hover{border-color:var(--red);color:var(--red)}

/* ===== CARDS / GRIDS reused across pages ===== */
.area-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.7rem;margin-top:2rem}
.acard{position:relative;overflow:hidden;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--ir3);transition:var(--transition);box-shadow:var(--sh);cursor:pointer}
.acard:hover{box-shadow:var(--sh3);transform:translateY(-5px)}
.abg2{position:absolute;inset:0;transition:transform 1.5s cubic-bezier(.16,1,.3,1);background-size:cover;background-position:center}
.acard:hover .abg2{transform:scale(1.04)}
.aov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.32) 55%,rgba(0,0,0,.05) 100%);transition:.4s}
.acard:hover .aov{background:linear-gradient(to top,rgba(237,33,39,.75) 0%,rgba(0,0,0,.3) 62%,rgba(0,0,0,.05) 100%)}
.abody{position:relative;z-index:2;padding:1.6rem}
.anum{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin-bottom:.32rem;transition:.3s}
.acard:hover .anum{color:rgba(255,255,255,.62)}
.aname{font-family:var(--fs);font-size:1.45rem;font-weight:700;color:#fff;margin-bottom:.3rem}
.atag{font-size:.75rem;color:rgba(255,255,255,.48);text-transform:uppercase;letter-spacing:.07em}
.adesc{font-size:.85rem;color:rgba(255,255,255,.72);line-height:1.72;max-height:0;overflow:hidden;transition:max-height .5s ease,opacity .4s;opacity:0;margin-top:.65rem}
.acard:hover .adesc{max-height:170px;opacity:1}
.apills{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.6rem;max-height:0;overflow:hidden;transition:max-height .5s ease,opacity .4s;opacity:0}
.acard:hover .apills{max-height:60px;opacity:1}
.apill{font-size:.68rem;letter-spacing:.05em;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;padding:.17rem .52rem;text-transform:uppercase}
.aexp{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;background:var(--red);color:#fff;border:none;padding:.5rem 1.2rem;font-weight:700;transition:var(--transition);margin-top:.75rem;display:inline-block;box-shadow:0 2px 10px rgba(237,33,39,.25)}
.aexp:hover{background:var(--r2);transform:translateY(-1px)}
.abg-cc{background:linear-gradient(160deg,#091a36,#0d2a56)}
.abg-cdc{background:linear-gradient(160deg,#0d2e18,#174a0e)}
.abg-pcr{background:linear-gradient(160deg,#1a0d0a,#3a1808)}
.abg-pcv{background:linear-gradient(160deg,#07171a,#0d2c36)}
.abg-pnr{background:linear-gradient(160deg,#0a1f2e,#1a4a3a)}
.abg-est{background:linear-gradient(160deg,#0f1a0c,#243a16)}
.abg-sd{background:linear-gradient(160deg,#1a1410,#3a2a18)}
.abg-sam{background:linear-gradient(160deg,#0c1a2e,#143a4a)}

@media(max-width:900px){
  .area-grid{grid-template-columns:1fr}
}

/* ===== STAT STRIPS ===== */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem;margin:2rem 0}
.stat-box{background:var(--ir);border:1px solid var(--ir3);padding:1.2rem 1rem;text-align:center;border-top:3px solid var(--red);box-shadow:var(--sh);transition:var(--transition)}
.stat-box:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.stat-num{font-family:var(--fh);font-size:2rem;font-weight:500;color:var(--txt);display:block;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.stat-lbl{font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:var(--t3);margin-top:.35rem;line-height:1.4}
.src-note{font-size:.66rem;color:var(--t3);margin-top:.4rem;font-style:italic}
@media(max-width:700px){.stat-strip{grid-template-columns:1fr 1fr}}

/* ===== FAQ ===== */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-top:1.75rem}
.fitem{background:var(--ir);border:1px solid var(--ir3);overflow:hidden;box-shadow:var(--sh);transition:var(--transition)}
.fitem:hover{box-shadow:var(--sh2)}
.fq{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;gap:.75rem;cursor:pointer}
.fq span{font-size:.9rem;font-weight:600;color:var(--txt);line-height:1.35}
.farr{color:var(--red);font-size:.92rem;flex-shrink:0;transition:var(--transition)}
.fitem.open .farr{transform:rotate(180deg)}
.fa{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s;padding:0 1.25rem}
.fitem.open .fa{max-height:220px;padding:.65rem 1.25rem 1rem}
.fa p{font-size:.93rem;color:var(--t2);line-height:1.8}
@media(max-width:900px){.faq-grid{grid-template-columns:1fr}}

/* ===== FOOTER ===== */
footer{background:var(--blk);padding:3rem 2.8rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;border-top:1px solid var(--line-d)}
.fbr{font-family:var(--fs);font-size:.9rem;color:#fff;font-weight:700}
.fbr b{color:var(--red)}
.fbr p{font-size:.82rem;color:rgba(255,255,255,.38);margin-top:.65rem;line-height:1.7;max-width:230px}
.fcol h3,.fcol h4{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.8rem;font-weight:600}
.fcol a{display:block;font-size:.82rem;color:rgba(255,255,255,.48);margin-bottom:.38rem;transition:var(--transition)}
.fcol a:hover{color:var(--red)}
.fbot{background:var(--blk);border-top:1px solid var(--line-d);padding:1.1rem 2.8rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.fbot span{font-size:.68rem;color:rgba(255,255,255,.18);letter-spacing:.05em}
@media(max-width:900px){
  footer{grid-template-columns:1fr 1fr;padding:2rem 1.4rem}
  .fbot{flex-direction:column;text-align:center;padding:.9rem 1.4rem}
  section{padding:2.75rem 1.4rem}
  .phero{padding:8rem 1.4rem 3rem}
}

/* ===== WHATSAPP FAB (shared) ===== */
.wa-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:2800;width:58px;height:58px;border-radius:50%;background:#25D366;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.45);transition:var(--transition)}

/* Contact Form — shared component (was previously only inline on index.html) */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.contact-details{display:flex;flex-direction:column;gap:0}
.cd-item{display:flex;align-items:flex-start;gap:0.5rem;padding:.95rem 0;border-bottom:1px solid var(--line-d)}
.cd-icon{width:40px;height:40px;background:rgba(255,255,255,.06);border:1px solid var(--line-d);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}
.cd-label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:.2rem;font-weight:600}
.cd-val{font-size:.93rem;color:rgba(255,255,255,.85);transition:var(--transition);font-weight:500}
a.cd-val:hover{color:var(--red)}
.wab-btn{display:inline-flex;align-items:center;gap:.5rem;background:#25D366;color:#fff;padding:.9rem 1.7rem;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;transition:var(--transition);box-shadow:0 4px 16px rgba(37,211,102,.3)}
.wab-btn:hover{background:#1fbd5a;transform:translateY(-2px);box-shadow:0 6px 22px rgba(37,211,102,.42)}
.cform-box{background:rgba(255,255,255,.04);border:1px solid var(--line-d);padding:2.2rem}
.cf-lbl{display:block;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:.4rem;font-weight:600}
.cf-field{margin-bottom:1.1rem}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem}
.cform-box input,.cform-box select,.cform-box textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line-d);color:#fff;padding:.7rem .8rem;font-size:.94rem;font-family:var(--fb);outline:none;transition:var(--transition)}
.cform-box input::placeholder,.cform-box textarea::placeholder{color:rgba(255,255,255,.35)}
.cform-box input:focus,.cform-box select:focus,.cform-box textarea:focus{border-color:var(--red);background:rgba(255,255,255,.06)}
.cform-box select option{background:#1a1a1a;color:#fff}
.cform-box textarea{resize:none}
.cf-submit{width:100%;background:var(--red);color:#fff;border:none;padding:1rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;transition:var(--transition);margin-top:.6rem;cursor:pointer;box-shadow:0 3px 14px rgba(237,33,39,.3)}
.cf-submit:hover{background:var(--r2, #c81b20);box-shadow:0 5px 22px rgba(237,33,39,.42);transform:translateY(-2px)}
@media(max-width:1080px){.contact-grid{grid-template-columns:1fr;gap:1.1rem}.cf-row{grid-template-columns:1fr}}


.wa-fab:hover{background:#1fbd5a;transform:translateY(-3px) scale(1.05)}
@keyframes waPulse{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.45)}50%{box-shadow:0 4px 20px rgba(37,211,102,.45),0 0 0 8px rgba(37,211,102,.15)}}
#waOv{display:none;position:fixed;inset:0;z-index:2750;background:rgba(0,0,0,.3)}
#waOv.open{display:block}
#waChat{display:none;position:fixed;bottom:5.6rem;right:1.5rem;z-index:2790;width:340px;max-width:90vw;background:#fff;overflow:hidden;box-shadow:var(--sh3)}
#waChat.open{display:block}
.wac-head{background:#075E54;padding:1rem 1.1rem;display:flex;align-items:center;gap:.7rem}
.wac-av{width:38px;height:38px;border-radius:50%;background:#25D366;color:#fff;font-family:var(--fs);font-weight:700;font-size:.94rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wac-info{flex:1;min-width:0}
.wac-info b{display:block;color:#fff;font-size:.93rem}
.wac-info span{display:block;color:rgba(255,255,255,.7);font-size:.74rem;margin-top:.1rem}
.wac-x{background:none;border:none;color:rgba(255,255,255,.8);font-size:.94rem;width:26px;height:26px;flex-shrink:0}
.wac-body{background:#e5ddd5;padding:1.1rem;display:flex;flex-direction:column;gap:.6rem;min-height:140px}
.wac-bubble{background:#fff;padding:.65rem .85rem;font-size:.88rem;color:#1a1a1a;line-height:1.55;box-shadow:0 1px 2px rgba(0,0,0,.08);max-width:88%;align-self:flex-start}
.wac-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#25D366;color:#fff;padding:.85rem;font-size:.84rem;font-weight:700;transition:var(--transition)}
.wac-cta:hover{background:#1fbd5a}

/* ===== Custom luxury language switcher (Google Translate engine, hidden UI) ===== */
.goog-te-banner-frame{display:none!important}
body{top:0!important;position:static!important}
#google_translate_element{display:none!important}
.lang-switch{position:relative}
.lang-pill{display:flex;align-items:center;gap:.4rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;background:transparent;border:1px solid rgba(0,0,0,.14);padding:.45rem .75rem;color:var(--t2);font-weight:600;transition:var(--transition)}
.lang-pill:hover{border-color:var(--red);color:var(--red)}
.lang-pill svg{width:13px;height:13px;flex-shrink:0}
.lang-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--ir3);box-shadow:var(--sh3);min-width:170px;z-index:1200;padding:.4rem 0}
.lang-menu.open{display:block}
.lang-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:.6rem 1rem;font-size:.8rem;color:var(--t2);font-weight:500;transition:var(--transition);font-family:var(--fb)}
.lang-menu button:hover{background:var(--ir);color:var(--red);padding-left:1.3rem}
.lang-menu button.active{color:var(--red);font-weight:700}
@media(max-width:1080px){.lang-switch{display:none}}

/* ===== Misc shared content blocks ===== */
.lead-cta-block{background:var(--blk);padding:3rem 2.8rem;text-align:center;position:relative;overflow:hidden}
.lead-cta-block::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(237,33,39,.15) 0%,transparent 60%)}
.lead-cta-block h3{font-family:var(--fs);font-size:1.4rem;color:#fff;margin-bottom:.6rem;position:relative;z-index:1}
.lead-cta-block p{color:rgba(255,255,255,.6);font-size:.93rem;max-width:520px;margin:0 auto 1.4rem;position:relative;z-index:1}
.lead-cta-btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}

/* ===== HOMEPAGE HERO ===== */
.hero-wrap{position:relative;min-height:92vh;display:flex;align-items:center;background:var(--blk);overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,#0d2e18 0%,#091a36 45%,#1a0d0a 100%);background-size:cover;background-position:center}
.hero-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.3) 50%,rgba(0,0,0,.75) 100%)}
.hcon{position:relative;z-index:2;width:100%;padding:9rem 2.8rem 4rem}
.hci{max-width:680px}
.hflag{display:flex;align-items:center;gap:.6rem;margin-bottom:1.3rem}
.hflag svg{display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.hflag span{font-family:var(--fs);font-style:italic;font-size:1.05rem;color:rgba(255,255,255,.85);letter-spacing:.03em}
.ht{font-family:var(--fh);font-size:clamp(3rem,7vw,5.8rem);font-weight:400;color:#fff;line-height:.98;margin-bottom:1.1rem;letter-spacing:.06em;text-transform:uppercase}
.ht .red{font-family:var(--fs);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;font-size:.9em}
.ht em{font-style:italic}
.hdest{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.1rem 0 1.5rem}
.hdest span{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.88);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:.4rem .8rem;font-weight:500;backdrop-filter:blur(4px);transition:var(--transition)}
.hdest span:hover{background:rgba(237,33,39,.18);border-color:rgba(237,33,39,.4);color:#fff}
.hsub{font-size:.96rem;color:rgba(255,255,255,.72);line-height:1.85;max-width:560px;margin-bottom:1.8rem}
.hbts{display:flex;gap:0.5rem;flex-wrap:wrap}

/* ===== OVERVIEW CARDS ===== */
.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.6rem}
.ov-card{background:var(--ir);border:1px solid var(--ir3);padding:1.6rem;border-top:3px solid var(--red);box-shadow:var(--sh);transition:var(--transition)}
.ov-card:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.ov-ic{font-size:1.5rem;display:block;margin-bottom:.7rem}
.ov-card h3{font-family:var(--fs);font-size:1rem;font-weight:700;color:var(--txt);margin-bottom:.5rem}
.ov-card p{font-size:.84rem;color:var(--t2);line-height:1.68}

/* ===== WHY INVEST PREVIEW ===== */
.inv-prev-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem;align-items:center}
.inv-prev-grid .stat-strip{grid-template-columns:1fr 1fr}

/* ===== GOLF PREVIEW ===== */
#golf-preview{background:var(--blk);position:relative;overflow:hidden;padding:0}
#golf-preview::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(237,33,39,.1) 0%,transparent 55%);pointer-events:none;z-index:0}
.golf-prev-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative}
.golf-prev-img-wrap{height:100%;min-height:420px;overflow:hidden}
.golf-prev-img{width:100%;height:100%;object-fit:cover;display:block}
.golf-prev-wrap{max-width:480px;padding:3rem 2.8rem;position:relative;z-index:1}
.golf-prev-wrap .sl{color:var(--red)}
.golf-prev-wrap .st{color:#fff}
.golf-prev-wrap .rl{margin:.8rem 0}
.golf-prev-wrap .sb{margin:0 0 1.5rem;color:rgba(255,255,255,.62)}
@media(max-width:1080px){
  .golf-prev-grid{grid-template-columns:1fr}
  .golf-prev-img-wrap{min-height:280px}
  .golf-prev-wrap{padding:2.2rem 1.4rem;max-width:100%}
}

/* ===== PROPERTIES PREVIEW ===== */
.pp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem}
.pp-grid-4{grid-template-columns:repeat(4,1fr)}
.pp-card{background:#fff;border:1px solid var(--ir3);overflow:hidden;box-shadow:var(--sh);transition:var(--transition)}
.pp-card:hover{transform:translateY(-5px);box-shadow:var(--sh2)}
.pp-img{height:200px;background-size:cover;background-position:center}
.pp-body{padding:1.3rem}
.pp-loc{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--red);font-weight:700}
.pp-body h3{font-family:var(--fs);font-size:1.05rem;font-weight:700;color:var(--txt);margin:.4rem 0 .35rem}
.pp-body p{font-size:.82rem;color:var(--t2);margin-bottom:.9rem}

/* ===== ABOUT OSCAR (full layout matching reference) ===== */
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:stretch}
.about-photo-wrap{position:relative;display:flex;gap:0.6rem;align-items:stretch}
.about-photo-rule{width:3px;background:var(--red);flex-shrink:0}
.about-photo-card{position:relative;flex:1;background:var(--blk);min-height:560px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.about-photo-img{width:100%;height:100%;object-fit:cover;object-position:center top;position:absolute;inset:0;opacity:.92}
.about-photo-badge{position:absolute;bottom:-1px;right:-1px;background:var(--red);padding:1rem 1.3rem;display:flex;flex-direction:column;gap:.15rem;max-width:78%}
.apb-tag{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.apb-name{font-family:var(--fs);font-size:1.05rem;font-weight:700;color:#fff}
.apb-role{font-size:.8rem;color:rgba(255,255,255,.82)}
.about-content{display:flex;flex-direction:column;justify-content:center}
.about-content>img{align-self:flex-start;flex:0 0 auto;max-width:160px}
.about-content .sl{color:var(--red)}
.about-bio{font-size:.94rem;color:var(--t2);line-height:1.85;margin-bottom:1rem}
.about-points{list-style:none;margin:1.3rem 0 1.5rem;display:flex;flex-direction:column}
.about-points li{position:relative;padding:.6rem 0 .6rem 1.1rem;font-size:.88rem;color:var(--t2);line-height:1.6;border-bottom:1px solid var(--ir3)}
.about-points li::before{content:'';position:absolute;left:0;top:1.05rem;width:5px;height:5px;border-radius:50%;background:var(--red)}
.about-social-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.3rem}
.about-soc-btn{font-size:.8rem;letter-spacing:.02em;background:var(--ir);border:1px solid var(--ir3);color:var(--t2);padding:.55rem .95rem;font-weight:600;transition:var(--transition)}
.about-soc-btn:hover{border-color:var(--red);color:var(--red);background:#fff}
.about-cta-row{display:flex;gap:0.5rem;flex-wrap:wrap}
@media(max-width:1080px){
  .about-grid{grid-template-columns:1fr;gap:1rem}
  .about-photo-card{min-height:380px}
}

/* ===== BLOG GRID (shared with insights) ===== */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem}
.bpost{background:#fff;border:1px solid var(--ir3);overflow:hidden;transition:var(--transition);box-shadow:var(--sh);display:flex;flex-direction:column}
.bpost:hover{box-shadow:var(--sh2);transform:translateY(-5px)}
.bpost-img{height:170px;position:relative;overflow:hidden}
.bpost-body{padding:1.4rem;flex:1;display:flex;flex-direction:column}
.bpost-cat{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:.5rem}
.bpost-body h3{font-family:var(--fs);font-size:1rem;font-weight:700;color:var(--txt);line-height:1.32;margin-bottom:.55rem}
.bpost-body p{font-size:.84rem;color:var(--t2);line-height:1.68;margin-bottom:.9rem;flex:1}
.bpost-link{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--red);font-weight:700;transition:var(--transition)}
.bpost-link:hover{color:var(--r2)}

@media(max-width:1080px){
  .overview-grid{grid-template-columns:1fr 1fr}
  .inv-prev-grid,.about-grid{grid-template-columns:1fr;gap:1rem}
  .pp-grid,.blog-grid{grid-template-columns:1fr 1fr}
  .pp-grid-4{grid-template-columns:1fr 1fr}
  .hcon{padding:8rem 1.4rem 3rem}
}
@media(max-width:600px){
  .overview-grid{grid-template-columns:1fr}
  .pp-grid,.blog-grid,.pp-grid-4{grid-template-columns:1fr}
  .inv-prev-grid .stat-strip{grid-template-columns:1fr 1fr}
}

/* ===== CONFOTUR BANNER ===== */
.confotur-banner{background:var(--blk);border-left:3px solid var(--red);display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:center;padding:3.2rem 2.8rem;position:relative;overflow:hidden}
.confotur-banner::after{content:'';position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.06)}
.cb-cite{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:.7rem;font-weight:600}
.cb-headline{font-family:var(--fh);font-size:clamp(1.9rem,3vw,2.6rem);font-weight:600;color:#fff;line-height:1.02;letter-spacing:.05em;text-transform:uppercase}
.cb-headline em{font-family:var(--fs);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;font-size:.94em}
.cb-right p{font-size:.93rem;color:rgba(255,255,255,.88);line-height:1.85;position:relative;z-index:1}
@media(max-width:900px){
  .confotur-banner{grid-template-columns:1fr;gap:0.7rem;padding:2.2rem 1.4rem}
}
#lawyers{background:var(--ir)}
.law-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem;margin-top:2rem}
.lawcard{background:#fff;border:1px solid var(--ir3);padding:2rem;text-align:center;transition:var(--transition);box-shadow:var(--sh);position:relative;overflow:hidden}
.lawcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--red)}
.lawcard:hover{box-shadow:var(--sh2);transform:translateY(-5px)}
.law-icon{width:56px;height:56px;border-radius:50%;background:rgba(237,33,39,.07);border:2px solid rgba(237,33,39,.15);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto 1rem}
.law-name{font-family:var(--fs);font-size:1.05rem;font-weight:700;color:var(--txt);margin-bottom:.4rem}
.law-desc{font-size:.84rem;color:var(--t2);line-height:1.72;margin-bottom:1.2rem}
.law-tags{display:flex;flex-wrap:wrap;gap:.38rem;justify-content:center;margin-bottom:1.2rem}
.law-tag{font-size:.75rem;letter-spacing:.04em;background:var(--ir);border:1px solid var(--ir3);color:var(--t2);padding:.24rem .6rem;text-transform:uppercase}
.law-link{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;background:var(--blk);color:#fff;padding:.55rem 1.2rem;border:none;font-weight:700;transition:var(--transition);display:inline-block}
.law-link:hover{background:var(--red)}
@media(max-width:900px){.law-grid{grid-template-columns:1fr}}

/* ===== HERO CAROUSEL ===== */
.hero-carousel{position:absolute;inset:0;z-index:0}
.hc-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease}
.hc-slide.active{opacity:1}
.hc-dots{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:.5rem}
.hc-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.35);border:none;transition:var(--transition);padding:0}
.hc-dot.active{background:var(--red);width:22px}
.hc-cap{position:absolute;bottom:3.4rem;right:2.8rem;z-index:3;text-align:right;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);padding:.75rem 1.3rem;border-left:3px solid var(--red);max-width:280px}
.hc-cap-loc{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:.2rem}
.hc-cap-name{font-family:var(--fs);font-size:.95rem;color:#fff;font-weight:700;line-height:1.2}
.hc-cap-price{font-family:var(--fs);font-size:.88rem;color:rgba(255,255,255,.78);margin-top:.15rem}
.ht .red{color:var(--red)}
.hc-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:var(--transition);backdrop-filter:blur(4px)}
.hc-arrow:hover{background:rgba(237,33,39,.7);border-color:var(--red)}
.hc-arrow-l{left:1.6rem}
.hc-arrow-r{right:1.6rem}
.hc-scroll-ind{position:absolute;left:1.8rem;bottom:3.4rem;z-index:3;color:rgba(255,255,255,.55);font-size:.7rem;letter-spacing:.22em;writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;gap:.6rem}
.hc-scroll-ind::after{content:'';width:1px;height:34px;background:rgba(255,255,255,.3)}
@media(max-width:900px){
  .hc-cap{right:1.2rem;bottom:5.2rem;max-width:220px;padding:.6rem 1rem}
  .hc-arrow{width:34px;height:34px;font-size:1.1rem}
  .hc-arrow-l{left:.8rem}
  .hc-arrow-r{right:.8rem}
  .hc-scroll-ind{display:none}
}

/* ===== RED STATS BAR ===== */
.stats-bar{background:var(--red);display:grid;grid-template-columns:repeat(4,1fr);padding:0;position:relative;overflow:hidden}
.sbar-item{text-align:center;padding:.75rem 1rem;border-right:1px solid rgba(255,255,255,.18);position:relative}
.sbar-item:last-child{border-right:none}
.sbar-num{display:block;font-family:var(--fs);font-size:1.4rem;font-weight:700;color:#fff;line-height:1.1}
.sbar-lbl{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-top:.25rem;font-weight:600}
@media(max-width:900px){
  .stats-bar{grid-template-columns:1fr 1fr}
  .sbar-item:nth-child(2){border-right:none}
  .sbar-item:nth-child(odd){border-right:1px solid rgba(255,255,255,.18)}
}

/* ===== FEATURED PROPERTIES "LOAD MORE" ===== */
.pp-loadmore-wrap{text-align:center;margin-top:2rem}

/* ===== INVESTMENT ADVANTAGES (concise) ===== */
.adv-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0.6rem}
.adv-item{background:#fff;border:1px solid var(--ir3);padding:1.5rem;text-align:center;box-shadow:var(--sh);border-top:3px solid var(--red);transition:var(--transition)}
.adv-item:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.adv-ic{font-size:1.4rem;display:block;margin-bottom:.6rem}
.adv-item b{display:block;font-family:var(--fs);font-size:.95rem;color:var(--txt);margin-bottom:.4rem}
.adv-item p{font-size:.84rem;color:var(--t2);line-height:1.62}

/* ===== BUYER'S GUIDE TEASER ===== */
.guide-steps-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem}
.gsm{background:var(--ir);border:1px solid var(--ir3);padding:1.3rem;position:relative;box-shadow:var(--sh);transition:var(--transition)}
.gsm:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.gsm-num{font-family:var(--fs);font-size:1.6rem;font-weight:700;color:rgba(237,33,39,.18);display:block;margin-bottom:.3rem}
.gsm b{display:block;font-size:.9rem;color:var(--txt);margin-bottom:.3rem}
.gsm p{font-size:.8rem;color:var(--t2);line-height:1.55}

/* ===== WHITE GLOVE (condensed) ===== */
.wgm-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0.6rem}
.wgm-item{background:rgba(255,255,255,.04);border:1px solid var(--line-d);padding:1.5rem;text-align:center}
.wgm-ic{font-size:1.5rem;display:block;margin-bottom:.6rem}
.wgm-item b{display:block;font-family:var(--fs);font-size:.95rem;color:#fff;margin-bottom:.4rem}
.wgm-item p{font-size:.84rem;color:rgba(255,255,255,.55);line-height:1.6}
.wgm-list{list-style:none;text-align:left;margin-top:.9rem;display:flex;flex-direction:column;gap:.55rem}
.wgm-list li{position:relative;padding-left:1rem;font-size:.82rem;color:rgba(255,255,255,.58);line-height:1.55}
.wgm-list li::before{content:'';position:absolute;left:0;top:.5rem;width:4px;height:4px;border-radius:50%;background:var(--red)}

@media(max-width:900px){
  .adv-row,.guide-steps-mini,.wgm-row{grid-template-columns:1fr}
}
@media(min-width:601px) and (max-width:900px){
  .guide-steps-mini{grid-template-columns:1fr 1fr}
}

/* ===== CONTACT FORM (homepage) ===== */
#contact-form-section{background:#fff}
.cform-wrap{max-width:680px;margin:0 auto;background:var(--ir);border:1px solid var(--ir3);padding:2.2rem;box-shadow:var(--sh)}
.cform-row{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-bottom:1rem}
.cform-wrap input,.cform-wrap select,.cform-wrap textarea{width:100%;border:1px solid var(--ir3);padding:.75rem .9rem;font-size:.92rem;font-family:var(--fb);outline:none;transition:var(--transition);background:#fff}
.cform-wrap input:focus,.cform-wrap select:focus,.cform-wrap textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(237,33,39,.08)}
.cform-wrap textarea{resize:vertical;min-height:90px}
.cform-field{margin-bottom:1rem}
.cform-submit{width:100%;background:var(--red);color:#fff;border:none;padding:.9rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;transition:var(--transition);box-shadow:0 3px 14px rgba(237,33,39,.25)}
.cform-submit:hover{background:var(--r2);box-shadow:0 5px 20px rgba(237,33,39,.35)}
@media(max-width:700px){.cform-row{grid-template-columns:1fr}}

/* ===== CLIENT VOICES / TESTIMONIALS ===== */
#testi{background:#fff}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.6rem;margin-top:1.75rem}
.tcard{background:var(--ir);border:1px solid var(--ir3);padding:1.75rem;position:relative;transition:var(--transition);box-shadow:var(--sh)}
.tcard:hover{box-shadow:var(--sh2);transform:translateY(-4px)}
.tq{font-family:var(--fs);font-size:3rem;color:rgba(237,33,39,.09);position:absolute;top:.05rem;left:1.1rem;line-height:1}
.ttext{font-size:.86rem;color:var(--t2);line-height:1.85;font-style:italic;padding-top:1.7rem;margin-bottom:.9rem}
.tauth{display:flex;align-items:center;gap:.6rem;padding-top:.7rem;border-top:1px solid var(--ir3)}
.tav{width:34px;height:34px;border-radius:50%;background:rgba(237,33,39,.08);border:1px solid rgba(237,33,39,.2);display:flex;align-items:center;justify-content:center;font-family:var(--fs);font-size:.85rem;color:var(--red);flex-shrink:0}
.tname{font-size:.84rem;color:var(--txt);font-weight:600}
.tcountry{font-size:.78rem;color:var(--t3);margin-top:.1rem}
.tstars{color:var(--red);font-size:.7rem;margin-top:.08rem}
@media(max-width:900px){.tgrid{grid-template-columns:1fr}}
/* Scroll progress bar */
#scrollProgress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--red),#ff6b6f);z-index:1200;width:0%;transition:width .1s linear}
/* Stat count-up: prevents layout shift flash */
.stat-num,.acc-num,.reach-num{display:inline-block;font-variant-numeric:tabular-nums}
/* Button shine sweep */
.bred,.bwh{position:relative;overflow:hidden}
.bred::before,.bwh::before{content:'';position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s ease}
.bred:hover::before,.bwh:hover::before{left:130%}
/* Testimonial carousel pause-on-hover cue */
.tcarousel-wrap{position:relative;max-width:1100px;margin:0 auto;overflow:hidden}
.tcarousel-wrap:hover .tcarousel-track{animation-play-state:paused}
/* Card lift micro-interaction shared by any *-item hover-lift class */
.zone-item,.amen-item,.pt-item,.exp-item,.diff-card,.lead-card,.reach-item,.hl-item,.gsm{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}
/* WhatsApp FAB entrance bounce */
@keyframes fabIn{0%{transform:scale(0) rotate(-20deg);opacity:0}70%{transform:scale(1.1) rotate(4deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}
.wa-fab{animation:waPulse 2.6s ease infinite, fabIn .6s cubic-bezier(.34,1.56,.64,1) .8s both}
.tcarousel-track{display:flex;gap:0.6rem;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.tcarousel-track .tcard{flex:0 0 calc(33.333% - .84rem)}
.tcarousel-nav{display:flex;justify-content:center;align-items:center;gap:0.7rem;margin-top:1.8rem}
.tcarousel-arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--ir3);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);font-size:1rem;color:var(--txt)}
.tcarousel-arrow:hover{background:var(--red);border-color:var(--red);color:#fff}
.tcarousel-dots{display:flex;gap:.5rem}
.tcarousel-dot{width:7px;height:7px;border-radius:50%;background:var(--ir3);cursor:pointer;transition:var(--transition);border:none;padding:0}
.tcarousel-dot.active{background:var(--red);width:20px}
@media(max-width:900px){.tcarousel-track .tcard{flex:0 0 100%}}
/* Redesigned Agency Preview Box (homepage) */
.agy-prev-wrap{background:linear-gradient(155deg,#0a0a0a 0%,#181818 100%);position:relative;overflow:hidden}
.agy-prev-wrap::before{content:'';position:absolute;top:-160px;right:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(237,33,39,.16) 0%,transparent 70%)}
.agy-prev-grid{display:grid;grid-template-columns:1fr .85fr;gap:1.5rem;align-items:center;position:relative;z-index:1}
.agy-prev-mark{width:52px;height:52px;background:var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;padding:10px}
.agy-prev-mark img{width:100%;height:100%;object-fit:contain}
.agy-stat-row{display:flex;gap:0;margin-top:1.8rem;border-top:1px solid var(--line-d)}
.agy-stat{flex:1;padding:1.1rem 1rem 0;border-right:1px solid rgba(255,255,255,.1)}
.agy-stat:last-child{border-right:none}
.agy-stat b{display:block;font-family:var(--fs);font-size:1.3rem;color:#fff;margin-bottom:.2rem}
.agy-stat span{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.agy-netflix-card{background:#000;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5);transform:rotate(2deg);transition:var(--transition);border:1px solid var(--line-d)}
.agy-netflix-card:hover{transform:rotate(0deg) scale(1.02)}
.agy-netflix-card img{width:100%;display:block}
.agy-netflix-cap{text-align:center;font-size:.76rem;color:rgba(255,255,255,.4);margin-top:1rem;letter-spacing:.03em}
@media(max-width:1080px){.agy-prev-grid{grid-template-columns:1fr}.agy-netflix-card{max-width:340px;margin:0 auto}}
/* Newsletter Popup */
.nl-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);z-index:998;display:none;opacity:0;transition:opacity .35s ease}
.nl-overlay.open{display:block;opacity:1}
.nl-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-46%);width:min(460px,90vw);background:#fff;z-index:999;display:none;opacity:0;transition:opacity .35s ease,transform .35s ease;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.nl-modal.open{display:block;opacity:1;transform:translate(-50%,-50%)}
.nl-modal-top{background:var(--blk);padding:2.2rem 2rem 1.7rem;position:relative;overflow:hidden}
.nl-modal-top::before{content:'';position:absolute;top:-70px;right:-70px;width:200px;height:200px;border-radius:50%;background:rgba(237,33,39,.14)}
.nl-close{position:absolute;top:.9rem;right:.9rem;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.1);border:none;color:#fff;font-size:.9rem;cursor:pointer;transition:var(--transition);z-index:1}
.nl-close:hover{background:rgba(255,255,255,.22)}
.nl-modal-top .sl{color:var(--red);position:relative;z-index:1}
.nl-modal-top h3{font-family:var(--fs);color:#fff;font-size:1.5rem;line-height:1.15;margin:.3rem 0 .6rem;position:relative;z-index:1}
.nl-modal-top p{color:rgba(255,255,255,.62);font-size:.9rem;line-height:1.7;position:relative;z-index:1;max-width:360px}
.nl-modal-body{padding:1.6rem 2rem 2rem}
.nl-input{width:100%;border:1px solid var(--ir3);padding:.85rem 1rem;font-size:.94rem;font-family:var(--fb);color:var(--txt);margin-bottom:.8rem}
.nl-input:focus{outline:none;border-color:var(--red)}
.nl-submit{width:100%;background:var(--red);color:#fff;border:none;padding:.9rem;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:var(--transition)}
.nl-submit:hover{background:#c81b20}
.nl-fine{font-size:.74rem;color:var(--t3);margin-top:.8rem;line-height:1.6;text-align:center}
.nl-success{display:none;text-align:center;padding:1rem 0}
.nl-success.show{display:block}
.nl-success span{font-size:2rem;display:block;margin-bottom:.6rem}
.nl-success b{display:block;font-family:var(--fs);font-size:1.1rem;color:var(--txt);margin-bottom:.4rem}
.nl-success p{font-size:.88rem;color:var(--t2)}

/* ===== DOWNLOAD GUIDE CTA BAR ===== */
.dlbar{background:var(--blk);padding:2rem 2.8rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:var(--sh3);position:relative;overflow:hidden}
.dlbar::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red)}
.dlbar h3{font-family:var(--fs);font-size:1.15rem;color:#fff;font-weight:700}
.dlbar p{font-size:.84rem;color:rgba(255,255,255,.5);margin-top:.25rem}
.dlbtn{font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;background:var(--red);color:#fff;padding:.82rem 2rem;border:none;font-weight:700;transition:var(--transition);display:flex;align-items:center;gap:.45rem;white-space:nowrap;box-shadow:0 4px 18px rgba(237,33,39,.3);flex-shrink:0}
.dlbtn:hover{background:var(--r2);transform:translateY(-2px);box-shadow:0 6px 24px rgba(237,33,39,.4)}
@media(max-width:900px){.dlbar{flex-direction:column;text-align:center;padding:1.6rem 1.4rem}}

/* ===== PORTED FROM ORIGINAL — LISTING SYSTEM ===== */
/* Zone tabs */
.ztabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:2rem;border-bottom:2px solid var(--ir3);overflow-x:auto;-webkit-overflow-scrolling:touch}
.zt{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;background:none;border:none;color:var(--t3);padding:.9rem 1.6rem;font-family:var(--fb);font-weight:600;transition:var(--transition);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;cursor:pointer}
.zt.active{color:var(--red);border-bottom-color:var(--red)}
.zt:hover{color:var(--txt)}
.zone-section{display:none}
.zone-section.active{display:block}

/* Search bar */
.search-bar{display:flex;gap:.75rem;margin-bottom:1.75rem;flex-wrap:wrap;align-items:center;background:var(--ir);padding:1.2rem 1.5rem;border:1px solid var(--ir3);box-shadow:var(--sh)}
.search-bar input,.search-bar select{font-size:.86rem;font-family:var(--fb);border:1px solid var(--ir3);padding:.55rem .85rem;background:#fff;color:var(--txt);outline:none;transition:var(--transition);flex:1;min-width:130px}
.search-bar input:focus,.search-bar select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(237,33,39,.08)}
.search-bar button{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;background:var(--red);color:#fff;padding:.55rem 1.3rem;border:none;font-family:var(--fb);font-weight:700;transition:var(--transition);white-space:nowrap}
.search-bar button:hover{background:var(--r2);transform:translateY(-1px)}
.search-bar .clear-btn{background:transparent;color:var(--t3);border:1px solid var(--ir3)}
.search-bar .clear-btn:hover{border-color:var(--red);color:var(--red)}

/* Listing grid */
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:0.8rem}
.lcard{background:#fff;border:1px solid rgba(0,0,0,.07);overflow:hidden;transition:var(--transition);box-shadow:var(--sh);display:flex;flex-direction:column}
.lcard:not(.ph){cursor:pointer}
.lcard:hover:not(.ph){border-color:rgba(237,33,39,.2);transform:translateY(-6px);box-shadow:var(--sh2)}


.lbadge{position:absolute;top:.85rem;left:.85rem;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;background:var(--red);color:#fff;padding:.24rem .7rem;font-weight:700;z-index:1}
.lstatus{position:absolute;top:.85rem;right:.85rem;font-size:.66rem;letter-spacing:.07em;padding:.24rem .65rem;text-transform:uppercase;z-index:1;font-weight:600}
.ls-a{background:rgba(22,163,74,.1);border:1px solid rgba(22,163,74,.25);color:#16a34a}
.ls-s{background:rgba(234,179,8,.1);border:1px solid rgba(234,179,8,.25);color:#b45309}
.lmls{position:absolute;bottom:.65rem;right:.75rem;font-size:.66rem;color:rgba(255,255,255,.5);z-index:1;letter-spacing:.06em}
.lbody{padding:1.4rem;flex:1;display:flex;flex-direction:column}
.lloc{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:.3rem;font-weight:600}
.lname{font-family:var(--fs);font-size:1.1rem;font-weight:700;color:var(--txt);margin-bottom:.38rem;line-height:1.22}
.ldesc{font-size:.82rem;color:var(--t2);line-height:1.7;margin-bottom:.8rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.lspecs{display:flex;gap:.6rem;font-size:.82rem;color:var(--t3);margin-bottom:.78rem;padding-bottom:.78rem;border-bottom:1px solid var(--ir3);flex-wrap:wrap;font-weight:500}
.lfoot{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.lprice{font-family:var(--fs);font-size:1.2rem;color:var(--txt);font-weight:700;letter-spacing:-.01em}
.lbtn{font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;background:var(--red);color:#fff;padding:.42rem .9rem;border:none;font-family:var(--fb);font-weight:700;transition:var(--transition);flex-shrink:0}
.lbtn:hover{background:var(--r2);transform:translateY(-1px)}
.ph-in{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:150px;color:var(--t3);gap:.35rem;text-align:center;padding:.75rem}
.no-results{padding:2.5rem;text-align:center;color:var(--t3);font-size:.94rem;grid-column:1/-1}
.lmore-btn{grid-column:1/-1;background:#fff;border:1.5px solid var(--red);color:var(--red);padding:.95rem 2rem;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;font-family:var(--fb);transition:var(--transition);justify-self:center;margin-top:.5rem}
.lmore-btn:hover{background:var(--red);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(237,33,39,.3)}

/* Listing modal */
.modal{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.94);display:flex;flex-direction:column;overflow:hidden}
.mhd{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.3rem;border-bottom:1px solid rgba(237,33,39,.18);flex-shrink:0;background:#0a0a0a}
.mt{font-family:var(--fs);font-size:.97rem;color:#fff;font-weight:700}
.mloc{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-top:.1rem}
.mcls{background:none;border:none;color:rgba(255,255,255,.38);font-size:1.25rem;cursor:pointer}
.mcls:hover{color:#fff}
.mbody{display:flex;flex:1;overflow:hidden}
.mgal{flex:1;position:relative;background:#000}
.mgi{position:absolute;inset:0;opacity:0;transition:opacity .36s;display:flex;align-items:center;justify-content:center;padding:.75rem}
.mgi.active{opacity:1}
.mgi img{object-fit:contain;width:100%;height:100%;max-height:calc(100vh - 200px)}
.mpb,.mnb{position:absolute;top:50%;transform:translateY(-50%);background:rgba(237,33,39,.78);border:none;color:#fff;width:38px;height:38px;font-size:1rem;z-index:10;display:flex;align-items:center;justify-content:center;transition:.25s;cursor:pointer}
.mpb{left:.75rem}.mnb{right:.75rem}
.mpb:hover,.mnb:hover{background:var(--red)}
.mcnt{position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);font-size:.7rem;color:rgba(255,255,255,.42);background:rgba(0,0,0,.52);padding:.26rem .65rem}
.msd{width:275px;border-left:1px solid rgba(255,255,255,.07);overflow-y:auto;padding:1.15rem;flex-shrink:0;background:#0d0d0d}
.msp{font-family:var(--fs);font-size:1.35rem;font-weight:700;color:#fff;margin-bottom:.16rem}
.mmls{font-size:.68rem;color:rgba(255,255,255,.22);letter-spacing:.07em;margin-bottom:.6rem}
.mspecs{display:grid;grid-template-columns:1fr 1fr;gap:.42rem;margin:1rem 0;padding:1rem 0;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.mspc{text-align:center;background:rgba(255,255,255,.04);padding:.52rem .32rem}
.msv{font-family:var(--fs);font-size:.96rem;font-weight:700;color:#fff;display:block}
.msl{font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:.1rem;display:block}
.msd-desc{font-size:.8rem;color:rgba(255,255,255,.46);line-height:1.7;margin-bottom:.75rem}
.mstags{display:flex;flex-wrap:wrap;gap:.26rem;margin:.75rem 0}
.mst{font-size:.68rem;background:rgba(237,33,39,.09);border:1px solid rgba(237,33,39,.2);color:var(--red);padding:.17rem .52rem;text-transform:uppercase}
.mcta{width:100%;background:var(--red);color:#fff;border:none;padding:.68rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--fb);font-weight:700;transition:.25s;margin-bottom:.42rem;margin-top:.75rem;cursor:pointer}
.mslnk{display:block;text-align:center;font-size:.7rem;color:rgba(255,255,255,.38);letter-spacing:.07em;margin-top:.3rem;transition:.25s}
.mslnk:hover{color:var(--red)}
.thumbs{display:flex;gap:.42rem;padding:.62rem .85rem;background:#0a0a0a;overflow-x:auto;flex-shrink:0}
.thumb{width:52px;height:38px;flex-shrink:0;opacity:.38;transition:.22s;cursor:pointer;border:1px solid transparent}
.thumb.active{opacity:1;border-color:var(--red)}
.thumb img{object-fit:cover;width:100%;height:100%}

/* ===== ANIMATED STATS BAR ===== */
.stats-bar{background:var(--red);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;position:relative}
.stats-bar::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 60%);pointer-events:none}
.sbar-item{text-align:center;padding:.75rem 1rem;border-right:1px solid rgba(255,255,255,.18);position:relative}
.sbar-item:last-child{border-right:none}
.sbar-num{display:block;font-family:var(--fs);font-size:1.4rem;font-weight:700;color:#fff;line-height:1.1}
.sbar-lbl{display:block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-top:.25rem;font-weight:600}
@keyframes sbarSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.sbar-item.animated{animation:sbarSlide .55s ease both}
.sbar-item:nth-child(1).animated{animation-delay:.0s}
.sbar-item:nth-child(2).animated{animation-delay:.12s}
.sbar-item:nth-child(3).animated{animation-delay:.24s}
.sbar-item:nth-child(4).animated{animation-delay:.36s}
@media(max-width:900px){
  .stats-bar{grid-template-columns:1fr 1fr}
  .sbar-item:nth-child(2){border-right:none}
  .sbar-item:nth-child(3){border-right:1px solid rgba(255,255,255,.18)}
  .lgrid{grid-template-columns:1fr}
}

/* ============================================
   STAGE 2 SYSTEM — shared components promoted from page blocks,
   motion choreography, performance & accessibility layer
   ============================================ */

/* ── Promoted shared layout classes (were page-local; used sitewide) ── */
.dest-overview-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:start}
.dest-overview-grid .stat-strip{margin:0;grid-template-columns:1fr 1fr}
.process-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:0.7rem}
.pm-item{text-align:center;padding:1.4rem}
.pm-num{width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--fh);font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;font-size:1rem;font-variant-numeric:tabular-nums}
.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem}
.diff-ic{font-size:1.6rem;display:block;margin-bottom:.8rem}
.reach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.7rem;max-width:1080px;margin:0 auto}
.reach-item{background:#fff;border:1px solid var(--ir3);border-top:3px solid var(--red);padding:1.7rem 1.4rem;text-align:center;box-shadow:var(--sh)}
.reach-num{font-family:var(--fh);font-size:2.1rem;color:var(--txt);display:block;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;margin-bottom:.45rem}
.reach-lbl{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t2);font-weight:600;line-height:1.5;display:block}
.cb-left{max-width:460px}
@media(max-width:900px){.dest-overview-grid{grid-template-columns:1fr;gap:1rem}.reach-grid{grid-template-columns:1fr 1fr}.diff-grid{grid-template-columns:1fr}}
@media(max-width:700px){.process-mini{grid-template-columns:1fr}.reach-grid{grid-template-columns:1fr 1fr;gap:0.5rem}}

/* ── Motion choreography: staggered child reveals in card grids ── */
.area-grid>.rv:nth-child(2),.lgrid>.rv:nth-child(2),.stat-strip>.rv:nth-child(2),.reach-grid>.rv:nth-child(2),.process-mini>.rv:nth-child(2),.diff-grid>.rv:nth-child(2){transition-delay:.09s}
.area-grid>.rv:nth-child(3),.lgrid>.rv:nth-child(3),.stat-strip>.rv:nth-child(3),.reach-grid>.rv:nth-child(3),.process-mini>.rv:nth-child(3),.diff-grid>.rv:nth-child(3){transition-delay:.18s}
.area-grid>.rv:nth-child(4),.lgrid>.rv:nth-child(4),.stat-strip>.rv:nth-child(4),.reach-grid>.rv:nth-child(4){transition-delay:.27s}
.area-grid>.rv:nth-child(5),.lgrid>.rv:nth-child(5){transition-delay:.36s}
.area-grid>.rv:nth-child(6),.lgrid>.rv:nth-child(6){transition-delay:.45s}

/* ── Hero cinemagraph: slow Ken Burns on the active slide ── */
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hslide img{will-change:transform}
.hslide.active img{animation:kenburns 9s ease-out forwards}

/* ── Listing image hover choreography ── */




/* ── Spec icon row (replaces emoji glyphs) ── */
.lspecs svg{width:14px;height:14px;vertical-align:-2px;margin-right:.28rem;stroke:var(--t3);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ── Skeleton shimmer while listing grids hydrate ── */
@keyframes shimmer{0%{background-position:-500px 0}100%{background-position:500px 0}}
.lgrid:empty{min-height:320px;position:relative}
.lgrid:empty::before,.lgrid:empty::after{content:'';position:absolute;top:0;width:calc(33% - 1rem);height:300px;background:linear-gradient(90deg,var(--ir) 25%,var(--ir2) 37%,var(--ir) 63%);background-size:1000px 100%;animation:shimmer 1.4s infinite linear}
.lgrid:empty::before{left:0}
.lgrid:empty::after{left:calc(33% + .5rem)}

/* ── Keyboard focus visibility ── */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* ── Reduced motion: honor the preference globally ── */
@media(prefers-reduced-motion:reduce){
  .limg::before{animation:none}
  .abg2,.limg img,.spread3 img{transition:none}

  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .hslide.active img{animation:none;transform:none}
}

/* ═══════════════════════════════════════════════════════════
   STAGE 2 CONTINUATION — Vertical B split, map, rail, icons
   ═══════════════════════════════════════════════════════════ */

/* ── Structure A: "Beyond the Gate" infrastructure ledger ── */
.gate-band{background:var(--blk);color:#fff;position:relative;overflow:hidden}
.gate-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 85% 10%,rgba(237,33,39,.1) 0%,transparent 55%);pointer-events:none}
.gb-in{max-width:1080px;margin:0 auto;position:relative;z-index:1}
.gb-kick{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--red);font-weight:600;display:block;margin-bottom:.7rem}
.gb-line{font-family:var(--fs);font-style:italic;font-weight:500;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.3;color:rgba(255,255,255,.92);max-width:640px;margin-bottom:2.6rem;text-wrap:balance}
.gb-rows{border-top:1px solid var(--line-d)}
.gb-row{display:grid;grid-template-columns:64px 220px 1fr;gap:0.8rem;align-items:baseline;padding:1.35rem 0;border-bottom:1px solid var(--line-d)}
.gb-num{font-family:var(--fh);font-size:1.15rem;font-weight:600;color:rgba(255,255,255,.28);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.gb-lbl{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red);font-weight:600}
.gb-val{font-size:.94rem;color:rgba(255,255,255,.82);line-height:1.7}
@media(max-width:820px){.gb-row{grid-template-columns:44px 1fr;gap:.6rem 1rem}.gb-val{grid-column:2}}

/* ── Structure B: "Culture & Table" editorial band ── */
.culture-band{background:var(--ir);border-top:1px solid var(--ir3);border-bottom:1px solid var(--ir3)}
.cu-in{max-width:1080px;margin:0 auto}
.cu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.4rem}
.cu-item{position:relative;padding-top:1.3rem;border-top:1px solid var(--ir3)}
.cu-item::before{content:'';position:absolute;top:-1px;left:0;width:34px;height:2px;background:var(--red)}
.cu-num{font-family:var(--fh);font-size:.92rem;font-weight:600;letter-spacing:.2em;color:var(--t3);display:block;margin-bottom:.55rem}
.cu-name{font-family:var(--fs);font-style:italic;font-weight:500;font-size:1.28rem;color:var(--txt);line-height:1.25;display:block;margin-bottom:.55rem}
.cu-txt{font-size:.94rem;color:var(--t2);line-height:1.8}
@media(max-width:860px){.cu-grid{grid-template-columns:1fr;gap:0.9rem}}

/* ── Contact location map panel ── */
.map-panel{display:grid;grid-template-columns:1.25fr .75fr;gap:0;border:1px solid var(--ir3);box-shadow:var(--sh2);background:#fff}
.map-frame{position:relative;min-height:380px}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.85) contrast(1.04)}
.map-frame:hover iframe{filter:grayscale(.2)}
.map-frame iframe{transition:filter .5s ease}
.map-meta{padding:2.4rem 2.2rem;display:flex;flex-direction:column;justify-content:center;gap:0.6rem;background:var(--ir)}
.mm-item .cd-label{color:var(--t3)}
.mm-item .mm-val{font-size:.92rem;color:var(--txt);font-weight:500;line-height:1.65}
.map-open{display:inline-flex;align-items:center;gap:.5rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--red);border:1px solid var(--red);padding:.75rem 1.5rem;align-self:flex-start;transition:var(--transition)}
.map-open:hover{background:var(--red);color:#fff}
@media(max-width:860px){.map-panel{grid-template-columns:1fr}.map-frame{min-height:280px}}

/* ── Buyer's Guide sticky section rail ── */
.rail-layout{display:grid;grid-template-columns:230px 1fr;gap:3.4rem;align-items:start;max-width:1180px;margin:0 auto}
.rail-nav{position:sticky;top:96px;display:flex;flex-direction:column;border-left:1px solid var(--ir3)}
.rail-nav a{font-size:.78rem;letter-spacing:.06em;color:var(--t3);padding:.48rem 0 .48rem 1.1rem;border-left:2px solid transparent;margin-left:-1px;transition:var(--transition);line-height:1.4;font-weight:500}
.rail-nav a span{font-family:var(--fh);font-weight:600;letter-spacing:.12em;margin-right:.5rem;color:var(--t3);transition:var(--transition)}
.rail-nav a:hover{color:var(--txt)}
.rail-nav a.on{color:var(--txt);border-left-color:var(--red);font-weight:600}
.rail-nav a.on span{color:var(--red)}
@media(max-width:1080px){.rail-layout{grid-template-columns:1fr}.rail-nav{display:none}}

/* ── Inline SVG icon system (replaces content emojis) ── */
.amen-ic svg,.hl-ic svg,.inv-ic svg,.adv-ic svg,.diff-ic svg,.cd-icon svg,.law-icon svg,.incl-ic svg,.ov-ic svg,.wgm-ic svg{width:22px;height:22px;stroke:var(--red);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}
.cd-icon svg{width:18px;height:18px}
.wgm-ic svg,.ov-ic svg{width:26px;height:26px}

/* ── White Glove section: light conversion (index) ── */
#services-preview{background:var(--ir)!important;border-top:1px solid var(--ir3);border-bottom:1px solid var(--ir3)}
#services-preview .sl{color:var(--red)!important}
#services-preview .st{color:var(--txt)!important}
#services-preview .sb{color:var(--t2)!important}
#services-preview .wgm-item{background:#fff;border:1px solid var(--ir3);box-shadow:var(--sh);transition:var(--transition)}
#services-preview .wgm-item:hover{box-shadow:var(--sh2);transform:translateY(-4px)}
#services-preview .wgm-item b{color:var(--txt)}
#services-preview .wgm-list li{color:var(--t2)!important}
#services-preview .wgm-list li::before{color:var(--red)}

/* ═══════════════════════════════════════════════════════════
   LOOKBOOK FLAGSHIP LAYER — quiet elite system components
   ═══════════════════════════════════════════════════════════ */

/* interaction & a11y */
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
img{max-width:100%}

/* sharp lookbook edges: image wrappers, cards, buttons (circles preserved) */
.limg,.limg img,.acard,.abg2,.stat-box,.fitem,.lcard,.cform-box,.cform-box input,.cform-box select,.cform-box textarea,.bred,.bwh,.bgh,.boutline,.lbtn,.aexp,.cf-submit,button{border-radius:0!important}
.wa-fab,.wac-av{border-radius:50%!important}

/* magnetic CTAs: slow elite transitions + tracking expansion on hover */
.bred,.bwh,.bgh,.boutline,.lbtn,.aexp,.cf-submit,.map-open{transition:all .6s cubic-bezier(.16,1,.3,1)}
.bred:hover,.bwh:hover,.bgh:hover,.boutline:hover{letter-spacing:.17em}
.lbtn:hover,.aexp:hover{letter-spacing:.15em}

/* premium media engine: intrinsic ratios + micro-motion + shimmer */

/* shimmer moved to .limg background to avoid covering images */


@keyframes shimmer{to{background-position:-200% 0}}
/* asymmetric photo-masonry: mixed portrait/landscape frames */

/* cinematic hero loop infrastructure + slate legibility mask */
.hero-video{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video:empty{display:none}
.hero-slate{position:absolute;inset:0;z-index:1;background:linear-gradient(170deg,rgba(15,20,26,.58) 0%,rgba(14,17,22,.3) 48%,rgba(8,10,12,.8) 100%);pointer-events:none}

/* module framing on gallery white */
.stat-box,.fitem,.zone-item,.cu-item{border-color:var(--line-l)}
.stat-box{background:#fff;border:1px solid var(--line-l);border-top:2px solid var(--red)}
.fitem{background:#fff;border:1px solid var(--line-l)}

/* golf: horizontal championship track (scroll-snap glide) */
.htrack-wrap{position:relative;margin-top:2.4rem}
.htrack{display:flex;gap:0.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin}
.htrack::-webkit-scrollbar{height:4px}
.htrack::-webkit-scrollbar-thumb{background:var(--ir3)}
.ht-item{flex:0 0 min(72vw,560px);scroll-snap-align:start;position:relative;aspect-ratio:16/10;overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:flex-end}
.ht-item::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,10,12,.78) 0%,rgba(8,10,12,.08) 55%);transition:transform 1.5s cubic-bezier(.16,1,.3,1)}
.ht-cap{position:relative;z-index:1;padding:1.4rem 1.5rem;color:#fff}
.ht-course{font-family:var(--fs);font-style:italic;font-weight:500;font-size:1.4rem;display:block;line-height:1.2}
.ht-meta{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.65);display:block;margin-top:.35rem}
.ht-hint{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);margin-top:.6rem;display:block}

/* about: asymmetric 3-image editorial spread */
.spread3{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto auto;gap:0.6rem;margin:2.6rem 0;align-items:start}
.sp-main{grid-row:1/3;aspect-ratio:4/5;overflow:hidden}
.sp-a{aspect-ratio:16/11;overflow:hidden;margin-top:2.2rem}
.sp-b{aspect-ratio:16/11;overflow:hidden;margin-right:2.2rem}
.spread3 img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s cubic-bezier(.16,1,.3,1);display:block}
.spread3 > div:hover img{transform:scale(1.04)}
@media(max-width:860px){.spread3{grid-template-columns:1fr}.sp-main{grid-row:auto}.sp-a{margin-top:0}.sp-b{margin-right:0}}

/* about: milestones & track record — quiet timeline grid */
.ms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.6rem;margin-top:2.2rem}
.ms-item{border:1px solid var(--line-l);border-top:2px solid var(--red);padding:1.5rem 1.4rem;background:#fff}
.ms-tag{font-family:var(--fh);font-weight:500;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt);display:block}
.ms-txt{font-size:.93rem;color:var(--t2);line-height:1.8;margin-top:.5rem}
@media(max-width:820px){.ms-grid{grid-template-columns:1fr}}

/* the-agency: full-bleed imagery dividers */
.bleed-divider{padding:0!important;height:clamp(300px,46vh,520px);background-size:cover;background-position:center;background-attachment:scroll;position:relative}
.bleed-divider::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,11,11,.28),rgba(11,11,11,.28))}
.agy-pillars .agy-pillar b{font-weight:500;letter-spacing:.04em}

/* contact: concierge dossier rows */
.tz-row{display:flex;justify-content:space-between;align-items:baseline;gap:0.5rem;padding:.75rem 0;border-bottom:1px solid var(--line-d)}
.tz-city{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:400}
.tz-note{font-size:.9rem;color:rgba(255,255,255,.8);text-align:right}

/* ═══════════════════════════════════════════════════════════
   HIGH-DENSITY IMAGE SYSTEMS — immersive lookbook layer
   ═══════════════════════════════════════════════════════════ */

/* 1 ── Asymmetric photo-masonry: destination & course collections */
/* (masonry override removed at Oscar’s direction — area-grid back to original) */

/* 2 ── Full-bleed spatial dividers with scroll micro-animation */
.bleed-divider{padding:0!important;height:auto;aspect-ratio:21/9;max-height:540px;overflow:hidden;position:relative}
.bleed-divider.rv{opacity:1;transform:none}
.bleed-divider .bd-img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.1);transition:transform 2.4s cubic-bezier(.16,1,.3,1)}
.bleed-divider.v .bd-img{transform:scale(1)}
.bleed-divider::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,11,11,.24),rgba(11,11,11,.24));pointer-events:none}
@media(max-width:700px){.bleed-divider{aspect-ratio:16/10}}

/* 3 ── Tri-image editorial spread: portrait focal overlapping detail shots */
.spread3 .sp-main{z-index:2;position:relative;margin-right:-2.4rem;box-shadow:var(--sh3)}
.spread3 .sp-a{margin-top:3.4rem;margin-left:1.2rem}
.spread3 .sp-b{margin-right:1.6rem;margin-left:1.2rem}
@media(max-width:860px){.spread3 .sp-main{margin-right:0}.spread3 .sp-a,.spread3 .sp-b{margin-left:0}}

/* 4 ── Fluid horizontal lookbook tracks: img-based, lazy, pinned captions */
.ht-item{padding:0}
.ht-item .ht-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.5s cubic-bezier(.16,1,.3,1)}
.ht-item:hover .ht-img{transform:scale(1.04)}
.ht-item.pt{flex:0 0 min(46vw,340px);aspect-ratio:3/4}
.ht-item::before{z-index:1}
.ht-cap{z-index:2}

/* 5 ── Destination lookbook gallery: asymmetric tri-frame */
.dgal{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:0.6rem;margin-top:2.4rem}
.dg-frame{position:relative;overflow:hidden;background:var(--ir2)}
.dg-frame.wide{grid-row:1/3;aspect-ratio:4/3}
.dg-frame.tall{aspect-ratio:3/4}
.dg-frame.land{aspect-ratio:16/10}
.dg-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.5s cubic-bezier(.16,1,.3,1)}
.dg-frame:hover img{transform:scale(1.04)}
.dg-cap{position:absolute;left:1rem;bottom:.85rem;z-index:2;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;font-weight:400}
.dg-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,10,12,.45) 0%,transparent 38%)}
@media(max-width:820px){.dgal{grid-template-columns:1fr}.dg-frame.wide{grid-row:auto}}

/* ── The Agency: branded monogram band (replaces stock photo dividers) ── */
.brand-band{background:var(--blk);padding:3.4rem 2.8rem;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.brand-band-mark{height:64px;width:auto;opacity:.9}
@media(max-width:700px){.brand-band{padding:2.4rem 1.4rem}.brand-band-mark{height:48px}}

/* ── Golf: destination breakdown list ── */
.gd-list{display:flex;flex-direction:column;gap:.9rem;max-width:920px;margin:0 auto}
.gd-item{border:1px solid var(--line-l);border-left:2px solid var(--red);padding:1.5rem 1.6rem;background:#fff;transition:var(--transition)}
.gd-item:hover{box-shadow:var(--sh2)}
.gd-head{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin-bottom:.6rem}
.gd-num{font-family:var(--fh);font-weight:500;font-size:.94rem;letter-spacing:.16em;color:var(--t3)}
.gd-head h3{font-family:var(--fh);font-weight:500;font-size:1.4rem;letter-spacing:.04em;text-transform:uppercase;color:var(--txt)}
.gd-tag{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:400}
.gd-item p{font-size:.95rem;color:var(--t2);line-height:1.82;margin-bottom:.7rem}
.gd-link{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt);font-weight:600;border-bottom:1px solid var(--red);padding-bottom:.15rem;transition:var(--transition)}
.gd-link:hover{color:var(--red);letter-spacing:.17em}
@media(max-width:700px){.gd-item{padding:1.2rem 1.2rem}.gd-head h3{font-size:1.2rem}}

/* ── Mobile-menu language selector ── */
.mm-lang{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--ir3)}
.mm-lang-lbl{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--t3);font-weight:600;margin-bottom:.7rem}
#langSwitchWrapMobile .goog-te-combo{width:100%;font-family:var(--fb);font-size:.9rem;padding:.75rem .8rem;border:1px solid var(--ir3);background:#fff;color:var(--txt);cursor:pointer}
#langSwitchWrapMobile .goog-te-gadget{font-size:0!important}
#langSwitchWrapMobile .goog-te-gadget span{display:none}

.sell-bleed,.sell-bleed2{}
/* ── Sellers: villa marketing gallery ── */
.sell-gal{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1rem;margin-top:2.2rem;max-width:1100px;margin-left:auto;margin-right:auto}
.sg-frame{aspect-ratio:4/3;overflow:hidden;background:var(--ir2)}
.sg-frame.tall{aspect-ratio:3/4;grid-row:span 1}
.sg-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.5s cubic-bezier(.16,1,.3,1)}
.sg-frame:hover img{transform:scale(1.04)}
@media(max-width:820px){.sell-gal{grid-template-columns:1fr 1fr}.sg-frame.tall{grid-column:1/-1;aspect-ratio:16/10}}
@media(max-width:520px){.sell-gal{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════════════════════
   LUXURY POLISH LAYER — photo-swap, grade, texture, interstitials
   ═══════════════════════════════════════════════════════════ */

/* Listing card: second-photo cross-fade on hover */






/* Unified warm editorial grade across photography (subtle, commissioned feel) */
.limg img,.dg-frame img,.sg-frame img,.spread3 img,.ht-item .ht-img,.bleed-divider .bd-img,.phero{filter:saturate(.94) contrast(1.03) brightness(1.01)}
.phero{filter:none}
.phero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(120,90,60,.06),rgba(11,11,11,.04));mix-blend-mode:multiply;pointer-events:none;z-index:1}

/* Agency monogram texture on midnight sections */
.gate-band,.brand-band,.confotur-banner,.agy-mono{position:relative}
.gate-band::after,.confotur-banner::after{content:'';position:absolute;right:-40px;bottom:-40px;width:340px;height:340px;background:url('../images/agency-mark-red-transparent.png') no-repeat center/contain;opacity:.05;pointer-events:none;z-index:0}
.destinations .gate-band::after,.dm .gate-band::after{right:auto;left:-40px}

/* Signature full-viewport image interstitial */
.interstitial{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:0!important;background:var(--blk)}
.interstitial img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transform:scale(1.08);transition:transform 2.6s cubic-bezier(.16,1,.3,1)}
.interstitial.v img{transform:scale(1)}
.interstitial::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,.5),rgba(11,11,11,.32) 50%,rgba(11,11,11,.6));z-index:1}
.int-line{position:relative;z-index:2;max-width:820px;padding:0 2rem}
.int-line .il-kick{display:block;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin-bottom:1.1rem;font-weight:400}
.int-line .il-serif{font-family:var(--fs);font-style:italic;font-weight:400;font-size:clamp(1.9rem,4.4vw,3.4rem);line-height:1.18;color:#fff;text-wrap:balance}
@media(max-width:640px){.interstitial{min-height:60vh}}

/* Blur-up loading shimmer already on .limg; extend to gallery frames */
.dg-frame,.sg-frame,.sp-main,.sp-a,.sp-b,.ht-item{background:var(--ir2)}

/* Testimonials → full-width editorial pull-quotes */
.tpull{max-width:900px;margin:0 auto}
.tpull-item{text-align:center;padding:2.4rem 0}
.tpull-q{font-family:var(--fs);font-style:italic;font-weight:400;font-size:clamp(1.35rem,3vw,2.05rem);line-height:1.4;color:var(--txt);text-wrap:balance}
.tpull-q::before{content:'\201C';color:var(--red);margin-right:.1em}
.tpull-q::after{content:'\201D';color:var(--red);margin-left:.05em}
.tpull-meta{margin-top:1.6rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);font-weight:600}
.tpull-meta b{color:var(--txt);font-weight:600}
.tpull-rule{width:34px;height:2px;background:var(--red);margin:1.6rem auto 0}

/* Testimonials: elevated editorial treatment (carousel mechanics untouched) */
.tcard{background:#fff;border:1px solid var(--line-l);border-top:2px solid var(--red);padding:2.4rem 2rem;box-shadow:var(--sh)}
.tq{font-size:4rem;color:rgba(237,33,39,.08)}
.ttext{font-family:var(--fs);font-style:italic;font-size:1rem;color:var(--txt);line-height:1.6;padding-top:1.4rem}
.tname{font-family:var(--fh);letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.tstars{color:var(--red)}

.limg.imgloaded{animation:none;background:var(--ir2)}

/* ═══════════════════════════════════════════════════════════
   LISTING IMAGE SYSTEM — single clean definition (supersedes all)
   ═══════════════════════════════════════════════════════════ */
.limg{position:relative;overflow:hidden;flex-shrink:0;aspect-ratio:4/3;background:var(--ir3)}
/* both photos fill the frame; primary visible immediately, secondary fades in on hover */
.limg-1,.limg-2,.limg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.limg-1,.limg img{z-index:1;opacity:1;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.limg-2{z-index:2;opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1)}
.lcard:hover .limg-2{opacity:1}
.lcard:hover .limg-1,.lcard:hover .limg img{transform:scale(1.045)}
/* shimmer ONLY while the frame has not yet loaded a photo */
.limg:not(.imgloaded)::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,rgba(26,26,26,.05) 30%,rgba(26,26,26,.1) 50%,rgba(26,26,26,.05) 70%);background-size:200% 100%;animation:shimmer 1.5s linear infinite}
.limg.imgloaded{background:var(--ir3)}

/* ═══════════════════════════════════════════════════════════
   EDITORIAL ELEVATION LAYER  ·  redesign pass (loaded last)
   Raises craft toward top-tier international-brokerage feel.
   Brand DNA intact: red #ED2127 sole accent · white luxury base ·
   Barlow Condensed / Noto Serif Display / Roboto · sharp radius-0 edges.
   Moves: warm paper base + floating white cards · diffused warm-tinted
   depth · tighter type scale · generous vertical rhythm · refined
   motion & accessibility. Non-destructive: overrides earlier rules by
   cascade only; no structural or JS-hook changes.
   ═══════════════════════════════════════════════════════════ */
:root{
  /* warm near-white paper — still a white luxury base, reads more expensive */
  --paper:#faf8f5;--paper-2:#f3f0ea;
  --hair:rgba(30,26,22,.09);--hair-2:rgba(30,26,22,.05);
  /* diffused, warm-tinted elevation — the single biggest "expensive" cue */
  --sh:0 1px 2px rgba(28,24,20,.04),0 8px 22px -10px rgba(28,24,20,.10);
  --sh2:0 2px 6px rgba(28,24,20,.05),0 22px 48px -18px rgba(28,24,20,.16);
  --sh3:0 4px 12px rgba(28,24,20,.06),0 48px 96px -30px rgba(28,24,20,.24);
  --ease:cubic-bezier(.16,1,.3,1);
  --fluid-hero:clamp(3.3rem,7.4vw,6.6rem);
  --fluid-h2:clamp(2.15rem,3.9vw,3.45rem);
}

/* warm paper base; keep cards crisp white so they read as figures on ground */
body{background:var(--paper);text-rendering:optimizeLegibility}

/* ---- generous vertical rhythm: let sections breathe ---- */
section{padding:clamp(4.25rem,7vw,7rem) clamp(1.4rem,4vw,2.9rem)}

/* ---- container discipline on ultrawide: cap symmetric card rows,
        backgrounds stay full-bleed (bespoke/asymmetric layouts untouched) ---- */
.overview-grid,.adv-row,.pp-grid,.blog-grid,.tgrid,.guide-steps-mini,
.wgm-row,.law-grid,.faq-grid,.stat-strip,.reach-grid,.process-mini,
.diff-grid,.ms-grid{max-width:1360px;margin-left:auto;margin-right:auto}

/* ---- open the grids: more air between cards ---- */
.overview-grid{gap:1.1rem}
.area-grid{gap:1rem;margin-top:2.6rem}
.adv-row,.wgm-row,.diff-grid,.law-grid{gap:1rem}
.pp-grid,.blog-grid,.tgrid{gap:1.1rem}
.stat-strip{gap:.8rem}

/* ---- tighter, more intentional type scale ---- */
.sl,.brand-tag{font-size:.72rem;letter-spacing:.26em;font-weight:500;margin-bottom:1rem}
.st{font-size:var(--fluid-h2);letter-spacing:.02em;line-height:1;margin-bottom:1.15rem}
.st em{font-size:1.02em;letter-spacing:-.01em}
.sb{font-size:.96rem;line-height:1.75;max-width:56ch}
.rl{height:2px;width:34px;margin:1rem 0 1.15rem}
.ht{font-size:var(--fluid-hero);letter-spacing:.015em;line-height:.94;margin-bottom:1.3rem}
.hsub{font-size:1rem;line-height:1.8;max-width:52ch}
.phero h1{letter-spacing:.02em;line-height:.98}
.phero{min-height:66vh}
.aname{font-size:1.55rem;letter-spacing:.01em}

/* ---- cards: crisp white floating on paper, hairline + diffused depth ---- */
.ov-card,.stat-box,.adv-item,.gsm,.pp-card,.bpost,.tcard,.lawcard,.fitem,
.reach-item,.ms-item,.lcard{border-color:var(--hair)}
.ov-card:hover,.adv-item:hover,.stat-box:hover,.pp-card:hover,.bpost:hover,
.tcard:hover,.lawcard:hover{transform:translateY(-6px);box-shadow:var(--sh2)}

/* ---- refined reveal: less travel, calmer settle ---- */
.rv{transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.v{transform:none}

/* ---- nav polish: lighter scrolled glass, calmer tracking ---- */
#nav{padding-block:1.05rem}
#nav.sc{padding-block:.72rem;background:rgba(255,255,255,.9);
  box-shadow:0 1px 0 var(--hair),0 8px 30px -12px rgba(28,24,20,.16)}
.nli>li>a,.nli>li>span.ndrop{font-size:.71rem;letter-spacing:.16em}

/* ---- buttons: a touch more presence + physical press feedback ---- */
.bred,.bwh,.bgh,.boutline{padding:.92rem 2.1rem;font-size:.73rem;letter-spacing:.14em}
.bred:active,.bwh:active,.bgh:active,.boutline:active,.nct:active,.lbtn:active{transform:translateY(0) scale(.985)}

/* ---- accessibility: skip link + stronger focus ring ---- */
.skip-link{position:fixed;top:-64px;left:1rem;z-index:3000;background:var(--red);color:#fff;
  padding:.7rem 1.2rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;transition:top .25s var(--ease)}
.skip-link:focus{top:1rem;outline:2px solid #fff;outline-offset:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);
  outline-offset:3px;box-shadow:0 0 0 4px rgba(237,33,39,.18)}

/* ---- reduced-motion completeness ---- */
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1!important;transform:none!important}
  .acard:hover .abg2,.hslide.active img{transform:none!important;animation:none!important}
}

/* ---- responsive rhythm ---- */
@media(max-width:900px){
  section{padding:clamp(3rem,9vw,4.25rem) 1.4rem}
}

/* ---- destination-card hover: red as an accent glow, not a flood
        (text stays legible; red "pops against calm imagery") ---- */
.acard:hover .aov{background:linear-gradient(to top,rgba(237,33,39,.42) 0%,rgba(8,8,10,.55) 52%,rgba(8,8,10,.12) 100%)}

/* ═══════════════════════════════════════════════════════════
   INTERACTIVITY / LUXURY MOTION LAYER (pairs with js/lux.js)
   ═══════════════════════════════════════════════════════════ */

/* real scanned-paper grain over the paper base — fixed, non-interactive, behind
   all content (z-index:-1) so it textures the exposed paper and never touches
   text legibility. Degrades gracefully: if the jpg is absent, the SVG noise
   fallback underneath still renders. */
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.16;
  background-image:url('../images/texture-paper.jpg'),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  background-size:cover,140px 140px;background-position:center,0 0;
  mix-blend-mode:multiply}

/* nav links: growing red underline on hover/active (more interactive) */
.nli>li>a{position:relative}
.nli>li>a::after{content:'';position:absolute;left:0;bottom:.18rem;height:1px;width:0;
  background:var(--red);transition:width .4s var(--ease)}
.nli>li:hover>a::after,.nli>li.active>a::after{width:100%}
.nli>li>a:hover{border-bottom-color:transparent}

/* card tilt: give the pointer-driven cards a 3D-aware stage without
   changing their look at rest (JS supplies the transform) */
.ov-card,.adv-item,.stat-box,.pp-card,.bpost,.lawcard,.reach-item{transform-style:preserve-3d}

/* reveal for reduced-motion users: grain stays, motion off (handled in JS too) */
@media(prefers-reduced-motion:reduce){
  .phero-bg{transform:none!important}
}

/* ═══════════════════════════════════════════════════════════
   CINEMATIC STILL-MOTION LAYER  ·  (no video anywhere on site)
   The hero carousel + imagery carry the motion instead.
   ═══════════════════════════════════════════════════════════ */

/* slower, more cinematic hero drift + longer, softer crossfade */
@keyframes kenburnsLux{from{transform:scale(1.015) translate3d(0,0,0)}
  to{transform:scale(1.11) translate3d(-1.2%,-1%,0)}}
.hslide{transition:opacity 2.1s cubic-bezier(.4,0,.2,1)!important}
.hslide.active img{animation:kenburnsLux 14s cubic-bezier(.22,.61,.36,1) forwards!important}

/* editorial vignette: focuses the eye, deepens the hero */
.hero-ov{background:radial-gradient(120% 100% at 50% 30%,rgba(0,0,0,0) 30%,rgba(0,0,0,.42) 100%),
  linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.22) 45%,rgba(0,0,0,.78) 100%)}

/* section titles: hairline rule draws itself in as the section reveals */
.rv .rl,.rv.v .rl{transform-origin:left center}
.rv .rl{transform:scaleX(0);transition:transform .9s var(--ease) .15s}
.rv.v .rl{transform:scaleX(1)}

/* buttons: slow light sweep on hover — reads couture, not flashy */
.bred,.bwh,.boutline{position:relative;overflow:hidden}
.bred::after,.bwh::after,.boutline::after{content:'';position:absolute;top:0;left:-140%;
  width:60%;height:100%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);
  transition:left .85s var(--ease)}
.bred:hover::after,.bwh:hover::after,.boutline:hover::after{left:140%}

/* imagery: slow, restrained zoom on card photos (luxury pace, not snappy) */
.pp-card img,.bpost img,.lcard img,.ov-card img{transition:transform 1.4s var(--ease)}
.pp-card:hover img,.bpost:hover img,.lcard:hover img{transform:scale(1.055)}

/* destination cards: deeper cinematic settle */
.acard{transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.acard:hover{box-shadow:var(--sh3)}

/* stat numbers + eyebrow: refined tracking settle on reveal */
.rv .sl{letter-spacing:.4em;transition:letter-spacing 1.1s var(--ease),opacity .9s var(--ease)}
.rv.v .sl{letter-spacing:.26em}

/* honor reduced motion across every addition above */
@media(prefers-reduced-motion:reduce){
  .hslide.active img{animation:none!important;transform:none!important}
  .rv .rl,.rv.v .rl{transform:none!important}
  .rv .sl,.rv.v .sl{letter-spacing:.26em!important;transition:none!important}
  .bred::after,.bwh::after,.boutline::after{display:none}
  .pp-card:hover img,.bpost:hover img,.lcard:hover img{transform:none}
}

/* ═══════════════════════════════════════════════════════════
   MATERIAL TEXTURE LAYER  ·  generated asset set (Higgsfield)
   Applied as low-opacity blend-mode overlays at z-index:-1 so they read as
   MATERIAL, never as photographs, and never sit above text.
   Blend mode is chosen per surface: multiply on light grounds, screen on the
   near-black (#0B0B0B) footer where multiply would be invisible.
   Every selector below is verified to exist in the markup.
   All degrade gracefully — if a file is absent nothing renders.
   ═══════════════════════════════════════════════════════════ */

/* dappled palm-shadow gobo on the white culture bands — the signature
   hospitality cue: daylight falling across the section. */
.culture-band{position:relative;isolation:isolate}
.culture-band::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url('../images/texture-palm-shadow.jpg') no-repeat center/cover;
  opacity:.13;mix-blend-mode:multiply}

/* honed travertine beneath testimonial cards — quiet stone, not stationery */
.tcard::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url('../images/texture-travertine.jpg') no-repeat center/cover;
  opacity:.09;mix-blend-mode:multiply}

/* limewash plaster in the near-black footer. SCREEN (not multiply) so the
   texture lifts subtly out of the black instead of disappearing into it. */
footer::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:url('../images/texture-plaster.jpg') no-repeat center/cover;
  opacity:.07;mix-blend-mode:screen}

/* keep textures from muddying small screens */
@media(max-width:700px){
  .culture-band::before{opacity:.09}
  .tcard::before{opacity:.06}
  footer::before{opacity:.05}
}

/* ═══════════════════════════════════════════════════════════
   MOBILE BUG FIXES (reported from device screenshots)
   ═══════════════════════════════════════════════════════════ */

/* BUG 1 — hero listing caption (.hc-cap) overlapped the CTA buttons on phones.
   Below 900px it becomes a static full-width strip under the hero content
   instead of an absolutely-positioned card. */
@media(max-width:900px){
  .hc-cap{position:static;right:auto;bottom:auto;text-align:left;
    margin:1.25rem 0 0;padding:.7rem .9rem;width:100%;
    background:rgba(0,0,0,.55);backdrop-filter:blur(6px)}
  .hc-scroll-ind{display:none}
  .hc-dots{bottom:.75rem}
}

/* BUG 3 — Netflix card sat visibly tilted (rotate(2deg)) on mobile.
   Straighten it below 1080px where it is centred and reads as a mistake. */
@media(max-width:1080px){
  .agy-netflix-card{transform:none}
  .agy-netflix-card:hover{transform:scale(1.02)}
}

/* BUG 4 — listing modal: .mbody is display:flex, so on a phone the 275px
   sidebar squeezed the gallery to almost nothing and photos were invisible.
   Stack them vertically and give the gallery a guaranteed height. */
@media(max-width:820px){
  .mbody{flex-direction:column;overflow-y:auto}
  .mgal{flex:none;width:100%;height:min(52vh,340px);min-height:240px}
  .mgi img{max-height:none}
  .msd{width:100%;border-left:none;border-top:1px solid rgba(255,255,255,.07);
    overflow-y:visible;flex-shrink:1}
  .thumbs{padding:.5rem .7rem}
  .thumb{width:44px;height:32px}
  .mpb,.mnb{width:32px;height:32px}
}

/* BUG 2 — destination tabs wrapped into a disorganised block on phones.
   Below 900px the tab row is replaced by a native <select> dropdown,
   which is easier to use on mobile and keeps the section tidy. */
.zsel-wrap{display:none}
@media(max-width:900px){
  .ztabs{display:none}
  .zsel-wrap{display:block;margin-bottom:1.6rem}
  .zsel-lbl{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
    color:var(--t3);margin-bottom:.45rem;font-family:var(--fb);font-weight:600}
  .zsel{width:100%;padding:.9rem 1rem;font-family:var(--fb);font-weight:600;
    font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
    color:var(--ink);background:#fff;border:1px solid var(--hair);
    border-bottom:2px solid var(--red);appearance:none;cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ED2127' stroke-width='2' fill='none'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 1rem center}
  .zsel:focus-visible{outline:2px solid var(--red);outline-offset:2px}
}

/* ═══════════════════════════════════════════════════════════
   MASTER PLAN — interactive 3D presentation (CSS, no video)
   Perspective tilt + depth shadow + pinch/scroll zoom.
   Gives the "3D look" without adding a video file to the site.
   ═══════════════════════════════════════════════════════════ */
.mplan-wrap{max-width:1360px;margin:0 auto;perspective:1600px}
.mplan-stage{position:relative;transform-style:preserve-3d;
  transition:transform .9s var(--ease),box-shadow .9s var(--ease);
  transform:rotateX(11deg) rotateZ(-.6deg) scale(.97);
  box-shadow:0 40px 90px -30px rgba(28,24,20,.45),0 8px 24px rgba(28,24,20,.12);
  background:#fff;overflow:hidden;cursor:zoom-in}
.mplan-stage:hover{transform:rotateX(3deg) rotateZ(0) scale(1);
  box-shadow:0 60px 120px -34px rgba(28,24,20,.5),0 10px 30px rgba(28,24,20,.14)}
.mplan-stage img{width:100%;display:block;transition:transform 1.2s var(--ease)}
.mplan-stage:hover img{transform:scale(1.03)}
/* soft light sweep across the plan — reads as a glass surface */
.mplan-stage::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.22) 50%,rgba(255,255,255,0) 62%);
  transform:translateX(-120%);transition:transform 1.6s var(--ease)}
.mplan-stage:hover::after{transform:translateX(120%)}
.mplan-cap{text-align:center;font-size:.76rem;letter-spacing:.06em;
  color:var(--t3);margin-top:1.4rem}
.mplan-hint{display:inline-block;font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red);margin-left:.5rem}
/* expanded state — tap/click to view flat & full size */
.mplan-stage.open{transform:none;cursor:zoom-out;box-shadow:var(--sh3)}
.mplan-stage.open img{transform:none}
@media(max-width:900px){
  .mplan-stage{transform:rotateX(6deg) scale(.99)}
  .mplan-stage:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .mplan-stage,.mplan-stage:hover{transform:none;transition:none}
  .mplan-stage::after{display:none}
  .mplan-stage img,.mplan-stage:hover img{transform:none}
}

/* 4th lookbook frame — grid extended to hold it without breaking the
   wide/tall/land composition. */
.dg-frame.extra{aspect-ratio:16/10}
@media(min-width:901px){
  .dgal{grid-template-columns:1.4fr 1fr 1fr}
  .dg-frame.wide{grid-row:1/3;grid-column:1}
  .dg-frame.tall{grid-column:2;grid-row:1/3}
  .dg-frame.land{grid-column:3;grid-row:1}
  .dg-frame.extra{grid-column:3;grid-row:2}
}
@media(max-width:900px){
  .dgal{grid-template-columns:1fr 1fr}
  .dg-frame.wide{grid-row:auto;grid-column:1/3;aspect-ratio:16/10}
  .dg-frame.tall,.dg-frame.land,.dg-frame.extra{grid-column:auto;grid-row:auto;aspect-ratio:1/1}
}





/* ═══════════════════════════════════════════════════════════
   DR 3D RELIEF MAP — fully self-contained inline SVG.
   No external image: nothing to download, nothing to break.
   ═══════════════════════════════════════════════════════════ */
.drmap-wrap{max-width:1180px;margin:0 auto;perspective:1500px}
.drmap-stage{position:relative;transform-style:preserve-3d;
  transition:transform 1s var(--ease)}
.drmap-wrap:hover .drmap-stage{transform:rotateX(5deg) rotateZ(-.5deg) scale(1.01)}
.drmap-svg{width:100%;height:auto;display:block}
.drmap-img{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 50px rgba(28,24,20,.18))}

.dr-reef{fill:none;stroke:rgba(255,255,255,.75);stroke-width:16;opacity:.55;
  filter:url(#drSoft)}
.dr-rim{fill:none;stroke:#e6d9bd;stroke-width:5;opacity:.9}
.dr-top{stroke:#9aa886;stroke-width:1.5}
.dr-border{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2.5;
  stroke-dasharray:7 8;stroke-linecap:round}

/* raised pin: card floats above a stem landing on a glowing dot.
   --h controls stem height so pins sit at different depths. */
.drpin{position:absolute;left:var(--x);top:var(--y);
  transform:translate(-50%,-100%);display:flex;flex-direction:column;
  align-items:center;line-height:1;white-space:nowrap;z-index:3;
  transition:transform .45s var(--ease)}
.drpin b{font-family:var(--fb);font-size:.66rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:#fff;background:rgba(20,18,16,.9);
  padding:.4rem .75rem;border-bottom:2px solid var(--red);
  box-shadow:0 14px 28px -10px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.3)}
.drpin i{width:1.5px;height:var(--h,48px);display:block;position:relative;
  background:linear-gradient(to bottom,rgba(237,33,39,.95),rgba(237,33,39,.3))}
.drpin i::after{content:'';position:absolute;left:50%;bottom:-5px;
  width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:var(--red);
  box-shadow:0 0 0 5px rgba(237,33,39,.22),0 0 16px rgba(237,33,39,.6)}
.drpin:hover{transform:translate(-50%,-100%) translateY(-7px);z-index:6}
.drpin:hover b{background:var(--red)}

@media(max-width:860px){
  .drpin b{font-size:.55rem;padding:.28rem .5rem;letter-spacing:.06em}
  .drpin i{height:calc(var(--h,48px) * .6)}
  .drmap-wrap:hover .drmap-stage{transform:none}
}
@media(max-width:560px){
  .drpin b{display:none}
  .drpin i{height:16px}
}
@media(prefers-reduced-motion:reduce){
  .drmap-stage,.drmap-wrap:hover .drmap-stage{transform:none;transition:none}
  .drpin,.drpin:hover{transition:none;transform:translate(-50%,-100%)}
}

/* ═══════════════════════════════════════════════════════════
   MOBILE FIXES — round 2 (from device screenshots)
   ═══════════════════════════════════════════════════════════ */

/* ── 1. HORIZONTAL PAGE OVERFLOW (text cut off on the right) ──
   .agy-stat-row is a 4-column flex. Flex items default to
   min-width:auto, so "$88B+" and the 1rem side padding refused to
   shrink — pushing the row wider than the viewport and dragging the
   whole page with it. Every paragraph appeared clipped as a result. */
@media(max-width:760px){
  .agy-stat-row{display:grid;grid-template-columns:1fr 1fr;
    border-top:1px solid var(--line-d);margin-top:1.4rem}
  .agy-stat{min-width:0;padding:.9rem .75rem;
    border-right:1px solid rgba(255,255,255,.1);
    border-bottom:1px solid rgba(255,255,255,.1)}
  .agy-stat:nth-child(2n){border-right:none}
  .agy-stat:nth-child(n+3){border-bottom:none}
  .agy-stat-num{font-size:1.5rem}
}
/* belt-and-braces: nothing on the site may force sideways scroll */
@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  .agy-prev-wrap{padding-left:1.4rem!important;padding-right:1.4rem!important}
}

/* ── 2. HERO: drop the floating listing card on phones, text left ──
   Oscar: remove the little listing box and left-align the wording. */
@media(max-width:900px){
  .hc-cap{display:none}
  .hci{max-width:100%}
  .hcon{text-align:left;padding-left:1.4rem;padding-right:1.4rem}
  .ht,.hsub,.hflag{text-align:left;margin-left:0;margin-right:0}
  .hsub{max-width:100%}
  .hero-cta{justify-content:flex-start}
}

/* ── 3. why-invest chart boxes: centre them ── */
.wi-chart-box{max-width:820px;margin-left:auto;margin-right:auto}
.wi-chart-canvas{margin:0 auto}
@media(max-width:760px){
  .wi-chart-box{padding:1.4rem 1rem}
  .wi-chart-canvas{height:300px}
}

/* Global mobile overflow guard — flex/grid children may shrink below
   their content width so no row can force sideways page scroll. */
@media(max-width:900px){
  .stat-strip>*,.sbar-item,.reach-item,.agy-stat,.cd-item,
  .mm-item,.ht-item,.fitem,.about-points>*{min-width:0}
  .stats-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ── sellers "How We Market" gallery: 4-frame layout ──
   The tall 3:4 frame previously sat in a single row beside two 4:3 frames,
   so it forced the row height and left a large empty gap beneath them
   (visible in Oscar's screenshot). It now spans both rows, with the wide
   4th frame filling the space underneath. */
@media(min-width:901px){
  .sell-gal{grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:auto auto;align-items:stretch}
  .sg-frame.tall{grid-column:1;grid-row:1 / 3;aspect-ratio:auto;height:100%;min-height:520px}
  .sell-gal>.sg-frame:not(.tall):not(.wide):nth-of-type(2){grid-column:2;grid-row:1}
  .sell-gal>.sg-frame:not(.tall):not(.wide):nth-of-type(3){grid-column:3;grid-row:1}
  .sg-frame.wide{grid-column:2 / 4;grid-row:2;aspect-ratio:16/7}
}
@media(max-width:900px){
  .sg-frame.wide{grid-column:1/-1;aspect-ratio:16/9}
}

/* ── Santo Domingo: per-area listing sections ── */
.sd-area{margin-bottom:3rem}
.sd-area:last-child{margin-bottom:0}
.sd-area-head{max-width:1360px;margin:0 auto 1.2rem;padding-bottom:.7rem;
  border-bottom:1px solid var(--hair)}
.sd-area-name{font-family:var(--fh);font-size:1.55rem;font-weight:500;
  letter-spacing:.03em;color:var(--ink);margin:0 0 .3rem}
.sd-area-desc{font-family:var(--fb);font-size:.88rem;line-height:1.6;
  color:var(--t3);margin:0;max-width:62ch}
@media(max-width:700px){
  .sd-area{margin-bottom:2.2rem}
  .sd-area-name{font-size:1.3rem}
}

/* ── Santo Domingo area selector (destination page + properties zone) ── */
.area-sel-wrap{display:block;max-width:420px;margin:0 auto 2rem}
.area-sel-lbl{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--t3);margin-bottom:.45rem;font-family:var(--fb);font-weight:600;text-align:center}
.area-sel{width:100%;padding:.85rem 1rem;font-family:var(--fb);font-weight:600;
  font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
  background:#fff;border:1px solid var(--hair);border-bottom:2px solid var(--red);
  appearance:none;cursor:pointer;text-align:center;text-align-last:center;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23ED2127' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center}
.area-sel:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.sd-area-empty{grid-column:1/-1}

/* ═══════════════════════════════════════════════════════════
   TEAM — team.html + homepage team section
   ═══════════════════════════════════════════════════════════ */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1.4rem;max-width:1360px;margin:0 auto}
.team-card{background:#fff;border:1px solid var(--hair);box-shadow:var(--sh);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--sh2)}
/* lead card = wider, photo beside the bio */
.team-card-lead{grid-column:1/-1;flex-direction:row;align-items:stretch}
.team-photo{position:relative;overflow:hidden;background:var(--ir2)}
.team-card-lead .team-photo{flex:0 0 40%;max-width:420px}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;
  display:block;transition:transform 1.4s var(--ease)}
.team-card:hover .team-photo img{transform:scale(1.04)}
.team-body{padding:2.2rem;display:flex;flex-direction:column;gap:.55rem}
.team-role{font-family:var(--fb);font-size:.66rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red)}
.team-name{font-family:var(--fh);font-size:2rem;font-weight:500;letter-spacing:.02em;
  color:var(--ink);margin:.1rem 0 .5rem}
.team-bio{font-family:var(--fb);font-size:.92rem;line-height:1.75;color:var(--t2);margin:0}
.team-meta{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.45rem}
.team-meta li{font-family:var(--fb);font-size:.84rem;color:var(--t2);
  padding-top:.45rem;border-top:1px solid var(--hair)}
.team-meta li span{display:inline-block;min-width:74px;font-size:.64rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--t3)}
.team-links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}

@media(max-width:900px){
  .team-card-lead{flex-direction:column}
  .team-card-lead .team-photo{flex:none;max-width:100%;aspect-ratio:4/3}
  .team-body{padding:1.6rem}
  .team-name{font-size:1.6rem}
}

/* ── Homepage team row — circular portraits (per reference) ── */
.tm-row{display:flex;flex-wrap:wrap;justify-content:center;gap:3rem 4rem;max-width:1100px;margin:0 auto}
.tm-person{display:flex;flex-direction:column;align-items:center;text-align:center;
  max-width:300px;text-decoration:none;color:inherit;
  transition:transform .6s var(--ease)}
.tm-person:hover{transform:translateY(-6px)}
.tm-avatar{display:block;width:200px;height:200px;border-radius:50%;overflow:hidden;
  background:var(--ir2);box-shadow:var(--sh2);margin-bottom:1.4rem;
  transition:box-shadow .6s var(--ease)}
.tm-person:hover .tm-avatar{box-shadow:var(--sh3)}
.tm-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;
  transition:transform 1.2s var(--ease)}
.tm-person:hover .tm-avatar img{transform:scale(1.05)}
.tm-name{font-family:var(--fh);font-size:1.5rem;font-weight:500;letter-spacing:.02em;
  color:var(--ink);line-height:1.2}
.tm-title{font-family:var(--fb);font-size:.66rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red);margin-top:.4rem}
.tm-note{font-family:var(--fb);font-size:.86rem;line-height:1.65;color:var(--t3);margin-top:.7rem}
.tm-cta{font-family:var(--fb);font-size:.66rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);margin-top:1rem;
  border-bottom:1px solid var(--red);padding-bottom:.2rem;
  transition:color .4s var(--ease)}
.tm-person:hover .tm-cta{color:var(--red)}
.tm-person:focus-visible{outline:2px solid var(--red);outline-offset:6px}
@media(max-width:700px){
  .tm-row{gap:2.6rem}
  .tm-avatar{width:160px;height:160px}
  .tm-name{font-size:1.3rem}
}
/* team card names link to the individual profile */
.team-name a{color:inherit;text-decoration:none;transition:color .4s var(--ease)}
.team-name a:hover{color:var(--red)}
.team-photo a{display:block;width:100%;height:100%}
