/* Targeted additions using the existing typeface and muted green/gold palette. */
.site-header{position:sticky;top:0;z-index:40}.page-heading,.content-tabs,.search-tabs,.detail-title{position:static;top:auto}.detail-sidebar{position:static}
.main-nav a,.header-links>a,.arrow-link,.phase-pills a,.search-tabs a{border:1px solid #d5d9cf;border-radius:12px;background:#f3f4ef;padding:8px 12px;min-height:42px;display:inline-flex;align-items:center;gap:8px}
.main-nav a:hover,.header-links>a:hover,.arrow-link:hover,.phase-pills a:hover{background:#e4e9dd;color:#253b30}
.site-header a.current{background:#31463b;color:#fff;border-color:#31463b;box-shadow:inset 0 -3px #c2a66b}.main-nav .submenu a{display:flex}.main-nav .nav-group{align-items:center}.main-nav .submenu-toggle{min-height:42px}
.site-header .nav-inner{gap:7px;padding-block:6px}.main-nav a{font-size:12px;padding:6px 9px}.header-links>a{font-size:12px}
.advisor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.advisor-photo{border-radius:14px;overflow:hidden}.advisor-photo img{object-fit:cover;object-position:center top}
.property-card,.property-image,.carousel-image,.gallery-category,.city-visual,.gallery,.photo-slideshow,.prose-image,.detail-box{border-radius:14px;overflow:hidden}
.photo-slideshow{position:relative;width:100%;touch-action:pan-y;background:#e7e9e2}.photo-slide a{display:block;width:100%;height:100%}.photo-slides,.photo-slide,.photo-empty{width:100%;height:100%}.photo-slide img,.photo-empty img{width:100%;height:100%;object-fit:cover;display:block}.photo-slide[hidden]{display:none!important}
.gallery-slider{aspect-ratio:16/10;height:auto}.card-slider{height:100%;min-height:220px}.category-slider{height:260px}.gallery .photo-controls{bottom:12px}.photo-controls{z-index:5;gap:7px;left:10px;right:10px;bottom:10px}.photo-controls span{padding:4px 9px;background:#183127d9;color:#fff;border-radius:10px;white-space:nowrap;font-size:12px}.photo-controls>button{border-radius:10px;min-width:38px;min-height:38px}.photo-controls>button[data-photo-pause]{min-width:48px}
.property-image{position:relative}.property-image>.card-tags,.property-image>.image-info{pointer-events:none;z-index:2}.property-image>.image-info{bottom:62px}.card-slider .photo-controls{justify-content:center}.card-slider .photo-controls>button{font-size:11px;padding:2px 6px}.carousel-image .photo-slideshow{height:100%}
.slide-caption{position:absolute;inset-inline:10px;bottom:66px;background:#fffE;color:#23372b;padding:8px 12px;border-radius:10px;font-size:12px;margin:0}.focus-center{object-position:center}.focus-top{object-position:center top!important}.focus-bottom{object-position:center bottom!important}.focus-left{object-position:left center!important}.focus-right{object-position:right center!important}
.photo-empty{display:grid;place-items:center;min-height:220px}.photo-empty img{object-fit:contain;max-height:280px}.lightbox img{object-fit:contain}.lightbox p:empty{display:none}.photo-credit{font-size:11px;color:#657064;padding:10px 16px}.photo-credit a{text-decoration:underline}.prose-image img{height:auto;max-height:none;object-fit:contain}
[id^=phase-]{scroll-margin-top:calc(var(--header-height,150px) + 24px)}.prose h2{overflow-wrap:anywhere}.page-content{min-width:0}
.legal-graphic{background:linear-gradient(125deg,#172e28,#30493e);border:1px solid #ac935b;border-radius:14px;padding:32px;color:#fff;max-width:100%;margin-bottom:30px}.legal-graphic>.eyebrow{color:#d5bd86}.legal-graphic>strong{display:block;font-size:clamp(21px,3vw,32px);line-height:1.9;margin:12px 0 24px;overflow-wrap:anywhere}.legal-topics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.legal-topics>span{padding:15px 12px;border:1px solid #b6a47575;border-radius:12px;background:#ffffff09;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.post-cover{height:auto;min-height:230px}.post-cover .legal-graphic{margin:0;padding:20px;height:100%;min-height:230px}.post-cover .legal-graphic>strong{font-size:18px;margin-block:5px 12px}.post-cover .legal-topics{grid-template-columns:1fr 1fr;gap:6px}.post-cover .legal-topics span{font-size:10px;padding:5px}.post-cover .eyebrow{font-size:9px}
.floating-contact{position:fixed;inset-inline-end:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:flex;gap:9px;z-index:60}.floating-contact>a,.floating-contact>button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #9da992;border-radius:50%;background:#253d31;color:#fff;box-shadow:0 3px 10px #0002}.floating-contact svg{width:23px;height:23px}.site-footer{padding-bottom:96px}.site-footer .social-icon{width:19px;height:19px;vertical-align:middle;display:inline-block}
.support-panel{position:fixed;inset-inline-end:16px;bottom:80px;width:min(370px,calc(100vw - 24px));max-height:calc(100dvh - 105px);background:#fcfcf8;border:1px solid #bec8b9;border-radius:16px;box-shadow:0 12px 40px #0003;z-index:65;padding:14px;overflow-y:auto;font-size:13px}.support-panel[hidden]{display:none}.support-heading{display:flex;align-items:center;gap:10px}.support-heading strong{flex:1}.support-heading button{min-width:36px;min-height:36px;border-radius:9px;background:#e9ede4}.support-status{font-size:11px;color:#5a685c;margin:8px 0}.support-messages{max-height:240px;overflow-y:auto;overscroll-behavior:contain;border-block:1px solid #d9dfd3;padding-block:8px}.support-messages p,.admin-chat p{padding:9px 12px;margin:6px 0;border-radius:11px;white-space:pre-wrap;overflow-wrap:anywhere}.support-messages strong,.support-messages span{display:block}.support-messages strong{font-size:10px;margin-bottom:4px}.chat-bot{background:#edf0e7}.chat-visitor{background:#e1ebdf}.chat-admin{background:#f0e8d5}.support-shortcuts{display:flex;gap:8px;margin-block:9px;flex-wrap:wrap}.support-shortcuts button{padding:7px;border:1px solid #c7cfbd;border-radius:9px}.support-panel textarea,.support-panel input{width:100%;box-sizing:border-box;font-size:16px}.support-panel label{display:block}.support-panel form button{min-height:40px;padding:6px 12px}.support-panel details{margin-top:10px}.support-panel details summary{cursor:pointer}.support-error{color:#7b302c;font-size:12px}.support-admin-grid{display:grid;grid-template-columns:260px 1fr;gap:25px}.support-conversation{display:block;padding:14px;border:1px solid #cbd3c0;border-radius:12px;margin-bottom:8px}.support-conversation small,.admin-chat small{display:block}.admin-chat{max-height:500px;overflow:auto}.order-buttons{display:flex;gap:8px}.order-buttons button,[data-order-up],[data-order-down]{min-height:38px;border:1px solid #d1d8c7;padding:5px 10px;border-radius:8px}
@keyframes calmFade{from{opacity:.25}to{opacity:1}}@keyframes calmHorizontal{from{transform:translateX(3%);opacity:.5}to{transform:translateX(0);opacity:1}}@keyframes calmVertical{from{transform:translateY(3%);opacity:.5}to{transform:translateY(0);opacity:1}}@keyframes calmZoom{from{transform:scale(1.035);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes calmRevealX{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}@keyframes calmRevealY{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
.calm-fade{animation:calmFade .5s ease}.calm-horizontal{animation:calmHorizontal .5s ease}.calm-vertical{animation:calmVertical .5s ease}.calm-zoom{animation:calmZoom .5s ease}.calm-reveal-x{animation:calmRevealX .5s ease}.calm-reveal-y{animation:calmRevealY .5s ease}
@media(max-width:1000px){.advisor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-topics{grid-template-columns:1fr 1fr}.support-admin-grid{grid-template-columns:1fr}}
@media(max-width:600px){.legal-graphic{padding:20px}.legal-topics>span{padding:10px;font-size:12px}.floating-contact{gap:7px;bottom:max(12px,env(safe-area-inset-bottom));inset-inline-end:12px}.floating-contact>a,.floating-contact>button{width:44px;height:44px}.support-panel{inset-inline-end:12px;bottom:68px;max-height:min(70dvh,570px)}.support-messages{max-height:180px}.gallery-slider{aspect-ratio:4/3}.photo-controls{gap:4px}.slide-caption{font-size:10px;max-height:62px;overflow:auto}.legal-graphic>strong{font-size:21px}.advisor-grid{gap:14px}.main-nav .nav-inner{padding-bottom:85px}.support-is-open .floating-contact a{visibility:hidden}.property-grid{min-width:0}.wrap{max-width:100%}.support-panel details input{max-width:100%}}
@media(prefers-reduced-motion:reduce){[class*=calm-]{animation:none!important;transition:none!important}}

body:has(.main-nav.open) .floating-contact,body:has(.main-nav.open) .support-panel{visibility:hidden}.keyboard-visible .floating-contact{display:none}.keyboard-visible .support-panel{bottom:8px;max-height:calc(var(--visual-height,70dvh) - 16px)}
.honeypot{left:auto;inset-inline-start:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.support-messages a{text-decoration:underline;text-underline-offset:3px;font-weight:600}

/* Shared navigation frames: compact rows with independent hover/current text. */
.header-main{min-height:78px;gap:16px}
.site-header .shared-nav,.site-header .nav-inner{border:1px solid #d2d9cb;border-radius:14px;background:linear-gradient(115deg,#f5f6f0,#edf1e7);box-shadow:0 3px 12px #273d2905}
.site-header .shared-nav{gap:5px;padding:4px}
.main-nav{border:0;padding-bottom:7px}
.site-header .nav-inner{min-height:44px;gap:3px;padding:4px 8px}
.site-header .nav-inner>a,.site-header .nav-group>a,.site-header .shared-nav>a,.site-header .mobile-links>a{border:0;background:transparent;box-shadow:none;border-radius:8px;color:#627060;padding:4px 8px;min-height:32px;line-height:1.8;font-size:12px;white-space:nowrap}
.site-header .nav-inner a:hover,.site-header .shared-nav>a:hover,.site-header .mobile-links>a:hover{color:#172f24;background:#e5ebde}
.site-header .nav-inner a.current,.site-header .shared-nav>a.current,.site-header .mobile-links>a.current{color:#172f24;background:#dfe7d6;border:0;font-weight:750;box-shadow:inset 0 -2px #b69a61}
.main-nav .submenu-toggle{min-height:32px;min-width:26px;padding:3px;color:#516348}
.main-nav .nav-group{gap:0}
.main-nav .submenu{width:max-content;max-width:min(360px,calc(100vw - 32px));background:transparent;box-shadow:none;padding:7px 0 0;border-top:2px solid #b69a61;transform-origin:top right;animation:menuUnroll .22s ease-out}
.main-nav .submenu a{display:flex;min-height:32px;padding:4px 11px;margin-bottom:4px;border:1px solid #cbd5c2;border-radius:9px;background:#f0f3e9;color:#394e35;white-space:nowrap;line-height:1.8;animation:menuItem .24s ease-out both}
.main-nav .submenu a:nth-child(2){animation-delay:35ms}.main-nav .submenu a:nth-child(3){animation-delay:70ms}.main-nav .submenu a:nth-child(4){animation-delay:105ms}.main-nav .submenu a:nth-child(n+5){animation-delay:140ms}
.main-nav .submenu a:hover,.main-nav .submenu a:focus-visible{background:#dce6d1;color:#162d20}
.main-nav .submenu .sublevel{padding-inline-start:19px}
@keyframes menuUnroll{from{opacity:0;transform:translateY(-7px);clip-path:inset(0 0 90% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes menuItem{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
/* Gallery previews shrink in both dimensions; their original ratio and lightbox remain intact. */
.compact-gallery{width:66.6667%;margin-inline:auto;overflow:visible;background:transparent}
.compact-gallery .photo-slideshow{border-radius:14px;overflow:hidden}
.compact-gallery .photo-slide img{object-fit:cover}
.portrait-gallery{width:min(360px,66.6667%);position:relative;padding-bottom:102px}
.portrait-gallery .photo-slideshow{aspect-ratio:1;border-radius:50%;overflow:visible;background:transparent;margin-bottom:0}
.portrait-gallery .photo-slides{border-radius:50%;overflow:hidden;background:#e7e9e2;border:3px solid #fff;box-shadow:0 0 0 1px #d0d8c7}
.portrait-gallery .photo-slide img{object-position:center top}
.portrait-gallery .slide-caption{display:none}
.portrait-name{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);width:max-content;max-width:100%;text-align:center;background:#e7eddd;border:1px solid #c8d1bc;border-radius:10px;color:#263c2b;padding:5px 15px;font-size:14px;overflow-wrap:anywhere}
.portrait-gallery .photo-controls{bottom:-94px;justify-content:center;left:-30px;right:-30px}
.gallery-slider .photo-controls{justify-content:center}
.gallery-slider .photo-controls>button{min-width:32px;min-height:32px;padding:3px 7px}
.gallery-slider .photo-controls span{font-size:11px;padding:3px 6px}
.advisor-whatsapp{display:block;text-align:center;background:#2e4939;color:#fff;padding:7px 6px;border-radius:0 0 12px 12px;font-size:12px}
.advisor-whatsapp:hover{background:#1d3728}
.advisor-card{scroll-margin-top:calc(var(--header-height,130px) + 18px)}
.advisor-card:target{outline:2px solid #b59a62;outline-offset:9px;border-radius:14px}
.advisor-photo{display:block}.advisor-card .advisor-photo img{object-fit:cover}
.contact-person{display:flex;align-items:center;justify-content:space-between;gap:14px}
.contact-avatar{flex:0 0 56px}.contact-avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid #d6ddcb}
.office-featured{width:min(1080px,calc(100% - 96px));margin-inline:auto}
.listing-expert{font-size:12px;line-height:1.9;color:#53634c;margin:6px 0}
.carousel-copy .listing-expert{color:#d0dec3}
.team-count{color:#57674d}
@media(max-width:1180px){
 .site-header .header-main{min-height:76px}.site-header .desktop-links{display:none}
 .main-nav.open{max-height:calc(100dvh - 82px)}
 .site-header .nav-inner{padding:8px 10px 12px}
 .site-header .nav-inner>a,.site-header .nav-group>a{font-size:14px;min-height:40px;padding:6px 9px}
 .main-nav .submenu-toggle{min-width:40px;min-height:40px}
 .main-nav .submenu{width:max-content;max-width:100%;margin:0 8px 4px;padding-top:5px;background:transparent;border-top:1px solid #c1a66c}
 .main-nav .submenu a{white-space:normal;font-size:13px;min-height:38px}
 .site-header .mobile-links{gap:5px;padding:8px 0 0;margin-top:7px}
}
@media(max-width:700px){
 .office-featured{width:calc(100% - 42px)}
 .gallery-slider .photo-controls{gap:3px;left:3px;right:3px;bottom:7px}
 .gallery-slider .photo-controls>button{font-size:11px;padding:2px 4px;min-width:29px;min-height:32px}
 .gallery-slider .photo-controls>button[data-photo-pause]{min-width:35px}
 .portrait-gallery{width:min(280px,66.6667%)}
 .portrait-gallery .photo-controls{left:-16px;right:-16px;bottom:-94px}
 .portrait-name{font-size:12px;padding:4px 10px}
 .contact-avatar,.contact-avatar img{width:48px;height:48px;flex-basis:48px}
 .contact-person>div{min-width:0}.office-phone a:not(.contact-avatar){font-size:21px}
}
@media(prefers-reduced-motion:reduce){.main-nav .submenu,.main-nav .submenu a{animation:none!important}}
