:root{--black:#222;--ink:#161616;--gold:#c5b58f;--cream:#f4f0e6;--white:#fff;--line:rgba(255,255,255,.22);--wrap:min(1240px,calc(100% - 48px));font-family:Arial,Helvetica,sans-serif;color:var(--ink);scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{width:var(--wrap);margin-inline:auto}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100vw - 1240px)/2));color:#fff;border-bottom:1px solid var(--line)}.site-header.solid{position:relative;background:var(--black)}.brand img{width:138px;height:52px;object-fit:contain;object-position:left center}.site-header nav{display:flex;align-items:center;gap:25px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.nav-cta{border:1px solid var(--gold);padding:13px 18px}.menu-toggle{display:none}.hero{min-height:100svh;position:relative;display:grid;align-items:end;background:linear-gradient(125deg,#121212 0%,#343434 55%,#b8aa87 100%);color:#fff;overflow:hidden}.hero-video,.hero-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.35),transparent)}.hero-content{position:relative;padding-bottom:11vh}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--gold);font-weight:700}.eyebrow.dark{color:#716746}.hero h1,.catalog-hero h1{font-size:clamp(4rem,10vw,9rem);line-height:.83;letter-spacing:-.07em;margin:0;max-width:900px}.hero-copy{font-size:1.15rem;line-height:1.6;max-width:560px;margin:28px 0}.hero-actions,.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:16px 22px;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700;border:1px solid transparent}.button.gold{background:var(--gold);color:var(--black)}.button.ghost{border-color:rgba(255,255,255,.6);color:#fff}.scroll-cue{position:absolute;right:4vw;bottom:34px;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em}.scroll-cue span{font-size:1.4rem;margin-left:10px}.section{padding:110px 0}.section-head{max-width:720px;margin-bottom:50px}.section-head.inline{max-width:none;display:flex;justify-content:space-between;align-items:end}.section h2,.contact h2{font-size:clamp(2.5rem,5vw,5.2rem);line-height:.98;letter-spacing:-.055em;margin:0}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ccc}.category{min-height:440px;display:flex;flex-direction:column;justify-content:space-between;padding:28px;color:#fff;background:linear-gradient(145deg,#272727,#555);transition:transform .25s}.category:nth-child(2){background:linear-gradient(145deg,#716746,#c5b58f)}.category:nth-child(3){background:linear-gradient(145deg,#403a32,#211f1c)}.category:hover{transform:translateY(-6px)}.category>span{font-size:.72rem}.category h3{font-size:2.4rem;margin:0 0 12px}.category p{line-height:1.55;max-width:280px}.category a{text-transform:uppercase;font-size:.73rem;letter-spacing:.1em}.properties{background:var(--black);color:#fff}.property-grid,.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.property-card{background:#fff;color:var(--ink)}.property-image{height:310px;display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:#aaa;position:relative}.image-one{background:linear-gradient(145deg,#b5a47d,#4f514b)}.image-two{background:linear-gradient(145deg,#828f95,#d3cbb5)}.image-three{background:linear-gradient(145deg,#a87c50,#514a39)}.property-tag{background:#fff;padding:9px 12px;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em}.replace-note{align-self:end;color:rgba(255,255,255,.65);font-size:.65rem;letter-spacing:.15em}.property-body{padding:22px}.location,.details{color:#777;font-size:.82rem}.property-body h3{font-size:1.55rem;margin:8px 0 18px}.price-row{display:flex;justify-content:space-between;gap:12px;align-items:end;border-top:1px solid #ddd;padding-top:18px}.price-row a,.text-link{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.video-section{background:#111;color:#fff}.video-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.video-layout p:not(.eyebrow){color:#bbb;line-height:1.7;margin:25px 0}.video-frame{aspect-ratio:16/9;position:relative;background:#282828}.video-frame iframe{border:0;width:100%;height:100%}.video-frame span{position:absolute;inset:auto 0 12px;text-align:center;color:#777;font-size:.65rem;pointer-events:none}.about{display:grid;grid-template-columns:.35fr 1fr 1fr;gap:55px;align-items:center}.about-mark{font-size:9rem;font-weight:700;color:var(--gold)}.about p{line-height:1.7}.dark-link{display:inline-block;margin-top:18px;border-bottom:1px solid #222;padding-bottom:6px}.contact{padding:90px 0;background:var(--gold)}.contact .eyebrow{color:#222}.contact-layout{display:flex;justify-content:space-between;gap:40px;align-items:end}.contact .button.gold{background:#222;color:#fff}.contact .button.ghost{border-color:#222;color:#222}footer{background:#161616;color:#aaa;padding:55px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;font-size:.8rem;line-height:1.6}.footer-grid img{width:150px}.footer-grid div{display:flex;justify-content:flex-end;gap:25px}.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:20;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#102f1b;font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.25)}.catalog-page{background:var(--cream)}.catalog-hero{padding:100px 0 45px}.catalog-hero h1{font-size:clamp(3.5rem,8vw,7rem);max-width:900px}.filter-bar{display:flex;gap:8px;margin-top:45px;flex-wrap:wrap}.filter-bar button{padding:12px 18px;border:1px solid #222;background:transparent;text-transform:uppercase;font-size:.72rem}.filter-bar button.active{background:#222;color:#fff}.catalog-grid{padding-top:20px}.catalog-grid .property-card[hidden]{display:none}
@media(max-width:850px){:root{--wrap:min(100% - 28px,1240px)}.site-header{padding:13px 18px}.brand img{width:115px}.menu-toggle{display:block;background:transparent;border:1px solid #777;color:#fff;padding:10px 13px}.site-header nav{display:none;position:absolute;top:79px;left:0;right:0;background:#222;padding:24px;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.hero-content{padding-bottom:14vh}.hero h1{font-size:18vw}.section{padding:72px 0}.category-grid,.property-grid,.catalog-grid,.video-layout,.about{grid-template-columns:1fr}.category{min-height:300px}.property-image{height:280px}.section-head.inline,.contact-layout{align-items:flex-start;flex-direction:column}.about-mark{display:none}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-grid div{justify-content:flex-start}.scroll-cue{display:none}}

/* SECCIONES AÑADIDAS — conservan la identidad visual de la versión original */
html{scroll-padding-top:82px}.services{background:var(--cream)}.services-head>p:last-child{max-width:620px;color:#68645b;line-height:1.65}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(22,22,22,.2);border-left:1px solid rgba(22,22,22,.2)}.service-card{min-height:270px;padding:30px;border-right:1px solid rgba(22,22,22,.2);border-bottom:1px solid rgba(22,22,22,.2);transition:background .25s,transform .25s}.service-card:hover{background:#fff;transform:translateY(-4px)}.service-card>span{display:block;margin-bottom:45px;color:#716746;font-size:.72rem;font-weight:700;letter-spacing:.15em}.service-card h3{margin:0 0 14px;font-size:1.45rem}.service-card p{margin:0;color:#666;line-height:1.6}.team{background:#fff}.team-head{max-width:none}.team-head>p{max-width:430px;color:#666;line-height:1.65}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.agent-card{min-width:0;background:var(--cream);overflow:hidden}.agent-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;object-position:center;background:var(--cream)}.agent-card>div{padding:20px}.agent-card h3{min-height:46px;margin:0 0 10px;font-size:1.18rem;line-height:1.2}.agent-card a{display:block;color:#666;font-size:.78rem}.agent-card .agent-profile{margin-top:12px;color:#222;font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.living{display:grid;grid-template-columns:1.05fr .95fr;min-height:760px;background:#161616;color:#fff}.living-image{min-height:580px;background:linear-gradient(0deg,rgba(0,0,0,.2),rgba(0,0,0,.04)),url('../images/todos-santos.webp') center/cover no-repeat}.living-content{align-self:center;padding:80px clamp(36px,6vw,90px)}.living-content h2{margin:0;font-size:clamp(3rem,5.5vw,6rem);line-height:.9;letter-spacing:-.06em}.living-lead{margin:28px 0 38px;color:#bbb;line-height:1.75}.living-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}.living-grid article{border-top:1px solid var(--line);padding-top:16px}.living-grid span{color:var(--gold);font-size:.68rem;letter-spacing:.14em}.living-grid h3{margin:7px 0;font-size:1rem}.living-grid p{margin:0;color:#999;font-size:.82rem;line-height:1.55}.back-to-menu{position:fixed;right:92px;bottom:22px;z-index:21;width:58px;height:58px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gold);color:#171717;box-shadow:0 8px 25px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,visibility .25s,transform .25s,background .25s}.back-to-menu.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-menu:hover{background:#fff;transform:translateY(-3px)}.back-to-menu span{font-size:1rem;line-height:1}.back-to-menu b{font-size:.52rem;letter-spacing:.08em}.menu-toggle span{pointer-events:none}
@media(max-width:1050px){.site-header nav{gap:14px;font-size:.72rem}.team-grid{grid-template-columns:repeat(3,1fr)}.living{grid-template-columns:1fr}.living-image{min-height:60vw}}
@media(max-width:850px){body.menu-open{overflow:hidden}.site-header nav.open{position:fixed;z-index:-1;top:0;bottom:0;justify-content:center;padding-top:85px}.services-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.living-content{padding:70px 24px}.living-grid{grid-template-columns:1fr 1fr}.back-to-menu{right:86px}}
@media(max-width:560px){.services-grid{grid-template-columns:1fr}.service-card{min-height:auto}.service-card>span{margin-bottom:24px}.team-grid{gap:10px}.agent-card>div{padding:14px}.agent-card h3{font-size:1rem;min-height:40px}.agent-card a{font-size:.68rem;overflow-wrap:anywhere}.living-grid{grid-template-columns:1fr}.back-to-menu{right:82px;bottom:18px;width:54px;height:54px}.whatsapp-float{right:18px;bottom:18px;width:54px;height:54px}}

/* CATÁLOGO ENRIQUECIDO / propiedades.html */
.catalog-intro{max-width:720px;margin:28px 0 0;color:#605d55;font-size:1.05rem;line-height:1.7}.featured-property{display:grid;grid-template-columns:1.15fr .85fr;min-height:620px;margin-bottom:100px;background:#181818;color:#fff}.featured-property-image{min-height:520px}.featured-property-image img{display:block;width:100%;height:100%;object-fit:cover}.featured-property-copy{align-self:center;padding:clamp(32px,5vw,72px)}.featured-property-copy h2{margin:0 0 16px;font-size:clamp(2.8rem,5vw,5.5rem);line-height:.9;letter-spacing:-.055em}.featured-property-copy>p:not(.eyebrow){color:#c7c4bc;line-height:1.7}.featured-location{color:var(--gold)!important;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.featured-specs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.featured-specs div{border-top:1px solid rgba(255,255,255,.2);padding-top:12px}.featured-specs dt{color:#8f8b83;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.featured-specs dd{margin:7px 0 0;font-size:.9rem}.catalog-controls{padding:72px 0;background:#222;color:#fff}.filter-topline{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.filter-topline h2{margin:0;font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.04em}.clear-filters{border:1px solid var(--gold);background:transparent;color:#fff;padding:12px 16px;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;cursor:pointer}.filter-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.filter-panel label{display:flex;flex-direction:column;gap:8px}.filter-panel label>span{color:#b8b3a8;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.filter-panel input,.filter-panel select{width:100%;min-height:48px;border:1px solid #5b5b5b;border-radius:0;background:#151515;color:#fff;padding:0 13px;font:inherit;font-size:.88rem}.filter-panel input::placeholder{color:#777}.filter-search{grid-column:span 2}.catalog-summary{display:flex;justify-content:space-between;gap:24px;margin-bottom:26px;border-bottom:1px solid #c8c1b1;color:#656158;font-size:.8rem}.catalog-grid .property-card{box-shadow:0 10px 25px rgba(33,27,16,.06)}.catalog-grid .property-image{position:relative}.property-id{position:absolute;right:14px;bottom:14px;background:rgba(25,25,25,.82);color:#fff;padding:8px 10px;font-size:.62rem;letter-spacing:.08em}.property-features{display:flex;flex-wrap:wrap;gap:6px;min-height:24px;margin:13px 0}.property-features span{background:var(--cream);padding:6px 8px;color:#5d584c;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.no-results{text-align:center;padding:70px 20px}.no-results h2{font-size:2.2rem;margin-bottom:10px}

/* Las fuentes de Century 21 entregan retratos de 150 x 150 px: no ampliarlos. */
.agent-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center}.agent-card img{width:112px;height:112px;aspect-ratio:1/1}.agent-card h3{min-height:0}.agent-card>div{padding:16px}

@media(max-width:1050px){.filter-panel{grid-template-columns:repeat(3,1fr)}.filter-search{grid-column:span 2}.featured-property{grid-template-columns:1fr}.featured-property-image{min-height:54vw}.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.featured-property{width:100%;margin-bottom:70px}.featured-property-image{min-height:65vw}.featured-specs{grid-template-columns:1fr}.filter-panel{grid-template-columns:1fr 1fr}.filter-search{grid-column:span 2}.catalog-summary{flex-direction:column;gap:0}.catalog-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}}
@media(max-width:480px){.filter-topline{align-items:flex-start;flex-direction:column}.filter-panel{grid-template-columns:1fr}.filter-search{grid-column:auto}.featured-property-copy{padding:32px 22px}.featured-property-copy h2{font-size:2.7rem}.agent-card{grid-template-columns:96px minmax(0,1fr)}.agent-card img{width:96px;height:96px}}

/* IMÁGENES DECLARADAS EN HTML — el CSS controla solamente su presentación */
.language-switch{display:inline-grid;place-items:center;min-width:42px;min-height:42px;border:1px solid rgba(255,255,255,.55);font-weight:700;letter-spacing:.12em}.language-switch:hover,.language-switch:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--black)}
.category{position:relative;isolation:isolate;overflow:hidden;background:#333}.category::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.08) 62%,rgba(0,0,0,.22))}.category>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.category:hover>img{transform:scale(1.035)}.category>span,.category>div{position:relative;z-index:1}.property-image{overflow:hidden}.property-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.property-image:hover>img{transform:scale(1.025)}.property-tag,.replace-note{position:relative;z-index:1}.replace-note{padding:6px 8px;background:rgba(0,0,0,.44)}.living-image{position:relative;min-height:580px;background:#333;overflow:hidden}.living-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.living-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.2),rgba(0,0,0,.02))}

/* Complete team portraits: preserve every original pixel at every screen size. */
.team .agent-card img{object-fit:contain;object-position:center;background:var(--cream);padding:6px}
.team-group-title{margin:38px 0 18px;font-size:1.25rem;line-height:1.35}
.team-head + .team-group-title{margin-top:0}
.team .agent-card a{overflow-wrap:anywhere}
.team .team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.team .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.team .team-grid{grid-template-columns:minmax(0,1fr)}}
