@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#171b16;--muted:#62685e;--dark:#141713;--green:#b2d547;--gold:#d3ad62;--paper:#fff;--line:#dfe3da;--heading:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.65 'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:500}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #84aa29;outline-offset:5px}.skip{position:fixed;left:20px;top:-100px;background:white;padding:14px;z-index:50}.skip:focus{top:10px}.header{height:94px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:var(--dark);color:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff20}.brand{display:flex;gap:12px;align-items:center;letter-spacing:.06em;font-size:16px;font-weight:700}.brand img{width:68px;height:68px;object-fit:contain}.brand small{display:block;font-size:12px;letter-spacing:.2em;color:var(--gold);font-weight:400}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a:hover{color:var(--green)}.nav-contact{border:1px solid #626859;padding:11px 18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:white;min-height:710px}.hero-copy{padding:58px 8% 28px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:600;display:block;color:#667549}.hero .eyebrow{color:var(--gold)}h1{font-size:clamp(3.4rem,6.6vw,6.4rem);line-height:1.06;letter-spacing:-.04em;margin:32px 0}h1 em{font-style:normal;color:var(--green)}.hero-copy>p{max-width:410px;color:#c7ccc1;font-size:18px;line-height:1.65}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:30px 0 42px}.button{padding:15px 22px;display:inline-flex;align-items:center;gap:30px;min-height:54px;font-size:14px;font-weight:600}.primary{color:#17200b;background:var(--green)}.primary:hover{background:#c7e36d}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:6px}.hero-foot{display:flex;gap:20px;width:100%;padding-top:20px;border-top:1px solid #ffffff30;font-size:12px;letter-spacing:.08em;margin-top:auto;color:#bfc6b8}.hero-image{position:relative;overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 47%}.hero-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0009)}.image-caption{position:absolute;bottom:35px;left:35px;z-index:1}.image-caption span{font-size:12px;letter-spacing:.12em}.image-caption p{font-size:24px;margin-top:7px}.section{padding:100px 6%}.section .eyebrow{margin-bottom:22px}h2{font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.16;letter-spacing:-.035em}h3{font-size:21px;line-height:1.35}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.about .lead{font-size:25px;line-height:1.5;margin-bottom:22px}.about p:not(.lead){color:var(--muted)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px;border-top:1px solid var(--line);padding-top:25px}.principles span,.service-grid article>span{font-size:13px;color:#708145;display:block;margin-bottom:20px}.principles h3{font-size:17px;margin-bottom:10px}.principles p{font-size:14px}.services{background:#f3f5ef}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}.section-heading>p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ccd4c4;border-left:1px solid #ccd4c4}.service-grid article{padding:32px;border-right:1px solid #ccd4c4;border-bottom:1px solid #ccd4c4}.service-grid h3{margin-bottom:14px}.service-grid p{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 25px}.photo{position:relative;width:100%;display:block;padding:0;border:0;cursor:zoom-in;background:#e7ebe2;overflow:hidden;aspect-ratio:4/5}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.photo:hover img{transform:scale(1.035)}.photo>span{position:absolute;bottom:15px;right:15px;background:#fff;color:#141713;width:36px;height:36px;font-size:26px;line-height:36px}.gallery figcaption{padding-top:15px}.gallery figcaption>span{font-size:12px;letter-spacing:.06em;color:#657449;text-transform:uppercase}.gallery h3{font-size:19px;margin-top:5px}.process{background:#25301f;color:white;text-align:center}.process .eyebrow{color:var(--gold)}.process h2{font-size:clamp(2.3rem,4.5vw,4.2rem)}.process p{max-width:630px;margin:25px auto 30px;color:#d7ddcf}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.contact>div>p{margin-top:25px;color:var(--muted)}.contact-panel{border-top:2px solid var(--gold);padding-top:26px;align-self:center}.contact-panel p{color:var(--muted);margin-top:14px}.contact-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:25px 0;margin-top:10px;font-size:20px}.contact-link:hover{color:#526b1b}.contact-note{font-size:14px}footer{padding:30px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:14px}footer>a:first-child{font-weight:700}footer span{display:block;font-size:12px;letter-spacing:.13em;color:#697052}footer p{color:var(--muted)}dialog{border:0;padding:24px;background:#141713;color:white;max-width:90vw;max-height:94vh}dialog::backdrop{background:#000d}dialog>img{max-height:78vh;width:auto;margin:auto}dialog>p{text-align:center;padding-top:12px}.close-photo{position:absolute;right:8px;top:8px;border:0;background:white;color:#111;width:44px;height:44px;font-size:30px;cursor:pointer}
@media(min-width:1600px){.section,.header,footer{padding-left:max(6%,calc((100% - 1440px)/2));padding-right:max(6%,calc((100% - 1440px)/2))}}@media(max-width:1000px){.brand{font-size:14px}nav{gap:17px}.hero{min-height:660px}.hero-copy{padding-top:40px}.hero-copy>p{font-size:16px}.hero-foot{gap:12px;font-size:12px;flex-wrap:wrap}.section{padding:70px 5%}.about{gap:6%}.about .lead{font-size:22px}.principles{grid-template-columns:1fr;gap:16px}.principles article{display:grid;grid-template-columns:28px 1fr;gap:0 10px}.principles p{grid-column:2}.principles span{margin:0}.service-grid article{padding:23px}.contact{gap:6%}}
@media(max-width:720px){html{scroll-padding-top:82px}.header{height:82px;padding:0 5%}.brand img{width:58px;height:58px}.brand{font-size:14px}.menu-toggle{display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:center;width:44px;height:44px;background:transparent;border:1px solid #ffffff50}.menu-toggle span{width:21px;height:2px;background:white}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--dark);padding:20px 6%;flex-direction:column;align-items:stretch;gap:8px}nav.open{display:flex}nav a{padding:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 6% 28px}.hero .eyebrow{font-size:12px;max-width:270px}h1{font-size:clamp(3.3rem,13vw,5rem);margin:25px 0;line-height:1.05}.hero-copy>p{max-width:480px}.actions{margin:25px 0}.hero-image{min-height:440px}.hero-image img{object-position:center 45%}.image-caption{left:24px;bottom:25px}.image-caption p{font-size:21px}.section{padding:58px 6%}.about,.contact{grid-template-columns:1fr;gap:32px}.about .lead{font-size:22px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{padding:22px}.service-grid h3{font-size:19px}.service-grid p{font-size:16px}.gallery{grid-template-columns:1fr 1fr;gap:28px 17px}.gallery h3{font-size:17px}.gallery .photo{aspect-ratio:3/4}.process{text-align:left}.process p{margin-left:0}.contact-link{font-size:18px}footer{align-items:start;flex-wrap:wrap;padding:28px 6%}footer p{order:3;width:100%}.section .eyebrow{margin-bottom:18px}}@media(max-width:390px){.brand{font-size:12px;gap:5px}.brand small{font-size:12px}.service-grid{grid-template-columns:1fr}.hero-foot{gap:10px}.gallery{gap:25px 12px}.gallery h3{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.financing{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;background:#f3f5ef}.finance-lead{font-size:21px;margin:24px 0 28px;max-width:480px}.finance-info h3{margin:0 0 12px}.finance-info>p{color:var(--muted);margin-bottom:24px}.finance-info .finance-terms{font-size:14px;border-top:1px solid var(--line);padding-top:20px}details{border-top:1px solid var(--line);padding-top:18px}summary{cursor:pointer;font-weight:600;font-size:16px}details p{margin:16px 0;font-size:14px;color:var(--muted)}details a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.phone-list{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0;font-size:22px}.phone-list a:hover{text-decoration:underline}.contact-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:20px 0}address{font-style:normal;border-top:1px solid var(--line);padding-top:22px;line-height:1.7}nav{gap:22px}@media(max-width:1000px){nav{gap:13px}.nav-contact{max-width:175px;text-align:center;padding:9px 12px}}@media(max-width:820px){.header{padding-left:3%;padding-right:3%}.brand{gap:5px;font-size:12px}nav{gap:10px;font-size:14px}}@media(max-width:720px){.financing{grid-template-columns:1fr;gap:35px}.header{padding-left:5%;padding-right:5%}.brand{font-size:14px;gap:12px}.nav-contact{max-width:none}.finance-lead{font-size:19px}.phone-list{font-size:20px}}

.portfolio-group+.portfolio-group{margin-top:64px;padding-top:48px;border-top:1px solid var(--line)}.portfolio-title{font-size:clamp(1.5rem,2.5vw,2.1rem)}.portfolio-description{margin:12px 0 28px;color:var(--muted)}.renders .photo{aspect-ratio:1/1;background:#141713}.renders .photo img{object-fit:contain}.entregados .photo img,.activos .photo img{object-position:center}.gallery img{min-height:0}
