:root{--forest:#123b37;--forest2:#1e4a45;--ivory:#f7f4ed;--paper:#fffdfa;--clay:#d47754;--gold:#c6a36a;--text:#203a37;--muted:#71807c;--line:#e3dfd5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--text);font-family:"Avenir Next",Avenir,"SF Pro Text","Helvetica Neue",Arial,sans-serif}a{color:inherit}.public-nav{height:82px;position:absolute;top:0;left:0;right:0;display:flex;align-items:center;padding:0 5vw;color:white;z-index:10;border-bottom:1px solid #ffffff33}.public-nav.solid{position:relative;background:var(--forest);border:0}.public-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-logo{height:44px;width:auto;display:block}footer .brand-logo{height:52px}.public-brand>span{width:39px;height:39px;border:1px solid #b9d0c9;border-radius:50%;display:grid;place-items:center;font:22px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif}.public-brand div{display:flex;flex-direction:column;gap:2px}.public-brand strong{font:22px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif}.public-brand small{font-size:7px;letter-spacing:2px;color:#bed0ca}.public-nav nav{display:flex;gap:32px;margin-left:auto}.public-nav nav a{text-decoration:none;font-size:11px;color:#d7e1de}.public-nav nav a:hover,.public-nav nav a.selected{color:#fff}.login-link{margin-left:42px;font-size:10px;text-decoration:none;border-left:1px solid #ffffff40;padding-left:30px}.menu-btn{display:none}.hero{min-height:720px;height:92vh;position:relative;overflow:hidden;background-image:url('img/hero-fallback.jpg?v=1');background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;padding:100px 8vw 40px}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;border:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0c2d2adc 0%,#0c2d2a9b 45%,#0c2d2a18 78%),linear-gradient(0deg,#0c2d2a66,transparent)}.hero-content{position:relative;max-width:720px}.overline{font-size:9px;letter-spacing:2.4px;font-weight:800;color:#e3bd83}.hero h1{font:500 clamp(48px,6vw,82px)/.98 "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;margin:20px 0 24px;letter-spacing:-2px}.hero h1 em{font-weight:400;color:#efc28d}.hero-content>p:not(.overline){max-width:520px;font-size:15px;line-height:1.8;color:#d5dfdc}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-block;padding:14px 22px;border-radius:3px;text-decoration:none;font-size:11px;font-weight:800;border:0;cursor:pointer}.button.light{background:#fff;color:var(--forest)}.text-link{color:white;text-decoration:none;font-size:10px}.hero-card{position:absolute;right:5vw;bottom:0;background:var(--paper);color:var(--text);padding:25px 30px;width:310px;display:flex;flex-direction:column}.hero-card small{font-size:7px;letter-spacing:1.6px;color:var(--clay)}.hero-card strong{font:20px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;margin:9px 0 5px}.hero-card span{font-size:10px;color:var(--muted)}.hero-card a{margin-top:18px;text-decoration:none;font-size:9px;color:var(--clay);font-weight:bold}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:100px 8vw;background:var(--paper)}.dark-text{color:var(--clay)}.intro h2,.section-heading h2,.territory h2,.contact h2,.catalog-hero h1,.detail h1,.detail-map h2{font:500 clamp(34px,4vw,53px)/1.08 "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;color:var(--forest);margin:15px 0}.intro>div>p:not(.overline){font:16px/1.8 "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;color:#536461;margin:34px 0}.stats{display:flex;gap:40px;border-top:1px solid var(--line);padding-top:24px}.stats span{display:flex;flex-direction:column;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}.stats b{font:25px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;color:var(--forest);margin-bottom:4px}.projects{padding:95px 8vw}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-heading a{font-size:10px;color:var(--clay);font-weight:bold}.public-grid,.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.public-card{background:var(--paper)}.public-card>a{text-decoration:none}.card-image{height:280px;background-size:cover;background-position:center;position:relative}.card-image span,.card-image b{position:absolute;top:12px;padding:6px 9px;background:#fff;font-size:7px;text-transform:uppercase;letter-spacing:.8px}.card-image span{left:12px;color:var(--forest)}.card-image b{right:12px;background:#e7f0ec;color:#47776a}.card-body{padding:20px}.card-body small{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:var(--clay)}.card-body h3{font:19px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;color:var(--forest);margin:9px 0 24px;min-height:44px}.card-body>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px}.card-body strong{font:17px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif}.card-body span{font-size:10px;color:var(--muted)}.territory{background:var(--forest);color:#d8e2df;padding:95px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.territory h2{color:white}.territory>div>p:not(.overline){font-size:13px;line-height:1.8;max-width:430px}.territory .button{margin-top:18px}.map-art{height:420px;position:relative;border:1px solid #ffffff25;border-radius:50% 42% 48% 38%;background:radial-gradient(circle at 60% 50%,#38645d 0 3%,transparent 3%),linear-gradient(145deg,#214b46,#173e3a);box-shadow:inset 0 0 80px #0b2927}.map-art:before,.map-art:after{content:"";position:absolute;border:1px solid #ffffff1f;border-radius:50%;inset:12%}.map-art:after{inset:29% 8%}.pin{position:absolute;background:var(--clay);border:3px solid white;width:40px;height:40px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid;place-items:center;font-style:normal;font-size:19px}.p1{left:50%;top:42%}.p2{left:28%;top:65%}.p3{left:70%;top:20%}.p4{left:63%;top:72%}.map-art span{position:absolute;left:48%;top:54%;font:18px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif}.contact{text-align:center;padding:105px 20px;background:#eee8dc}.contact>p:not(.overline){font-size:13px;color:var(--muted)}.whatsapp{background:#2f8669;color:white;margin-top:20px}footer{background:#0e302d;color:white;padding:35px 5vw 22px;display:flex;flex-direction:column;gap:22px}.footer-top{display:flex;align-items:center;justify-content:space-between}footer p,footer>a:not(.public-brand),.footer-top>a:not(.public-brand){font-size:9px;color:#9eb5af}.footer-credit{width:100%;text-align:center;padding-top:18px;border-top:1px solid #ffffff14;font-size:9px;color:#587871;letter-spacing:.2px}.footer-credit b{color:#8fb0a8;font-weight:600}.catalog-hero{padding:70px 7vw 50px;text-align:center}.catalog-hero h1{margin-bottom:8px}.catalog-hero>p:not(.overline){color:var(--muted);font-size:13px}.catalog-search{display:flex;max-width:720px;margin:30px auto 0;background:white;border:1px solid var(--line);padding:7px}.catalog-search input,.catalog-search select{border:0;background:white;padding:12px;outline:0}.catalog-search input{flex:1}.catalog-search select{border-left:1px solid var(--line)}.catalog-search button{border:0;background:var(--clay);color:white;padding:0 24px}.catalog-layout{padding:0 5vw 70px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:24px;align-items:start}.result-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.result-heading h2{font:22px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif}.result-heading span{font-size:9px;color:var(--muted)}.catalog-grid{grid-template-columns:repeat(2,1fr)}.catalog-grid .card-image{height:220px}.catalog-layout aside{position:sticky;top:20px;background:white;padding:10px}.catalog-layout aside p{font-size:9px;color:var(--muted);padding:0 10px}#public-map{height:630px}.home-marker{background:var(--clay);color:white;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:grid!important;place-items:center;font-size:20px;box-shadow:0 4px 14px #153b3855}.home-marker img{display:block;transform:rotate(45deg)}.detail{padding:45px 6vw 90px}.detail-image{height:540px;background-size:cover;background-position:center;position:relative}.detail-image>span{position:absolute;top:20px;left:20px;background:white;color:var(--forest);font-size:8px;padding:8px 11px;text-transform:uppercase}.detail-info{display:grid;grid-template-columns:1fr 300px;gap:70px;padding:50px 4vw;background:white}.detail-info h1{font-size:48px}.description{font:16px/1.7 "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;color:#596a66;max-width:700px}.features{display:flex;gap:35px;margin-top:28px}.features span{font-size:10px;color:var(--muted)}.features b{font:20px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;color:var(--forest)}.detail-info aside{border-left:1px solid var(--line);padding-left:35px;display:flex;flex-direction:column}.detail-info aside small{font-size:9px;color:var(--muted)}.detail-info aside strong{font:28px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;color:var(--forest);margin:10px 0}.detail-video{padding:80px 4vw 0}.detail-video h2{font-size:36px}.detail-video-frame{position:relative;width:100%;max-width:900px;padding-top:50.625%;background:#0e302d;border-radius:6px;overflow:hidden;box-shadow:0 30px 70px -35px #0e302d66}.detail-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.detail-map{display:grid;grid-template-columns:.6fr 1.4fr;gap:50px;padding:80px 4vw 0}.detail-map h2{font-size:36px}.detail-map p:not(.overline){font-size:12px;color:var(--muted)}#detail-map-box{height:400px}.login-page{background:radial-gradient(circle at 50% -10%,var(--forest2),var(--forest) 60%);min-height:100vh;color:white}.login-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;padding:40px 20px}.login-brand{display:block}.login-brand img{display:block;width:300px;max-width:75%;height:auto;margin:0 auto}.login-box{background:var(--paper);color:var(--text);padding:50px 46px;width:100%;max-width:460px;border-radius:16px;box-shadow:0 50px 90px -40px #02110faa,0 1px 0 #ffffff14 inset}.login-box h2{font:500 24px "Avenir Next",Avenir,"SF Pro Display","Helvetica Neue",Arial,sans-serif;margin:0 0 6px;text-align:center;letter-spacing:-.3px}.login-subtitle{margin:0 0 28px;font-size:12.5px;color:var(--muted);text-align:center}.login-box label{display:block;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin:18px 0}.login-box input{display:block;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:8px;margin-top:8px;font-size:13px;color:var(--text);background:#123b371f;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.login-box input:focus{outline:0;border-color:var(--clay);box-shadow:0 0 0 3px #d477541f;background:transparent}.primary-wide{width:100%;background:var(--clay);color:white;margin-top:22px;border-radius:8px;padding:14px;font-size:11px;letter-spacing:.3px;transition:background-color .15s ease,transform .1s ease}.primary-wide:hover{background:#c2603b}.primary-wide:active{transform:translateY(1px)}.login-error{background:#f7ded6;color:#9d402a;padding:11px 13px;border-radius:8px;font-size:10px;margin-bottom:4px}.login-security{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.login-security p{margin:0;font-size:13px;line-height:1.7;color:#5c6b67;letter-spacing:.1px;text-align:center}@media(max-width:900px){.public-nav nav{display:none}.login-link{margin-left:auto}.hero-card{display:none}.intro,.territory,.detail-map{grid-template-columns:1fr}.public-grid{grid-template-columns:1fr 1fr}.catalog-layout{grid-template-columns:1fr}.catalog-layout aside{position:relative}}@media(max-width:600px){.public-nav{padding:0 20px}.public-nav .login-link{font-size:0;border:0;padding:0}.public-nav .login-link:after{content:'Ingresar';font-size:10px}.hero{padding-left:25px;padding-right:25px}.hero h1{font-size:48px}.intro,.projects,.territory{padding:70px 25px}.intro{gap:25px}.stats{gap:18px}.public-grid,.catalog-grid{grid-template-columns:1fr}.section-heading{align-items:start}.section-heading>a{display:none}.card-image{height:240px}.catalog-layout{padding-left:15px;padding-right:15px}.catalog-search{display:grid}.catalog-search select{border-left:0;border-top:1px solid var(--line)}.catalog-search button{padding:13px}.detail{padding:20px}.detail-video{padding:20px 20px 0}.detail-video h2{font-size:28px}.detail-image{height:350px}.detail-info{grid-template-columns:1fr;padding:30px 20px;gap:25px}.detail-info h1{font-size:36px}.detail-info aside{border-left:0;border-top:1px solid var(--line);padding:25px 0}.features{flex-wrap:wrap}.login-box{padding:30px}.footer-top{align-items:flex-start;gap:20px;flex-direction:column}}
