:root{--green:#153d2c;--green2:#234f3a;--ink:#15201a;--paper:#f4f3ed;--white:#fff;--muted:#6b746f;--line:#d9ddd9;--water:#a7c8d7;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}img{display:block;width:100%}a{color:inherit;text-decoration:none}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(244,243,237,.94);backdrop-filter:blur(12px);position:fixed;top:0;z-index:50;width:100%;border-bottom:1px solid rgba(20,40,30,.08)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-family:Manrope;font-size:13px}.brand strong,.brand small{display:block}.brand strong{font:700 13px Manrope;letter-spacing:.12em}.brand small{font-size:10px;letter-spacing:.14em;color:var(--muted);margin-top:2px}.topbar nav{display:flex;align-items:center;gap:26px;font-size:14px}.nav-cta{padding:10px 15px;background:var(--green);color:white;border-radius:999px}.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;background:#244}.hero img{height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,29,20,.75) 0%,rgba(7,29,20,.28) 48%,rgba(7,29,20,.03) 75%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 38%)}.hero-content{position:absolute;left:max(6vw,calc((100vw - var(--max))/2));bottom:10vh;color:white;max-width:720px}.eyebrow,.section-kicker{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.hero h1{font:600 clamp(64px,10vw,150px)/.9 Manrope;margin:12px 0 22px;letter-spacing:-.055em}.hero-copy{font-size:clamp(20px,2vw,29px);max-width:700px;line-height:1.3;margin:0 0 28px}.hero-facts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.hero-facts span{border:1px solid rgba(255,255,255,.55);padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.button{display:inline-flex;padding:14px 20px;border-radius:999px;font-weight:600}.button.light{background:white;color:var(--green)}.button.dark{background:var(--green);color:white}.section{max-width:var(--max);margin:auto;padding:110px 34px}.section-kicker{color:#587164;margin-bottom:24px}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px}.section h2,.lagoon h2,.contact h2{font:600 clamp(40px,5vw,72px)/1.03 Manrope;letter-spacing:-.045em;margin:0}.copy p,.orientation-card p,.map-head>p,.neighborhood p,.arch-card>p{font-size:18px}.note{font-size:13px!important;color:var(--muted);padding-top:16px;border-top:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats article{padding:26px 18px 28px;border-right:1px solid var(--line)}.stats article:first-child{padding-left:0}.stats article:last-child{border-right:0}.stats strong{font:600 40px Manrope;display:block}.stats span{font-size:13px;color:var(--muted)}.image-feature{max-width:1500px;margin:auto;position:relative;padding:0 24px}.image-feature img{height:min(72vh,780px);object-fit:cover;border-radius:2px}.image-caption{position:absolute;left:7%;bottom:9%;color:white;display:flex;flex-direction:column;text-shadow:0 2px 14px rgba(0,0,0,.35)}.image-caption span{font-size:12px;letter-spacing:.16em;text-transform:uppercase}.image-caption strong{font:600 clamp(26px,3vw,44px) Manrope}.orientation-card{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;background:#e7ebe4;padding:65px;border-radius:3px}.sun-diagram{min-height:330px;border:1px solid #c6d0c8;position:relative;display:grid;place-items:center;color:var(--green)}.sun{font-size:68px;position:absolute;top:35px;left:45px}.arrow{font-size:140px;font-weight:200}.ne{position:absolute;right:35px;top:38px;font:600 28px Manrope}.lagoon{height:90vh;min-height:650px;position:relative;overflow:hidden}.lagoon img{height:100%;object-fit:cover}.lagoon:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,30,25,.5),transparent 60%)}.lagoon-copy{position:absolute;left:max(6vw,calc((100vw - var(--max))/2));bottom:11%;color:white;z-index:2}.lagoon-copy span{font-size:12px;letter-spacing:.18em}.lagoon-copy p{font-size:20px}.map-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}.masterplan-wrap{margin-top:55px;background:white;padding:12px;box-shadow:0 12px 45px rgba(35,55,42,.08)}.masterplan-wrap img{max-height:820px;object-fit:contain}.gallery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery-grid figure{margin:0;overflow:hidden;background:#ddd}.gallery-grid img{height:520px;object-fit:cover;transition:transform .6s ease}.gallery-grid figure:hover img{transform:scale(1.015)}.gallery-grid .wide{grid-column:1/-1}.gallery-grid .wide img{height:680px}.neighborhood-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:75px}.muted{color:var(--muted)}.amenities{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.amenities span{padding:20px 0;border-bottom:1px solid var(--line);font:600 20px Manrope}.arch-card{background:var(--green);color:white;padding:70px}.arch-card .section-kicker{color:#bcd1c2}.placeholder-plan{margin-top:50px;padding:35px;border:1px solid rgba(255,255,255,.25);display:flex;justify-content:space-between;gap:20px}.placeholder-plan span{color:#bcd1c2}.contact{background:#e4e7de;padding:120px 34px;text-align:center}.contact-inner{max-width:800px;margin:auto}.contact h2{margin:10px 0 25px}.contact p{font-size:18px;margin-bottom:30px}.floating-cta{position:fixed;right:20px;bottom:20px;z-index:45;background:var(--green);color:white;padding:13px 18px;border-radius:999px;box-shadow:0 8px 28px rgba(0,0,0,.18);font-weight:600}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 4vw;background:#102d21;color:#b9c8bf;font-size:12px}.reveal{opacity:0;transform:translateY(20px);transition:.8s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:850px){.topbar{height:64px}.topbar nav a:not(.nav-cta){display:none}.brand small{display:none}.hero{min-height:620px}.hero-content{left:24px;right:24px;bottom:9vh}.hero h1{font-size:68px}.hero-copy{font-size:20px}.section{padding:78px 22px}.intro-grid,.orientation-card,.map-head,.neighborhood-grid{grid-template-columns:1fr;gap:35px}.stats{grid-template-columns:1fr 1fr}.stats article{border-bottom:1px solid var(--line)}.stats article:nth-child(2){border-right:0}.orientation-card{padding:28px}.sun-diagram{min-height:240px}.lagoon{height:70vh;min-height:520px}.gallery-grid{grid-template-columns:1fr}.gallery-grid .wide{grid-column:auto}.gallery-grid img,.gallery-grid .wide img{height:390px}.arch-card{padding:35px 25px}.placeholder-plan{flex-direction:column}.floating-cta{font-size:14px}footer{flex-direction:column}}

/* v2 */
.build-head,.video-teaser,.faq-head{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:end}
.rule-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d9ddd6;margin:3rem 0 1rem;border:1px solid #d9ddd6}
.rule-cards article{background:#fff;padding:2rem}.rule-cards strong{display:block;font:700 2rem Manrope,sans-serif;color:#26372e}.rule-cards span{font-size:.9rem;color:#6b756f}
.setback-strip{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3.5rem}.setback-strip span{border:1px solid #dfe5df;border-radius:999px;padding:.65rem 1rem;color:#526158}.setback-strip b{color:#24372c}
.concept-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:3rem;align-items:center;background:#f3f5f1;padding:2rem}.concept-grid img{width:100%;display:block}.concept-copy h3{font:600 clamp(1.8rem,3vw,3rem) Manrope,sans-serif;margin:.5rem 0 1rem;color:#26372e}
.video-teaser{background:#26372e;color:white}.video-teaser .section-kicker{color:#c8d7cd}.video-teaser h2{color:white}.video-teaser p{color:#d6ddd8}.video-placeholder{min-height:260px;border:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}.video-placeholder span{font-size:2rem}.video-placeholder small{opacity:.7}
.faq{max-width:980px}.faq-head{grid-template-columns:1fr}.accordion{margin-top:2.5rem;border-top:1px solid #d9ddd6}.accordion details{border-bottom:1px solid #d9ddd6;padding:0}.accordion summary{cursor:pointer;list-style:none;padding:1.35rem 2.5rem 1.35rem 0;font:600 1.05rem Manrope,sans-serif;position:relative}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:'+';position:absolute;right:.25rem;font-size:1.5rem;font-weight:400}.accordion details[open] summary:after{content:'–'}.accordion details p{margin:0 0 1.4rem;max-width:780px;color:#5e6963;line-height:1.7}.legal-note{font-size:.78rem;color:#7a837e;margin-top:1.5rem}
@media(max-width:800px){.build-head,.video-teaser,.concept-grid{grid-template-columns:1fr}.rule-cards{grid-template-columns:1fr 1fr}.concept-grid{padding:1rem}.video-teaser{gap:2rem}}

/* v3 · ubicación real + video */
.location-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:3rem;align-items:stretch}.location-head>div:first-child{padding:1rem 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.location-head p:not(.section-kicker){font-size:18px;color:var(--muted);max-width:540px}.location-pills{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.1rem 0 1.8rem}.location-pills span{border:1px solid var(--line);border-radius:999px;padding:.55rem .85rem;font-size:13px;background:rgba(255,255,255,.45)}.map-frame{min-height:520px;background:white;padding:10px;box-shadow:0 12px 45px rgba(35,55,42,.08)}.map-frame iframe{display:block;width:100%;height:100%;min-height:500px;border:0}.video-player{background:#102d21;padding:8px;box-shadow:0 14px 40px rgba(0,0,0,.18)}.video-player video{display:block;width:100%;max-height:560px;background:#000}.contact .button{margin-top:4px}
@media(max-width:800px){.location-head{grid-template-columns:1fr}.map-frame{min-height:420px}.map-frame iframe{min-height:400px}.video-player{padding:4px}}
