:root{--ink:#292b28;--dark:#242623;--green:#78ce15;--paper:#fafbf8;--soft:#eef1e9;--line:#d7dcd1;--muted:#5e665b;--max:1280px;--gutter:clamp(22px,5vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.05;letter-spacing:-.04em}h1,h2{font-family:'Arial Black',Arial,Helvetica,sans-serif;font-weight:900}h1{font-size:clamp(42px,5.8vw,86px)}h2{font-size:clamp(34px,4.3vw,60px)}h3{font-size:25px;font-weight:800}p+p{margin-top:18px}::selection{background:var(--green);color:var(--ink)}:focus-visible{outline:3px solid #428700;outline-offset:5px}.wrap{width:min(100% - var(--gutter)*2,var(--max));margin:auto}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--green);padding:12px}.skip:focus{top:10px}.preview-bar{padding:7px 20px;background:#e6efdb;color:#334129;text-align:center;font-size:13px}.site-header{position:sticky;top:0;z-index:30;background:#3f3e3e;color:white;border-bottom:1px solid #55574f}.header-inner{display:flex;align-items:center;gap:30px;min-height:90px}.logo{display:block;width:228px;flex:none}.logo img{width:228px;height:62px;object-fit:cover;object-position:center 51%}.nav{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:14px;font-weight:600}.nav a{text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 23px;background:var(--green);color:#20261a;text-decoration:none;border:1px solid var(--green);font-size:15px;font-weight:700;line-height:1.35;transition:background .18s}.btn:hover{background:#8be22b}.btn.dark{background:var(--ink);color:white;border-color:var(--ink)}.btn.outline{background:transparent;border-color:#8e9587;color:inherit}.btn.outline:hover{background:#ffffff14}.header-cta{min-height:44px;padding:11px 17px;font-size:14px}.menu-toggle{display:none}.hero{background:var(--dark);color:white;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;min-height:650px}.hero-copy{padding:75px 36px 65px 0;position:relative;z-index:2}.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:24px}.hero .eyebrow{color:var(--green)}.hero h1{max-width:650px}.accent{color:var(--green)}.hero-copy>p{color:#d0d5cd;max-width:410px;margin-top:25px;font-size:18px;line-height:1.6}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:32px}.hero-image{position:relative;margin-right:calc(var(--gutter)*-1);min-width:0}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:60% center}.hero-image figcaption{position:absolute;bottom:18px;right:20px;background:#232622dd;color:white;font-size:12px;padding:6px 10px}.hero-note{display:flex;gap:12px;margin-top:43px;font-size:13px;color:#c7cfc0;align-items:center}.hero-note:before{content:'';display:block;width:28px;height:2px;background:var(--green)}.ribbon{border-bottom:1px solid var(--line);padding:23px 0}.ribbon .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:14px;font-weight:700}.ribbon span{display:flex;align-items:center;gap:12px}.ribbon b{color:#447c09;font-size:18px}.section{padding:95px 0}.section.soft{background:var(--soft)}.section.dark{background:var(--dark);color:white}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}.section-head h2{max-width:700px}.section-head p{max-width:360px;color:var(--muted)}.text-link{font-size:15px;font-weight:700;white-space:nowrap}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:30px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:24px;text-decoration:none;transition:background .2s}.service:hover{background:#e5eddc}.service .number{font-size:13px;color:#67725d}.service h3{font-size:26px}.service p{color:var(--muted);font-size:15px;line-height:1.6}.service .text-link{margin-top:auto}.project-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center}.project-image img{width:100%;aspect-ratio:1.35;object-fit:cover}.caption{font-size:13px;color:var(--muted);margin-top:10px}.project-copy p{margin-top:22px}.tag{display:inline-block;padding:5px 10px;background:#e6eedb;font-size:12px;font-weight:700;margin-bottom:20px}.project-copy h3{font-size:40px}.project-meta{display:flex;gap:30px;margin-top:28px;border-top:1px solid var(--line);padding-top:16px;font-size:14px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:45px}.step{border-top:1px solid #68705f;padding-top:22px}.step>span{color:var(--green);font-size:15px}.step h3{margin:24px 0 17px;font-size:24px}.step p{color:#c9d0c1;font-size:15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.body-copy{color:var(--muted);font-size:18px}.statement{font-size:clamp(26px,3vw,42px);line-height:1.25;letter-spacing:-.025em;font-weight:700}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{padding:15px 0;border-bottom:1px solid var(--line)}.check-list li:before{content:'✓';color:#457e0b;margin-right:12px;font-weight:700}.area-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.area-tags span{border:1px solid #bbc5b0;padding:7px 14px;font-size:14px}.pending{border-left:3px solid #5d9e16;padding:15px 20px;background:#edf2e5;margin-top:22px;color:#414a37;font-size:14px}.testimonial-empty{padding:35px;border:1px solid var(--line)}.testimonial-empty p{max-width:600px}.quote-mark{font-family:Georgia,serif;font-size:80px;line-height:.8;color:#4d840e;margin-bottom:20px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0 0 0}summary{cursor:pointer;padding:23px 36px 23px 0;font-size:18px;font-weight:700;position:relative;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;top:17px;font-size:26px;font-weight:400}details[open] summary:after{content:'−'}details p{padding:0 30px 24px 0;color:var(--muted);max-width:800px}.cta-panel{background:var(--green);padding:60px;display:flex;justify-content:space-between;align-items:center;gap:40px}.cta-panel h2{max-width:700px}.cta-panel p{margin-top:18px}.site-footer{background:#3f3e3e;color:#c9cec4;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.footer-grid p{font-size:14px;max-width:310px;margin-top:20px}.footer-grid h3{font-size:16px;color:white;letter-spacing:0;margin-bottom:20px}.footer-links{display:grid;gap:8px;font-size:14px}.footer-links a{text-decoration:none}.footer-links a:hover{color:var(--green)}.footer-bottom{margin-top:55px;padding-top:22px;border-top:1px solid #50554a;display:flex;justify-content:space-between;gap:20px;font-size:12px}.floating-contact{position:fixed;bottom:24px;right:24px;z-index:25;box-shadow:0 4px 20px #0002}.page-hero{padding:65px 0 70px;background:var(--dark);color:white}.page-hero h1{max-width:950px;font-size:clamp(40px,5vw,70px)}.page-hero p{max-width:670px;margin-top:24px;color:#d3d9cd;font-size:18px}.breadcrumbs{font-size:13px;margin-bottom:32px;color:#cad1c3}.breadcrumbs a{color:inherit}.page-hero .eyebrow{color:var(--green)}.content-width{max-width:850px}.prose h2{font-size:32px;margin:35px 0 20px}.prose h3{margin:25px 0 12px}.prose ul{padding-left:22px}.prose p{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:14px;font-weight:700}input,select,textarea{display:block;width:100%;border:1px solid #b9c2af;background:white;padding:13px 14px;border-radius:0;margin-top:7px;min-height:49px;color:var(--ink)}textarea{resize:vertical;min-height:140px}.full{grid-column:1/-1}.consent{display:flex;gap:10px;align-items:start;font-weight:400}.consent input{width:18px;min-height:18px;margin-top:4px;flex:none;accent-color:#467a0a}.form-status{margin-top:20px;padding:15px;background:var(--soft);font-size:15px}.form-status:empty{display:none}.honeypot{position:absolute;left:-9999px}.contact-options{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0}.small{font-size:14px;color:var(--muted)}.gallery-empty{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.photo-slot{min-height:210px;display:grid;place-content:center;text-align:center;background:#e9eee2;border:1px dashed #93a381;padding:25px}.photo-slot strong{font-size:28px;display:block}.photo-slot span{font-size:14px;max-width:230px;margin-top:12px}.compare{position:relative;aspect-ratio:16/9;overflow:hidden;margin-top:24px}.compare img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.compare .before{clip-path:inset(0 calc(100% - var(--position,50%)) 0 0)}.compare-line{position:absolute;left:var(--position,50%);top:0;bottom:0;width:3px;background:white;pointer-events:none}.compare-labels{display:flex;justify-content:space-between;font-size:14px;margin:10px 0}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}blockquote{margin:0;padding:25px;background:var(--soft)}blockquote footer{font-size:14px;margin-top:15px}.not-found{text-align:center;padding:100px 0}.no-js{padding:15px;background:#f4e7cc}.copyright-logo{font-size:12px}.service-detail{padding:30px;background:var(--soft)}.service-detail h3{margin-bottom:18px}.service-detail ul{padding-left:20px}.service-detail li{padding:7px 0}.contact-card{padding:35px;background:var(--soft)}.contact-card h3{margin-bottom:16px}
@media(min-width:1500px){.hero-image{margin-right:calc((100vw - var(--max))/ -2)}}
@media(max-width:1100px){.nav{gap:15px}.header-inner{gap:20px}.logo,.logo img{width:190px}.logo img{height:53px}.hero-grid{min-height:600px}.hero-copy{padding-top:60px}.services{grid-template-columns:repeat(2,1fr)}.project-layout{gap:35px}.steps{gap:22px}}
@media(max-width:850px){.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#3f3e3e;padding:24px var(--gutter);margin:0;flex-direction:column;align-items:stretch;font-size:17px;border-top:1px solid #56614a}.nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;border:1px solid #707964;background:transparent;color:white;min-height:44px;padding:8px 14px}.header-inner{min-height:78px}.header-cta{display:none}.hero-grid{grid-template-columns:1fr 1fr;min-height:570px}.hero h1{font-size:clamp(42px,6.5vw,65px)}.hero-copy{padding-right:20px}.hero-copy>p{font-size:16px}.split{gap:35px}.section{padding:70px 0}.steps{grid-template-columns:1fr 1fr;gap:35px}.section-head{align-items:start}.footer-grid{gap:30px}.cta-panel{padding:35px}.hero-note{margin-top:30px}}
@media(max-width:600px){.preview-bar{font-size:12px;padding:6px 15px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:45px 0 36px}.hero h1{font-size:clamp(42px,11vw,62px);max-width:520px}.hero-copy>p{font-size:17px;max-width:100%}.hero-image{margin:0 calc(var(--gutter)*-1);height:300px}.hero-note{margin-top:25px}.eyebrow{font-size:12px;margin-bottom:18px}.hero-image figcaption{font-size:12px;bottom:12px}.ribbon .wrap{gap:12px;font-size:12px;display:grid;grid-template-columns:1fr}.section{padding:57px 0}.section-head{display:block;margin-bottom:30px}.section-head p,.section-head>.text-link{margin-top:22px;display:block}.services{grid-template-columns:1fr}.service{padding:26px;gap:18px}.service h3{font-size:28px}.project-layout,.split{grid-template-columns:1fr;gap:30px}.project-copy h3{font-size:34px}.steps{grid-template-columns:1fr;gap:27px}.step h3{margin:14px 0 12px}.cta-panel{display:block;padding:30px 24px}.cta-panel .btn{margin-top:25px}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column;margin-top:35px;padding-bottom:55px}.floating-contact{bottom:14px;right:14px;min-height:46px;font-size:14px;padding:10px 16px}.page-hero{padding:40px 0 45px}.page-hero h1{font-size:42px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.gallery-empty{grid-template-columns:1fr}.photo-slot{min-height:170px}.review-grid{grid-template-columns:1fr}.project-meta{flex-wrap:wrap;gap:15px}.contact-card{padding:25px}summary{font-size:17px}.actions .btn{flex:1;white-space:nowrap}.header-inner{gap:12px}.logo,.logo img{width:190px}.logo img{height:52px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Imágenes de servicios y carrusel */
.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;border:0}.service{padding:0;border:1px solid var(--line);gap:0;overflow:hidden}.service-photo{width:100%;aspect-ratio:16/9;object-fit:cover}.service-body{padding:28px;display:flex;flex-direction:column;gap:20px;flex:1}.detail-photo img{width:100%;height:auto}.ribbon span{font-weight:600}.ribbon span:before{content:'';width:20px;height:2px;background:#477c0e;flex:none}.carousel{overflow:hidden}.carousel-slides{position:absolute;inset:0}.carousel-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}.carousel-slide.active{opacity:1;visibility:visible}.carousel-slide img{width:100%;height:100%;object-fit:cover}.carousel-disclaimer{position:absolute;top:18px;right:18px;left:18px;justify-self:end;background:#242623e8;color:white;padding:7px 10px;font-size:12px;width:fit-content;margin-left:auto}.carousel-bottom{position:absolute;bottom:0;left:0;right:0;padding:50px 22px 18px;background:linear-gradient(transparent,#151914e8);color:white}.carousel-label{font-size:18px;font-weight:700;display:block;margin-bottom:12px}.carousel-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.carousel-controls button{background:#242623;color:#fff;border:1px solid #a5b09b;min-height:40px;padding:7px 10px;font-size:13px}.carousel-controls button:hover{background:#3f4937}.carousel-dots{display:flex;gap:0}.carousel-dots button{border:0;background:transparent;min-width:32px;padding:10px 8px}.carousel-dots button:before{content:'';display:block;width:8px;height:8px;border:1px solid #fff;border-radius:50%}.carousel-dots button[aria-pressed=true]:before{background:var(--green);border-color:var(--green)}.carousel-controls .carousel-pause{margin-left:auto}.carousel-controls :focus-visible{outline-color:white;outline-offset:2px}
@media(max-width:1100px){.carousel-controls{gap:5px}.carousel-controls button{font-size:12px;padding:7px}.carousel-dots button{min-width:27px}.carousel-bottom{padding:45px 15px 15px}}
@media(max-width:600px){.services{grid-template-columns:1fr;gap:25px}.service-body{padding:25px}.hero-image.carousel{height:350px}.carousel-controls{gap:7px}.carousel-controls button{min-height:40px}.carousel-dots button{min-width:28px}.carousel-disclaimer{left:12px;right:12px;top:12px;font-size:12px}.carousel-label{font-size:17px}.carousel-bottom{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.carousel-slide{transition:none}}
