/* Shared navigation and interaction conventions across the complete site. */
:root{--cap-radius:24px;--cap-control-radius:12px;--cap-pill:999px;--cap-ease:cubic-bezier(.22,1,.36,1)}
.site-skip-link{position:fixed;z-index:500;left:20px;top:-90px;background:#fff;color:#0f1a45;padding:15px 22px;border-radius:12px}.site-skip-link:focus{top:15px}
#header .primary-nav{gap:clamp(12px,1.7vw,27px);font-size:13px}#header .header-main{gap:22px}#header .header-contact,#header .header-client{font-size:13px}
.site-nav-toggle{display:none}.footer-legal{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid #ffffff26;padding-top:24px;margin-top:28px;color:#c9d3e5;font-size:14px}.footer-legal a{padding:9px 0;text-underline-offset:5px}.footer-legal a:hover{text-decoration:underline;color:#80e6e9}
.site-footer .footer-pages{font-size:14px;gap:10px 26px}.site-footer .footer-pages a{padding:8px 0}.primary-nav a[aria-current=page]{opacity:1}.cap-news-card-body>a{display:inline-flex;align-items:center;justify-content:space-between;min-height:44px;width:100%;color:#2551e4;font-size:14px}
@media(max-width:1150px){
 #header .header-main{height:80px;display:flex;flex-wrap:nowrap;gap:14px;justify-content:flex-end}#header .logo{margin-right:auto}#header .logo img{width:165px}
 #header .primary-nav{display:none;position:fixed;top:80px;left:0;right:0;max-height:calc(100dvh - 80px);overflow:auto;margin:0;padding:20px 6% 30px;background:rgba(255,255,255,.98);color:#0f1a45;border-top:1px solid #dbe4f0;box-shadow:0 22px 34px #0f1a4512;flex:none;width:100%;font-size:20px}
 #header[data-menu-open=true] .primary-nav{display:grid;gap:0;animation:site-menu-in .3s ease both}#header .primary-nav a{padding:18px 0;border-bottom:1px solid #e1e8f1;min-height:54px;opacity:1}#header .primary-nav a:after{display:none}
 .site-nav-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;order:5}.site-nav-toggle svg{width:22px;height:22px}.site-nav-toggle .nav-close{display:none}[data-menu-open=true] .site-nav-toggle .nav-open{display:none}[data-menu-open=true] .site-nav-toggle .nav-close{display:block}
 #header[data-menu-open=true]{color:#0f1a45!important;background:rgba(255,255,255,.97)!important}#header[data-menu-open=true] .header-contact{color:#0f1a45!important;border-color:#a4b0c3!important}
}
@media(max-width:600px){#header.site-header{padding:0 16px}#header .header-main{height:72px;gap:9px}#header .logo img{width:120px}#header .header-contact{display:none}#header .header-client{font-size:12px!important;min-height:42px;padding:12px 15px!important;gap:6px}#header .header-client span{display:none}#header .primary-nav{top:72px;max-height:calc(100dvh - 72px)}.site-nav-toggle{width:42px;height:42px}.site-footer .footer-pages{font-size:14px;gap:5px 22px}.footer-legal{gap:8px 24px;font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
@keyframes site-menu-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media(min-width:1151px){#header .mobile-contact-link{display:none}}
#conteudo{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden}#header[data-menu-open=true] .logo img{filter:brightness(0) saturate(100%) invert(14%) sepia(35%) saturate(2300%) hue-rotate(197deg)}
@media(max-width:1150px){#header .header-main{min-height:80px;padding:0}#header .primary-nav{grid-template-columns:1fr;justify-content:stretch;align-items:stretch}#header .primary-nav a{font-size:20px;line-height:1.4;width:100%;text-align:left}#header.site-header[data-menu-open=true]{background:rgba(255,255,255,.98)!important}}
@media(max-width:600px){#header .header-main{min-height:72px;padding:0}#header .header-actions .header-contact{display:none}#header .logo{width:auto}}

/* Rounded frames are reserved for inset, standalone media. */
:root{--photo-radius:24px}
body{--photo-radius:24px}
body :is(.segment-card,.launch-card,.news-photo,.institutional-video,.photo-sequence figure,.tile-photo,.city-panorama,.ed-panorama,.ed-quality-visual,.ed-property-photo,.ed-video-image,.agro-photo,.careers-photo,.property-photo-link,.spotlight-link,.amenity-visual>button,.photo-card,.related-property>div,.gallery-stage,.modal-thumbs button){border-radius:var(--photo-radius)!important;overflow:hidden;clip-path:none}
body :is(.comparison-table th img,.selection-chip img,#gallery-full){border-radius:var(--photo-radius)!important;clip-path:none}
.scale-card [data-count]{font-variant-numeric:tabular-nums;display:inline-block;min-width:1.25em}
.catalog-toolbar{align-items:flex-start;gap:20px}
.quick-filters{flex-wrap:wrap;gap:8px;min-width:0}
.quick-filters button{white-space:nowrap;min-height:44px}
@media(max-width:800px){.catalog-toolbar{flex-direction:column}.quick-filters{width:100%;overflow:visible}.catalog-view{align-self:flex-end}}
/* Removed line selector: the remaining filters share the available width. */
.ed-filter-form{grid-template-columns:1fr 1fr auto}
@media(max-width:800px){.ed-filter-form{grid-template-columns:1fr 1fr}.ed-filter-actions{grid-column:1/-1}}
@media(max-width:560px){.ed-filter-form{grid-template-columns:1fr}}

/* Media reaching a page edge stays square, joining the surrounding sections. */
body .hero,body .property-scene,body .scene-images,body.about-page .film-section .institutional-video{border-radius:0!important;overflow:clip}

/* About film: round the exposed left corners; keep the viewport edge flush. */
body.about-page .film-section .institutional-video{border-radius:var(--photo-radius) 0 0 var(--photo-radius)!important;overflow:hidden}

/* Segment photos follow the card outline, avoiding exposed blue corners. */
body.about-page .business-tile{border-radius:var(--photo-radius);overflow:hidden}
body.about-page .business-tile .tile-photo{border-radius:0!important}
