/* NIDUM by PPD - Sitio Residencias - estilos */
:root{--g:#1A4731;--gd:#123120;--o:#C9A44A;--cr:#F2FEF6;--t:#2B2B2B;--ink:#15301F;--muted:#5c6b62;--line:rgba(26,71,49,.12)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'Urbanist',sans-serif;color:var(--t);background:var(--cr);line-height:1.6;overflow-x:hidden}
.serif{font-family:'Playfair Display',serif}
.wrap{max-width:1360px;margin:0 auto;padding:0 40px}
@media(min-width:1440px){.wrap{padding:0 56px}}
h1,h2,h3{font-family:'Playfair Display',serif;color:var(--g);line-height:1.08;font-weight:700}
.kick{color:#9a7a2f;font-weight:700;font-size:14px;letter-spacing:.28em;text-transform:uppercase;display:inline-flex;align-items:center;gap:12px}
.kick::before{content:"";width:26px;height:1.5px;background:currentColor;display:inline-block;flex:none}
.kick br.brk{display:none}
.hero .kick,.dark .kick,.cta .kick{color:var(--o)}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:16px;padding:15px 28px;border-radius:40px;text-decoration:none;transition:.25s;cursor:pointer;border:none}
.btn-o{background:var(--o);color:var(--ink)}.btn-o:hover{background:#d8b45e;transform:translateY(-2px);box-shadow:0 10px 24px rgba(201,164,74,.35)}
.btn-ghost{background:transparent;color:var(--cr);border:1.5px solid rgba(242,254,246,.55)}.btn-ghost:hover{background:rgba(242,254,246,.1);border-color:var(--cr)}
.wa svg{width:20px;height:20px;fill:currentColor}
a:focus-visible,button:focus-visible{outline:3px solid var(--o);outline-offset:3px;border-radius:4px}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:.3s;padding:18px 0}
nav.scrolled{background:rgba(242,254,246,.96);box-shadow:0 4px 20px rgba(21,48,31,.08);padding:12px 0}
nav.scrolled::before{content:"";position:absolute;inset:0;z-index:-1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.nav-in{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:40px;transition:.3s}
.brand .wm{font-family:'Playfair Display';font-weight:700;font-size:26px;color:var(--cr);letter-spacing:.02em;transition:.3s}
.brand .wm small{display:block;font-family:'Urbanist';font-weight:600;font-size:11px;letter-spacing:.24em;color:var(--o);margin-top:-4px}
nav.scrolled .brand .wm{color:var(--g)}
.navlinks{display:flex;align-items:center;gap:26px}
.navlinks a{text-decoration:none;color:var(--cr);font-weight:600;font-size:15px;transition:.2s;opacity:.9}
.navlinks a:hover{opacity:1;color:var(--o)}
nav.scrolled .navlinks a{color:var(--g)}
.navlinks .btn{padding:11px 22px;font-size:15px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:26px;height:2.5px;background:var(--cr);border-radius:2px;transition:.3s}
nav.scrolled .burger span{background:var(--g)}
/* HERO */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-position:center 30%;background-size:cover;background-image:url('../img/hero.jpg');background-image:image-set(url('../img/hero.webp') type('image/webp'),url('../img/hero.jpg') type('image/jpeg'));filter:grayscale(.25) brightness(.92)}
.hero-tint{position:absolute;inset:0;background:#1a4731;mix-blend-mode:multiply;opacity:.62}
.hero-grad{position:absolute;inset:0;background:linear-gradient(105deg,rgba(13,36,24,.9)0%,rgba(13,36,24,.55)46%,rgba(13,36,24,.25)100%),linear-gradient(0deg,rgba(13,36,24,.7)0%,rgba(13,36,24,0)40%)}
.hero-in{position:relative;z-index:2;color:var(--cr);padding-top:120px;padding-bottom:90px;max-width:860px}
.hero .kick{color:var(--o)}
.hero h1{color:var(--cr);font-size:clamp(40px,6vw,82px);margin:22px 0 0}
.hero .sub{font-size:clamp(18px,2.2vw,24px);color:rgba(242,254,246,.9);margin-top:26px;max-width:680px;line-height:1.5}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px}
/* SECTIONS */
section{padding:110px 0}
.sec-head{max-width:820px;margin-bottom:56px}
.sec-head h2{font-size:clamp(32px,4.4vw,54px);margin-top:16px}
.sec-head p{font-size:19px;color:var(--muted);margin-top:18px}
.sec-head .quotebig{font-family:'Playfair Display';font-style:italic;font-size:clamp(20px,2.4vw,27px);color:var(--g);margin-top:20px;line-height:1.45}
.lead-cream{color:rgba(242,254,246,.82)}
/* IMPACTO cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:38px 32px;transition:.3s}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(26,71,49,.1)}
.card .ico{width:54px;height:54px;background:rgba(201,164,74,.14);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.card .ico img{width:30px}
.card h3{font-size:25px}.card p{font-size:16.5px;color:var(--muted);margin-top:10px}
.evidence{margin-top:48px;background:var(--g);color:var(--cr);border-radius:20px;padding:44px 48px;display:flex;gap:44px;align-items:center;flex-wrap:wrap}
.evidence .big{font-family:'Playfair Display';font-size:60px;color:var(--o);line-height:1;font-weight:700}
.evidence p{font-size:19px;color:rgba(242,254,246,.88);flex:1;min-width:280px;line-height:1.5}
/* PROGRAMA */
.dark{background:var(--gd);color:var(--cr)}
.dark .kick{color:var(--o)}.dark h2{color:var(--cr)}
.prog2{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.offer2{background:rgba(255,255,255,.04);border:1px solid rgba(201,164,74,.28);border-radius:18px;padding:38px 36px}
.offer2 .tag{color:var(--o);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.offer2 h3{color:var(--cr);font-size:29px;margin-top:8px}
.offer2 p{color:rgba(242,254,246,.82);font-size:16.5px;margin-top:12px;line-height:1.55}
.incl{list-style:none;margin-top:24px;display:grid;gap:14px}
.incl li{display:flex;gap:13px;align-items:flex-start;color:rgba(242,254,246,.9);font-size:16px;line-height:1.45}
.incl li img{width:20px;margin-top:3px;flex:0 0 auto}
/* PROCESO */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:s}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px 32px}
.step::before{counter-increment:s;content:"0" counter(s);font-family:'Playfair Display';font-weight:700;font-size:44px;color:var(--o);opacity:.85;display:block;margin-bottom:12px}
.step h3{font-size:24px}.step p{font-size:16px;color:var(--muted);margin-top:8px}
.proto{margin-top:40px;text-align:center;color:var(--muted);font-size:16px}
.proto b{color:var(--g)}
/* RESPALDO */
.resp{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.resp .chips{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.resp .chip{border:1.5px solid var(--o);color:#9a7a2f;font-weight:700;font-size:15px;letter-spacing:.05em;padding:10px 22px;border-radius:40px}
.resp-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px}
.stat b{font-family:'Playfair Display';font-size:44px;color:var(--g);display:block;line-height:1}
.stat span{font-size:15.5px;color:var(--muted);display:block;margin-top:6px}
.respnote{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.respnote .rn{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 26px}
.respnote .rn b{font-family:'Playfair Display';color:var(--g);font-size:19px;display:block;margin-bottom:6px}
.respnote .rn span{font-size:15px;color:var(--muted);line-height:1.45}
.avales{margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 40px}
.avales-h{text-align:center;font-family:'Urbanist';font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
.avales-row{display:flex;align-items:center;justify-content:center;gap:56px;flex-wrap:wrap}
.aval-item{display:flex;align-items:center;justify-content:center;height:58px}
.aval-item img{max-height:40px;max-width:140px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) opacity(.6);transition:filter .3s,opacity .3s}
.aval-item.uba img{max-height:27px;max-width:112px}
.aval-item.umet img{max-height:54px;max-width:84px}
.aval-item.gcba img{max-height:38px;max-width:150px}
.aval-item.stc img{max-height:54px;max-width:54px}
.aval-item img:hover{filter:grayscale(0) opacity(1)}
.apoyo{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.apoyo-h{font-family:'Urbanist';font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.apoyo img{height:36px;width:auto;filter:grayscale(1) opacity(.62);transition:filter .3s,opacity .3s}
.apoyo img:hover{filter:none;opacity:1}
.aval-text span{font-family:'Playfair Display';font-weight:700;font-size:22px;letter-spacing:.06em;color:#b7bdb9}
/* TESTIMONIOS */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.quote{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 32px}
.quote p{font-family:'Playfair Display';font-style:italic;font-size:20px;color:var(--g);line-height:1.45}
.quote .who{margin-top:20px;font-weight:700;color:var(--t);font-size:16px}
.quote .who span{display:block;font-weight:500;color:var(--muted);font-size:14px}
.lawbar{margin-top:34px;background:var(--g);color:var(--cr);border-radius:16px;padding:30px 40px;display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:17px;line-height:1.5}
.lawbar b{color:var(--o)}
/* PRENSA */
.press{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.press a{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:.3s}
.press a:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(26,71,49,.12)}
.press .thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#123120}
.press .thumb img{width:100%;height:100%;object-fit:cover}
.press .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(19,49,32,.35),rgba(19,49,32,.05))}
.press .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2}
.press .play span{width:58px;height:58px;border-radius:50%;background:rgba(201,164,74,.95);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.3)}
.press .play svg{width:22px;height:22px;fill:var(--ink);margin-left:3px}
.press .cap{padding:16px 20px}
.press .cap .ch{color:#9a7a2f;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.press .cap .tt{color:var(--g);font-weight:700;font-size:16px;margin-top:4px;font-family:'Playfair Display'}
/* GALERÍA */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:16px}
.gal-it{margin:0;border-radius:16px;overflow:hidden;background:#123120}
.gal-it:nth-child(1),.gal-it:nth-child(6){grid-column:span 2;grid-row:span 2}
.gal-it picture,.gal-it img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gal-it:hover img{transform:scale(1.05)}
/* FAQ */
.faq{max-width:920px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:24px 28px;font-family:'Playfair Display';font-weight:700;color:var(--g);font-size:20px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--o);font-size:32px;font-weight:400;transition:.3s;flex:none;line-height:.8}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details .a{padding:0 28px 26px;color:var(--muted);font-size:16.5px;line-height:1.62}
/* OTROS SERVICIOS */
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px}
.svc .s{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 26px;transition:.3s}
.svc .s:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(26,71,49,.1)}
.svc .s .t{font-family:'Playfair Display';font-weight:700;color:var(--g);font-size:22px}
.svc .s .d{font-size:15px;color:var(--muted);margin-top:8px;line-height:1.45}
.svc .s .k{color:var(--o);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
/* CTA FINAL */
.cta{background:linear-gradient(120deg,#1a4731,#123120);color:var(--cr);text-align:center;position:relative;overflow:hidden}
.cta .sello{position:absolute;right:-60px;top:-40px;width:320px;opacity:.08}
.cta h2{color:var(--cr);font-size:clamp(34px,5vw,60px)}
.cta p{font-size:20px;color:rgba(242,254,246,.85);max-width:620px;margin:22px auto 0}
.cta .btn{margin-top:38px;font-size:18px;padding:18px 40px}
.cta .fam{margin-top:26px;font-size:16px;color:rgba(242,254,246,.7)}
.cta .fam a{color:var(--o);font-weight:600;text-decoration:none}
/* WHATSAPP FLOTANTE */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(19,49,32,.35);opacity:0;transform:translateY(16px) scale(.9);transition:opacity .4s ease,transform .4s ease,box-shadow .25s ease;pointer-events:none}
.wa-float.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.wa-float svg{width:30px;height:30px;fill:#fff}
.wa-float:hover{box-shadow:0 14px 34px rgba(19,49,32,.45);transform:translateY(-3px) scale(1.04)}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25D366;opacity:.55;animation:wa-pulse 2.6s ease-out infinite}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.65);opacity:0}}
@media(max-width:640px){.wa-float{right:16px;bottom:16px;width:54px;height:54px}.wa-float svg{width:27px;height:27px}}
body.render .wa-float{opacity:1;transform:none;pointer-events:auto}
/* FOOTER */
footer{background:var(--ink);color:rgba(242,254,246,.7);padding:54px 0 40px}
.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}
.foot .b{font-family:'Playfair Display';font-size:24px;color:var(--cr)}
.foot .b small{display:block;font-family:'Urbanist';font-size:12px;letter-spacing:.22em;color:var(--o);margin-top:2px}
.foot .lg{font-size:13px;color:rgba(242,254,246,.5);margin-top:6px}
.foot a{color:rgba(242,254,246,.75);text-decoration:none;margin-left:22px;font-weight:600;font-size:15px}
.foot a:hover{color:var(--o)}
/* reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.2s}.reveal.d3{transition-delay:.3s}
body.render .hero{min-height:800px}
/* RESPONSIVE */
@media(max-width:900px){
 .navlinks{position:fixed;inset:0 0 0 auto;width:min(80vw,320px);background:var(--g);flex-direction:column;justify-content:center;align-items:flex-start;padding:40px;gap:24px;transform:translateX(100%);transition:.35s;box-shadow:-10px 0 40px rgba(0,0,0,.3);overflow-y:auto}
 .navlinks.open{transform:none}
 .navlinks a{color:var(--cr);font-size:19px;padding:6px 0}
 nav.scrolled .navlinks a{color:var(--cr)}
 .burger{display:flex;padding:13px;margin:-13px}
 .cards,.steps,.quotes,.press{grid-template-columns:1fr}
 .prog2,.resp{grid-template-columns:1fr;gap:32px}
 .respnote{grid-template-columns:1fr}
 .resp-stats{order:-1}
 .gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;gap:10px}
}
@media(max-width:640px){
 html{scroll-padding-top:70px}
 .wrap{padding:0 22px}
 section{padding:64px 0}
 .sec-head{margin-bottom:36px}
 .sec-head h2{font-size:clamp(28px,7.5vw,36px)}
 .sec-head p{font-size:16.5px;margin-top:14px;line-height:1.55}
 .kick{font-size:12.5px;letter-spacing:.16em;gap:9px}
 .kick::before{width:20px}
 .btn{padding:14px 24px;font-size:15px}
 .navlinks .btn{padding:12px 22px}
 .hero-in{padding-top:128px;padding-bottom:56px}
 .hero .kick{margin-bottom:2px}
 .kick br.brk{display:inline}
 .hero h1{font-size:clamp(32px,9.5vw,42px);margin-top:16px;line-height:1.14}
 .hero .sub{font-size:16.5px;margin-top:16px;line-height:1.55}
 .hero-cta{flex-direction:column;align-items:stretch;gap:12px;margin-top:28px}
 .hero-cta .btn{width:100%;justify-content:center}
 .card{padding:28px 24px}
 .card .ico{width:46px;height:46px;margin-bottom:16px;border-radius:12px}
 .card .ico img{width:26px}
 .card h3{font-size:21px}
 .card p{font-size:15.5px;margin-top:8px}
 .evidence{margin-top:32px;flex-direction:column;align-items:flex-start;gap:14px;padding:28px 26px;border-radius:16px}
 .evidence .big{font-size:46px}
 .evidence p{font-size:16.5px}
 .offer2{padding:28px 24px}
 .offer2 h3{font-size:24px}
 .incl li{font-size:15.5px}
 .step{padding:30px 24px}
 .step::before{font-size:34px;margin-bottom:8px}
 .step h3{font-size:20px}
 .step p{font-size:15.5px}
 .proto{margin-top:30px;font-size:15px}
 .resp-stats{grid-template-columns:1fr;gap:14px}
 .stat{padding:22px 24px}
 .stat b{font-size:36px}
 .chips{gap:10px;margin-top:22px}
 .resp .chip{font-size:13.5px;padding:9px 18px}
 .avales{padding:26px 22px}
 .avales-row{gap:34px}
 .aval-item{height:36px}
 .aval-item img{max-height:36px;max-width:110px}
 .aval-text span{font-size:18px}
 .lawbar{padding:24px 24px;font-size:15.5px}
 .quote{padding:28px 24px}
 .quote p{font-size:18px}
 .faq summary{padding:20px 22px;font-size:17.5px}
 .faq details .a{padding:0 22px 22px;font-size:15.5px}
 .svc .s{padding:24px 22px}
 .cta p{font-size:17px}
 .cta .btn{width:100%;justify-content:center;padding:16px 32px}
 .cta .fam{font-size:15px}
 .foot{flex-direction:column;align-items:flex-start;gap:18px}
 .foot a{margin-left:0;margin-right:22px}
}
@media(max-width:380px){
 .wrap{padding:0 18px}
 .hero h1{font-size:clamp(29px,9.5vw,36px)}
 .hero .sub{font-size:16px}
 .kick{font-size:11.5px;letter-spacing:.13em}
 .sec-head h2{font-size:clamp(26px,8vw,32px)}
 .evidence .big{font-size:40px}
 .card{padding:24px 20px}
}
