:root{--ink:#172320;--orange:#f16a34;--paper:#f4f5f0;--muted:#5b655f;--line:#d6dbd3;--display:'Barlow Condensed','Arial Narrow',sans-serif;--body:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:var(--ink)}.skip-link{position:absolute;top:-100px;left:16px;background:var(--orange);padding:12px 18px;z-index:100}.skip-link:focus{top:12px}.site-header{height:104px;max-width:1600px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-icon{width:58px;height:57px;display:flex;align-items:center;justify-content:center;background:var(--orange);font-family:var(--display);font-size:28px;font-weight:800;letter-spacing:-2px}.brand-icon span{font-size:37px;margin:-2px 1px 0 -2px;font-weight:600}.brand-name{font-family:var(--display);font-size:29px;font-weight:700;line-height:.9;letter-spacing:.5px}.brand-name>span{display:block;font-family:var(--body);font-size:12px;letter-spacing:3.2px;margin-top:8px;font-weight:600}.site-header nav{display:flex;gap:35px;align-items:center;font-size:14px;font-weight:600}.site-header nav>a:not(.nav-contact):hover{color:#ab3b11}.nav-contact{border:1px solid var(--ink);padding:11px 19px;display:flex;align-items:center;gap:34px}.nav-contact:hover{background:var(--ink);color:var(--paper)}.hero{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1.03fr 1fr;min-height:638px}.hero-copy{padding:60px 6% 40px 9.7%;position:relative;z-index:1}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;margin:0 0 24px;display:flex;align-items:center;gap:12px}.line{height:2px;width:30px;background:var(--orange)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);font-weight:700;letter-spacing:-.5px;line-height:.99}h1{font-size:clamp(3.5rem,5.1vw,5.65rem);margin-bottom:26px}h1 em,h2 em{font-style:normal;color:#c34b1c}.hero-description{max-width:340px;font-size:17px;line-height:1.7;color:var(--muted);margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:52px;background:var(--ink);color:white;padding:15px 22px;font-size:14px;font-weight:600;min-height:54px;transition:background .2s,transform .2s}.button:hover{background:#34453d;transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.hero-foot{display:flex;align-items:center;gap:16px;margin-top:38px}.hero-foot p{font-size:12px;line-height:1.55;margin:0;color:var(--muted)}.hero-foot strong{font-weight:500;color:var(--ink)}.mini-cross{font-size:33px;line-height:1;color:var(--orange)}.hero-visual{position:relative;overflow:hidden;background:var(--ink);min-height:580px;display:flex;align-items:center;justify-content:center}.hero-monogram{font-family:var(--display);font-size:240px;letter-spacing:-8px;font-weight:800;color:#34483d}.hero-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(8,20,16,.72));pointer-events:none}.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-caption{position:absolute;bottom:25px;left:28px;right:28px;color:white;display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1.3px;font-weight:600;z-index:1}.service-strip{background:var(--orange);padding:22px 5%;display:flex;align-items:center;justify-content:space-between;gap:22px;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:1px;line-height:1.25}.strip-star{font-size:25px}.section{padding:95px 5%;max-width:1600px;margin:auto}.section-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;align-items:end}.section-intro .eyebrow{grid-column:1/-1;margin-bottom:20px}.section-intro h2{font-size:52px;margin-bottom:0}.section-intro>p:last-child{max-width:350px;justify-self:end;margin:0 0 4px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:28px 28px 33px 0}.service-card+.service-card{border-left:1px solid var(--line);padding-left:30px}.card-number{display:block;font-size:13px;color:var(--muted);margin-bottom:33px}.service-card h3{font-family:var(--display);font-size:29px;font-weight:600;margin:0 0 8px}.service-card p{max-width:290px;color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:0}@media(min-width:1600px){.service-strip{justify-content:center;gap:65px}}@media(max-width:900px){.site-header{padding:0 5%;height:88px}.site-header nav{gap:22px}.hero-copy{padding-top:45px;padding-bottom:36px}.hero{min-height:580px;grid-template-columns:1.1fr 1fr}h1{font-size:4rem}.hero-visual{min-height:560px}.hero-description{font-size:16px}.hero-foot{margin-top:30px}.service-strip{font-size:16px;gap:15px}.service-strip span:last-child,.service-strip .strip-star:last-of-type{display:none}.section{padding:70px 5%}.section-intro{gap:30px}.section-intro h2{font-size:44px}}@media(max-width:640px){html{scroll-padding-top:24px}.site-header{height:88px;gap:16px}.brand-icon{width:45px;height:46px;font-size:23px}.brand-icon span{font-size:30px}.brand-name{font-size:24px}.brand-name>span{font-size:10px;letter-spacing:2.6px}.site-header nav{gap:0}.site-header nav>a:not(.nav-contact){display:none}.nav-contact{padding:9px 12px;gap:14px;font-size:12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:36px 6% 30px}.eyebrow{font-size:11px;letter-spacing:1.4px;margin-bottom:23px}h1{font-size:clamp(3rem,11.3vw,4.5rem);margin-bottom:22px}.hero-description{max-width:350px}.hero-foot{display:none}.hero-visual{min-height:380px}.photo-caption{left:22px;right:22px;font-size:10px}.service-strip{flex-wrap:wrap;justify-content:center;padding:18px 6%;font-size:16px;gap:12px 18px}.service-strip span:nth-child(n+4){display:none}.section{padding:58px 6%}.section-intro{display:block}.section-intro h2{font-size:42px;margin-bottom:22px}.section-intro>p:last-child{justify-self:auto;max-width:350px}.service-grid{grid-template-columns:1fr;margin-top:30px}.service-card,.service-card+.service-card{padding:24px 0;border-left:0}.service-card+.service-card{border-top:1px solid var(--line)}.card-number{float:right;margin-top:6px}.service-card h3{font-size:29px}.service-card p{font-size:16px;max-width:90%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.hero-visual img{object-position:50% 53%;filter:saturate(.6)}.photo-label{position:absolute;left:28px;top:29px;border:1px solid #ffffff80;padding:14px 18px;color:white;font-family:var(--display);font-size:27px;font-weight:600;line-height:1.05;letter-spacing:.5px}.photo-label span{display:block}.process{background:var(--ink);color:var(--paper)}.process-inner{max-width:1600px;margin:auto;padding:76px 5%;display:grid;grid-template-columns:1fr 1fr;gap:80px}.process .eyebrow{color:#c2c9be}.process h2{font-size:64px;margin-bottom:25px}.process h2 em{color:var(--orange)}.process-intro>p:last-child{max-width:320px;color:#c2c9be;font-size:16px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:30px;padding:23px 0;border-bottom:1px solid #ffffff26}.steps li:first-child{padding-top:0}.step-number{font-family:var(--display);font-size:29px;color:var(--orange);line-height:1.2}.steps h3{font-size:20px;margin-bottom:7px;font-weight:500}.steps p{font-size:15px;line-height:1.7;color:#c2c9be;margin:0;max-width:350px}.contact{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center}.contact h2{font-size:57px;margin-bottom:28px}.contact-description{color:var(--muted);line-height:1.8;margin:0}.contact-panel{border-left:1px solid var(--line);padding:8px 0 8px 50px}.contact-panel>svg{margin-bottom:18px;color:#c34b1c}.location-label{font-size:11px;letter-spacing:1.7px;margin-bottom:12px}.contact-panel h3{font-family:var(--display);font-size:42px;line-height:1.2;margin:0 0 4px}.contact-panel>p:not(.location-label){color:var(--muted);margin-bottom:25px}.contact-note{max-width:280px;border-top:1px solid var(--line);padding-top:18px}.contact-note span{font-size:11px;font-weight:700;letter-spacing:1.5px}.contact-note p{font-size:14px;color:var(--muted);margin:7px 0 0}footer{max-width:1600px;margin:auto;padding:0 5%}.footer-top{padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line)}.footer-top>p{font-size:14px;color:var(--muted);margin:0}.back-top{font-size:13px;display:flex;gap:22px;align-items:center}.back-top span{font-size:23px}.back-top:hover{color:#ab3b11}.footer-bottom{padding:22px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}@media(max-width:900px){.process-inner{gap:45px}.contact{gap:35px}.contact h2{font-size:48px}.contact-panel{padding-left:30px}.footer-top>p{display:none}}@media(max-width:640px){.photo-label{left:22px;top:23px;font-size:22px;padding:11px 15px}.hero-visual img{object-position:50% 58%}.process-inner{grid-template-columns:1fr;gap:25px;padding:54px 6%}.process h2{font-size:51px}.steps li{gap:22px;padding:23px 0}.steps p{font-size:16px}.contact{grid-template-columns:1fr;gap:34px}.contact h2{font-size:43px}.contact-panel{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.contact-panel>svg{float:right}.contact-note{max-width:none}.footer-top{align-items:center}.footer-bottom{flex-direction:column;gap:10px;padding-bottom:24px}.footer-top .brand-icon{width:40px;height:42px}.footer-top .brand-name{font-size:22px}.footer-top .brand-name>span{font-size:9px}.back-top{font-size:12px;gap:10px}}

.eyebrow,.photo-caption,.location-label,.contact-note span{font-size:12px}.hero-foot p{font-size:14px}.service-card p,.steps p{font-size:16px}.nav-contact,.back-top{font-size:14px}@media(max-width:640px){.brand-name>span{font-size:12px;letter-spacing:1.8px}.footer-top .brand-name>span{font-size:12px;letter-spacing:1.2px}.nav-contact{font-size:12px;gap:12px}}

.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.text-link:hover{color:#ab3b11}.phone-number{display:block;margin:8px 0 19px;font-family:var(--display);font-size:31px;font-weight:600;letter-spacing:.5px}.phone-number [data-phone-display]{font-size:inherit;letter-spacing:inherit;font-weight:inherit}.phone-number:hover{color:#ab3b11}.contact-note{max-width:350px}.whatsapp-button{gap:25px;background:var(--orange);color:var(--ink);width:100%}.whatsapp-button:hover{background:#da5825}.contact-note>p{font-size:14px;line-height:1.6;margin-top:15px}.contact-description{max-width:430px}@media(max-width:640px){.hero-actions{gap:20px}.button{gap:30px}.service-strip{justify-content:space-between}.service-strip span:first-child{display:none}.service-strip span:nth-child(2){display:none}.service-strip span:nth-child(n+4){display:block}.service-strip span{font-size:14px}.service-strip .strip-star{font-size:16px}.contact-note{max-width:none}}

/* Fotografías de los trabajos */
.hero-visual img{filter:none;object-position:center 50%}.photo-label{background:rgba(23,35,32,.78);border-color:rgba(255,255,255,.45)}.photo-caption a{padding:8px 0;text-decoration:underline;text-underline-offset:5px}.projects{padding-top:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 28px;margin-top:42px}.project{margin:0;min-width:0}.project-image{display:block;position:relative;overflow:hidden;background:#e4e7e1;aspect-ratio:4/3}.project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 58%;transition:transform .3s ease}.project-image:hover img{transform:scale(1.025)}.project:first-child .project-image img{object-position:center 56%}.project:nth-child(3) .project-image img{object-position:center 65%}.expand-photo{position:absolute;right:16px;bottom:16px;width:42px;height:42px;background:var(--paper);color:var(--ink);display:grid;place-items:center;font-size:24px}.project figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 0 0}.project h3{font-family:var(--display);font-size:28px;font-weight:600;line-height:1.2;margin:0 0 5px}.project figcaption p{color:var(--muted);font-size:14px;margin:0}.project-stage{border:1px solid var(--line);padding:5px 9px;white-space:nowrap;letter-spacing:.7px;font-size:12px;margin-top:3px}.gallery-open{overflow:hidden}.photo-viewer{border:0;padding:20px;background:transparent;color:white;max-width:100vw;max-height:100dvh;width:100%;height:100%;margin:auto}.photo-viewer::backdrop{background:rgba(9,17,13,.96)}.viewer-content{max-width:1150px;height:100%;margin:auto;display:grid;grid-template-rows:52px minmax(0,1fr) 64px;gap:12px}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.viewer-top{font-size:14px;letter-spacing:1px}.photo-viewer button{border:1px solid #ffffff65;color:#fff;background:transparent;cursor:pointer;min-width:48px;min-height:48px;font-size:24px;padding:4px 13px}.photo-viewer button:hover{background:#ffffff1a}.photo-viewer .viewer-close{font-size:14px;display:flex;align-items:center;gap:16px}.viewer-close span{font-size:28px}.viewer-image{width:100%;height:100%;object-fit:contain;min-height:0}.viewer-bottom p{font-size:16px;text-align:center;margin:0}.viewer-bottom button{flex-shrink:0}@media(max-width:900px){.site-header nav{gap:18px}.project h3{font-size:26px}.project figcaption{flex-wrap:wrap;gap:8px}.project-stage{margin-top:0}}@media(max-width:640px){.projects{padding-top:0}.project-grid{grid-template-columns:1fr;gap:32px;margin-top:30px}.project-image{aspect-ratio:4/3}.project figcaption{flex-wrap:nowrap;padding-top:16px}.project h3{font-size:25px}.project-stage{font-size:12px;padding:4px 7px}.photo-viewer{padding:12px}.viewer-content{grid-template-rows:48px minmax(0,1fr) 60px;gap:10px}.photo-caption{gap:12px;font-size:12px}.photo-caption a{white-space:nowrap}}

/* Escalones en el menú de servicios */
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-card h3{font-size:28px}.service-strip{flex-wrap:wrap}.service-strip a{text-decoration:underline;text-underline-offset:5px}.service-strip a:hover{color:#fff}.project:last-child .project-image img{object-position:50% 62%}
@media(max-width:1100px){.site-header nav .nav-process{display:none}}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:nth-child(3){border-left:0;padding-left:0}.service-card:nth-child(n+3){border-top:1px solid var(--line)}.service-strip>:nth-child(-n+2){display:none}.service-strip .strip-star:last-of-type{display:block}}
@media(max-width:640px){.service-grid{grid-template-columns:1fr}.service-card,.service-card+.service-card{padding:24px 0;border-left:0}.service-card:nth-child(n+2){border-top:1px solid var(--line)}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;text-align:center}.service-strip .strip-star,.service-strip .strip-star:last-of-type{display:none}.service-strip a{font-size:14px;letter-spacing:1px}.service-strip>span:not(.strip-star):not(:first-child){display:block}}

/* Estimados gratis */
.hero-description{margin-bottom:18px}.free-estimate{display:table;background:var(--orange);color:var(--ink);padding:7px 14px;font-family:var(--display);font-size:1.625rem;font-weight:700;line-height:1.2;letter-spacing:.5px;margin:0 0 22px}.contact-note .free-estimate-contact{font-family:var(--display);font-size:1.875rem;color:#c34b1c;line-height:1.15;font-weight:600;margin:0 0 14px}

/* Servicios extras para terrenos y lotes */
.extra-services{margin-top:48px;padding:32px;background:#e8ece5;border-left:4px solid var(--orange)}.extra-heading .eyebrow{margin-bottom:12px;color:var(--muted)}.extra-heading h3{font-family:var(--display);font-size:2.25rem;line-height:1.1;font-weight:600;margin:0 0 30px}.extras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.extra-card{min-width:0}.extra-card+.extra-card{padding-left:28px;border-left:1px solid #c8d0c4}.extra-card h4{font-family:var(--display);font-size:1.75rem;line-height:1.15;font-weight:600;margin:0 0 13px}.extra-card p{font-size:1rem;line-height:1.7;color:var(--muted);margin:0}.resolution{display:inline-block;background:var(--ink);color:var(--paper);padding:3px 6px;font-family:var(--body);font-size:.75rem;line-height:1.2;letter-spacing:.5px;vertical-align:middle;white-space:nowrap}.extras-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:23px;margin-top:27px;border-top:1px solid #c8d0c4}.extras-footer p{font-family:var(--display);font-weight:600;font-size:1.6rem;color:#b14319;margin:0}.extras-footer a{font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:5px;display:flex;align-items:center;gap:17px;min-height:44px}.extras-footer a span{font-size:23px}.extras-footer a:hover{color:#a53b13}
@media(max-width:1000px){.site-header nav{gap:15px}.extras-grid{gap:20px}.extra-card+.extra-card{padding-left:20px}}
@media(max-width:700px){.extra-services{padding:25px 22px;margin-top:32px}.extra-heading h3{font-size:2rem}.extras-grid{grid-template-columns:1fr;gap:23px}.extra-card+.extra-card{border-left:0;border-top:1px solid #c8d0c4;padding:23px 0 0}.extra-card h4{font-size:1.75rem}.extras-footer{align-items:flex-start;flex-direction:column;gap:6px}}

/* Ilustraciones de los servicios extras */
.extra-illustration{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;margin:0 0 24px;border-radius:4px;background:#e8ece5}.extra-card h4{min-height:2.3em}@media(max-width:700px){.extra-illustration{max-width:380px;margin:0 auto 22px}.extra-card h4{min-height:0}}
