/* Calderón: rojo, negro y blanco. Normal y Grande son las únicas escalas. */
html[data-public-theme="light"]{--page:#fff;--panel:#fff;--panel-soft:#f4f4f4;--text:#111;--secondary:#565656;--border:#ddd;--accent-text:#c60000;--cta:#e00000;--red:#e00000;--red-dark:#c60000;--wine:#111;--wine-deep:#111;--header:84px;font-size:100%}
html[data-text-size="large"]{font-size:125%;--header:104px}
html[data-public-theme] .hero-glow,html[data-public-theme] .scroll-progress,html[data-public-theme] .hero::before,html[data-public-theme] .section-services::before,html[data-public-theme] .section-about::before,html[data-public-theme] .listing-section::before,html[data-public-theme] .detail-content-section::before,html[data-public-theme] .related-section::before{display:none}
html[data-public-theme] .nav-cta:hover,html[data-public-theme] .btn-red:hover{background:#c60000;color:#fff}
html[data-public-theme] .site-header{height:var(--header);background:#fff;backdrop-filter:none;border-bottom:1px solid #e5e5e5}
.nav-shell{height:var(--header);grid-template-columns:auto 1fr auto;gap:20px}
.brand{height:auto;width:auto;gap:10px;min-width:0}.brand-wordmark{max-width:13rem}.brand-wordmark strong{font-size:.77rem;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip}.brand-wordmark small{font-size:.56rem;letter-spacing:.05em}
html[data-public-theme] .brand-symbol,html[data-public-theme] .brand-logo{width:62px;height:62px;flex:0 0 62px;object-fit:contain;aspect-ratio:1;transform:none;filter:none;background:#fff;border-radius:0}
.main-nav{justify-self:center}.main-nav a{font-size:.82rem;padding-inline:9px}.nav-actions{gap:16px}.desktop-nav-cta{padding:13px 19px;font-size:.8rem;border-radius:4px}
.text-size-controls{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:.69rem;line-height:1.2}
.text-size-controls>span{margin-right:5px;color:#555}
.text-size-controls button{font:inherit;font-weight:700;background:#fff;color:#111;border:1px solid #d4d4d4;min-height:44px;padding:8px;border-radius:3px;cursor:pointer}
.text-size-controls button[aria-pressed="true"]{background:#111;border-color:#111;color:#fff}
.text-size-controls button:focus-visible,.editorial-search-form :focus-visible{outline:3px solid #e00000;outline-offset:3px}
html[data-public-theme] .landing-brand{display:block;width:140px;height:auto;max-width:100%;border:0;box-shadow:none;border-radius:0;background:#fff}
html[data-public-theme] .landing-brand img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;transform:none;filter:none}
html[data-public-theme] .landing-brand--footer{width:128px}.footer-brand-link{display:block;width:max-content;max-width:100%;margin-bottom:24px}
html[data-public-theme] .footer{padding-block:56px 24px;background:#fff;color:#111}.footer-grid{gap:40px}.footer h3{font-size:1.15rem}.footer h3 span{color:#111!important}.footer-column p{font-size:.9rem}.footer-bottom{font-size:.72rem}
.contact-copy a>span:last-child{min-width:0;overflow-wrap:anywhere}.contact-copy a small{white-space:normal;overflow-wrap:anywhere}
/* Portada fotográfica, con el contraste concentrado detrás del texto. */
.editorial-hero{position:relative;isolation:isolate;overflow:hidden;background:#111;color:#fff}
.editorial-hero-photo{position:absolute;inset:0;margin:0;z-index:0}
.editorial-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.editorial-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.18) 90%),linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.06) 72%)}
.editorial-hero-inner{position:relative;z-index:2;min-height:calc(100svh - var(--header));display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding-block:42px 46px;gap:28px}
.editorial-kicker{font-size:.7rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;line-height:1.6;color:#c60000;margin:0}
.editorial-hero .editorial-kicker{color:#fff;letter-spacing:.12em}.editorial-kicker span{margin-inline:12px;color:#e00000}
html[data-public-theme] .editorial-hero h1{font-size:clamp(3.25rem,7.2vw,7.25rem);line-height:1.02;letter-spacing:-.055em;font-weight:650;color:#fff;max-width:15ch;margin:0;text-shadow:none}
.editorial-hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;width:100%;gap:36px}
.editorial-hero-bottom>p{font-size:.98rem;line-height:1.7;color:#eee;max-width:31ch;margin:0}
.editorial-hero-actions{padding-right:64px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.editorial-hero-actions .btn{border-radius:4px;padding:17px 24px;min-height:56px;font-size:.9rem;gap:22px}
.editorial-hero-secondary{font-size:.85rem;line-height:1.5;font-weight:700;text-decoration:underline;text-underline-offset:5px;color:#fff}
.editorial-hero-secondary:hover{color:#fff;text-decoration-thickness:2px}
/* Buscador real: los campos usan el endpoint y la validación del catálogo. */
.editorial-search{background:#fff;border-bottom:1px solid #ddd;padding-block:38px}
.editorial-search-grid{display:grid;grid-template-columns:1fr 2.1fr;align-items:center;gap:48px}
.editorial-search h2{font-size:1.8rem;letter-spacing:-.04em;line-height:1.12;color:#111;margin:0}
.editorial-search-form{display:grid;grid-template-columns:1fr 1.3fr auto;gap:16px;align-items:end}
.editorial-search-form label{display:grid;gap:8px;font-size:.72rem;font-weight:750;letter-spacing:.02em;color:#444}
.editorial-search-form input,.editorial-search-form select{width:100%;min-width:0;min-height:52px;background:#fff;color:#111;border:1px solid #bbb;border-radius:3px;padding:12px;font:inherit;font-size:.9rem;font-weight:500}
.editorial-search-form .btn{min-height:52px;border-radius:3px;gap:22px;padding-inline:22px;font-size:.9rem}
.editorial-search-form input::placeholder{color:#666;opacity:1}
/* Selección fotográfica: cada propiedad se reconoce por barrio, ubicación y precio. */
.editorial-properties{padding-block:76px 32px;background:#111;color:#fff}
.editorial-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}
.editorial-section-heading h2{font-size:clamp(2rem,3.8vw,3.4rem);font-weight:650;letter-spacing:-.045em;line-height:1.1;margin:12px 0 0;max-width:21ch}
.editorial-properties .editorial-kicker{color:#fff}.editorial-properties h2{color:#fff}
.editorial-text-link{display:inline-flex;align-items:center;gap:20px;font-weight:700;font-size:.9rem;line-height:1.5;text-decoration:underline;text-underline-offset:6px;color:#111}
.editorial-properties .editorial-text-link{color:#fff;flex:none}
.editorial-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.editorial-property-card{min-width:0;overflow:hidden;border-radius:8px;background:#242424}
.editorial-property-card>a{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:510px;height:100%;padding:24px;color:#fff;text-decoration:none}
.editorial-property-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.editorial-property-card>a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.96),rgba(0,0,0,.74) 30%,rgba(0,0,0,0) 75%)}
.editorial-property-operation{position:absolute;top:20px;left:20px;right:20px;width:max-content;max-width:calc(100% - 40px);padding:7px 10px;border-radius:2px;background:#fff;color:#111;font-size:.64rem;font-weight:800;line-height:1.4}
.editorial-property-info{width:100%;min-width:0}.editorial-property-info h3{font-size:clamp(1.8rem,2.8vw,2.8rem);letter-spacing:-.045em;line-height:1.05;font-weight:650;color:#fff;margin:0 0 12px}
.editorial-property-info p{font-size:.85rem;color:#eee;line-height:1.55;margin:0 0 18px;overflow-wrap:anywhere}
.editorial-property-price{display:inline-block;background:#fff;color:#111;padding:6px 11px;border-radius:3px;font-size:.95rem;font-weight:800;line-height:1.4}
.editorial-property-specs{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;padding-top:17px;border-top:1px solid #ffffff55;font-size:.72rem;line-height:1.5;color:#fff}
.editorial-card-arrow{margin-left:auto;font-size:1.4rem}
.editorial-property-card a:focus-visible{outline:4px solid #e00000;outline-offset:-4px}
.editorial-properties-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff33;margin-top:30px;padding-top:22px;font-size:.67rem;color:#ddd;line-height:1.6}
.editorial-empty{grid-column:1/-1;max-width:50ch;color:#fff;line-height:1.8}
/* Servicios y presentación, sin sellos repetidos ni cajas decorativas. */
.editorial-services{padding-block:90px;background:#fff}
.editorial-services .editorial-section-heading>p{max-width:32ch;font-size:1rem;color:#555;line-height:1.8;margin:0}
.editorial-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;margin-top:50px}
.editorial-service{display:grid;grid-template-columns:32px 1fr;gap:18px;padding:30px 0;border-top:1px solid #ccc}
.editorial-service-number{font-size:.72rem;font-weight:750;color:#c60000;padding-top:5px}
.editorial-service h3{font-size:1.4rem;font-weight:700;letter-spacing:-.035em;line-height:1.3;margin:0 0 16px;color:#111}
.editorial-service p{font-size:.94rem;line-height:1.8;color:#555;margin:0 0 20px;max-width:48ch}
.editorial-service a{display:inline-flex;gap:22px;min-height:44px;align-items:center;color:#c60000;font-weight:750;font-size:.85rem}
.editorial-about{padding-block:0 90px;background:#fff}
.editorial-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.editorial-about-photo{position:relative;margin:0;aspect-ratio:1/1.05;overflow:hidden;border-radius:6px}
.editorial-about-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.editorial-about-photo figcaption{position:absolute;inset:auto 0 0;padding:60px 26px 26px;background:linear-gradient(transparent,#000b);color:#fff;font-size:.85rem}
.editorial-about-copy h2{font-size:clamp(2rem,3.8vw,3.4rem);letter-spacing:-.045em;line-height:1.1;font-weight:650;margin:18px 0 26px}
.editorial-about-copy>p:not(.editorial-kicker){font-size:1rem;line-height:1.8;color:#555;max-width:50ch}
.editorial-signature{display:flex;align-items:center;gap:22px;border-top:1px solid #ddd;margin-top:30px;padding-top:22px;margin-bottom:28px}
.editorial-signature>img{width:92px;height:92px;object-fit:contain;flex:none;aspect-ratio:1;transform:none}
.editorial-signature strong{font-size:1rem}.editorial-signature p,.editorial-signature small{font-size:.75rem;line-height:1.7;color:#555;margin:6px 0 0}
.editorial-contact{background:#e00000;color:#fff;padding-block:72px}
.editorial-contact-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:50px;align-items:center}
.editorial-contact .editorial-kicker{color:#fff;font-size:.65rem}
.editorial-contact h2{font-size:clamp(2.5rem,5vw,4.8rem);color:#fff;font-weight:650;line-height:1.08;letter-spacing:-.05em;margin:18px 0 0}
.editorial-contact-actions{display:grid;justify-items:start;gap:20px}
.editorial-contact-actions .btn{color:#111;background:#fff;border:1px solid #fff;border-radius:3px;min-height:56px;padding-inline:24px;gap:30px;font-size:.9rem}
.editorial-contact-actions>a:not(.btn){color:#fff;font-size:.9rem;text-decoration:underline;text-underline-offset:5px}
.editorial-contact-actions p{font-size:.7rem;color:#fff;margin:0}
.editorial-hero-secondary:focus-visible,.editorial-text-link:focus-visible,.editorial-service a:focus-visible,.editorial-contact a:focus-visible{outline:3px solid currentColor;outline-offset:6px}
@media(min-width:901px) and (max-width:1180px){.brand-wordmark{max-width:8rem}.brand-wordmark strong{font-size:.68rem}.brand-wordmark small{display:none}.nav-shell{gap:14px}.nav-actions{gap:10px}.main-nav a{font-size:.76rem;padding-inline:7px}html[data-text-size="large"] .brand-wordmark{display:none}.text-size-controls>span{display:none}}
@media(max-width:1000px){.editorial-search-grid{gap:24px;grid-template-columns:1fr 2.4fr}.editorial-search-form{gap:10px}.editorial-search h2{font-size:1.5rem}.editorial-property-card>a{min-height:450px;padding:18px}.editorial-about-grid{gap:40px}.editorial-hero-bottom{align-items:flex-start}.editorial-hero-actions{flex-direction:column;align-items:flex-start;gap:17px}}
@media(max-width:900px){
 html[data-public-theme="light"]{--header:124px}html[data-text-size="large"]{--header:140px}
 .nav-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:76px 44px;gap:0 8px;align-content:start;height:var(--header)}
 html[data-text-size="large"] .nav-shell{grid-template-rows:88px 48px}
 .brand{grid-row:1;grid-column:1;max-width:100%}.brand-wordmark{max-width:none;flex:1;min-width:0}.brand-wordmark strong{font-size:.75rem}.brand-wordmark small{display:none}
 .nav-actions{display:contents}.hamburger{grid-row:1;grid-column:2;justify-self:end;z-index:1005;width:44px}.text-size-controls{grid-row:2;grid-column:1/-1;justify-self:end;align-self:start}.text-size-controls>span{display:inline}.text-size-controls button{min-height:40px;padding:8px 12px}
 html[data-public-theme] .main-nav{padding-top:calc(var(--header) + 20px);background:#fff}.desktop-nav-cta{display:none}
 .editorial-hero-inner{min-height:660px;padding-block:36px 40px}.editorial-hero h1{max-width:14ch}.editorial-hero-bottom{gap:26px}
 .editorial-property-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(270px,78%);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:16px;gap:18px;scrollbar-color:#777 #222;scrollbar-width:thin}
 .editorial-property-card{scroll-snap-align:start}.editorial-property-card>a{min-height:510px;padding:24px}.editorial-property-info h3{font-size:2.4rem}
 .editorial-search-grid{grid-template-columns:1fr;gap:24px}.editorial-search h2 br{display:none}.editorial-search h2{font-size:1.8rem}
 .editorial-service-grid{column-gap:36px}.editorial-section-heading{gap:28px}.editorial-about-grid{gap:32px}.editorial-contact-grid{grid-template-columns:1.3fr 1fr;gap:30px}
}
@media(max-width:600px){
 .container,.nav-shell{width:calc(100% - 36px)}
 .editorial-hero-inner{min-height:calc(100svh - var(--header));padding-block:30px 32px;gap:38px}
 .editorial-hero-photo img{object-position:61% 32%}.editorial-hero::before{background:linear-gradient(90deg,#000b,#0005),linear-gradient(0deg,#000d,#0001)}
 .editorial-hero .editorial-kicker{font-size:.6rem;max-width:29ch;line-height:1.8}.editorial-hero .editorial-kicker span{margin-inline:6px}
 html[data-public-theme] .editorial-hero h1{font-size:3rem;max-width:13ch;line-height:1.04;letter-spacing:-.05em}
 .editorial-hero-bottom{flex-direction:column;gap:28px}.editorial-hero-bottom>p{font-size:.85rem}.editorial-hero-actions{gap:20px;width:100%;padding-right:0}.editorial-hero-actions .btn{min-height:54px;padding:16px 20px;font-size:.9rem}.editorial-hero-secondary{font-size:.8rem;max-width:calc(100% - 64px)}
 .editorial-search{padding-block:30px}.editorial-search h2{font-size:1.65rem}.editorial-search-form{grid-template-columns:1fr;gap:16px}.editorial-search-form .btn{justify-content:space-between}
 .editorial-properties{padding-block:48px 26px}.editorial-section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:28px}.editorial-section-heading h2{font-size:2.2rem;max-width:14ch}
 .editorial-property-grid{grid-auto-columns:88%;gap:14px}.editorial-property-card>a{min-height:490px;padding:22px}.editorial-property-info h3{font-size:2.25rem}.editorial-properties-foot{flex-direction:column;gap:8px;font-size:.67rem}
 .editorial-services{padding-block:56px}.editorial-service-grid{grid-template-columns:1fr;margin-top:30px}.editorial-service{padding-block:26px;gap:12px;grid-template-columns:26px 1fr}.editorial-service h3{font-size:1.45rem}.editorial-service p{font-size:.95rem}
 .editorial-about{padding-bottom:56px}.editorial-about-grid{grid-template-columns:1fr;gap:34px}.editorial-about-photo{aspect-ratio:1/1.05}.editorial-about-copy h2{font-size:2.3rem}.editorial-signature{gap:18px}.editorial-signature>img{width:84px;height:84px}.editorial-about-copy .editorial-text-link{font-size:.85rem}
 .editorial-contact{padding-block:52px}.editorial-contact-grid{grid-template-columns:1fr;gap:34px}.editorial-contact h2{font-size:2.6rem}.editorial-contact-actions .btn{width:100%;justify-content:space-between}
 html[data-public-theme] .footer{padding-top:40px}.footer-grid{gap:32px}.footer-bottom{font-size:.67rem}
}
@media(max-width:360px){.brand-wordmark strong{font-size:.67rem}.brand{gap:8px}.text-size-controls{font-size:.68rem}html[data-public-theme] .editorial-hero h1{font-size:2.55rem}.editorial-property-grid{grid-auto-columns:95%}.editorial-property-card>a{min-height:520px;padding:18px}.editorial-property-info h3{font-size:2rem}.editorial-contact h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
