/* Shared visual system. First declared layer owns intentional legacy overrides. */
@layer realtyProfessional {
 :root{--rp-ink:#173c32;--rp-paper:#f8f6ef;--rp-line:#b9ab8b;--rp-gold:#b59b64;--rp-glass:rgba(249,248,242,.82)}
 html{scroll-padding-top:118px!important}
 html body{color:var(--rp-ink)!important;background-color:#f4f3eb!important;font-family:Arial,Helvetica,sans-serif!important}
 html body::before{display:block!important;content:""!important;position:fixed!important;inset:0!important;z-index:-1!important;pointer-events:none!important;background:linear-gradient(rgba(248,247,240,.86),rgba(241,244,234,.86)),url('/assets/cloud-forest-20261018.webp') center/cover no-repeat!important}
 html body>header{position:sticky!important;top:0!important;z-index:100!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;min-height:100px!important;height:auto!important;padding:12px max(5.5vw,20px)!important;background:linear-gradient(100deg,rgba(249,247,239,.98),rgba(241,238,221,.88)),url('/assets/cloud-forest-20261018.webp') center 40%/cover!important;border:0!important;border-bottom:1px solid #c7b99488!important;box-shadow:0 3px 18px #1a34200a!important;isolation:auto!important}
 html body>header::before,html body>header::after{display:none!important}
 html body>header .brand-logo,html body>header>a:first-child:has(img){display:block!important;position:relative!important;width:350px!important;max-width:42vw!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;flex:0 1 350px!important}
 html body>header .brand-logo img,html body>header>a:first-child>img{display:block!important;width:100%!important;height:auto!important;max-height:82px!important;min-height:0!important;max-width:100%!important;object-fit:contain!important;object-position:left center!important;clip-path:none!important;transform:none!important;filter:none!important}
 html body>header .desktop-costa-rica-flag{width:48px!important;height:36px!important;margin:0 auto 0 -16px!important;object-fit:contain!important}
 html body>header .site-menu-row,html body>header>nav{display:flex!important;align-items:center!important;gap:24px!important;border:0!important;padding:0!important;margin:0!important;width:auto!important;flex-wrap:wrap!important}
 html body>header :where(.header-control,#siteMenuToggle,.lang,nav>a){background:transparent!important;background-image:none!important;color:#234b3d!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;transform:none!important;filter:none!important;min-width:0!important;min-height:44px!important;height:auto!important;width:auto!important;padding:10px 0!important;font:500 14px/1.4 Arial,sans-serif!important;text-decoration:none!important;letter-spacing:.025em!important;display:inline-flex!important;align-items:center!important;gap:6px!important}
 html body>header :where(.header-control,#siteMenuToggle,.lang,nav>a):hover{color:#866c37!important;background:transparent!important}
 html body>header .header-control>span[aria-hidden],html body>header #siteMenuToggle>span[aria-hidden]{display:none!important}
 html body #siteMenuPanel{position:absolute!important;top:100%!important;right:5.5vw!important;left:auto!important;width:min(600px,89vw)!important;max-height:70dvh!important;overflow:auto!important;background:#153b32f7!important;color:white!important;border:1px solid #b59b6480!important;border-radius:4px!important;box-shadow:0 20px 50px #0c281c30!important;padding:24px!important}
 html body #siteMenuPanel[hidden]{display:none!important}
 html body #siteMenuPanel nav{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
 html body #siteMenuPanel nav>a{color:#fffaf0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:48px!important;height:auto!important;width:100%!important;padding:14px!important;margin:0!important;background:transparent!important;border:0!important;border-bottom:1px solid #ffffff24!important;border-radius:0!important;font:15px/1.5 Arial!important;text-decoration:none!important;white-space:normal!important}
 html body #siteMenuPanel nav>a:nth-child(-n+2){font:24px/1.3 Georgia,serif!important;min-height:100px!important}
 html body #siteMenuPanel .site-menu-icon{display:none!important}
 html body #siteMenuPanel nav>a:hover{background:#ffffff10!important}
 html body :where(a,button,select,input):focus-visible{outline:3px solid #a48645!important;outline-offset:4px!important}
 html body :where(a.btn,button.property-share,a.property-return,.property-bottom-actions a,.property-bottom-actions button,.property-exit a,.escazu-invitation-link,#catalogBackTop,.catalog-home-return,.escazu-home-return,.gallery-toggle){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:46px!important;padding:12px 20px!important;border:1px solid #a99770!important;border-radius:3px!important;box-shadow:none!important;text-shadow:none!important;transform:none!important;filter:none!important;font:500 14px/1.4 Arial,sans-serif!important;letter-spacing:.01em!important;text-decoration:none!important;background:#173f33!important;background-image:none!important;color:#fffdf6!important;cursor:pointer!important;max-width:100%!important}
 html body :where(a.btn,button.property-share,.property-exit a,.gallery-toggle):hover{background:#285442!important;color:white!important;border-color:#92783e!important}
 html body :where(.property-exit a,.property-return,.catalog-home-return,.escazu-home-return,#catalogBackTop,a.btn[href^='tel:'],.about-person a.btn){background:rgba(175,74,69,.11)!important;color:#763b37!important;border-color:#b9877d!important}
 html body :where(a.btn[href*='wa.me'],a.btn.wa,.owner-whatsapp,#contactWa){background:rgba(57,132,88,.15)!important;color:#174d32!important;border-color:#83a38c!important}
 html body :where(a.facebook-link,.property-facebook-visit){background:rgba(66,114,167,.13)!important;color:#284f78!important;border-color:#8aa0b6!important}
 html body button.property-share{background:transparent!important;color:#294a3f!important;border-color:#a3ac9d!important}
 html body .persistent-wa{background:#173f33!important;border:1px solid #c6b27c!important;border-radius:3px!important;box-shadow:0 4px 16px #153b3220!important;font:14px Arial!important;padding:14px 18px!important;color:#fff!important;transform:none!important}
 html body[data-view='home'] .hero{min-height:500px!important;height:auto!important;display:flex!important;align-items:center!important;background:#153b32!important}
 html body[data-view='home'] .hero-copy{padding:60px 6%!important;max-width:980px!important;position:relative!important;z-index:2!important}
 html body[data-view='home'] .hero h1{font:400 clamp(40px,4.7vw,66px)/1.08 Georgia,serif!important;letter-spacing:-.025em!important;margin:16px 0 24px!important;color:#fffdf4!important}
 html body[data-view='home'] .hero-copy>p{font-size:17px!important;line-height:1.75!important;max-width:680px!important;color:#f6f4e9!important}
 .realty-hero-actions{display:flex!important;gap:14px!important;flex-wrap:wrap!important;margin-top:30px!important}
 html body .realty-hero-actions>a.btn{background:#f4edda!important;color:#173c32!important;border:1px solid #e2d3ad!important;min-height:50px!important;font-size:15px!important}
 html body .realty-hero-actions>a.secondary{background:rgba(248,246,237,.1)!important;color:#fffdf4!important;border-color:#eee7d3aa!important;backdrop-filter:blur(8px)}
 html body #property-range-summary{background:rgba(249,248,241,.8)!important;background-image:none!important;border-block:1px solid #c5bda377!important;min-height:54px!important;padding:12px 6%!important;backdrop-filter:blur(12px)!important}
 html body #property-range-summary .entry-lot-price>span{color:#173c32!important;font-weight:500!important}
 html body[data-view='home'] :where(#escazu-invitation,#area,#attractions,#nature,.video-section){margin-top:48px!important;margin-bottom:48px!important;border:1px solid #b7ac8d50!important;border-radius:4px!important;box-shadow:0 8px 28px #193c3210!important;background:rgba(250,249,243,.93)!important}
 html body[data-view='home'] :where(#escazu-invitation,#area,#attractions,#nature,#about,.video-section) h2{font:400 clamp(30px,3vw,42px)/1.16 Georgia,serif!important;letter-spacing:-.025em!important;text-wrap:balance!important}
 html body[data-view='home'] :where(#escazu-invitation,#area,#attractions,#nature,#about,.video-section) p{font-size:16px!important;line-height:1.8!important}
 html body[data-view='home'] #home-promo-video{align-items:center!important}
 html body[data-view='home'] #home-promo-video video{background:#183a30!important}
 html body[data-view='home'] #about>.about-person{margin-top:40px!important;background:var(--rp-glass)!important;border:1px solid #b7ac8d70!important;backdrop-filter:blur(16px)!important;box-shadow:none!important;display:grid!important;grid-template-columns:1fr auto!important;column-gap:32px!important;padding:28px 36px!important}
 html body[data-view='home'] #about>.about-person h3{font:30px Georgia!important;margin:0 0 12px!important}
 html body[data-view='home'] #about>.about-person p{grid-column:1!important;margin:0!important;max-width:780px!important}
 html body[data-view='home'] #about>.about-person a{grid-column:2!important;grid-row:1/3!important;align-self:center!important;margin:0!important}
 html body[data-view] #contact{background:transparent!important;border:0!important;box-shadow:none!important;gap:24px!important}
 html body[data-view] #contact>:where(div),html body #contact .owner-invitation-box{background:var(--rp-glass)!important;background-image:none!important;backdrop-filter:blur(16px)!important;border:1px solid #b7ac8d70!important;border-radius:4px!important;box-shadow:none!important;color:#253c34!important;padding:28px!important}
 html body[data-view] #contact :where(h2,h3,label){font:400 29px/1.2 Georgia,serif!important;color:#1f4235!important}
 html body[data-view] #contact :where(p,.note,.contact-links){font-size:16px!important;line-height:1.65!important;color:#344f43!important}
 html body[data-view] #contact select{background:#fffdf7!important;color:#244737!important;border:1px solid #aaa891!important;border-radius:3px!important;min-height:48px!important;font:15px Arial!important;width:100%!important;max-width:100%!important}
 html body[data-view] #contact select option{color:#244737!important;background:#fffdf7!important}
 html body #contact .ai-connect-credit{font-size:12px!important;line-height:1.6!important;opacity:.8}
 html body #properties .intro{padding-top:50px!important;padding-bottom:50px!important}
 html body #properties .property-type-filter{border:1px solid #b7ac8d70!important;background:var(--rp-glass)!important;border-radius:4px!important;padding:24px!important}
 html body #properties article.card[data-property-type]{border:1px solid #b7ac8d50!important;border-radius:4px!important;box-shadow:0 5px 20px #193c3208!important;overflow:hidden!important;background:#fcfbf6!important}
 html body #properties .property-row-summary>img{height:250px!important;object-fit:contain!important;object-position:center!important;background:#e8ece3!important}
 html body #properties .mobile-property-photo-title{font:400 24px/1.25 Georgia,serif!important;text-align:left!important;align-items:flex-start!important;padding:12px 24px 16px!important;min-height:100px!important;color:#1f4235!important}
 html body #properties .property-number{font-size:10px!important;letter-spacing:.14em!important;text-align:left!important;padding:18px 24px 0!important;color:#796b50!important}
 html body #properties .property-photo-facts{padding:12px 24px!important;border:0!important;background:#fcfbf6!important}
 html body #properties .property-actions{padding-inline:24px!important;padding-bottom:24px!important}
 html body #properties .property-actions>a.btn{white-space:normal!important;min-width:180px!important;width:auto!important;background:#173f33!important;color:#fffdf6!important}
 html body #properties :where(.property-expanded-content,.property-row-summary){background:#fcfbf6!important}
 html body.realty-catalog main{max-width:1220px!important;padding-top:44px!important}
 html body.realty-catalog :where(.intro,.contact){background:var(--rp-glass)!important;background-image:none!important;backdrop-filter:blur(14px)!important;border:1px solid #b7ac8d70!important;border-radius:4px!important;padding:40px!important}
 html body.realty-catalog .intro h1{font-size:clamp(34px,4vw,52px)!important;letter-spacing:-.025em!important}
 html body.realty-catalog .grid{gap:32px!important}
 html body.realty-catalog .card{border-radius:4px!important;border:1px solid #b7ac8d50!important;background:#fcfbf7!important;box-shadow:0 8px 28px #193c3210!important}
 html body.realty-catalog .card>a img{aspect-ratio:3/2!important}
 html body.realty-catalog .content{padding:32px!important}
 html body.realty-catalog .content h2{font-size:28px!important;line-height:1.25!important}
 html body.realty-luxury .property-exit{position:static!important;padding:10px 6%!important;box-shadow:none!important;background:#f7f5ed!important;border-color:#c5bda350!important}
 html body.realty-luxury .property-exit a{background:transparent!important;color:#365143!important;border:0!important;min-height:36px!important;padding:6px 0!important;font-size:13px!important}
 html body.realty-luxury .hero{height:74vh!important;min-height:580px!important;max-height:850px!important}
 html body.realty-luxury .hero:after{background:linear-gradient(0deg,rgba(5,27,21,.83),rgba(5,27,21,.12) 72%)!important}
 html body.realty-luxury .hero-content{max-width:1100px!important;padding:48px 6% 72px!important}
 html body.realty-luxury .hero h1{font:400 clamp(36px,4.2vw,60px)/1.1 Georgia,serif!important;letter-spacing:-.02em!important;margin:16px 0 24px!important;text-wrap:balance!important}
 html body.realty-luxury .hero .btn{background:#f4edda!important;color:#163b33!important;border-color:#d7c69a!important}
 html body.realty-luxury .hero .btn.secondary{background:#14382f55!important;color:#fff!important;border-color:#e4dcc3aa!important}
 html body.realty-luxury .facts{background:#173c32!important;padding:28px 6%!important}
 html body.realty-luxury main>section{padding:64px max(6vw,20px)!important}
 html body.realty-luxury .intro{gap:48px!important}
 html body.realty-luxury .features,html body.realty-luxury .property-promo{background:#efeee4!important}
 html body.realty-luxury .contact{background:rgba(249,248,242,.85)!important;color:#173c32!important;border-block:1px solid #b7ac8d70!important;backdrop-filter:blur(16px)!important}
 html body.realty-luxury .gallery{gap:20px!important}
 html body.realty-luxury .photo{border:1px solid #c4bca355!important;border-radius:3px!important;overflow:hidden!important}
 html body.realty-luxury .photo span{padding:14px 16px!important}
 html body .gallery .photo[hidden]{display:none!important}
 html body .gallery-toggle{margin:28px auto 0!important;display:flex!important}
 html body.realty-luxury .sticky{background:#faf8eff2!important;backdrop-filter:blur(16px)!important;box-shadow:0 -3px 16px #173c320b!important;padding:12px 6%!important;border-color:#c2b58d77!important}
 html body.realty-luxury footer{padding-bottom:110px!important}
 html body main.property-detail{max-width:1200px!important;padding:0 24px!important;margin:32px auto!important}
 html body main.property-detail article.card{border:1px solid #b7ac8d70!important;border-radius:4px!important;background:#fcfbf6!important;box-shadow:0 8px 28px #193c3208!important}
 html body main.property-detail h1{font:400 clamp(29px,3.3vw,44px)/1.2 Georgia!important;padding:28px!important;text-align:left!important;letter-spacing:-.02em!important}
 html body main.property-detail :where(.gallery-controls button,.gallery-toolbar button,.photo-zoom-trigger){box-shadow:none!important;border-radius:3px!important;min-height:44px!important}
 html body footer{background:#153b32!important;color:#f0eee2!important;border:0!important;font-size:13px!important;line-height:1.7!important}
 @media(max-width:1000px){html body>header .site-menu-row,html body>header>nav{gap:14px!important}html body>header .desktop-costa-rica-flag{display:none!important}}
 @media(max-width:800px){
  html{scroll-padding-top:108px!important}
  html body>header{padding:10px 5%!important;min-height:90px!important;gap:8px!important;flex-wrap:wrap!important}
  html body>header .brand-logo,html body>header>a:first-child:has(img){width:240px!important;max-width:64vw!important;flex:0 1 240px!important}
  html body>header .brand-logo img,html body>header>a:first-child>img{height:auto!important;max-height:70px!important}
  html body>header :where(.header-control,#siteMenuToggle,.lang,nav>a){font-size:12px!important;min-height:44px!important}
  html body>header .site-menu-row{gap:12px!important;margin-left:auto!important}
  html body>header .header-home{display:none!important}
  html body>header>nav{width:100%!important;justify-content:space-between!important;gap:8px!important}
  html body #siteMenuPanel{right:5vw!important;width:90vw!important;padding:18px!important}
  html body #siteMenuPanel nav{grid-template-columns:1fr!important}
  html body #siteMenuPanel nav>a:nth-child(-n+2){min-height:64px!important;font-size:22px!important}
  html body[data-view='home'] .hero{min-height:480px!important}
  html body[data-view='home'] .hero-copy{padding:40px 6%!important}
  html body[data-view='home'] .hero h1{font-size:42px!important}
  .realty-hero-actions{flex-direction:column!important;gap:12px!important}
  html body .realty-hero-actions>a.btn{width:100%!important;font-size:14px!important}
  html body[data-view='home'] :where(#escazu-invitation,#area,#attractions,#nature,.video-section){margin-top:28px!important;margin-bottom:28px!important}
  html body[data-view='home'] #about>.about-person{display:block!important;padding:26px!important}
  html body[data-view='home'] #about>.about-person a{margin-top:20px!important}
  html body[data-view] #contact{grid-template-columns:1fr!important}
  html body #properties .mobile-property-photo-title{min-height:0!important}
  html body.realty-catalog :where(.intro,.contact){padding:28px 22px!important}
  html body.realty-catalog .content{padding:24px!important}
  html body.realty-luxury .hero{height:auto!important;min-height:580px!important;max-height:none!important}
  html body.realty-luxury .hero-content{padding:48px 6%!important}
  html body.realty-luxury .hero h1{font-size:38px!important}
  html body.realty-luxury main>section{padding:40px 6%!important}
  html body.realty-luxury .gallery{gap:12px!important}
  html body main.property-detail{padding:0 14px!important;margin:20px auto!important}
 }
 @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
}

@layer realtyProfessional { html body.realty-luxury .hero button.property-share{color:#fffdf4!important;background:#14382f88!important;border-color:#e4dcc3aa!important} }
@layer realtyProfessional {
 html body>header{max-height:none!important;overflow:visible!important}
 @media(max-width:800px){
  html body{padding-top:0!important}
  html body>header .site-menu-row{width:100%!important;justify-content:flex-end!important;min-height:44px!important;margin:0!important}
  html body>header #lang{font-size:12px!important;min-width:64px!important;color:#234b3d!important}
  html body>header #lang::before,html body>header #lang::after{content:none!important;display:none!important}
  html body.realty-luxury .hero:after{background:linear-gradient(0deg,rgba(5,27,21,.85),rgba(5,27,21,.42))!important}
 }
}
