
@font-face{font-family:Ibarra;src:url(/f/ibarra-real-nova-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Ibarra;src:url(/f/ibarra-real-nova-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Ibarra;src:url(/f/ibarra-real-nova-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:RHT;src:url(/f/red-hat-text-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:RHT;src:url(/f/red-hat-text-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:RHT;src:url(/f/red-hat-text-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--verde:#22392E;--verde2:#2F4D3E;--salvia:#9DB29A;--salvia-cl:#DCE4D6;--carmin:#A8242E;--carmin-os:#861B24;--cal:#F7F2E8;--arena:#ECE3D0;--tinta:#1D2420;--gris:#59625C;--wa:#1F7A55}
*{box-sizing:border-box;margin:0;padding:0}
body{font:400 17px/1.62 RHT,system-ui,sans-serif;color:var(--tinta);background:var(--cal)}
img{display:block;max-width:100%}
a{color:inherit}
.c{max-width:1160px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:Ibarra,Georgia,serif;font-weight:600;line-height:1.1;letter-spacing:-.01em}
.cint{background:var(--verde);color:var(--salvia-cl);font-size:14px}
.cint .c{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}
.cint b{color:#fff;font-weight:700}
header{border-bottom:1px solid #d9ceb6;background:var(--cal)}
header .c{display:flex;align-items:center;gap:32px;height:78px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo svg{flex:none}
.logo span{font:italic 400 30px/1 Ibarra,serif;color:var(--verde)}
.logo small{display:block;font:500 11px/1 RHT;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);margin-top:4px;font-style:normal}
nav{display:flex;gap:26px;margin-left:auto;font-weight:500;font-size:15px}
nav a{text-decoration:none}
nav a:hover{color:var(--carmin)}
.tel{font-weight:700;text-decoration:none;color:var(--carmin);font-size:18px;white-space:nowrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:4px;font:700 16px/1 RHT;text-decoration:none;border:0;cursor:pointer;white-space:nowrap}
.b-call{background:var(--carmin);color:#fff}.b-call:hover{background:var(--carmin-os)}
.b-wa{background:transparent;color:var(--wa);box-shadow:inset 0 0 0 2px var(--wa)}
/* hero */
.hero{padding:64px 0 72px;position:relative;overflow:hidden}
.hero .c{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.eyebrow{font:500 13px/1 RHT;letter-spacing:.18em;text-transform:uppercase;color:var(--verde2);display:flex;align-items:center;gap:12px}
.eyebrow:before{content:"";width:28px;height:1px;background:var(--verde2)}
.hero h1{font-size:64px;margin:20px 0 22px;color:var(--verde)}
.hero h1 em{font-weight:400;color:var(--carmin)}
.lead{font-size:19px;max-width:30em;color:#333b36}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 18px}
.nota{font-size:14px;color:var(--gris);max-width:34em;padding-left:14px;border-left:2px solid var(--salvia)}
/* ventana de galería */
.ventana{position:relative;padding:14px;background:var(--verde);border-radius:200px 200px 6px 6px}
.ventana .vid{position:relative;border-radius:188px 188px 2px 2px;overflow:hidden;aspect-ratio:900/922}
.ventana img{width:100%;height:100%;object-fit:cover}
.ventana .vid:after{content:"";position:absolute;inset:0;background:
 linear-gradient(var(--verde),var(--verde)) 33.33% 0/6px 100% no-repeat,
 linear-gradient(var(--verde),var(--verde)) 66.66% 0/6px 100% no-repeat,
 linear-gradient(var(--verde),var(--verde)) 0 38%/100% 6px no-repeat;opacity:.0}
.ventana .travesano{position:absolute;left:0;right:0;top:19%;height:6px;background:var(--verde)}
.ventana .parteluz{position:absolute;top:14px;bottom:14px;left:50%;width:7px;margin-left:-3px;background:var(--verde);clip-path:inset(0 0 66% 0)}
.sello{position:absolute;left:-34px;bottom:46px;background:var(--cal);border:1px solid var(--verde);padding:14px 18px;border-radius:4px;box-shadow:0 10px 30px rgba(34,57,46,.18)}
.sello b{display:block;font:600 20px/1.1 Ibarra,serif;color:var(--verde)}
.sello span{font-size:13px;color:var(--gris)}
.punto{display:inline-block;width:9px;height:9px;border-radius:50%;background:#3E9B62;margin-right:6px;box-shadow:0 0 0 4px rgba(62,155,98,.18)}
/* azulejo */
.azulejo{height:46px;background-color:var(--arena);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46' viewBox='0 0 46 46'%3E%3Cg fill='none' stroke='%232F4D3E' stroke-width='1.3'%3E%3Cpath d='M23 4c5 6 5 13 0 19c-5-6-5-13 0-19zM23 42c5-6 5-13 0-19c-5 6-5 13 0 19zM4 23c6-5 13-5 19 0c-6 5-13 5-19 0zM42 23c-6-5-13-5-19 0c6 5 13 5 19 0z'/%3E%3Ccircle cx='23' cy='23' r='2.2' fill='%23A8242E' stroke='none'/%3E%3Cpath d='M0 0h46v46H0z' stroke='%23C9BB9C' stroke-width='.8'/%3E%3C/g%3E%3C/svg%3E");border-top:1px solid #d9ceb6;border-bottom:1px solid #d9ceb6}
/* barrios */
.barrios{padding:48px 0;text-align:center}
.barrios p{font:italic 400 28px/1.35 Ibarra,serif;color:var(--verde);max-width:30em;margin:0 auto}
.barrios small{display:block;margin-top:14px;font-size:14px;color:var(--gris)}
/* consultas */
.sec{padding:84px 0}
.sec h2{font-size:44px;color:var(--verde);max-width:16em}
.sec .intro{max-width:38em;margin-top:14px;color:#3a423d}
.paneles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border:7px solid var(--verde);background:var(--verde);gap:7px}
.panel{background:var(--cal);padding:30px 26px 34px}
.panel .n{font:italic 400 15px/1 Ibarra;color:var(--carmin)}
.panel h3{font-size:25px;margin:10px 0 10px;color:var(--verde)}
.panel p{font-size:15.5px;color:#3f4742}
/* presencial */
.verde{background:var(--verde);color:var(--salvia-cl)}
.verde h2{color:#fff}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.comp{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.comp div{border:1px solid rgba(220,228,214,.35);border-radius:4px;padding:22px}
.comp h3{color:#fff;font-size:22px;margin-bottom:8px}
.comp ul{list-style:none;font-size:15px}
.comp li{padding:5px 0 5px 20px;position:relative}
.comp li:before{content:"";position:absolute;left:0;top:14px;width:9px;height:1px;background:var(--salvia)}
.foto-rect{border-radius:4px;overflow:hidden;border:7px solid var(--verde2)}
/* pasos */
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:40px;counter-reset:p}
.paso{border-top:2px solid var(--verde);padding-top:18px}
.paso:before{counter-increment:p;content:counter(p,lower-roman)".";font:italic 400 30px/1 Ibarra;color:var(--carmin)}
.paso h3{font-size:21px;margin:12px 0 6px;color:var(--verde)}
.paso p{font-size:15px;color:#3f4742}
/* faq */
.faq{max-width:820px}
details{border-bottom:1px solid #d3c7ad;padding:20px 0}
summary{font:600 22px/1.25 Ibarra,serif;color:var(--verde);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary:after{content:"+";color:var(--carmin);font-family:RHT;font-weight:400}
details[open] summary:after{content:"–"}
details p{margin-top:10px;color:#3a423d}
/* cierre */
.cierre{background:var(--arena);text-align:center;padding:76px 0}
.cierre h2{font-size:46px;color:var(--verde)}
.cierre .num{display:block;font:600 54px/1 Ibarra;color:var(--carmin);margin:20px 0 26px;text-decoration:none}
footer{background:var(--tinta);color:#b9c1bb;font-size:14px;padding:40px 0 34px}
footer .c{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer a{color:#dfe5df}
.barra{display:none}
@media (max-width:820px){
 body{font-size:16px;padding-bottom:74px}
 .cint{display:none}
 header .c{height:64px;gap:12px}
 nav{display:none}
 .logo span{font-size:26px}.logo small{font-size:9.5px}
 .tel{margin-left:auto;font-size:15px}
 .hero{padding:30px 0 50px}
 .hero .c{grid-template-columns:1fr;gap:30px}
 .hero .ventana{order:-1;max-width:300px;margin:0 auto;width:100%}
 .sello{left:auto;right:-8px;bottom:22px;padding:10px 13px}.sello b{font-size:16px}
 .hero h1{font-size:42px;margin:14px 0 16px}
 .lead{font-size:17px}
 .cta .btn{flex:1;justify-content:center}
 .barrios p{font-size:22px}
 .sec{padding:56px 0}
 .sec h2,.cierre h2{font-size:32px}
 .paneles{grid-template-columns:1fr 1fr}
 .panel{padding:20px 16px}.panel h3{font-size:20px}.panel p{font-size:14px}
 .dos,.comp{grid-template-columns:1fr;gap:26px}
 .pasos{grid-template-columns:1fr 1fr;gap:22px}
 .cierre .num{font-size:38px}
 .barra{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--cal);padding:9px 10px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #d3c7ad;box-shadow:0 -6px 20px rgba(0,0,0,.08)}
 .barra .btn{justify-content:center;padding:15px 8px}
 .barra .b-wa{background:var(--wa);color:#fff;box-shadow:none}
}
/* --- añadidos 1.0.0 --- */
.wa-off .b-wa,.wa-off .solo-wa{display:none!important}
.wa-off .barra{grid-template-columns:1fr}
.migas{font-size:13.5px;color:var(--gris);padding-top:22px}
.migas a{color:var(--verde2)}
.texto{max-width:760px}
.texto h2{font-size:36px;color:var(--verde);margin:46px 0 14px}
.texto h3{font-size:24px;color:var(--verde);margin:30px 0 8px}
.texto p{margin:0 0 16px;color:#2f3732}
.texto ul,.texto ol{margin:0 0 18px 22px;color:#2f3732}
.texto li{margin:6px 0}
.texto a{color:var(--carmin)}
.caja{background:var(--arena);border-left:4px solid var(--carmin);padding:22px 24px;margin:30px 0;border-radius:0 4px 4px 0}
.caja p:last-child{margin:0}
.caja .btn{margin-top:6px}
.cab-pag{padding:16px 0 56px}
.cab-pag .c{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.cab-pag h1{font-size:56px;color:var(--verde);margin:16px 0 18px}
.cab-pag .ventana{max-width:400px;justify-self:end;width:100%}
.cab-pag .ventana .vid{aspect-ratio:740/768}
.legal h1{font-size:46px;color:var(--verde);margin:26px 0 20px}
.legal table{border-collapse:collapse;margin:10px 0 20px;width:100%}
.legal td{border-bottom:1px solid #d3c7ad;padding:8px 10px 8px 0;vertical-align:top}
.legal td:first-child{font-weight:700;width:34%}
.foto-rect img{width:100%;height:auto}
.enlace-red{font-size:15px;color:var(--gris);margin-top:18px}
.enlace-red a{color:var(--verde2);font-weight:500}
#cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;background:#fff;border:1px solid #cfc3a8;border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:18px 20px;font-size:14.5px}
#cookies p{margin-bottom:12px}
#cookies .bts{display:flex;gap:10px}
#cookies .btn{flex:1;justify-content:center;padding:12px}
#cookies .b-sec{background:var(--cal);color:var(--verde);box-shadow:inset 0 0 0 2px var(--verde)}
.oculto{display:none!important}
.e404{text-align:center;padding:90px 0}
.e404 h1{font-size:54px;color:var(--verde)}
@media (max-width:820px){
 #cookies{bottom:86px;left:10px;right:10px}
 .texto h2{font-size:28px}
 .cab-pag .c{grid-template-columns:1fr;gap:26px}
 .cab-pag .ventana{order:-1;justify-self:center;max-width:280px}
 .cab-pag h1{font-size:38px}
 .legal h1{font-size:34px}
}
.legal td,.legal p{overflow-wrap:anywhere}
.texto a.btn.b-call{color:#fff;text-decoration:none}
