:root{--pacifico:#17384b;--bosque:#18382f;--niebla:#f3f4ef;--blanco:#fff;--tinta:#152c34;--suave:#415654;--linea:#d3dcd4;--wrap:1320px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--niebla);color:var(--tinta);font-family:"Instrument Sans",Arial,sans-serif;font-size:16px;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img{display:block;max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #a4a95a;outline-offset:5px}
.wrap{width:min(var(--wrap),calc(100% - 112px));margin-inline:auto}
.skip{position:absolute;z-index:10;left:15px;top:10px;padding:10px 16px;background:white;transform:translateY(-150%)}
.skip:focus{transform:none}
.header{position:relative;z-index:2;background:var(--niebla)}
.nav{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:32px}
.brand img{width:192px;height:auto}
.footer-inner img{width:153px;height:auto}
nav{display:flex;align-items:center;gap:clamp(20px,3vw,47px);font-size:14px;font-weight:600}
nav a:not(.nav-contact):hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.nav-contact{display:flex;gap:18px;align-items:center;background:var(--bosque);color:white;padding:10px 16px}
.nav-contact:hover,.button:hover{filter:brightness(1.09)}
.menu{background:transparent;border:1px solid var(--linea);padding:7px 13px;color:var(--bosque)}
.hero{position:relative;isolation:isolate;background:var(--pacifico) url(assets/portada.webp) center/cover;color:#fff;min-height:min(760px,calc(100svh - 78px));display:grid}
.hero video,.veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.hero video{z-index:-2}
.veil{z-index:-1;background:linear-gradient(90deg,rgba(6,23,31,.91) 0%,rgba(8,29,39,.73) 41%,rgba(9,27,34,.12) 100%),linear-gradient(0deg,rgba(8,24,29,.60),transparent 35%)}
.hero-inner{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding-top:clamp(62px,10vh,120px);padding-bottom:22px}
.hero-copy{max-width:650px;padding-bottom:48px}
.eyebrow{font-family:"IBM Plex Mono","Courier New",monospace;font-size:.73rem;font-weight:700;line-height:1.4;letter-spacing:.14em;margin:0 0 17px}
.hero h1{font-size:clamp(68px,9vw,142px);font-weight:600;line-height:.87;letter-spacing:-.075em;margin:0 0 27px}
.hero-copy>p:not(.eyebrow){max-width:480px;font-size:clamp(17px,1.5vw,22px);line-height:1.45;margin:0 0 26px}
.button{display:inline-flex;align-items:center;gap:23px;font-weight:700;padding:13px 17px}
.light{background:var(--niebla);color:var(--bosque)}
.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ffffff65;padding-top:15px;font-size:13px}
.hero-foot a span,.footer-inner a span{margin-right:6px}
.hero-foot button{padding:6px 9px;border:1px solid #ffffff90;background:#152c34b5;color:#fff;line-height:1.2}
.section{padding-block:clamp(55px,8vw,105px)}
.section-intro,.contact-inner{display:grid;grid-template-columns:minmax(155px,.34fr) 1fr;gap:35px}
.section-intro>.eyebrow,.contact-inner>.eyebrow{margin-top:10px}
h2{font-size:clamp(39px,5.4vw,76px);font-weight:600;line-height:.99;letter-spacing:-.06em;margin:0 0 22px;text-wrap:balance}
.section-intro div>p,.contact-inner div>p,.project-copy>p:not(.eyebrow){margin:0;font-size:clamp(16px,1.5vw,20px);line-height:1.55;max-width:610px}
.section-intro div>p{color:var(--suave)}
.landscapes{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:42px}
figure{margin:0}
.landscapes img{width:100%;aspect-ratio:1.65;object-fit:cover;height:auto}
figcaption{font-size:13px;color:var(--suave);padding-top:10px}
.project{background:var(--bosque);color:var(--blanco);padding-block:clamp(42px,6.5vw,90px)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,86px);align-items:center}
.project-image img{width:100%;height:auto;aspect-ratio:1.15;object-fit:cover}
.project-copy h2{font-size:clamp(38px,4.7vw,68px)}
.project-copy>p:not(.eyebrow){color:#e1ebe4}
.text-link{display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid currentColor;font-weight:700;margin-top:26px;padding-bottom:4px}
.contact{padding:clamp(38px,6vw,78px) 0;background:#e2eae2;position:relative;overflow:hidden}
.contact::after{content:"";position:absolute;right:-90px;top:50%;width:clamp(260px,32vw,420px);aspect-ratio:1;transform:translateY(-50%);background:url(assets/isotipo.svg) center/contain no-repeat;opacity:.1;pointer-events:none}
.contact-inner{position:relative;z-index:1}
.contact-seal{width:56px;height:56px;margin-bottom:18px}
footer{background:var(--pacifico);color:white;padding:24px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}
.footer-inner p{margin:0}
@media(max-width:850px){.wrap{width:calc(100% - 56px)}.nav{gap:18px}nav{gap:17px}.hero{min-height:650px}.split{gap:28px}.section-intro,.contact-inner{grid-template-columns:150px 1fr;gap:24px}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.nav{min-height:64px;flex-wrap:wrap;padding-block:12px}.brand img{width:160px}.nav nav{flex-basis:100%;align-items:stretch;gap:0;flex-direction:column}.nav nav a{padding:10px 0}.nav nav .nav-contact{padding:10px 12px;align-self:flex-start}.js .nav nav:not(.is-open){display:none}.hero{min-height:620px;min-height:min(690px,calc(100svh - 64px));min-height:max(520px,min(690px,calc(100svh - 64px)))}.hero-inner{padding-top:65px}.hero h1{font-size:clamp(58px,15vw,98px);margin-bottom:22px}.hero-copy{padding-bottom:31px}.hero-copy>p:not(.eyebrow){max-width:340px}.veil{background:linear-gradient(90deg,#071a23e6,#0d243659),linear-gradient(0deg,#0b2025b3,transparent 39%)}.section-intro,.contact-inner,.split{grid-template-columns:1fr;gap:15px}.section-intro>.eyebrow,.contact-inner>.eyebrow{margin:0}.landscapes{grid-template-columns:1fr;gap:24px;margin-top:30px}.project-image img{aspect-ratio:1.55}.footer-inner{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(min-width:651px){.menu{display:none}}
.nav-contact span,.button span,.text-link span{font-size:0;display:inline-block;width:10px;height:10px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;position:relative}
.nav-contact span::after,.button span::after,.text-link span::after{content:"";position:absolute;width:12px;border-top:1.5px solid currentColor;right:-1px;top:0;transform-origin:right;transform:rotate(-45deg)}
.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.language{display:inline-flex;align-items:center;justify-content:center;min-width:43px;min-height:40px;border:1px solid var(--linea);font-size:13px;font-weight:700;color:var(--bosque)}
.language:hover{background:#e2eae2}
.project-copy>.project-status{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:22px;padding-top:15px;border-top:1px solid #ffffff55;font-size:14px}
.project-status strong{color:var(--blanco)}
.contact-button{margin-top:22px;background:var(--bosque);color:var(--blanco)}
@media(min-width:651px){.header-actions{order:2;margin-left:0}.nav nav{margin-left:auto}}

.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin-top:26px;max-width:680px}
.contact-form .field{display:flex;flex-direction:column;gap:6px}
.contact-form .field.wide,.contact-form .contact-button{grid-column:1/-1}
.contact-form label{font-size:.86rem;font-weight:600;color:var(--tinta)}
.contact-form input,.contact-form textarea{font:inherit;color:var(--tinta);background:#fff;border:1px solid #9fb0a6;border-radius:0;padding:12px 13px;width:100%}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid #a4a95a;outline-offset:2px}
.contact-form .contact-button{justify-self:start;border:0;margin-top:6px}
.contact-alt{margin-top:18px!important;font-size:.95rem!important}
.contact-alt a{font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media(max-width:650px){.contact-form{grid-template-columns:1fr}}
.thanks{min-height:60vh;display:flex;align-items:center}
.thanks h1{font-size:clamp(34px,6vw,64px);line-height:1.05;margin:0 0 16px;letter-spacing:-.03em}
.thanks p{max-width:560px;font-size:1.1rem}
.thanks .button{margin-top:22px;background:var(--bosque);color:var(--blanco)}
