.city-carousel{min-height:530px;overflow:hidden}.city-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}.city-slide.is-active{opacity:1}.city-slide .home-hero__image{object-position:center 59%;transform:scale(1.035)}.city-slide.is-active .home-hero__image{animation:city-pan 9s ease-out both}.home-hero__content{padding-top:65px;padding-bottom:110px}.hero-explore{display:inline-flex;color:#fff;border:1px solid #fff8;background:transparent}.hero-explore:hover{background:white;color:var(--purple)}.city-controls{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:18px}.city-controls>div{display:flex;align-items:center;gap:6px}.city-controls button{min-width:44px;min-height:44px;border:1px solid #fff6;background:#21173670;color:#fff;cursor:pointer;font:inherit;font-size:13px}.city-controls>a{font-size:10px;color:#fff;text-underline-offset:4px}.search-section{background:#f7f6f9;padding:33px 0 25px;border-bottom:1px solid #e8e4ee;scroll-margin-top:125px}.search-section .eyebrow{font-size:11px;margin-bottom:17px}.search-section .hero-search{box-shadow:0 6px 20px #28176808}.search-section .hero-shortcuts a{color:var(--purple);border-color:#d8d2e5;background:white}.search-section .hero-shortcuts a:hover{background:var(--purple);color:white}.search-section .hero-map-link{background:none;border:0}.site-header #principal>ul>li{position:relative}.nav-disclosure{border:0;background:none;min-width:26px;min-height:44px;color:var(--purple);cursor:pointer;font-size:18px;padding:0 4px;vertical-align:middle}.site-header .property-submenu{position:absolute;top:100%;left:-16px;background:white;box-shadow:0 10px 28px #21173620;min-width:220px;padding:12px 0;border-top:2px solid var(--purple);display:block;z-index:800}.site-header .property-submenu[hidden]{display:none}.site-header .property-submenu li{display:block}.site-header .property-submenu a{display:block;padding:12px 18px!important;font-size:11px;white-space:nowrap}.site-header .property-submenu a:hover{background:#f2eef9}.company-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;margin:35px 0 60px}.company-intro .entry-content{font-size:17px;line-height:1.9}.company-portrait{margin:0;border-left:4px solid var(--purple);padding-left:24px}.company-portrait img{width:100%;height:auto;max-height:520px;object-fit:cover;object-position:top}.company-portrait figcaption{font-size:11px;margin-top:12px;color:#666}.company-services{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:36px}.company-services section{padding:28px;background:#f8f7fa;border-top:1px solid #ddd5ed}.company-services h2{font-size:25px;margin:20px 0}.company-services p{font-size:14px;line-height:1.9}.company-services .corso-ico{width:32px;height:32px;color:var(--purple)}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px}.editorial-index .page-heading>p:last-child{max-width:700px;color:#666;margin:20px 0 0}.editorial-index .page-heading{margin-bottom:40px}.news-card{border:1px solid #ece8f1;background:white;box-shadow:none;overflow:hidden;display:flex;flex-direction:column}.news-cover{display:block;aspect-ratio:16/10;overflow:hidden;background:#f3f0f7}.news-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.news-cover:hover img{transform:scale(1.025)}.news-card .card-content{padding:28px 30px;flex:1;display:flex;flex-direction:column}.news-category{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--purple);font-weight:500;margin:0 0 8px}.news-card time{font-size:11px;color:#666}.news-card h2{font-size:27px;line-height:1.35;margin:15px 0}.news-card h3{font-size:23px;margin:0;line-height:1.5}.news-card h2 a,.news-card h3 a{text-decoration:none;color:#252525}.news-card .card-content>p:not(.news-category){font-size:14px;line-height:1.8;color:#555}.news-card .text-link{margin-top:auto;padding-top:18px;display:flex;align-items:center;gap:12px;font-size:12px}.article-heading{max-width:900px;margin:0 auto 32px}.article-heading>.text-link{font-size:12px}.article-heading .eyebrow{margin-top:38px}.article-heading h1{line-height:1.2;font-size:clamp(2rem,4vw,3.4rem);margin:15px 0 24px}.article-excerpt{font-size:19px;line-height:1.7;color:#666}.article-date{font-size:11px;color:#666}.article-cover{max-width:1000px;margin:0 auto 45px}.article-cover>img{display:block;width:100%;max-height:530px;object-fit:cover}.photo-credit{font-size:10px;color:#666;padding-top:10px}.article-content{max-width:760px;margin:auto;font-size:17px;line-height:1.95}.article-content h2{font-size:29px;line-height:1.4;margin:40px 0 18px}.article-content li{margin:10px 0}.article-content details,.article-content .archive-note{padding:22px;background:#f5f2f9;border-left:3px solid var(--purple);font-size:14px;margin:25px 0}.article-content summary{font-weight:500;cursor:pointer}.article-content .editorial-cta{padding:25px;background:#f5f2f9}.related-news{border-top:1px solid #eee}.wa-widget{position:fixed;bottom:23px;right:23px;z-index:700;display:flex;align-items:center;gap:12px}.wa-widget .floating-wa{position:static;background:#14783f;flex:none;width:54px;height:54px;animation:wa-attention 1.4s ease 2}.wa-widget .floating-wa:hover{background:#0c6030}.wa-invitation{display:flex;align-items:center;gap:8px;background:white;padding:10px 10px 10px 16px;box-shadow:0 3px 18px #1a0d3920;border:1px solid #ebe7f0;line-height:1.5}.wa-invitation>a{font-size:12px;text-decoration:none;color:#333}.wa-invitation strong{font-weight:500;color:var(--purple)}.wa-invitation button{min-width:36px;min-height:44px;background:white;border:0;color:#666;font-size:22px;cursor:pointer}.wa-invitation[hidden]{display:none}button:focus-visible,a:focus-visible{outline:3px solid #9a83d4;outline-offset:4px}@keyframes city-pan{from{transform:scale(1.035)}to{transform:scale(1)}}@keyframes wa-attention{50%{box-shadow:0 0 0 9px #14783f1a}}
@media(max-width:1000px){.company-intro{gap:35px}.company-services{gap:18px}.company-services section{padding:20px}.site-header ul{gap:10px}}
@media(max-width:760px){.city-carousel{min-height:480px}.home-hero__content{padding:48px 0 115px}.home-hero h1{font-size:34px}.home-hero__intro{font-size:15px}.city-controls{bottom:18px;align-items:flex-start;flex-direction:column;gap:8px}.city-controls>a{font-size:9px}.search-section{padding:26px 0 20px}.search-section .hero-search{margin:0}.site-header .property-submenu{position:static;box-shadow:none;border-top:0;border-left:2px solid #ddd3f0;margin:0 12px 12px;padding:0;min-width:0}.site-header .property-submenu a{padding-left:24px!important}.nav-disclosure{position:absolute;right:8px;top:0;min-width:44px}.site-header #principal>ul>li{width:100%}.company-intro{grid-template-columns:1fr;gap:30px;margin:30px 0}.company-intro .entry-content{font-size:16px}.company-portrait{max-width:500px;width:100%;padding-left:18px}.company-services{grid-template-columns:1fr;margin:35px 0}.news-grid{grid-template-columns:1fr;gap:28px}.news-card .card-content{padding:23px}.news-card h2{font-size:25px}.article-excerpt{font-size:17px}.article-content{font-size:16px}.article-content h2{font-size:25px}.article-cover{margin-bottom:30px}.article-heading .eyebrow{margin-top:25px}.wa-widget{right:14px;bottom:14px;flex-direction:column;align-items:flex-end;gap:8px}.wa-widget .floating-wa{width:49px;height:49px}.wa-invitation{max-width:245px}}
@media(prefers-reduced-motion:reduce){.city-slide,.news-cover img{transition:none}.city-slide.is-active .home-hero__image,.wa-widget .floating-wa{animation:none;transform:none}}
@media print{.wa-widget,.city-controls{display:none!important}}

/* Ajustes verificados con Lighthouse: contraste y separación táctil. */
.service-band span{color:#595959}.site-footer p>a,.site-footer .footer-link{display:inline-block;min-height:32px;padding:4px 0}.contact-panel p>a{display:inline-flex;align-items:center;min-height:44px}.contact-panel .button+p{margin-top:12px}.footer-bottom a{display:inline-block;padding:8px 0}.nav-disclosure{min-width:30px}@media(max-width:760px){.nav-disclosure{min-width:44px}}

.site-header #principal .property-submenu[hidden]{display:none!important}

.site-footer .footer-link{display:block;width:fit-content;min-height:34px;padding:5px 0}.contact-map-section{position:relative;display:block;min-height:440px;padding:55px 60px;overflow:hidden;background:#f2f1f5;border:1px solid #e9e5ef}.office-map{position:absolute;inset:0;opacity:.5;filter:grayscale(1);pointer-events:none;z-index:0}.office-map img{max-width:none!important}.office-map-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fffffff7 0%,#fffffff0 37%,#ffffff20 75%);pointer-events:none}.office-copy{position:relative;z-index:2;max-width:520px}.office-copy h2{font-size:36px}.office-copy .text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:12px}.office-attribution{position:absolute;right:12px;bottom:8px;z-index:3;background:#fff;padding:5px 9px;color:#444!important;font-size:11px!important;min-height:28px;text-decoration:none}.contact-section{padding-bottom:65px}@media(max-width:760px){.contact-map-section{padding:35px 24px 100px;min-height:500px}.office-map-overlay{background:linear-gradient(180deg,#fffffff5 0%,#fffffff0 62%,#ffffff20 100%)}.office-copy h2{font-size:30px}.contact-section{padding-bottom:45px}.office-copy .button{padding:13px 18px;font-size:10px}}

.site-header .nav-disclosure{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 3px;border:0;vertical-align:baseline;font-family:inherit;font-size:11px;font-weight:400;letter-spacing:.055em;text-transform:uppercase;line-height:1;color:var(--ink)}.nav-disclosure svg{flex:none;transition:transform .2s}.nav-disclosure[aria-expanded=true]{color:var(--purple)}.nav-disclosure[aria-expanded=true] svg{transform:rotate(180deg)}.site-header .property-submenu .all-properties{font-weight:500;border-bottom:1px solid #eee;margin-bottom:5px}.filters .button{height:46px;min-height:46px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;margin:0}.filters .clear-filters{border:1px solid #bfb6d1;background:#fff;color:var(--purple);padding:12px 18px;font-size:10px;text-decoration:none}.filters .clear-filters:hover{background:#eee8f7}.filters input,.filters select{height:46px;box-sizing:border-box}.related-properties{border-top:1px solid #e5e0eb;margin-top:65px;padding-top:50px}.related-properties .section-heading h2{font-size:30px}.related-properties .corso-card__title{font-size:19px}@media(max-width:760px){.site-header #principal .nav-disclosure{position:static;display:flex;width:100%;justify-content:space-between;padding:12px;font-size:12px;min-height:48px}.filters>.button{flex:1;min-width:110px}.filters{padding:18px;gap:12px}.related-properties{margin-top:40px;padding-top:35px}.related-properties .section-heading h2{font-size:26px}}

.contact-office{margin-top:35px}.contact-office h2{font-size:25px;margin-bottom:18px}.contact-page-map{height:320px;width:100%;border:1px solid #ddd6e8;background:#f5f3f8;z-index:1}.contact-page-map img{max-width:none!important}.contact-office>.text-link{display:inline-flex;min-height:44px;align-items:center;font-size:12px;margin-top:8px}.contact-layout>.entry-content{min-width:0}.contact-page-map .leaflet-control-attribution{font-size:10px}@media(max-width:760px){.contact-page-map{height:300px}}

/* Refinamientos de identidad y accesibilidad. */
.site-header #principal .property-submenu{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:330px;padding:16px;border:1px solid #e7e0f0;border-top:3px solid var(--purple);box-shadow:0 12px 32px #28176820;left:-20px}.site-header .property-submenu .submenu-all{grid-column:1/-1}.site-header #principal .property-submenu a{display:flex;align-items:center;gap:10px;padding:13px 12px!important;background:#f8f6fb;min-height:54px;text-transform:none;letter-spacing:0;font-size:12px;border:1px solid #eee9f4;white-space:normal}.site-header #principal .property-submenu .all-properties{background:var(--purple);color:#fff;border:0;font-size:11px;min-height:44px;margin:0;justify-content:space-between}.property-submenu .all-properties:after{content:'→';font-size:17px}.site-header #principal .property-submenu a:hover,.site-header #principal .property-submenu a:focus-visible{background:#eae3f5;color:var(--purple)}.property-submenu .corso-ico{width:23px;height:23px;flex:none;color:var(--purple)}.hero-search,.filters{border:1px solid #e1dbea;border-top:3px solid #49318c;border-radius:4px;background:#f9f8fb;box-shadow:0 5px 22px #28176806}.hero-search{background:white;padding:15px}.hero-search input,.filters input,.filters select{border-radius:3px;border-color:#d6cde0}.hero-search .button,.filters .button{border-radius:3px}.hero-search input:focus,.hero-search select:focus,.filters input:focus,.filters select:focus{outline:2px solid #8b76b4;outline-offset:2px}.filters label{color:#4e435e;font-weight:400}.filters .clear-filters{box-shadow:none}.corso-card__ph,.corso-card__ph span{color:#51495e!important;background:#f2eff6!important}.result-count a,.article-content a,.entry-content p a{text-decoration:underline;text-underline-offset:3px}.inquiry-card p>a{display:inline-flex;align-items:center;min-height:44px}.inquiry-card>.button+p{margin-top:12px}.site-footer{padding-top:32px}.site-footer h2{font-size:13px;margin-bottom:12px}.site-footer p{margin:0 0 8px;line-height:1.65}.site-footer p>a,.site-footer .footer-link{min-height:28px;padding:3px 0;line-height:1.65}.site-footer .footer-link{display:block}.footer-logo{width:140px;margin-bottom:12px}.footer-grid{gap:30px;padding-bottom:20px}.footer-bottom{padding:12px 0;gap:20px}.footer-bottom a{padding:5px 0}.office-marker span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:3px solid white;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);background:#281768;color:white;font:500 21px Arial;box-shadow:0 3px 12px #28176855}.office-marker{background:transparent;border:0}.contact-page-map{height:350px;border-radius:4px;border-color:#dcd4e8;box-shadow:0 6px 22px #2817680a}.contact-page-map .leaflet-popup-content{font:12px/1.7 Montserrat,Arial,sans-serif;color:#342743}.contact-page-map .leaflet-popup-content-wrapper{border-radius:5px}.contact-office>.text-link{background:#f3eff9;padding:8px 14px;border:1px solid #e6dff0;border-radius:3px;margin-top:12px}.contact-office{border-top:1px solid #e7e0ed;padding-top:24px}.contact-office h2{font-size:24px}.contact-page-map .leaflet-control-attribution a{color:#281768;text-decoration:underline}@media(max-width:760px){.site-header #principal .property-submenu{position:static;min-width:0;grid-template-columns:1fr 1fr;gap:7px;margin:0 8px 16px;padding:10px;box-shadow:none;border:1px solid #e7e0f0;border-top:2px solid var(--purple)}.site-header #principal .property-submenu a{font-size:11px;gap:8px;padding:12px 9px!important;min-height:54px}.property-submenu .corso-ico{width:20px;height:20px}.footer-grid{grid-template-columns:1.25fr 1fr;gap:18px}.footer-grid>div:first-child{grid-column:1/-1}.site-footer a{overflow-wrap:anywhere}.site-footer p,.site-footer a{font-size:11px}.site-footer{padding-top:26px}.footer-bottom{padding-bottom:76px;gap:12px}.footer-logo{margin-bottom:8px}.contact-page-map{height:320px}.hero-search{padding:12px}}

.office-marker span{transform:none;border-radius:50%}.office-marker:after{content:"";position:absolute;bottom:1px;left:16px;border:5px solid transparent;border-top-color:#281768}

.contact-map-heading{padding:14px 18px;background:#281768;color:#fff;border-radius:4px 4px 0 0;display:flex;flex-direction:column;gap:3px}.contact-map-heading span{font-size:14px;font-weight:500}.contact-map-heading small{font-size:11px;color:#f0eafa}.contact-google-map{height:350px;background:#f2eff7;border:1px solid #dcd4e8;border-top:0;border-radius:0 0 4px 4px;overflow:hidden}.contact-google-map iframe{display:block;width:100%;height:100%;border:0}.contact-office>.text-link{width:100%;justify-content:center}.site-footer{padding-top:25px}.footer-grid{padding-bottom:14px}.site-footer h2{margin-bottom:9px}.site-footer p{margin-bottom:5px}@media(max-width:760px){.contact-google-map{height:320px}.contact-map-heading{padding:12px 15px}}

/* Sugerencias y galería accesible */
.smart-form{position:relative;overflow:visible!important}.smart-results{position:absolute;z-index:90;background:white;border:1px solid #d9d4e5;border-radius:8px;box-shadow:0 16px 38px #28176826;color:#241c35;padding:10px;max-height:440px;overflow:auto;text-align:left}.smart-results[hidden]{display:none}.smart-status{font-size:13px;line-height:1.4;margin:4px 8px 10px}.smart-option{display:flex;gap:12px;align-items:center;padding:9px;border-radius:5px;text-decoration:none!important;color:#241c35!important;border-bottom:1px solid #eeeaf5;min-height:76px}.smart-option[aria-selected=true],.smart-option:hover,.smart-option:focus{background:#eee9f8;outline:2px solid #281768;outline-offset:-2px}.smart-option img,.smart-no-photo{width:72px;height:58px;object-fit:cover;border-radius:4px;flex-shrink:0}.smart-no-photo{display:grid;place-items:center;background:#eeedf2;font-size:11px}.smart-option strong{display:block;font-size:14px;line-height:1.3}.smart-option small{display:block;font-size:12px;line-height:1.5;color:#51495e}.smart-all{display:block;width:100%;min-height:44px;border:0;background:#281768;color:white;border-radius:4px;margin-top:8px;font:inherit;font-size:14px;cursor:pointer}.gallery-open{overflow:hidden}.lightbox{position:fixed;width:min(1200px,96vw);max-width:96vw;height:auto;max-height:94vh;padding:58px 56px 22px;background:#17131f;color:white;border:0;border-radius:8px}.lightbox::backdrop{background:#100b1de8}.lightbox img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;margin:auto;object-fit:contain;touch-action:pan-y}.lightbox p{text-align:center;font-size:14px;margin:14px 0 0}.lightbox button{color:white;background:#352b48;border:1px solid #a397b8;min-width:44px;min-height:44px;border-radius:5px;cursor:pointer}.lightbox-close{position:absolute;right:12px;top:8px;padding:0 12px}.lightbox-prev,.lightbox-next{position:absolute;top:47%;font-size:34px;line-height:1}.lightbox-prev{left:6px}.lightbox-next{right:6px}.lightbox button:focus-visible{outline:3px solid white;outline-offset:3px}@media(max-width:600px){.lightbox{padding:60px 8px 64px}.lightbox img{max-height:65vh}.lightbox-prev,.lightbox-next{top:auto;bottom:10px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox p{font-size:12px}.smart-results{max-height:360px}.smart-option{gap:8px;padding:8px 5px}}

.smart-open .wa-widget{visibility:hidden}.smart-all{position:sticky;bottom:0}

.site-footer .footer-link{margin:0;min-height:28px;line-height:20px;padding:4px 0}.site-footer .footer-link:last-child{margin:0}.error-home{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;min-height:590px;padding-top:65px;padding-bottom:80px}.error-illustration{position:relative;display:flex;align-items:center;justify-content:center;color:#281768;border-radius:50%;aspect-ratio:1;background:radial-gradient(circle,#f0ebf9 0%,#faf8fd 64%,white 65%)}.error-illustration>span{font-size:130px;font-weight:500;line-height:1}.error-illustration svg{width:130px;height:190px}.error-route{position:absolute;width:60%;height:60px;border-bottom:2px dashed #9c8ab9;border-right:2px dashed #9c8ab9;border-radius:0 0 40px 0;left:12%;bottom:8%}.error-copy h1{font-size:42px;line-height:1.14}.error-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#5d5368}.error-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.error-actions .button{display:inline-flex;align-items:center;gap:10px;font-size:11px;padding:14px 20px}.error-search label{display:block;font-size:13px;margin-bottom:8px}.error-search>div:not(.smart-results){display:flex;gap:8px}.error-search input{width:100%;min-width:0;padding:12px;font-size:13px;border:1px solid #b9afc9;border-radius:3px}.error-search .button{padding:12px 18px;font-size:11px}@media(max-width:760px){.site-footer .footer-link{min-height:32px;line-height:20px;padding:6px 0;margin:0}.error-home{grid-template-columns:1fr;gap:25px;padding-top:28px;padding-bottom:45px;min-height:0}.error-illustration{width:230px;margin:auto}.error-illustration>span{font-size:80px}.error-illustration svg{width:85px;height:130px}.error-copy h1{font-size:32px}.error-actions{gap:8px;margin:20px 0}.error-actions .button{padding:12px 14px;font-size:10px}}

.error-illustration>svg{width:130px!important;height:190px!important;max-width:none;flex:none}@media(max-width:760px){.error-illustration>svg{width:85px!important;height:130px!important}}

.error-home .error-illustration>svg{max-width:none!important;max-height:none!important}

.property-empty-photo{max-width:760px;margin:28px auto 45px}.property-empty-photo img{width:100%;height:auto;max-height:430px;object-fit:contain}.corso-card .corso-missing-photo{object-fit:contain;background:#f6f4fa}.smart-option .corso-missing-photo{object-fit:contain;background:#f6f4fa}.lightbox .corso-missing-photo{object-fit:contain}
