
  /* Form styles */
  .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px 32px; }
  .form-row { display:flex; flex-direction:column; gap:8px; }
  .form-row.full { grid-column: 1 / -1; }
  .form-row label {
    font-family: var(--mono);
    font-size: 10px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--celeste);
  }
  .form-row input,
  .form-row textarea,
  .form-row select {
    font-family: var(--serif-text);
    font-size: 19px;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--rule);
    padding: 14px 0 12px;
    color: var(--navy);
    outline: none;
    transition: border-color 0.3s ease;
    width: 100%;
    font-style: italic;
  }
  .form-row textarea {
    min-height: 120px;
    resize: vertical;
    font-style: normal;
  }
  .form-row input:focus,
  .form-row textarea:focus,
  .form-row select:focus { border-bottom-color: var(--celeste); }
  .form-row input::placeholder,
  .form-row textarea::placeholder { color: var(--ink-dim); font-style: italic; }
  .form-row select {
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23031845' fill='none'/></svg>");
    background-repeat: no-repeat;
    background-position: right 0 center;
    font-style: normal;
    cursor: pointer;
  }
  .form-radio { display:flex; gap:14px; flex-wrap:wrap; }
  .form-radio label {
    flex: 1;
    min-width: 160px;
    padding: 14px 18px;
    border: 1px solid var(--rule);
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--navy);
    cursor: pointer;
    transition: all 0.25s ease;
    text-align: center;
  }
  .form-radio input { display: none; }
  .form-radio input:checked + label,
  .form-radio label:hover { background: var(--navy); color: var(--cream); border-color: var(--navy); }
  @media (max-width: 700px) { .form-grid { grid-template-columns: 1fr; } }

