@charset "UTF-8";
:root{--ink:#111719;--muted:#60686c;--paper:#f4f4f0;--orange:#ff7b16;--line:#d8dcda}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}p{line-height:1.75}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #dd6200;outline-offset:5px}.skip{position:fixed;top:-100px;z-index:20;background:#fff;padding:16px}.skip:focus{top:0}.topbar{padding:12px 5%;display:flex;justify-content:space-between;background:var(--ink);color:#d9dedd;font-size:10px;letter-spacing:1.4px}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #eee}.brand{width:165px;display:block}.logo-crop{display:block;position:relative;height:48px;overflow:hidden;width:165px}.logo-crop img{position:absolute;max-width:none;width:237px;height:auto;left:-40px;top:-39px}nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.button{background:var(--orange);color:#151a1c;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:20px 25px;font-size:13px;font-weight:700;border:1px solid var(--orange);transition:background .2s,transform .2s}.button:hover{background:#ff942e;transform:translateY(-2px)}.button span{font-size:20px}.button.small{padding:13px 18px;font-size:12px}.menu{display:none}.hero{position:relative;min-height:680px;background:var(--ink);color:#fff;isolation:isolate;display:flex;align-items:center}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-photo{object-position:center 52%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(7,15,18,.96),rgba(7,15,18,.72) 44%,rgba(7,15,18,.1)),linear-gradient(0deg,rgba(7,15,18,.85),transparent 30%)}.hero-content{padding:75px 6% 100px;width:100%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.3px;color:#89501d;margin:0 0 25px}.eyebrow.light{color:#ffab62}h1{font-size:clamp(42px,5.3vw,80px);line-height:1.05;letter-spacing:-3px;font-weight:500;margin:0 0 28px}h1 em{font-style:normal;color:#ffa342}.hero-content>p:not(.eyebrow){max-width:470px;font-size:16px;color:#d0d7d7}.actions{display:flex;gap:28px;align-items:center;margin-top:32px}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #7b8283;padding:12px 0}.hero-foot{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:#c5cecc}.pillars{display:grid;grid-template-columns:repeat(3,1fr);padding:27px 6%;border-bottom:1px solid var(--line);font-size:14px}.pillars span{padding:5px 20px;border-right:1px solid var(--line)}.pillars span:first-child{padding-left:0}.pillars span:last-child{border:0}.pillars b{font-size:11px;color:#a95b15;margin-right:20px}.section{padding:95px 6%;max-width:1600px;margin:auto}h2{font-size:clamp(32px,3.4vw,50px);line-height:1.12;letter-spacing:-1.7px;font-weight:500;margin:0 0 25px}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about p{color:var(--muted);font-size:14px}.about .lead{font-size:23px;line-height:1.45;color:var(--ink);margin-top:0}details{border-bottom:1px solid var(--line);font-size:13px}summary{cursor:pointer;list-style:none;padding:19px 0;font-weight:600;display:flex;justify-content:space-between;gap:12px}summary::-webkit-details-marker{display:none}details[open] summary{color:#ac4b00}details p,details ul{line-height:1.8;font-size:13px}details ul{padding:0 0 12px 18px}.services{background:var(--paper);max-width:none}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:38px}.section-heading>p{font-size:13px;color:var(--muted);margin-bottom:25px}.service-feature{display:grid;grid-template-columns:1fr 1fr;background:#fff;margin-bottom:30px}.service-feature>img{height:380px;width:100%;object-fit:cover;object-position:center 46%}.service-feature>div{padding:45px 12%;align-self:center}h3{font-size:27px;line-height:1.2;font-weight:500;letter-spacing:-.6px}.service-feature p{font-size:14px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-grid article{background:var(--paper);padding:34px}.number{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#89501d}.service-grid h3{font-size:22px;max-width:260px}.service-grid p{font-size:13px;color:var(--muted)}.service-grid details{border-bottom:0;border-top:1px solid var(--line);margin-top:24px}.diagnostics{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.diagnostic-image{position:relative;min-height:650px}.diagnostic-image>img{height:100%;width:100%;object-fit:cover;position:absolute;object-position:50% 60%}.diagnostic-image>span{position:absolute;bottom:22px;left:30px;background:var(--ink);padding:12px;font-size:9px;letter-spacing:1px}.diagnostic-copy{padding:70px 12%}.diagnostic-copy>p{color:#b7c0c2;font-size:14px}.diagnostic-copy .eyebrow{color:#ffa342}.diagnostic-copy details{border-color:#465054}.diagnostic-copy details p{color:#cbd3d4}.diagnostic-copy details[open] summary{color:#ffac6b}.process{display:flex;gap:22px;margin:35px 0;font-size:11px}.process b{display:block;color:#ffac6b;font-size:20px;margin-bottom:10px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{border:1px solid var(--line);background:white;padding:11px 16px;font-size:12px;color:var(--ink)}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery-status{font-size:11px;color:var(--muted);margin:20px 0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:24px 16px}.photo{border:0;background:none;padding:0;text-align:left;color:var(--ink)}.photo .photo-frame{overflow:hidden;background:var(--paper);position:relative}.photo img{width:100%;height:265px;object-fit:cover;transition:transform .35s}.photo:hover img{transform:scale(1.04)}.photo .expand{position:absolute;right:10px;bottom:10px;background:#fff;padding:5px 10px;font-size:19px}.photo .category{display:block;font-size:9px;color:#89501d;letter-spacing:1px;text-transform:uppercase;margin:15px 0 7px}.photo .title{font-size:13px;line-height:1.5;display:block}.outline{background:white;border-color:var(--ink);margin-top:40px}.energy-banner{position:relative;background:var(--ink);color:white;min-height:370px;isolation:isolate}.energy-banner[hidden]{display:none}.energy-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.energy-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111719e8,transparent);z-index:-1}.energy-banner>div{padding:70px 6%}.image-note{font-size:10px;color:#c3cbcd}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact>div>p{font-size:14px;color:var(--muted)}.contact-phone{display:block;font-size:30px;letter-spacing:-1px;margin:28px 0 10px}.email{display:block;margin-top:25px;font-size:14px;overflow-wrap:anywhere}address{font-style:normal;font-size:13px;color:var(--muted);line-height:1.8;margin-top:20px}.orange{color:#e96500}.contact-card{background:var(--paper);padding:45px;align-self:start;border-top:3px solid var(--orange)}.contact-card p{font-size:14px;color:var(--muted)}.contact-card .button{margin:12px 0;gap:15px}.managers{border-top:1px solid var(--line);margin-top:25px;padding-top:15px}.managers p{font-size:12px}.managers b{color:var(--ink);font-weight:600}footer{border-top:1px solid var(--line);padding:28px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>a:last-child{font-size:11px;color:var(--muted)}dialog{border:0;padding:20px;background:#111719;color:#fff;max-width:94vw;width:1040px;max-height:94dvh}dialog::backdrop{background:#000d}#large-photo{max-height:70dvh;max-width:100%;width:auto;margin:auto;object-fit:contain}.close{display:block;margin:0 0 15px auto;background:transparent;border:1px solid #788387;color:white;padding:10px 15px}#photo-caption{font-size:13px;text-align:center;margin:14px}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;font-size:12px}.lightbox-controls button{background:transparent;border:1px solid #788387;color:white;padding:10px 15px}
@media(min-width:1600px){.hero-content{max-width:1600px;margin:auto}}@media(max-width:1000px){nav{gap:20px}.hero{min-height:620px}.about,.contact{gap:35px}.gallery{grid-template-columns:repeat(3,1fr)}.service-grid article{padding:25px}.diagnostic-copy{padding:55px 9%}.diagnostics h2{font-size:36px}.contact-card{padding:30px}}@media(max-width:760px){html{scroll-padding-top:75px}.topbar{font-size:8px;letter-spacing:.6px}.topbar>span{display:none}.topbar>a{margin:auto}header{height:72px}.brand{width:140px}.logo-crop{transform:scale(.85);transform-origin:left center}.menu{display:block;background:white;border:1px solid var(--line);padding:9px 12px;font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:72px;background:white;padding:22px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{min-height:650px}.hero-content{padding:65px 6% 110px}h1{font-size:45px;letter-spacing:-1.8px}.hero-content>p:not(.eyebrow){font-size:14px;max-width:350px}.hero-shade{background:linear-gradient(90deg,#071012ec,#07101288)}.actions{align-items:flex-start;flex-direction:column;gap:12px}.hero-foot{flex-direction:column;gap:12px;font-size:8px}.pillars{padding:20px 6%;gap:12px}.pillars span{font-size:10px;padding:0 8px 0 0}.pillars b{display:block;margin:0 0 8px}.section{padding:65px 6%}.about,.contact{grid-template-columns:1fr;gap:25px}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-feature{grid-template-columns:1fr}.service-feature>img{height:330px}.service-feature>div{padding:30px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{padding:22px}.service-grid h3{font-size:20px}.diagnostics{grid-template-columns:1fr}.diagnostic-image{min-height:450px}.diagnostic-image>img{object-position:50% 63%}.diagnostic-copy{padding:50px 6%}.gallery{grid-template-columns:1fr 1fr;gap:25px 12px}.photo img{height:230px}.filters{gap:6px}.filters button{font-size:10px;padding:10px 12px}.energy-banner h2{font-size:33px}.contact-card{padding:28px}.contact-card .button{font-size:12px;padding:18px}.email{font-size:13px}footer{flex-wrap:wrap}footer p{max-width:180px}.lightbox-controls button{font-size:11px;padding:10px}dialog{padding:15px}.contact-phone{font-size:28px}}@media(max-width:400px){h1{font-size:39px}.service-grid{grid-template-columns:1fr}.photo img{height:185px}.gallery .title{font-size:11px}.contact-card{padding:22px}.button{gap:20px}.contact-card .button{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.diagnostic-still{margin:25px 0 0}.diagnostic-still img{width:100%;height:180px;object-fit:cover}.diagnostic-still figcaption{font-size:10px;color:#60686c;margin-top:8px}

/* Acciones de contacto */
.actions{flex-wrap:wrap}.call-button{background:var(--orange);color:var(--ink);border-color:var(--orange)}.call-button:hover{background:#ff942e}.contact-phone+.contact-phone{margin-top:10px}.whatsapp-button{background:#167d42;border-color:#167d42;color:#fff}.whatsapp-button:hover{background:#116634}.contact-card .whatsapp-button{display:flex;max-width:100%}

/* Flechas vectoriales: misma forma y dimensiones en todos los dispositivos. */
.arrow-icon{display:inline-block;width:18px;height:18px;min-width:18px;flex:0 0 18px;vertical-align:-3px;pointer-events:none}
.button>span{display:inline-flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}
.button .arrow-icon{width:20px;height:20px;min-width:20px;flex-basis:20px;vertical-align:middle}
.photo .expand{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;line-height:1}
.lightbox-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px}

.hero .button .arrow-icon{stroke:#111719;fill:none}.menu{color:var(--ink);-webkit-appearance:none;appearance:none}
