@font-face{font-family:Montserrat;src:url('assets/montserrat-semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--ivory:#F5F2EE;--sand:#D9D0C5;--stone:#B9AEA1;--taupe:#7C756D;--charcoal:#2B2B2B;--brown:#5B4636;--line:rgba(91,70,54,.19)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ivory);color:var(--brown);font-family:Montserrat,Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brown);outline-offset:5px}::selection{background:var(--sand);color:var(--brown)}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:600}em{font-style:normal;color:var(--taupe)}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1.8}.skip-link{position:fixed;top:-70px;left:15px;background:var(--brown);color:var(--ivory);padding:12px 18px;z-index:20}.skip-link:focus{top:10px}.header{height:98px;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.wordmark{display:block;width:147px;height:36px;position:relative;overflow:hidden;flex-shrink:0}.wordmark img{display:block;position:absolute;width:100%;height:auto;max-width:none;left:0;top:50%;transform:translateY(-50%);filter:brightness(0)}.header nav{display:flex;align-items:center;gap:36px;font-size:12px}.header nav a{position:relative}.header nav a:not(.nav-contact)::after{position:absolute;content:'';height:1px;background:var(--brown);bottom:-5px;left:0;right:100%;transition:right .2s}.header nav a:hover::after{right:0}.nav-contact{display:flex;align-items:center;gap:28px;border:1px solid var(--brown);padding:10px 16px}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:48px;padding-top:58px}.hero-copy{padding-top:30px}.hero .eyebrow{display:flex;align-items:center;gap:10px}.dot{width:5px;height:5px;border-radius:50%;background:var(--brown);display:inline-block}h1{font-size:clamp(46px,4.55vw,68px);line-height:1.095;letter-spacing:-.055em;margin-top:29px}.hero-description{font-size:15px;line-height:1.8;margin-top:25px;color:var(--charcoal)}.button{display:inline-flex;gap:34px;align-items:center;justify-content:space-between;background:var(--brown);color:var(--ivory);padding:15px 22px;font-size:12px;font-weight:600;line-height:1.5;border:1px solid var(--brown);transition:background .2s,transform .2s}.button:hover{background:var(--charcoal);transform:translateY(-2px)}.button span{font-size:19px;font-weight:400}.hero .button{margin-top:29px}.hero-location{display:flex;gap:11px;align-items:center;font-size:10px;line-height:1.7;margin-top:38px;color:var(--taupe)}.hero-location strong{font-weight:400;color:var(--brown)}.hero-location svg{width:20px;height:20px;stroke:var(--brown);stroke-width:1.2}.hero-visual{position:relative;background:var(--sand);min-height:540px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.drawing-heading{display:flex;justify-content:space-between;padding:26px 28px 0;font-size:8px;letter-spacing:.15em;position:relative;z-index:1}.architecture{width:100%;height:auto;max-height:470px;display:block;margin-block:-8px}.hero-visual figcaption{display:flex;justify-content:space-between;padding:0 28px 25px;font-size:10px}.hero-bottom{grid-column:1/-1;border-top:1px solid var(--line);margin-top:13px;padding-block:24px 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px}.hero-bottom>a{display:flex;align-items:center;gap:24px}.hero-bottom>a span{font-size:22px;line-height:1}.work-section{padding:78px 0 0;background:#EDE7E0}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:40px}.section-intro .eyebrow{padding-top:7px}h2{font-size:clamp(31px,3.05vw,43px);line-height:1.18;letter-spacing:-.045em}.section-intro>div>p{max-width:490px;margin-top:22px;color:var(--charcoal);font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:49px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:29px 32px 33px 0}.service-card+.service-card{border-left:1px solid var(--line);padding-left:32px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.number{font-size:10px;color:var(--taupe)}.card-top svg{width:45px;height:45px;stroke:var(--brown);stroke-width:1.05}.service-card h3{font-size:21px;letter-spacing:-.03em}.service-card p{font-size:12px;color:var(--charcoal);line-height:1.85;margin-top:15px;min-height:70px;max-width:310px}.service-card a{font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:31px}.service-card a:hover{color:var(--charcoal)}.service-card a span{font-size:19px}.process{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-block:65px 66px;scroll-margin-top:25px}.process-heading h3{font-size:26px;letter-spacing:-.035em;line-height:1.25;margin-top:17px}.process-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:0;margin:4px 0 0}.process-list li>span{font-size:9px;border:1px solid var(--stone);width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:18px}.process-list h4{font-size:12px}.process-list p{font-size:11px;margin-top:8px;line-height:1.75;color:var(--charcoal)}.manifesto{display:flex;gap:38px;align-items:center;background:var(--brown);color:var(--ivory);padding:35px 39px}.manifesto-mark{font-weight:400;font-size:57px;line-height:1;transform:scaleX(1.15);color:var(--sand)}.manifesto>p{font-size:21px;line-height:1.5;letter-spacing:-.02em}.manifesto>p strong{font-weight:400;color:var(--sand)}.manifesto-label{margin-left:auto;font-size:8px;letter-spacing:.17em;color:var(--sand)}.contact-section{padding-block:105px 98px;display:grid;grid-template-columns:1fr 1fr;gap:110px}.contact-copy{padding-top:20px}.contact-copy h2{margin-top:22px;font-size:clamp(34px,3.4vw,48px)}.contact-copy>p:not(.eyebrow):not(.contact-handle){color:var(--charcoal);font-size:13px;margin-top:22px;max-width:310px}.contact-copy .button{margin-top:28px}.contact-handle{font-size:9px;margin-top:15px;color:var(--taupe)}.brief-card{border:1px solid var(--line);padding:30px 32px;background:rgba(217,208,197,.17)}.brief-card h3{font-size:19px;letter-spacing:-.03em}.brief-intro{font-size:11px;color:var(--charcoal);margin-top:9px;max-width:340px}.brief-card form{margin-top:21px}.brief-card label{display:block;font-size:10px;font-weight:600;margin-bottom:6px}.brief-card label span{font-weight:400;color:var(--taupe);font-size:9px}.brief-card input,.brief-card select,.brief-card textarea{background:var(--ivory);border:1px solid var(--stone);border-radius:0;width:100%;padding:11px;color:var(--brown);font-size:11px;min-height:41px}.brief-card textarea{resize:vertical;display:block}.brief-card ::placeholder{color:var(--taupe);opacity:1}.form-row{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-block:15px}.copy-button{border:0;border-bottom:1px solid var(--brown);padding:13px 0 9px;background:transparent;color:var(--brown);font-size:11px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:5px}.copy-button span{font-size:18px}.copy-button:hover{color:var(--charcoal)}.form-status{font-size:9px;color:var(--taupe);margin-top:10px;line-height:1.6;min-height:29px}#message-fallback{margin-top:15px}.footer{background:var(--brown);color:var(--ivory)}.footer-inner{display:flex;align-items:center;gap:55px;min-height:148px}.wordmark-light img{filter:none}.footer p{font-size:10px;line-height:1.8;color:var(--sand)}.footer-inner>a:not(.wordmark){font-size:11px;margin-left:auto}.copyright{font-size:8px;color:var(--sand)}
@media(min-width:1600px){.hero{padding-top:70px}.hero-visual{min-height:595px}.architecture{max-height:525px}.hero-copy{padding-top:44px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.hero{gap:32px;padding-top:42px}.hero-copy{padding-top:15px}h1{font-size:49px}.hero-visual{min-height:500px}.hero-description{font-size:13px}.hero-location{margin-top:26px}.section-intro,.process{grid-template-columns:.85fr 2fr}.service-card{padding-right:22px}.service-card+.service-card{padding-left:22px}.service-card h3{font-size:18px}.service-card p{min-height:89px}.contact-section{gap:55px}.footer-inner{gap:30px}}
@media(max-width:760px){html{scroll-padding-top:25px}.container{width:calc(100% - 40px)}.header{height:79px}.wordmark{width:111px;height:29px}.header nav{gap:18px;font-size:10px}.header nav>a:not(.nav-contact){display:none}.nav-contact{padding:8px 12px;gap:18px}.hero{grid-template-columns:1fr;gap:31px;padding-top:29px}.hero-copy{padding-top:0}.eyebrow{font-size:8px;letter-spacing:.14em}h1{font-size:clamp(41px,9.8vw,64px);line-height:1.08;margin-top:23px;letter-spacing:-.052em}.desktop-break{display:none}.hero-description{font-size:13px;margin-top:21px}.hero .button{margin-top:23px}.hero-location{margin-top:25px;font-size:9px}.hero-visual{min-height:0;aspect-ratio:1.07;}.drawing-heading{padding:21px 22px 0;font-size:7px}.architecture{min-height:0;flex:1;margin-block:-10px;width:100%;height:calc(100% - 65px)}.hero-visual figcaption{font-size:8px;padding:0 22px 20px}.hero-bottom{padding-block:18px 29px;margin-top:0;font-size:8px;align-items:flex-start;gap:25px}.hero-bottom>span{max-width:190px}.hero-bottom>a{gap:13px;white-space:nowrap}.work-section{padding-top:45px}.section-intro{grid-template-columns:1fr;gap:15px}h2{font-size:32px}.section-intro>div>p{font-size:12px;margin-top:17px}.service-grid{grid-template-columns:1fr;margin-top:30px}.service-card,.service-card+.service-card{padding:24px 0 26px;border-left:0}.service-card+.service-card{border-top:1px solid var(--line)}.card-top{margin-bottom:14px}.card-top svg{width:34px;height:34px}.service-card h3{font-size:22px}.service-card p{font-size:12px;min-height:0;max-width:100%;margin-top:10px}.service-card a{margin-top:21px;max-width:290px;font-size:10px}.process{grid-template-columns:1fr;gap:27px;padding-block:39px}.process-heading h3{font-size:26px;margin-top:13px}.process-heading h3 br{display:none}.process-list{grid-template-columns:1fr;gap:24px;margin:0}.process-list li{display:flex;gap:18px}.process-list li>span{flex-shrink:0;margin:0}.process-list h4{font-size:12px}.process-list p{font-size:11px;margin-top:5px}.manifesto{padding:25px 23px;gap:24px}.manifesto-mark{font-size:41px}.manifesto>p{font-size:15px}.manifesto-label{display:none}.contact-section{padding-block:48px;grid-template-columns:1fr;gap:34px}.contact-copy{padding:0}.contact-copy h2{font-size:37px;margin-top:18px}.contact-copy>p:not(.eyebrow):not(.contact-handle){max-width:100%;font-size:12px;margin-top:17px}.contact-copy .button{margin-top:23px}.brief-card{padding:25px 23px}.brief-card h3{font-size:19px}.brief-card input,.brief-card select,.brief-card textarea{font-size:16px;padding:10px;min-height:45px}.brief-card textarea{font-size:13px}.brief-card input::placeholder{font-size:12px}.brief-card select{font-size:13px}.form-row{gap:12px;grid-template-columns:1.1fr 1fr}.brief-card label{font-size:9px}.brief-card label span{font-size:8px}.footer-inner{min-height:0;padding-block:29px;display:grid;grid-template-columns:1fr auto;gap:22px}.footer p{grid-column:1/-1;grid-row:2;font-size:9px}.footer-inner>a:not(.wordmark){font-size:10px}.copyright{grid-column:1/-1;font-size:8px}.footer .wordmark{width:111px;height:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
/* Portada y contacto */
.hero-photo{position:relative;background:var(--brown);isolation:isolate;min-height:570px}
.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,43,43,.18),transparent 30%,transparent 65%,rgba(43,43,43,.63));z-index:1;pointer-events:none}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 49%;z-index:0}
.photo-heading{position:relative;z-index:2;padding:25px 27px;display:flex;justify-content:space-between;color:var(--ivory);font-size:8px;letter-spacing:.17em;text-shadow:0 1px 6px rgba(0,0,0,.3)}
.hero-photo figcaption{position:relative;z-index:2;color:var(--ivory);font-size:10px;text-shadow:0 1px 6px rgba(0,0,0,.3);align-items:center;gap:15px}

.instagram-contact{display:flex;align-items:center;justify-content:space-between;font-size:11px;max-width:275px;border-bottom:1px solid var(--line);padding-block:13px 8px;margin-top:10px}
.instagram-contact span{font-size:17px}
.whatsapp-draft{display:block;font-size:11px;font-weight:600;margin-top:10px;text-decoration:underline;text-underline-offset:4px}
.whatsapp-draft[hidden]{display:none}
@media(max-width:1100px){.hero-photo{min-height:535px}}
@media(max-width:760px){.hero-photo{min-height:0;aspect-ratio:1 / 1.1}.photo-heading{padding:21px 22px;font-size:7px}.hero-photo figcaption{font-size:8px}.instagram-contact{font-size:10px}}
/* Publicaciones de Instagram */
.instagram-section{padding-block:67px 57px}
.instagram-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:29px}
.instagram-heading h3{font-size:32px;line-height:1.2;letter-spacing:-.04em;margin-top:13px}
.instagram-heading>a{font-size:11px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--brown);padding-bottom:6px}
.instagram-heading>a span{font-size:19px}
.instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.instagram-post{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--sand);isolation:isolate}
.instagram-post img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.instagram-post::after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(43,43,43,.7));opacity:0;transition:opacity .3s;pointer-events:none;z-index:1}
.post-format{position:absolute;right:14px;top:13px;z-index:2;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid rgba(245,242,238,.55);border-radius:50%;color:var(--ivory);background:rgba(43,43,43,.4)}
.post-caption{position:absolute;bottom:24px;left:24px;right:24px;z-index:2;color:var(--ivory);font-size:12px;line-height:1.5;transform:translateY(7px);opacity:0;transition:transform .3s,opacity .3s;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.instagram-post:hover img,.instagram-post:focus-visible img{transform:scale(1.035)}
.instagram-post:hover::after,.instagram-post:focus-visible::after,.instagram-post:hover .post-caption,.instagram-post:focus-visible .post-caption{opacity:1}
.instagram-post:hover .post-caption,.instagram-post:focus-visible .post-caption{transform:translateY(0)}
.instagram-note{font-size:10px;line-height:1.8;color:var(--brown);margin-top:17px}
.instagram-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.instagram-section{padding-block:39px 35px}.instagram-heading{align-items:flex-start;margin-bottom:22px;gap:18px}.instagram-heading h3{font-size:25px;margin-top:12px}.instagram-heading>a{font-size:8px;gap:6px;padding-top:3px;white-space:nowrap}.instagram-heading>a span{font-size:14px}.instagram-grid{gap:5px}.post-format{right:6px;top:6px;font-size:8px;width:20px;height:20px}.post-caption{display:none}.instagram-note{font-size:9px}}
/* Grilla del perfil: portadas originales en el orden indicado */
.instagram-grid-profile{max-width:1050px;margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
.instagram-grid-profile .profile-post{min-width:0;aspect-ratio:3/4}
.instagram-grid-profile .post-format{right:12px;top:12px;width:29px;height:29px;background:none;border:0;border-radius:0;filter:drop-shadow(0 1px 3px rgba(43,43,43,.35))}
.instagram-grid-profile .post-format svg{width:100%;height:100%;display:block}
.instagram-grid-profile .profile-post:focus-visible{outline:3px solid var(--ivory);outline-offset:-5px}
@media(max-width:760px){.instagram-grid-profile{gap:2px}.instagram-grid-profile .post-format{right:6px;top:6px;width:20px;height:20px}}
/* Portada: cinco tipos de proyecto, con transición suave y pausa */
.hero-carousel{min-height:640px}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slides{z-index:0}
.hero-slide{opacity:0;transition:opacity .9s ease;pointer-events:none}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-slide:last-child .hero-image{object-position:50% 35%}
.hero-carousel::after{background:linear-gradient(180deg,rgba(43,43,43,.24),transparent 35%,rgba(43,43,43,.12) 55%,rgba(43,43,43,.86))}
.hero-carousel figcaption{flex-direction:column;align-items:flex-start;gap:4px;padding-bottom:89px}
.carousel-caption{font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.4}

.carousel-controls{position:absolute;left:26px;right:26px;bottom:20px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px}
.carousel-controls[hidden]{display:none}
.carousel-dots{display:flex;gap:0}
.carousel-dot,.carousel-toggle{appearance:none;border:0;padding:0;color:var(--ivory);cursor:pointer;display:flex;align-items:center;justify-content:center}
.carousel-dot{width:32px;height:44px;background:transparent}
.carousel-dot span{width:7px;height:7px;border-radius:50%;background:rgba(245,242,238,.45);transition:background .25s,transform .25s}
.carousel-dot[aria-current="true"] span{background:var(--ivory);transform:scale(1.45)}
.carousel-dot:hover span{background:var(--ivory)}
.carousel-toggle{width:44px;height:44px;flex-shrink:0;border:1px solid rgba(245,242,238,.5);border-radius:50%;background:rgba(91,70,54,.3);transition:background .2s}
.carousel-toggle:hover{background:rgba(91,70,54,.7)}
.carousel-toggle svg{width:21px;height:21px}
.carousel-play-icon,.carousel-toggle.is-paused .carousel-pause-icon{display:none}
.carousel-toggle.is-paused .carousel-play-icon{display:block}
.hero-carousel button:focus-visible{outline:2px solid var(--ivory);outline-offset:2px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.hero-carousel{min-height:535px}}
@media(max-width:760px){.hero-carousel{min-height:0;aspect-ratio:4/5}.hero-carousel figcaption{padding-bottom:86px;gap:3px}.carousel-caption{font-size:16px}.carousel-controls{left:21px;right:21px;bottom:18px}}