/* ===== Casa House · añadidos para el contenido real ===== */
.hp{position:absolute;left:-9999px;opacity:0}
.form-row label.check{font-family:var(--sans);font-size:13px;letter-spacing:0;text-transform:none;color:var(--ink-soft);display:flex;gap:10px;align-items:flex-start}
.form-row label.check input{width:auto;margin-top:3px}
.form-ok{color:#1a7f4b;font-family:var(--serif-text);font-size:18px}.form-err{color:#b3261e;font-family:var(--serif-text);font-size:18px}
.contact-grid2{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,6vw,100px);padding-top:60px}
.contact-side{position:sticky;top:120px;align-self:start}
.side-row{padding:22px 0;border-bottom:1px solid var(--rule)}.side-v{font-family:var(--serif);font-size:21px;color:var(--navy);line-height:1.4;margin-top:6px}.side-v a{color:var(--celeste)}
@media(max-width:900px){.contact-grid2{grid-template-columns:1fr}.contact-side{position:static}.form-grid{grid-template-columns:1fr}}
/* texto largo (páginas migradas y artículos) */
.prose{font-family:var(--serif-text);font-size:clamp(19px,1.6vw,22px);line-height:1.7;color:var(--ink)}
.prose p{margin-bottom:1.2em}.prose h2{font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);line-height:1.1;color:var(--navy);margin:1.8em 0 .6em}
.prose h3{font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);line-height:1.15;color:var(--navy);margin:1.6em 0 .5em}.prose h4{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--celeste);margin:1.8em 0 .6em}
.prose a{color:var(--celeste);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{list-style:none;padding:0;margin:0 0 1.4em}.prose li{padding:12px 0 12px 30px;border-bottom:1px solid var(--rule);position:relative}.prose li:before{content:"";position:absolute;left:0;top:26px;width:14px;height:1px;background:var(--celeste)}
.prose ol{counter-reset:n}.prose ol li:before{counter-increment:n;content:counter(n,decimal-leading-zero);width:auto;height:auto;background:none;top:13px;font-family:var(--serif);font-style:italic;color:var(--celeste);font-size:15px}
.prose blockquote{margin:2em 0;padding-left:28px;border-left:2px solid var(--celeste);font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.4vw,30px);line-height:1.4;color:var(--navy)}
.prose figure,.prose img{max-width:100%;height:auto;display:block}.prose figure{margin:2em 0}.prose iframe{width:100%;aspect-ratio:16/9;border:0;margin:1.5em 0}
.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-family:var(--sans);font-size:15px}.prose td,.prose th{padding:12px 14px;border:1px solid var(--rule);text-align:left}
.manifest.alt-bg{background:var(--paper-warm)}
.post{max-width:780px;margin:0 auto;padding:80px var(--gutter) 40px}.post-body>p:first-of-type:first-letter{font-family:var(--serif);float:left;font-size:84px;line-height:.82;padding:8px 14px 0 0;color:var(--navy)}
.post-cover{width:100%;height:clamp(260px,46vw,640px);background-size:cover;background-position:center}
.post-header+.post-cover{margin-top:0}
.article-list{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 36px}.article-list .article-card h3{font-size:clamp(24px,2.2vw,30px)}
.cat-bar{background:var(--paper);border-bottom:1px solid var(--rule)}.cat-bar .wrap{display:flex;gap:28px;flex-wrap:wrap;padding:22px var(--gutter)}.cat-bar .filter-link.active{color:var(--navy);border-bottom-color:var(--celeste)}
.latest.alt{padding:clamp(60px,8vw,110px) 0}
.member{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:var(--paper)}.member-photo{background-size:cover;background-position:center 18%;min-height:60vh}
.member-info{padding:180px clamp(24px,6vw,90px) 80px;display:flex;flex-direction:column;justify-content:center}.member-info h1{font-size:clamp(46px,6vw,88px);line-height:1;margin:18px 0 10px}.member-info .role{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--celeste);margin-bottom:28px}
.team-member .portrait{background-size:cover;background-position:center 15%}
.detail-pill{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--rule);padding:6px 12px;margin:0 8px 8px 0}
@media(max-width:900px){.article-list{grid-template-columns:1fr}.member{grid-template-columns:1fr}.member-info{padding:60px var(--gutter)}}
.hero-service{min-height:78vh}.hero-service .hero-title{font-size:clamp(46px,7vw,110px)}
/* tarjetas de revista sobre fondo claro: texto oscuro legible */
.article-list .article-card h3{color:var(--navy)}.article-list .article-card h3 em{color:var(--celeste)}
.article-list .article-card .excerpt{color:var(--ink-soft)}.article-list .article-card .date{color:var(--ink-dim)}.article-list .article-card .cat{color:var(--celeste)}
.article-list .article-card .img-wrap{aspect-ratio:3/2;overflow:hidden}.article-list .article-card .img{height:100%}
.post-header h1{text-wrap:balance;line-height:1.08;max-width:1240px}
.page-header h1.long{text-wrap:balance;font-size:clamp(34px,4.4vw,66px);max-width:1180px}
/* hero de servicio: legibilidad sobre cualquier foto */
.hero:not(.hero-home)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,44,.35) 0%,rgba(8,20,44,.42) 45%,rgba(8,20,44,.75) 100%);z-index:1;pointer-events:none}
.hero:not(.hero-home) .hero-inner,.hero:not(.hero-home) nav{position:relative;z-index:2}
.hero:not(.hero-home) .hero-title em,.hero:not(.hero-home) .hero-supra,.hero:not(.hero-home) .hero-supra *,.hero:not(.hero-home) .hero-meta *{color:#8fd3ff!important}
.hero:not(.hero-home) .hero-title{text-shadow:0 2px 30px rgba(8,20,44,.45)}
.hero:not(.hero-home) .hero-meta span,.hero:not(.hero-home) .hero-meta dt,.hero:not(.hero-home) .hero-meta small{opacity:1}
/* tipografía curva (Playfair cursiva) solo en titulares; textos largos en serif de lectura, sin cursiva */
.story-quote,.review-quote,.pull-quote,.page-header .lede,.detail-prose .lede,.footer-brand p{font-family:var(--serif-text);font-style:normal;font-weight:500;line-height:1.5}
.story-quote,.review-quote{font-size:clamp(19px,1.5vw,23px)}
.pull-quote{font-size:clamp(24px,2.4vw,34px)}
.hero-lede{font-family:var(--serif-text);font-size:clamp(18px,1.5vw,24px);line-height:1.5;color:rgba(255,255,255,.88);max-width:56ch;margin-top:28px}
/* cifras y titulares de sección más contenidos */
.stat-num{font-size:clamp(64px,8vw,116px)}
.stats-header h2{font-size:clamp(34px,4vw,60px)}
.stat-label{font-family:var(--serif-text);font-style:normal;font-weight:500}
.footer-brand .logo svg{width:130px!important}
body{top:0!important}.skiptranslate iframe,.goog-te-banner-frame,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}#google_translate_element{display:none}
/* contacto / valoración: más aire y lectura cómoda */
.page-header{padding-bottom:clamp(56px,7vw,100px)}
.page-header h1{max-width:1000px;text-wrap:balance}
.page-header .lede{font-size:clamp(20px,1.6vw,24px);max-width:60ch;margin-top:32px}
.contact-grid2{padding-top:clamp(70px,8vw,120px);gap:clamp(56px,7vw,120px)}
.contact-grid2 h2{margin-bottom:56px!important}
.form-grid{gap:44px 40px}
.form-row{gap:12px}
.form-row label{font-size:12px;letter-spacing:.16em}
.form-row input,.form-row textarea,.form-row select{font-family:var(--sans);font-size:17px;font-style:normal;padding:14px 0;color:var(--ink)}
.form-row input::placeholder,.form-row textarea::placeholder{font-family:var(--sans);font-style:normal;font-size:16px;color:#8a8f99}
.form-radio{gap:16px}.form-radio label{padding:20px 34px}
.contact-side h3,.contact-side h2{line-height:1.15}
.contact-side>*+*{margin-top:8px}
.contact-side a,.contact-side p{font-size:20px;line-height:1.7}
body{font-weight:500}

.lang-sel{position:relative;margin-right:30px}
.lang-cur{background:none;border:0;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:var(--mono,'JetBrains Mono',monospace);font-size:13px;letter-spacing:.14em;color:var(--navy);padding:8px 0}
.nav.dark .lang-cur{color:var(--cream)}
.lang-cur svg{transition:transform .2s}.lang-sel.open .lang-cur svg{transform:rotate(180deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:160px;list-style:none;margin:0;padding:8px 0;background:var(--paper,#faf7f1);border:1px solid var(--rule,#ddd6c8);box-shadow:0 18px 40px rgba(3,24,69,.14);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s;z-index:50}
.lang-sel.open .lang-menu{opacity:1;visibility:visible;transform:none}
.lang-opt{width:100%;display:flex;gap:14px;align-items:baseline;background:none;border:0;cursor:pointer;padding:11px 20px;text-align:left;color:var(--ink)}
.lang-opt b{font-family:var(--mono,monospace);font-size:12px;letter-spacing:.14em;color:var(--celeste);width:22px}
.lang-opt span{font-family:var(--sans);font-size:15px}
.lang-opt:hover,.lang-opt.on{background:rgba(3,24,69,.06)}
@media(max-width:900px){.lang-sel{margin-right:10px}}
.page-header{background:var(--paper);border-bottom:1px solid var(--rule,#e3dccd)}
/* buscador */
.searchpanel{background:var(--paper);padding:0 var(--gutter);margin-top:-1px}
.sform{max-width:var(--max,1480px);margin:0 auto;display:grid;grid-template-columns:2.2fr 1.2fr 1.2fr 1.3fr 1.2fr 1fr auto;gap:0;border:1px solid var(--rule,#ddd6c8);background:#fff;box-shadow:0 18px 50px rgba(3,24,69,.08);transform:translateY(-40px)}
.sf{display:flex;flex-direction:column;gap:6px;padding:18px 22px;border-right:1px solid var(--rule,#e3dccd);min-width:0}
.sf span{font-family:var(--mono,monospace);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--celeste)}
.sf input,.sf select{border:0;background:transparent;font-family:var(--sans);font-size:16px;color:var(--ink);padding:4px 0;outline:0;width:100%;appearance:none;-webkit-appearance:none;cursor:pointer;text-overflow:ellipsis}
.sf input{cursor:text}
.sf select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23031845' stroke-width='1.4'/%3E%3C/svg%3E") right 2px center no-repeat;padding-right:18px}
.sf:focus-within{background:rgba(0,155,229,.05)}
.sf-actions{display:flex;align-items:center;gap:14px;padding:0 22px}
.sf-actions .btn{padding:18px 34px;white-space:nowrap}
.sf-reset{background:none;border:0;cursor:pointer;font-family:var(--mono,monospace);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim,#777);text-decoration:underline;text-underline-offset:4px}
.listing-bar{border:0;background:var(--paper);padding-top:0}
.listing-bar-inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.listing-bar .filter-chips{flex:1;display:flex;gap:10px;flex-wrap:wrap}
.chip i{font-style:normal;margin-left:8px;opacity:.7}
.no-results{grid-column:1/-1;padding:80px 0;text-align:center}.no-results h3{font-family:var(--serif);font-size:32px;color:var(--navy);margin-bottom:12px}.no-results a{color:var(--celeste);text-decoration:underline}
@media(max-width:1100px){.sform{grid-template-columns:1fr 1fr 1fr}.sf-q{grid-column:1/-1}.sf-actions{grid-column:1/-1;padding:18px 22px}}
@media(max-width:640px){.sform{grid-template-columns:1fr 1fr;transform:none;margin-top:24px}}
/* ficha de inmueble */
.ficha-mosaic{display:grid;gap:8px;padding:8px var(--gutter) 0;max-width:var(--max,1480px);margin:0 auto;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px}
.ficha-mosaic .mz{border:0;padding:0;background-size:cover;background-position:center;cursor:zoom-in;position:relative;transition:filter .2s}
.ficha-mosaic .mz:hover{filter:brightness(.88)}
.ficha-mosaic .mz:first-child{grid-row:1/3}
.ficha-mosaic.m1{grid-template-columns:1fr;grid-template-rows:520px}.ficha-mosaic.m1 .mz:first-child{grid-row:auto}
.ficha-mosaic.m2{grid-template-columns:2fr 1fr;grid-template-rows:520px}.ficha-mosaic.m2 .mz:first-child{grid-row:auto}
.ficha-mosaic.m3{grid-template-columns:2fr 1fr;grid-template-rows:260px 260px}.ficha-mosaic.m3 .mz:first-child{grid-row:1/3}
.ficha-mosaic.m4{grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px}
.mz .more{position:absolute;inset:0;background:rgba(3,24,69,.62);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--mono,monospace);font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.mz-all{background:none;border:0;cursor:pointer;padding:0;max-width:var(--max,1480px)}
.detail-features li{padding:14px 0;gap:20px}
.detail-features li span:first-child{font-family:var(--mono,monospace);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim,#777)}
.detail-features li span:last-child{font-family:var(--sans);font-size:16px;font-style:normal;color:var(--ink);text-align:right}
.detail-prose p{font-family:var(--serif-text);font-size:clamp(19px,1.45vw,22px);line-height:1.7;font-style:normal;margin-bottom:1.3em;max-width:68ch}
.detail-prose p.lede{font-size:clamp(22px,1.8vw,27px);line-height:1.55;color:var(--navy)}
.ficha-embed{position:relative;aspect-ratio:16/9;background:#000}.ficha-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lightbox{position:fixed;inset:0;background:rgba(3,10,26,.96);z-index:300;display:flex;align-items:center;justify-content:center}.lightbox[hidden]{display:none}
.lightbox img{max-width:88vw;max-height:86vh;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;padding:20px;opacity:.8}.lightbox button:hover{opacity:1}
.lb-x{top:10px;right:16px}.lb-p{left:10px;top:50%}.lb-n{right:10px;top:50%}
.lb-c{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-family:var(--mono,monospace);font-size:12px;letter-spacing:.14em}
@media(max-width:800px){.ficha-mosaic,.ficha-mosaic.m4,.ficha-mosaic.m3{grid-template-columns:1fr 1fr;grid-template-rows:240px 130px 130px}.ficha-mosaic .mz:first-child{grid-column:1/3;grid-row:1}}
.detail-prose p{font-family:var(--sans);font-size:16.5px;line-height:1.8;color:var(--ink-soft,#3b4254);max-width:62ch;margin-bottom:1.2em}
.detail-prose p.lede{font-family:var(--serif-text);font-size:clamp(21px,1.6vw,24px);line-height:1.5;font-weight:500;color:var(--navy);margin-bottom:1.4em}
.ficha-icons{max-width:var(--max,1480px);margin:56px auto 0;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--rule,#e3dccd);border-top:1px solid var(--rule,#e3dccd);border-bottom:1px solid var(--rule,#e3dccd)}
.ficha-icons .fi{background:var(--paper,#faf7f1);padding:30px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.ficha-icons .fi-ic{color:var(--celeste)}
.ficha-icons .fi-v{font-family:var(--serif);font-size:clamp(24px,2vw,30px);color:var(--navy);line-height:1.1}
.ficha-icons .fi-k{font-family:var(--mono,monospace);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim,#777)}
.detail-bar-inner{align-items:center;gap:40px}
.ficha-specs{display:flex;flex-wrap:wrap;gap:22px 38px;flex:1}
.ficha-specs .fs{display:flex;align-items:center;gap:14px}
.ficha-specs .fi-ic{color:var(--celeste);line-height:0}
.ficha-specs .fs-t{display:flex;flex-direction:column;gap:3px}
.ficha-specs .fs-v{font-family:var(--serif);font-size:22px;line-height:1.1;color:var(--navy)}
.ficha-specs .fs-k{font-family:var(--mono,monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim,#777)}
.detail-bar{padding-top:6px;padding-bottom:6px}
@media(max-width:800px){.detail-bar-inner{flex-direction:column;align-items:flex-start;gap:20px}.ficha-specs{gap:18px 26px}}
.detail-hero-meta{color:#8fd3ff!important}
.detail-hero h1{text-shadow:0 2px 30px rgba(8,20,44,.5)}
.detail-bar{padding-top:34px;padding-bottom:34px}
.ficha-mosaic{padding-top:18px}
@media(max-width:800px){.detail-bar{padding-top:26px;padding-bottom:26px}}
.detail-bar{border-bottom:0}
.detail-hero{height:min(78vh,820px)}
.detail-hero::after{background:linear-gradient(180deg,rgba(2,16,47,.6) 0%,rgba(2,16,47,.15) 22%,rgba(2,16,47,.1) 40%,rgba(2,16,47,.55) 70%,rgba(2,16,47,.92) 100%)}
.detail-hero-content{z-index:2}
.detail-hero h1{font-size:clamp(38px,5vw,76px);text-wrap:balance;max-width:1100px}
.detail-hero-meta{font-size:12px;letter-spacing:.2em;text-shadow:0 1px 12px rgba(2,16,47,.8)}
.detail-hero-loc{color:rgba(255,255,255,.92)!important;text-shadow:0 1px 14px rgba(2,16,47,.7)}
/* buscador como barra fija */
.searchpanel{position:sticky;top:84px;z-index:40;background:var(--paper);padding:14px var(--gutter);border-bottom:1px solid var(--rule,#e3dccd);margin:0}
.sform{transform:none;box-shadow:0 10px 30px rgba(3,24,69,.07);grid-template-columns:2.4fr 1fr 1fr 1.2fr 1.1fr 1fr auto}
.sf{padding:12px 20px}
.sf span{font-size:9.5px}
.sf input,.sf select{font-size:15.5px}
.sf-actions{padding:0 14px 0 20px;gap:16px}
.sf-actions .btn{padding:16px 30px}
.listing-bar{border:0!important;padding:18px 0 0}
.listing-bar-inner{padding-top:0;padding-bottom:0}
.page-header.listing-head h1,.page-header h1{max-width:1100px}
@media(max-width:1100px){.searchpanel{position:static}}
.page-header:has(+ .searchpanel){padding-top:140px;padding-bottom:40px;border-bottom:0}
.page-header:has(+ .searchpanel) h1{font-size:clamp(40px,5vw,72px)}
.page-header:has(+ .searchpanel) .lede{margin-top:18px}
/* ===== buscador de cristal (home + catálogo) ===== */
.searchpanel{display:none}
.gsearch{margin-top:44px;max-width:1100px;padding:22px 26px 18px;border:1px solid rgba(255,255,255,.28);border-radius:22px;background:rgba(14,24,44,.52);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff}
.gs-ops{display:flex;gap:6px;margin-bottom:16px}
.gs-ops label{cursor:pointer}.gs-ops input{display:none}
.gs-ops span{display:block;padding:7px 18px;border-radius:999px;font-family:var(--mono,monospace);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);border:1px solid transparent;transition:.2s}
.gs-ops input:checked+span{background:#fff;color:var(--navy)}
.gs-ops label:hover span{border-color:rgba(255,255,255,.4)}
.gs-row{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:16px;align-items:center}
.gs-sel{width:100%;appearance:none;-webkit-appearance:none;border:0;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23778' stroke-width='1.6'/%3E%3C/svg%3E") right 20px center no-repeat;padding:15px 44px 15px 24px;font-family:var(--sans);font-size:16px;color:#4a5160;cursor:pointer;text-overflow:ellipsis}
.gs-sel:focus{outline:2px solid var(--celeste)}
.gs-price{display:flex;flex-direction:column;gap:12px;padding:0 6px}
.gs-pv{font-family:var(--sans);font-size:15px;color:#fff;letter-spacing:.02em}
.gs-slider{position:relative;height:22px}
.gs-track,.gs-fill{position:absolute;top:9px;height:4px;border-radius:2px}
.gs-track{left:0;right:0;background:rgba(255,255,255,.3)}.gs-fill{background:#fff}
.gs-r{position:absolute;left:0;top:0;width:100%;height:22px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.gs-r::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid rgba(255,255,255,.55);box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:grab}
.gs-r::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid rgba(255,255,255,.55);cursor:grab}
.gs-r::-webkit-slider-runnable-track{background:none;height:22px}.gs-r::-moz-range-track{background:none}
.gs-go{border:0;border-radius:999px;background:#1c1618;color:#fff;padding:16px 42px;font-family:var(--mono,monospace);font-size:12px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .2s}
.gs-go:hover{background:var(--celeste)}
.gs-more-wrap{margin-top:12px}
.gs-more{background:none;border:0;color:rgba(255,255,255,.78);font-family:var(--mono,monospace);font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:4px 0}
.gs-extra{display:none;gap:16px;align-items:end;margin-top:14px;flex-wrap:wrap}
.gsearch.more-open .gs-extra{display:flex}
.gs-extra label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono,monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);min-width:220px}
.gs-extra input,.gs-extra select{border:0;border-radius:999px;padding:12px 20px;font-family:var(--sans);font-size:15px;background:#fff;color:#333}
.gs-reset{background:none;border:0;color:rgba(255,255,255,.7);text-decoration:underline;cursor:pointer;font-family:var(--mono,monospace);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.hero-search{min-height:auto;padding-bottom:70px}
.hero-search .hero-inner{padding-top:150px}
.hero-search .hero-title{font-size:clamp(40px,5.5vw,84px)}
@media(max-width:900px){.gs-row{grid-template-columns:1fr}.gsearch{padding:18px}.gs-go{width:100%}}
/* buscador: barra a todo el ancho, compacta */
.gsearch{max-width:none;width:100%;margin-top:34px;padding:14px 18px;border-radius:999px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.gsearch.more-open{border-radius:28px}
.gs-ops{margin:0;flex:0 0 auto;background:rgba(255,255,255,.1);padding:4px;border-radius:999px}
.gs-ops span{padding:10px 18px}
.gs-row{display:contents}
.gs-f{flex:1 1 190px;min-width:160px}
.gs-price{flex:1.7 1 300px;flex-direction:row;align-items:center;gap:22px;padding:0 14px}
.gs-pv{white-space:nowrap;font-size:14px;min-width:150px}
.gs-slider{flex:1}
.gs-sel{padding:14px 40px 14px 22px;font-size:15px}
.gs-go{flex:0 0 auto;padding:15px 36px}
.gs-more-wrap{flex:0 0 100%;margin:0;padding:0 8px}
.gs-more{font-size:10.5px}
.gs-extra{margin-top:12px;padding-bottom:6px}
.hero-search{min-height:0!important;height:auto}

.hero-search .hero-title{font-size:clamp(34px,4.4vw,64px)}
@media(max-width:900px){.gsearch{border-radius:24px}.gs-price{flex-direction:column;align-items:stretch;gap:8px}}
.gsearch{position:relative}
.gs-price{order:1}.gs-more-wrap{order:2;flex:0 0 auto;padding:0 4px}.gs-go{order:3}
.gs-more{white-space:nowrap}
.gsearch.more-open{border-radius:999px}
.gs-extra{position:absolute;left:0;right:0;top:calc(100% + 10px);padding:18px 24px;border-radius:22px;background:rgba(14,24,44,.88);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.2);z-index:5}
@media(max-width:900px){.gs-more-wrap{flex:0 0 100%}.gs-extra{position:static;margin-top:12px}}
/* catálogo: mismos márgenes que el resto de heroes con imagen */
.hero-search{min-height:84vh!important;padding-bottom:0!important}
.hero-search .hero-title{font-size:clamp(46px,7vw,110px)}
.hero-search .gsearch{margin-top:56px}
.hero-search{min-height:92vh!important}
.hero-search .hero-inner{padding-bottom:48px!important}
.hero-search .hero-supra{margin-bottom:10px}
.wa-float{position:fixed;right:24px;bottom:24px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .2s,box-shadow .2s}
.wa-float:hover{transform:scale(1.08);box-shadow:0 12px 30px rgba(0,0,0,.34)}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:wapulse 2.4s ease-out infinite}
@keyframes wapulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
@media(max-width:640px){.wa-float{right:16px;bottom:16px;width:54px;height:54px}}
.hero-scroll{display:none!important}
/* portada: contenido más abajo, sin tocar el menú */
.hero:not(.hero-service):not(.hero-search) .hero-inner{padding-top:150px}
.hero:not(.hero-service):not(.hero-search) .hero-title{font-size:clamp(46px,6.2vw,100px);line-height:.98}
.hero:not(.hero-service):not(.hero-search) .hero-inner{padding-top:200px;padding-bottom:clamp(28px,3.5vw,48px)}
.hero:not(.hero-service):not(.hero-search) .hero-title{font-size:clamp(50px,6.9vw,112px)}
.hero:not(.hero-service):not(.hero-search) .hero-meta{margin-top:30px;padding-top:24px}
.legal{background:var(--paper);padding:70px 0 100px}
.legal-body{max-width:78ch;margin:0 auto;padding:0 var(--gutter)}
.legal-body h2{font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);color:var(--navy);margin:2.2em 0 .6em}
.legal-body p,.legal-body li{font-family:var(--sans);font-size:16px;line-height:1.8;color:var(--ink-soft,#3b4254)}
.legal-body ul{padding-left:1.3em;margin:1em 0}
.legal-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:14px}.legal-body td,.legal-body th{border:1px solid var(--rule,#ddd6c8);padding:10px 12px;text-align:left;vertical-align:top}
/* ===== móvil ===== */
.mmenu{display:none}
@media(max-width:1100px){
  .nav-cta,.nav .lang-sel{display:none!important}
  .nav-right{gap:0}
  .nav-burger{display:block;width:30px;height:20px;position:relative;z-index:120}
  .nav-burger span{background:var(--navy)}.nav.dark .nav-burger span{background:var(--cream)}
  .mm-open .nav-burger span:nth-child(1){top:50%;transform:rotate(45deg)}
  .mm-open .nav-burger span:nth-child(2){opacity:0}
  .mm-open .nav-burger span:nth-child(3){bottom:auto;top:50%;transform:rotate(-45deg)}
  .mm-open .nav-burger span{background:var(--cream)!important}
  .mm-open .nav{background:transparent!important}
  .mm-open .nav-logo{position:relative;z-index:120}.mm-open .nav-logo svg{color:var(--cream)}
  .mmenu{display:flex;position:fixed;inset:0;z-index:110;background:var(--navy,#031845);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;overflow-y:auto}
  .mm-open .mmenu{opacity:1;visibility:visible}
  .mm-open{overflow:hidden}
  .mm-inner{margin:auto 0;width:100%;padding:110px var(--gutter) 40px;display:flex;flex-direction:column;gap:36px}
  .mm-links{display:flex;flex-direction:column}
  .mm-links a{font-family:var(--serif);font-size:clamp(30px,8.5vw,44px);color:var(--cream);padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);line-height:1.1}
  .mm-links a.mm-contact{color:#8fd3ff;font-style:italic;border-bottom:0;margin-top:8px}
  .mm-foot{display:flex;flex-direction:column;gap:12px}
  .mm-langs{display:flex;gap:8px;margin-bottom:8px}
  .mm-lang{background:none;border:1px solid rgba(255,255,255,.3);color:var(--cream);padding:9px 16px;border-radius:999px;font-family:var(--mono,monospace);font-size:12px;letter-spacing:.14em;cursor:pointer}
  .mm-lang.on{background:var(--cream);color:var(--navy)}
  .mm-small{color:rgba(255,255,255,.75);font-family:var(--sans);font-size:15px}
}
@media(max-width:1100px){
  .nav-inner{display:flex!important;justify-content:space-between;align-items:center}
  .nav-logo{width:108px;height:auto}.nav-logo svg{width:100%;height:100%}
}
@media(max-width:900px){.gs-more-wrap{margin-top:10px}.gs-price{margin-bottom:6px}.hero-search{min-height:auto!important}.hero-search .hero-inner{padding-top:130px;padding-bottom:36px}}
.mmenu,.mm-inner,.mm-inner *{box-sizing:border-box}
.mmenu{overflow-x:hidden;max-width:100vw}
@media(max-width:900px){
  [style*="grid-template-columns"]:not(.gs-row):not(.gsearch){grid-template-columns:1fr!important}
  [style*="grid-template-columns"]{gap:28px!important}
  .values-grid{grid-template-columns:1fr!important}
}
html,body{overflow-x:clip;max-width:100vw}
p,h1,h2,h3,h4,li,blockquote{overflow-wrap:break-word;min-width:0}
.nav{transition:transform .35s ease,background .3s ease,border-color .3s ease}
.nav.nav-hide{transform:translateY(-110%)}
.nav-logo{height:30px}
@media(max-width:1100px){.nav-logo{width:88px;height:auto}}
@media(max-width:1100px){
  .mm-open .nav{z-index:120!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom-color:transparent!important;transform:none!important}
  .mmenu{z-index:110}
}
/* barra de búsqueda en una sola fila (con País) */
.gsearch{gap:10px;padding:12px 14px 12px 12px;flex-wrap:nowrap}
.gs-ops span{padding:10px 14px;font-size:10.5px;letter-spacing:.1em}
.gs-f{flex:1 1 130px;min-width:0}
.gs-sel{padding:13px 34px 13px 18px;font-size:14.5px;background-position:right 14px center}
.gs-price{flex:1.3 1 230px;min-width:230px;gap:16px;padding:0 6px}
.gs-pv{min-width:0;font-size:13px}
.gs-more-wrap{padding:0 2px}.gs-more{font-size:10px;letter-spacing:.1em}
.gs-go{padding:14px 28px}
.gs-extra{left:0;right:0}
@media(max-width:1250px){.gsearch{flex-wrap:wrap;border-radius:28px}.gs-f{flex:1 1 40%}.gs-price{flex:1 1 100%}}
@media(max-width:900px){.gsearch{flex-direction:column;align-items:stretch}.gs-f,.gs-price{flex:none;width:100%}.gs-price{min-width:0}}
.gs-go{background:var(--celeste,#00a5e6);color:#fff;box-shadow:0 6px 20px rgba(0,165,230,.35)}
.gs-go:hover{background:#fff;color:var(--navy)}
/* más filtros: botón visible + panel dentro de la barra (no se corta) */
.gs-more-wrap{display:contents}
.gs-more{order:2;flex:0 0 auto;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none;padding:12px 18px;border-radius:999px;font-size:10.5px;letter-spacing:.12em;white-space:nowrap;transition:.2s}
.gs-more:hover,.gsearch.more-open .gs-more{background:#fff;color:var(--navy)}
.gs-more:focus{outline:none}.gs-more:focus-visible{outline:2px solid #fff;outline-offset:2px}
.gs-go{order:3}
.gs-extra{position:static!important;order:10;flex:0 0 100%;margin:6px 0 0;padding:16px 8px 6px;background:none;border:0;border-top:1px solid rgba(255,255,255,.2);border-radius:0;backdrop-filter:none}
.gsearch.more-open .gs-extra{display:flex}
.gsearch{flex-wrap:wrap}.gsearch>.gs-ops,.gsearch>.gs-f,.gsearch>.gs-price{flex-wrap:nowrap}
/* menos aire entre el contador y las tarjetas */
.listing-bar + section{padding-top:28px!important}
.listing-bar{padding:20px 0 4px}
/* panel de más filtros: ordenado en rejilla */
.gsearch.more-open{border-radius:30px}
.gsearch.more-open .gs-extra{display:grid;grid-template-columns:2fr 1fr auto;gap:14px 16px;align-items:end;padding:16px 6px 4px}
.gs-extra label{min-width:0;display:flex;flex-direction:column;gap:8px}
.gs-extra input,.gs-extra select{width:100%;box-sizing:border-box;height:46px;padding:0 20px;border-radius:999px;font-size:15px;line-height:46px}
.gs-extra select{appearance:none;-webkit-appearance:none;padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23778' stroke-width='1.6'/%3E%3C/svg%3E") right 18px center no-repeat}
.gs-extra input::placeholder{color:#8a8f99}
.gs-reset{align-self:center;margin:0 6px 0 4px;white-space:nowrap}
@media(max-width:900px){.gsearch.more-open .gs-extra{grid-template-columns:1fr}.gs-reset{justify-self:start}}
.cookie-bar{position:fixed;left:20px;bottom:20px;z-index:200;max-width:460px;background:var(--navy,#031845);color:#fff;border-radius:16px;padding:20px 22px;box-shadow:0 18px 50px rgba(0,0,0,.35);font-family:var(--sans)}
.cookie-bar p{font-size:14px;line-height:1.55;margin:0 0 14px;color:rgba(255,255,255,.9)}.cookie-bar a{color:#8fd3ff;text-decoration:underline}
.cookie-bar div{display:flex;gap:10px;flex-wrap:wrap}
.cookie-bar button{border:1px solid rgba(255,255,255,.45);background:none;color:#fff;border-radius:999px;padding:10px 18px;font-family:var(--mono,monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.cookie-bar button.ok{background:var(--celeste,#00a5e6);border-color:var(--celeste,#00a5e6)}
@media(max-width:640px){.cookie-bar{left:12px;right:12px;bottom:84px;max-width:none}}
/* herencias */
.hsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule,#e3dccd);border:1px solid var(--rule,#e3dccd)}
.hstep{background:var(--paper,#faf7f1);padding:34px 28px 38px}
.hstep .n,.hw .n{font-family:var(--mono,monospace);font-size:12px;letter-spacing:.16em;color:var(--celeste)}
.hstep h3{font-family:var(--serif);font-size:clamp(22px,1.9vw,27px);line-height:1.1;color:var(--navy);margin:14px 0 10px}
.hstep p,.hw p{font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--ink-soft,#3b4254);margin:0}
.hwarn{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.hw{border-top:1px solid var(--navy);padding-top:22px}
.hw h3{font-family:var(--serif);font-size:clamp(24px,2.2vw,32px);line-height:1.1;color:var(--navy);margin:12px 0}
.hq{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.hq .review-quote{font-family:var(--serif-text);font-size:19px;font-style:normal;font-weight:500;line-height:1.55}
@media(max-width:1000px){.hsteps{grid-template-columns:repeat(2,1fr)}.hwarn,.hq{grid-template-columns:1fr}}
@media(max-width:600px){.hsteps{grid-template-columns:1fr}}
/* home staging / quienes somos */
.faq details{border-top:1px solid var(--rule,#e3dccd);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--rule,#e3dccd)}
.faq summary{cursor:pointer;list-style:none;font-family:var(--serif);font-size:clamp(20px,1.9vw,26px);color:var(--navy);display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";color:var(--celeste);font-size:28px;line-height:1}.faq details[open] summary::after{content:"–"}
.faq summary::-webkit-details-marker{display:none}
.faq p{font-family:var(--sans);font-size:16px;line-height:1.75;color:var(--ink-soft,#3b4254);margin:14px 0 0;max-width:68ch}
.qs-team{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.qs-m{display:block;text-align:left}.qs-m .ph{display:block;aspect-ratio:3/4;background-size:cover;background-position:center top}
.qs-m b{display:block;font-family:var(--serif);font-weight:400;font-size:17px;color:var(--navy);margin-top:10px}
@media(max-width:1000px){.qs-team{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.qs-team{grid-template-columns:repeat(2,1fr)}}
/* todas las cabeceras de servicio iguales: misma altura, mismo aire sobre el título y el mismo tamaño */
.hero.hero-service:not(.hero-search),.hero[style*="min-height"]:not(.hero-search){min-height:92vh!important}
.hero.hero-service:not(.hero-search) .hero-inner,.hero[style*="min-height"]:not(.hero-search) .hero-inner{padding-top:170px;padding-bottom:clamp(60px,8vw,110px)}
.hero.hero-service:not(.hero-search) .hero-title,.hero[style*="min-height"]:not(.hero-search) .hero-title{font-size:clamp(44px,6vw,92px);line-height:1}
@media(max-width:700px){.hero.hero-service:not(.hero-search) .hero-inner,.hero[style*="min-height"]:not(.hero-search) .hero-inner{padding-top:130px}}
.hero-supra::before{display:none!important}

/* móvil: la cabecera de Colecciones iba en dos columnas y dejaba el texto estrecho y un hueco enorme */
@media (max-width: 900px) {
  .collections-header { grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; align-items: start; }
  .collections-header p { max-width: none; }
}

/* móvil: el control del precio se colapsaba a 0 de alto (flex:1 en columna) y la barra se montaba sobre «Más filtros» */
@media (max-width: 900px) {
  .gs-slider { flex: 0 0 auto; height: 28px; min-height: 28px; margin-bottom: 14px; }
}

/* barra «N propiedades · orden»: pegada justo bajo el menú y solo visible al subir (sin hueco arriba al bajar) */
.listing-bar{top:var(--nav-h,76px);transition:transform .25s ease}
html:not(.nav-up) .listing-bar.is-stuck{transform:translateY(calc(-100% - var(--nav-h,76px) - 12px));box-shadow:none}
@media (max-width: 900px) {
  .listing-bar { padding: 10px 0 10px; box-shadow: 0 10px 14px -12px rgba(3,24,69,.28); }
  .listing-bar-inner { flex-wrap: nowrap; justify-content: space-between; gap: 12px; }
  .listing-bar .filter-chips:empty { display: none; }
  .listing-bar .sort-select { flex: 0 0 auto; }
}

/* pie: redes sociales + móvil en dos columnas, marca centrada */
.footer-social{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.footer-social a{width:40px;height:40px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-items:center;color:var(--cream);transition:background .2s,color .2s,border-color .2s}
.footer-social a:hover{background:var(--celeste);border-color:var(--celeste);color:var(--navy)}
.footer-social svg{width:18px;height:18px}
.footer-handle{display:inline-block;margin-top:12px;font-family:var(--mono,monospace);font-size:12px;letter-spacing:.12em;color:rgba(255,255,255,.7)}
.footer-handle:hover{color:var(--celeste)}
@media (max-width: 900px) {
  .footer-top { grid-template-columns: 1fr 1fr !important; gap: 40px 22px !important; }
  .footer-brand { grid-column: 1 / -1; text-align: center; }
  .footer-brand .logo { display: flex; justify-content: center; }
  .footer-brand p { text-align: center; }
  .footer-social { justify-content: center; }
  .footer-col a { overflow-wrap: anywhere; }
}
@media (max-width: 900px) {
  .footer-brand p { margin-left: auto; margin-right: auto; max-width: none; width: 100%; text-align: center; }
}

/* bloques de llamada a la acción sobre fondo azul marino: el botón era marino sobre marino (no se veía) */
.find-agent[style*="--navy"] { padding: 0; }
.find-agent[style*="--navy"] .btn-solid { background: var(--celeste); border-color: var(--celeste); color: var(--navy); }
.find-agent[style*="--navy"] .btn-solid:hover { background: var(--cream); border-color: var(--cream); color: var(--navy); }
.find-agent[style*="--navy"] .btn:not(.btn-solid) { color: #fff; border-color: rgba(255,255,255,.55); }
.find-agent[style*="--navy"] .btn:not(.btn-solid):hover { background: #fff; color: var(--navy); }
.find-agent[style*="--navy"] h2 { line-height: 1.08; }
@media (max-width: 900px) {
  .find-agent[style*="--navy"] .btn { padding: 16px 28px; }
  .find-agent[style*="--navy"] p { margin-left: auto; margin-right: auto; }
}

/* móvil: las cuadrículas con líneas finas (gap 1px sobre fondo gris) se abrían con un hueco grande y asomaba el gris */
@media (max-width: 900px) {
  div[style*="background:var(--rule)"][style*="grid-template-columns"] { grid-template-columns: 1fr !important; gap: 1px !important; }
}

/* los bloques con columnas propias (según nº de elementos) también se adaptan en pantallas pequeñas */
@media (max-width: 1000px) { .hsteps[style*="grid-template-columns"] { grid-template-columns: repeat(2, 1fr) !important; } .hsteps .hstep[style*="grid-column"] { grid-column: auto !important; } }
@media (max-width: 600px) { .hsteps[style*="grid-template-columns"] { grid-template-columns: 1fr !important; } }

/* barra «N propiedades · orden»: normal, se mueve con la página (sin pegarse ni esconderse al hacer scroll) */
.listing-bar{position:static!important;transform:none!important;visibility:visible!important;box-shadow:none!important;top:auto!important}

/* teléfono con selector de país */
.phone-row{display:flex;gap:8px;align-items:stretch}
.phone-row select{flex:0 0 auto;width:min(46%,214px);min-width:0;text-overflow:ellipsis}
.phone-row input{flex:1 1 0;min-width:0}
