:root{--green:#123d2b;--green-2:#1c523a;--green-3:#286346;--gold:#d8b45a;--gold-light:#f0d98f;--cream:#f6f4ed;--ink:#17251d;--muted:#647067;--white:#fff;--line:rgba(18,61,43,.14);--shadow:0 22px 60px rgba(9,35,23,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:82px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,78px);background:rgba(13,48,33,.97);border-bottom:1px solid rgba(216,180,90,.24);backdrop-filter:blur(14px)}.brand img{width:145px;height:66px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(13px,2vw,29px);color:#f9f8f1;font-size:12px;font-weight:600;letter-spacing:.02em}.main-nav a:not(.nav-cta){transition:color .2s}.main-nav a:not(.nav-cta):hover{color:var(--gold-light)}.nav-cta{padding:11px 17px;border:1px solid var(--gold);color:var(--gold-light);border-radius:2px}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:white;margin:5px}.hero{min-height:670px;position:relative;display:grid;place-items:center;text-align:center;color:white;background:#163e2b url('assets/fondo-aereo.jpg') center 46%/cover no-repeat;isolation:isolate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,29,19,.45),rgba(8,39,26,.84));z-index:-1}.hero-content{width:min(850px,90%);padding:80px 0 100px}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:700;color:var(--gold);margin:0 0 15px;text-transform:uppercase}.hero .eyebrow{letter-spacing:.4em;color:var(--gold-light)}.hero-logo{width:300px;height:300px;object-fit:contain;margin:-6px auto -18px;filter:drop-shadow(0 7px 18px rgba(0,0,0,.25))}.hero-tagline{font-family:Montserrat,sans-serif;font-size:clamp(16px,2vw,23px);letter-spacing:.06em;color:var(--gold-light);margin:0 0 18px}.hero-copy{font-size:clamp(14px,1.3vw,16px);max-width:690px;margin:0 auto 29px;color:rgba(255,255,255,.9)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 22px;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#182a1e}.button-gold:hover{background:var(--gold-light)}.scroll-cue{position:absolute;bottom:22px;left:50%;height:36px;width:22px;border:1px solid rgba(255,255,255,.65);border-radius:20px;display:flex;justify-content:center;padding-top:7px}.scroll-cue span{height:7px;width:2px;background:var(--gold);animation:scroll 1.4s infinite}@keyframes scroll{0%{transform:translateY(0);opacity:1}100%{transform:translateY(11px);opacity:0}}.section{padding:100px clamp(20px,7vw,110px)}.section-heading{text-align:center;max-width:760px;margin:0 auto 48px}.section-heading h2,.about-copy h2,.contact-copy h2{font:600 clamp(29px,4vw,46px)/1.15 Montserrat,sans-serif;letter-spacing:-.04em;margin:0 0 15px;color:var(--green)}h2 em{font-style:normal;color:#a9812d}.section-heading>p:last-child{color:var(--muted);margin:0}.security-section{background:#fbfaf6}.feature-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{padding:32px 28px;border:1px solid var(--line);background:white;box-shadow:0 10px 35px rgba(18,61,43,.035);transition:transform .25s,box-shadow .25s}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.feature-icon{width:56px;height:56px;display:grid;place-items:center;background:#edf2ec;border-radius:50%;margin-bottom:24px}.feature-icon svg{width:31px;height:31px;fill:none;stroke:var(--green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.feature-card h3,.mission-grid h3{font:700 16px Montserrat,sans-serif;color:var(--green);margin:0 0 13px}.feature-card p,.about-copy>p:not(.eyebrow),.mission-grid p{font-size:13px;color:#5b665e;margin:0}.about-section{display:grid;grid-template-columns:minmax(280px,.83fr) minmax(0,1.17fr);gap:clamp(38px,7vw,100px);align-items:center;background:#f0f0e7}.about-image{position:relative;min-height:610px}.about-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-label{position:absolute;bottom:24px;left:24px;right:24px;background:rgba(17,58,40,.92);padding:17px 20px;color:white;display:flex;align-items:center;justify-content:space-between;border-left:3px solid var(--gold)}.image-label strong{font:700 22px Montserrat,sans-serif;color:var(--gold-light);letter-spacing:.1em}.image-label span{font-size:12px}.about-copy h2{margin-bottom:23px}.about-copy>p:not(.eyebrow){margin-bottom:16px}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:31px;padding-top:25px;border-top:1px solid var(--line)}.mini-mark{font:700 12px Montserrat,sans-serif;color:#a9812d;letter-spacing:.12em;display:block;margin-bottom:10px}.mission-grid h3{font-size:14px;margin-bottom:8px}.mission-grid p{font-size:12px}.values-section{position:relative;color:white;background:var(--green);isolation:isolate;padding:95px clamp(20px,7vw,110px)}.values-bg{position:absolute;inset:0;background:url('assets/visita-terrenos-2.jpg') center/cover no-repeat;z-index:-2}.values-section:before{content:"";position:absolute;inset:0;background:rgba(9,48,31,.91);z-index:-1}.section-heading.light h2{color:white}.section-heading.light>p:last-child{color:rgba(255,255,255,.7)}.values-list{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;column-gap:70px;row-gap:29px}.value-item{display:grid;grid-template-columns:43px 1fr;gap:17px;padding-bottom:23px;border-bottom:1px solid rgba(255,255,255,.2)}.value-number{font:600 18px Montserrat,sans-serif;color:var(--gold)}.value-item h3{font:600 15px Montserrat,sans-serif;margin:0 0 7px;color:#fff}.value-item p{font-size:12px;color:rgba(255,255,255,.72);margin:0}.properties-section{background:#f8f7f1}.property-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.property-card{background:white;box-shadow:0 12px 38px rgba(17,50,34,.08);overflow:hidden}.property-photo{position:relative;height:260px;overflow:hidden;background:#d9e1d7}.property-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.property-card:hover .property-photo img{transform:scale(1.05)}.property-status{position:absolute;top:15px;left:15px;background:var(--green);color:white;font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:7px 11px}.property-info{padding:22px 23px 24px}.property-area{font:700 22px Montserrat,sans-serif;color:var(--green);margin:0 0 5px}.property-note{font-size:12px;color:var(--muted);margin:0 0 8px}.property-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:15px;margin-top:13px}.property-bottom strong{font:700 18px Montserrat,sans-serif;color:#9b772a}.property-bottom a,.text-link{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--green)}.property-bottom a span,.text-link span{color:#a9812d;font-size:16px;margin-left:4px}.property-note-box{max-width:1180px;margin:27px auto 0;padding:21px 25px;background:#e9eee5;display:flex;align-items:center;gap:13px;flex-wrap:wrap}.property-note-box p{font-size:13px;margin:0;flex:1}.gold-dot{width:9px;height:9px;border-radius:50%;background:var(--gold);flex-shrink:0}.text-link{margin-left:auto}.house-section{background:#e9ede5}.house-intro{max-width:1180px;margin:0 auto 35px;display:grid;grid-template-columns:1.1fr .9fr;background:white;box-shadow:var(--shadow)}.house-intro-image{min-height:400px}.house-intro-image img{width:100%;height:100%;min-height:400px;object-fit:cover}.house-intro-copy{padding:clamp(28px,4vw,58px);align-self:center}.house-kicker{font-size:10px;letter-spacing:.2em;font-weight:700;color:#9b772a}.house-intro-copy h3{font:600 clamp(24px,3vw,34px)/1.2 Montserrat,sans-serif;color:var(--green);margin:13px 0 20px}.house-intro-copy p{font-size:13px;color:var(--muted)}.house-area{font:800 32px Montserrat,sans-serif;color:#9b772a;display:block;margin-top:-10px}.button-dark{background:var(--green);color:white;margin-top:12px}.button-dark:hover{background:var(--green-2)}.house-gallery{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.house-gallery figure{margin:0;background:white;box-shadow:0 8px 22px rgba(17,50,34,.06)}.house-gallery img{width:100%;height:215px;object-fit:cover}.house-gallery figcaption{font-size:12px;color:#5d675f;padding:15px 17px;min-height:72px}.house-footnote{max-width:1180px;margin:25px auto 0;padding:19px 24px;border-left:3px solid var(--gold);background:#fff;font-size:13px;color:#4c5c50}.partners-section{padding:82px 20px 90px;background:var(--green);position:relative;isolation:isolate}.partners-section:before{content:"";position:absolute;inset:0;background:url('assets/fondo-aereo.jpg') center/cover;opacity:.14;z-index:-1}.partners-section .section-heading{margin-bottom:34px}.partners-grid{max-width:950px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.partner-card{background:rgba(255,255,255,.94);padding:28px 20px;text-align:center;border-radius:4px}.partner-card img{height:82px;max-width:150px;width:100%;object-fit:contain;margin:0 auto 17px}.partner-card h3{font:600 13px Montserrat,sans-serif;color:var(--green);margin:0 0 6px}.partner-card p{font-size:12px;color:var(--muted);margin:0}.faq-section{background:#faf9f4}.faq-section .section-heading{max-width:900px}.faq-list{max-width:900px;margin:auto}.faq-item{border-bottom:1px solid rgba(18,61,43,.18)}.faq-item:first-child{border-top:1px solid rgba(18,61,43,.18)}.faq-item summary{position:relative;cursor:pointer;list-style:none;padding:21px 50px 21px 4px;font:600 14px Montserrat,sans-serif;color:var(--green)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:7px;top:50%;transform:translateY(-50%);font:400 26px 'DM Sans',sans-serif;color:#a9812d}.faq-item[open] summary:after{content:'−'}.faq-item p,.faq-item ul{font-size:13px;color:#5b665e;margin:0;padding:0 42px 22px 4px}.faq-item li{margin:9px 0}.contact-section{position:relative;isolation:isolate;background:#0e3323;color:white;padding:90px clamp(20px,7vw,110px)}.contact-bg{position:absolute;inset:0;background:url('assets/visita-terrenos-3.jpg') center/cover;z-index:-2}.contact-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,39,25,.95),rgba(8,39,25,.84));z-index:-1}.contact-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr .8fr;gap:clamp(35px,8vw,110px);align-items:center}.contact-copy h2{color:white;max-width:550px}.contact-copy .contact-lead{font:600 24px Montserrat,sans-serif;color:var(--gold-light);margin:0 0 12px}.contact-copy>p:not(.eyebrow):not(.contact-lead){max-width:550px;color:rgba(255,255,255,.76);font-size:14px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.button-whatsapp{background:#238c54;color:white}.button-whatsapp:hover{background:#2da966}.wa-symbol{font-size:18px}.button-outline-light{border-color:rgba(255,255,255,.4);color:white}.button-outline-light:hover{background:white;color:var(--green)}.office-card{padding:30px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 20px 50px rgba(0,0,0,.16)}.office-card .eyebrow{margin-bottom:8px}.office-card h3{font:700 17px Montserrat,sans-serif;color:var(--green);margin:0 0 15px}.office-card>p:not(.eyebrow){font-size:12px;color:#5d675f}.ruc-label{margin:0;color:#777!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.12em}.ruc-number{font:700 20px Montserrat,sans-serif;color:#9b772a!important;margin:0 0 10px}.office-hours{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#59635c;margin:18px 0}.office-hours strong{color:var(--green);margin-bottom:4px}.map-link{display:block;margin-top:17px}.map-link img{width:100%;height:125px;object-fit:cover;border:1px solid #ddd}.map-link span{display:block;font-size:11px;font-weight:700;color:var(--green);margin-top:8px}.site-footer{padding:32px 20px 28px;background:#092619;color:rgba(255,255,255,.65);text-align:center;font-size:11px}.footer-brand img{width:110px;height:80px;object-fit:contain;margin:0 auto 8px}.site-footer p{margin:5px}.footer-motto{color:var(--gold-light)}.footer-socials{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:17px}.footer-socials span{margin-right:5px}.footer-socials a{width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(216,180,90,.55);border-radius:50%;color:var(--gold-light);font-weight:700;font-size:14px}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:40;width:55px;height:55px;border-radius:50%;background:#22a35a;box-shadow:0 8px 24px rgba(0,0,0,.25);display:grid;place-items:center;transition:transform .2s}.floating-whatsapp:hover{transform:scale(1.07)}.floating-whatsapp svg{width:29px;height:29px;fill:white}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.main-nav{gap:12px;font-size:11px}.main-nav a:not(.nav-cta){display:none}.main-nav a.nav-cta{display:inline-flex}.section{padding:78px 5vw}.about-section{gap:35px}.feature-card{padding:26px 22px}.property-photo{height:220px}.contact-inner{gap:35px}}
@media(max-width:700px){.site-header{height:70px;padding:0 18px}.brand img{width:125px;height:60px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;padding:15px 20px 22px;background:#0d3021;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid rgba(216,180,90,.2)}.main-nav.open{display:flex}.main-nav a:not(.nav-cta){display:block;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px}.main-nav .nav-cta{justify-content:center;margin-top:13px}.hero{min-height:650px}.hero-content{padding:75px 0 95px}.hero-logo{width:220px;height:220px}.hero-copy{font-size:14px}.section{padding:68px 20px}.section-heading{margin-bottom:32px}.section-heading h2,.about-copy h2,.contact-copy h2{font-size:31px}.feature-grid,.property-grid,.house-gallery,.partners-grid{grid-template-columns:1fr}.feature-card{padding:27px}.about-section{grid-template-columns:1fr;gap:35px}.about-image{min-height:370px}.mission-grid{grid-template-columns:1fr}.values-section{padding:70px 22px}.values-list{grid-template-columns:1fr;gap:18px}.value-item{padding-bottom:18px}.property-photo{height:250px}.property-note-box{align-items:flex-start;padding:18px}.text-link{margin-left:22px}.house-intro{grid-template-columns:1fr}.house-intro-image,.house-intro-image img{min-height:260px;height:260px}.house-intro-copy{padding:28px}.house-gallery{gap:14px}.house-gallery img{height:230px}.house-gallery figcaption{min-height:0}.partner-card{padding:25px}.faq-item summary{font-size:13px;line-height:1.5;padding:19px 38px 19px 2px}.faq-item p,.faq-item ul{padding-right:10px}.contact-section{padding:68px 20px}.contact-inner{grid-template-columns:1fr}.office-card{padding:24px}.contact-actions{flex-direction:column;align-items:stretch}.button{width:100%;text-align:center}.footer-socials{flex-wrap:wrap}.floating-whatsapp{right:15px;bottom:15px;width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* V5: proyectos y sus terrenos integrados en la página principal */
.project-public-card{margin:28px 0 42px;padding:clamp(16px,3vw,30px);background:#fff;border:1px solid #e5e8e2;border-radius:18px;box-shadow:0 12px 32px rgba(18,61,43,.07)}.project-public-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}.project-public-heading h3{font:700 clamp(24px,4vw,34px) Montserrat, sans-serif;margin:4px 0 8px;color:#123d2b}.project-public-cover img{width:100%;max-height:420px;object-fit:cover;border-radius:12px;margin:14px 0}.project-public-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:8px 0 22px}.project-public-gallery img{width:100%;height:135px;object-fit:cover;border-radius:9px}.project-public-card h4{font:700 20px Montserrat;color:#123d2b;margin:20px 0 12px}.project-lots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}

/* V5.1: proyectos en una sola página y tarjetas en filas */
#propertyGrid.projects-mode { display:block; max-width:1180px; }
.project-public-card { width:100%; margin:0 auto 54px; padding:0 0 42px; border-bottom:1px solid rgba(18,61,43,.16); }
.project-lots-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:100%; }
.project-lots-grid .property-card { min-width:0; }
.project-public-cover img { display:block; width:100%; max-height:440px; object-fit:cover; border-radius:10px; }
.project-public-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:14px; }
.project-public-gallery img { width:100%; height:150px; object-fit:cover; border-radius:9px; }
.partners-grid .partner-card, .faq-list .faq-item { opacity:1 !important; transform:none !important; }
@media (max-width:850px) {
 .project-lots-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .project-public-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:560px) {
 .project-lots-grid { grid-template-columns:1fr; }
 .project-public-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
