*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#f3f1ec;color:#22231f;font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{height:88px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:#f3f1ec;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}.brand-logo{display:block;width:178px;height:auto;max-height:68px;object-fit:contain;object-position:left center}.brand-mark{width:42px;height:42px;border:1px solid #a58b68;display:grid;place-items:center;font-family:Manrope,sans-serif;font-size:15px;letter-spacing:-1px;color:#8c714e}.brand-name{font-family:Manrope,sans-serif;font-size:12px;letter-spacing:2px;line-height:1.3}.brand-name strong{font-weight:700}.brand-name small{display:block;font-family:"DM Sans",sans-serif;font-size:8px;letter-spacing:2px;color:#7c7a72;margin-top:4px}.main-nav{display:flex;align-items:center;gap:34px;font-size:12px}.main-nav>a:not(.nav-cta){color:#55564f;transition:color .2s}.main-nav>a:hover{color:#a17d4d}.nav-cta{padding:13px 17px;border:1px solid #c7c1b5}.nav-cta span{margin-left:12px}.menu-toggle{display:none}
/* Navegación desplegable premium */
.nav-group{position:relative;display:flex;align-items:center}.nav-parent{display:flex;align-items:center;gap:7px}.nav-chevron{font-size:13px;color:#9b8667}.nav-submenu{position:absolute;top:100%;left:-16px;min-width:205px;padding:10px 0;background:#f7f5f0;box-shadow:0 16px 35px #17181520;border:1px solid #e4dfd4;display:none;z-index:30}.nav-submenu a{display:block;padding:12px 17px;font-size:11px;white-space:nowrap;color:#383932;transition:background .2s,color .2s}.nav-submenu a:hover{background:#e9e4da;color:#8b7658}.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu{display:block}
@media(max-width:640px){.nav-group{display:block}.nav-parent{padding:15px 0;border-bottom:1px solid #dfdbd2}.nav-submenu{position:static;display:block;box-shadow:none;border:0;background:transparent;padding:0 0 8px 14px}.nav-submenu a{padding:10px 0;border-bottom:0;font-size:12px}.nav-chevron{margin-left:5px}}
.hero{min-height:min(760px,calc(100svh - 88px));height:690px;max-height:calc(100svh - 88px);position:relative;overflow:hidden;background:#34352f;color:#fff}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2400&q=90");background-size:cover;background-position:center 55%;transform:scale(1.015);animation:heroReveal 1.2s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(18,20,17,.76) 0%,rgba(18,20,17,.42) 48%,rgba(18,20,17,.06) 100%),linear-gradient(0deg,rgba(15,16,14,.3),transparent 35%)}.hero-content{position:absolute;left:10%;top:50%;transform:translateY(-47%);max-width:680px;animation:contentReveal .8s .1s ease-out both}.eyebrow,.overline,.section-kicker{font-size:10px;letter-spacing:2.2px;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;color:#e1d8c9}.eyebrow>span{width:26px;height:1px;background:#c2a77e}.hero h1,.intro h2,.materials h2,.project-content h2,.contact h2{font-family:Manrope,sans-serif;font-weight:400;letter-spacing:-2.8px;line-height:1.06}.hero h1{font-size:clamp(48px,6.4vw,88px);margin:30px 0 22px}.hero h1 em,.intro h2 em,.materials h2 em,.project-content h2 em,.contact h2 em{font-family:Georgia,serif;font-weight:400}.hero-copy{font-size:15px;line-height:1.8;color:#e2e0da;max-width:420px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:16px 20px;font-size:11px;letter-spacing:.2px;border:0;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#f3f1ec;color:#24251f}.button-light:hover{background:#fff}.button span{font-size:16px}.text-link{font-size:11px;color:#f0eee8}.text-link span{padding-left:8px}.hero-caption{position:absolute;right:5.5%;bottom:34px;display:flex;gap:22px;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#e2ded5}.hero-caption span:first-child{color:#c9ab7d}.scroll-cue{position:absolute;bottom:30px;left:5.5%;display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:2px;color:#e5e1d8}.scroll-cue span{height:36px;width:1px;background:#c7ad83}.section-wrap{padding-left:10%;padding-right:10%}.intro{padding-top:130px;padding-bottom:135px;display:grid;grid-template-columns:1fr 2fr 1.1fr;gap:35px;align-items:start}.section-kicker{color:#9c825f;padding-top:8px}.overline{color:#8b7658;letter-spacing:1.7px;font-size:9px}.intro h2,.materials h2,.contact h2{font-size:clamp(38px,4.2vw,58px);margin:18px 0 0}.intro-aside{padding-top:55px}.intro-aside p,.materials-heading>p,.contact-copy{font-size:13px;line-height:1.9;color:#686960}.underlined-link{display:inline-block;margin-top:17px;padding-bottom:8px;border-bottom:1px solid #b7a78f;font-size:11px}.underlined-link span{margin-left:18px}.feature-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:4px;background:#f3f1ec}.feature{height:480px;position:relative;overflow:hidden;color:white;background:#777}.feature-large{height:580px}.feature img,.project-banner>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.feature:hover img{transform:scale(1.045)}.feature-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,18,16,.72),transparent 58%)}.feature-label{position:absolute;left:32px;right:28px;bottom:32px}.feature-label>span:first-child{font-size:9px;letter-spacing:1.8px;color:#e0d3bf}.feature-label h3{font-family:Manrope,sans-serif;font-size:clamp(24px,2.5vw,36px);font-weight:400;line-height:1.12;letter-spacing:-1px;margin:14px 0 0}.round-arrow{position:absolute;right:0;bottom:0;border:1px solid rgba(255,255,255,.65);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:15px}.materials{padding-top:130px;padding-bottom:140px}.materials-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:15px 0 55px}.materials-heading>p{max-width:310px;margin:0 0 5px}.material-list{border-top:1px solid #d7d2c8}.material-list>a{display:grid;grid-template-columns:70px 1.1fr 1fr 30px;gap:15px;align-items:center;padding:24px 0;border-bottom:1px solid #d7d2c8;transition:padding .2s}.material-list>a:hover{padding-left:10px;padding-right:10px}.material-number{font-size:10px;color:#a38b68}.material-title{font-family:Manrope,sans-serif;font-size:19px}.material-desc{font-size:11px;color:#77786f}.material-arrow{text-align:right;font-size:17px;color:#8f7758}.project-banner{height:650px;position:relative;color:white;overflow:hidden;background:#34352f}.project-banner>img{position:absolute;inset:0}.project-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,21,18,.78),rgba(20,21,18,.28) 72%),linear-gradient(0deg,rgba(20,21,18,.25),transparent)}.project-content{position:absolute;left:10%;top:50%;transform:translateY(-50%);max-width:530px}.project-content h2{font-size:clamp(44px,5.5vw,72px);margin:27px 0 20px}.project-content>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:360px;color:#e0ded6;margin-bottom:28px}.contact{padding-top:125px;padding-bottom:130px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:28px}.contact h2{font-size:clamp(43px,5vw,65px)}.contact-copy{max-width:350px;margin-top:25px}.contact-form{display:flex;flex-direction:column;padding-top:5px}.contact-form label{font-size:10px;letter-spacing:.5px;margin:0 0 9px}.contact-form input,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid #ccc6bb;padding:12px 0 14px;margin-bottom:25px;outline:none;resize:vertical;font-size:12px;color:#252620}.contact-form input:focus,.contact-form textarea:focus{border-color:#947a56}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9a9a91}.button-dark{background:#24251f;color:#f6f4ef;align-self:flex-start;margin-top:3px}.button-dark:hover{background:#44453e}.form-note,.form-status{font-size:10px;line-height:1.6;color:#77786f}.form-status{color:#5b7658}.site-footer{background:#20211d;color:#f3f1ec;padding:48px 5.5% 22px}.footer-brand .brand-mark{border-color:#76674f;color:#c4a77b}.footer-brand .brand-name small{color:#aaa89f}.site-footer>p{font-family:Georgia,serif;font-size:24px;font-style:italic;color:#c9b99f;margin:36px 0 48px}.footer-bottom{border-top:1px solid #42433c;padding-top:19px;display:flex;justify-content:space-between;gap:20px;color:#aaa99f;font-size:10px}.footer-bottom a{color:#e1d5c2}@keyframes heroReveal{from{transform:scale(1.06);opacity:.7}to{transform:scale(1.015);opacity:1}}@keyframes contentReveal{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@media(max-width:900px){.site-header{height:76px;padding:0 5%}.main-nav{gap:18px}.main-nav>a{font-size:11px}.hero{height:650px;max-height:none;min-height:580px}.hero-content{left:7%;right:7%}.intro{grid-template-columns:1fr 2fr;padding:95px 7%;gap:20px}.intro-aside{grid-column:2;padding-top:5px}.feature{height:400px}.feature-large{height:480px}.feature-label{left:20px;right:18px;bottom:24px}.materials{padding:100px 7%}.project-content{left:7%}.contact{padding:100px 7%}.contact-layout{gap:7%}}@media(max-width:640px){.site-header{height:72px}.brand-logo{width:142px;max-height:56px}.brand-mark{width:36px;height:36px}.brand-name{font-size:10px}.brand-name small{font-size:7px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:10px}.menu-toggle span{width:23px;height:1px;background:#252620;display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:72px;padding:20px 6% 26px;background:#f3f1ec;box-shadow:0 12px 20px #00000012;align-items:stretch;flex-direction:column;gap:0}.main-nav.is-open{display:flex}.main-nav>a{padding:15px 0;border-bottom:1px solid #dfdbd2}.main-nav .nav-cta{margin-top:14px;padding:14px;border:1px solid #c7c1b5}.hero{height:calc(100svh - 72px);min-height:610px;max-height:800px}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(18,20,17,.72),rgba(18,20,17,.3)),linear-gradient(0deg,rgba(15,16,14,.42),transparent 45%)}.hero-content{left:7%;right:6%;top:47%}.hero h1{font-size:clamp(47px,12vw,68px);letter-spacing:-2px}.hero-copy{font-size:13px;max-width:330px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-caption{right:6%;bottom:23px;font-size:8px;gap:12px}.scroll-cue{left:6%;bottom:19px;font-size:7px}.intro{display:block;padding:78px 7% 85px}.intro-main{margin-top:40px}.intro h2,.materials h2{font-size:42px;letter-spacing:-2px}.intro-aside{padding-top:24px}.feature-grid{grid-template-columns:1fr 1fr;gap:3px}.feature,.feature-large{height:310px}.feature-large{grid-column:span 2;height:400px}.feature-label h3{font-size:25px}.feature-label{left:17px;right:14px;bottom:19px}.feature-label>span:first-child{font-size:8px}.round-arrow{width:30px;height:30px;font-size:13px}.materials{padding:78px 7% 88px}.materials-heading{display:block;margin:35px 0}.materials-heading>p{margin-top:22px}.material-list>a{grid-template-columns:30px 1fr 24px;gap:10px;padding:20px 0}.material-title{font-size:16px}.material-desc{grid-column:2;grid-row:2;margin-top:-5px;font-size:10px}.material-arrow{grid-column:3;grid-row:1/3}.project-banner{height:560px}.project-content{left:7%;right:7%}.project-content h2{font-size:48px;letter-spacing:-2px}.contact{padding:80px 7% 90px}.contact-layout{display:block;margin-top:35px}.contact-form{margin-top:42px}.contact h2{font-size:48px}.site-footer{padding:38px 6% 20px}.site-footer>p{font-size:21px;margin:30px 0 40px}.footer-bottom{flex-wrap:wrap;line-height:1.5}.footer-bottom span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Formulario de contacto: tipografía ampliada al doble */
.contact-form label{font-size:20px;line-height:1.4;margin-bottom:12px}
.contact-form input,.contact-form textarea{font-size:24px;line-height:1.5;padding:16px 0 18px;margin-bottom:28px}
.contact-form input::placeholder,.contact-form textarea::placeholder{font-size:20px}
.contact-form .button{font-size:22px}
.form-note,.form-status{font-size:20px;line-height:1.6}
.form-trap{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.location-section{padding-top:100px;padding-bottom:120px;background:#eae7df}
.location-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:stretch;margin-top:28px}
.location-copy h2{font-family:Manrope,sans-serif;font-size:clamp(40px,4.6vw,62px);font-weight:400;letter-spacing:-2px;line-height:1.08;margin:18px 0 24px}
.location-copy h2 em{font-family:Georgia,serif;font-weight:400}
.location-copy>p:not(.overline){font-size:16px;line-height:1.8;color:#686960;max-width:460px}
.location-copy address{font-style:normal;font-size:17px;line-height:1.9;margin-top:26px;color:#34352f}
.location-contact{margin:10px 0!important}
.location-contact a{text-decoration:underline;text-underline-offset:4px}
.location-button{margin-top:20px}
.location-map{min-height:420px;background:#d7d2c8}
.location-map iframe{width:100%;height:100%;min-height:420px;border:0;display:block;filter:grayscale(35%)}
@media(max-width:900px){.location-section{padding:85px 7%}.location-layout{gap:5%}}
@media(max-width:640px){.contact-form label{font-size:18px}.contact-form input,.contact-form textarea{font-size:20px}.contact-form input::placeholder,.contact-form textarea::placeholder{font-size:17px}.contact-form .button{font-size:18px}.form-note,.form-status{font-size:16px}.location-section{padding:75px 7%}.location-layout{display:block}.location-copy h2{font-size:43px}.location-copy>p:not(.overline){font-size:15px}.location-copy address{font-size:16px}.location-map{margin-top:36px;min-height:340px}.location-map iframe{min-height:340px}}

/* Menú principal: tipografía ampliada un 50% respecto al tamaño anterior */
.main-nav{font-size:18px;gap:30px}
.main-nav>a:not(.nav-cta){font-size:18px}
.nav-submenu a{font-size:17px;padding:14px 18px}
.nav-cta{padding:15px 20px}
@media(max-width:900px) and (min-width:641px){.main-nav{gap:14px}.main-nav>a:not(.nav-cta){font-size:16px}.main-nav .nav-cta{font-size:16px}.nav-submenu a{font-size:16px}}
@media(max-width:640px){.main-nav>a:not(.nav-cta),.main-nav .nav-cta{font-size:18px}.nav-submenu a{font-size:18px}}
