:root{--navy:#071a2f;--blue:#0b5ea8;--cyan:#23b5d3;--gold:#f6b21a;--ink:#172433;--muted:#5d6b79;--surface:#f4f7fa;--white:#fff;--border:#dbe3ea;--shadow:0 16px 45px rgba(7,26,47,.12);--radius:18px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:400 1rem/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--white)}img,svg{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(100% - 2rem,var(--max));margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--gold);color:var(--navy);padding:.75rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(7,26,47,.97);color:var(--white);border-bottom:1px solid rgba(255,255,255,.12)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{text-decoration:none;display:flex;align-items:center;gap:.7rem}.brand-mark{width:40px;height:40px}.brand-text{display:grid;line-height:1.1}.brand-text strong{letter-spacing:.04em}.brand-text small{color:#b9c7d5;font-size:.7rem}.menu-button{border:1px solid #627488;color:#fff;background:transparent;border-radius:8px;padding:.55rem .7rem}.site-nav{position:absolute;inset:76px 0 auto;background:var(--navy);padding:1rem}.site-nav a{display:block;text-decoration:none;padding:.65rem}.site-nav a:hover,.site-nav a:focus-visible{color:var(--gold)}.nav-cta{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:0;border-radius:999px;padding:.8rem 1.2rem;font-weight:750;text-decoration:none;cursor:pointer;background:var(--gold);color:var(--navy);transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(246,178,26,.3)}.btn-secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}.btn-blue{background:var(--blue);color:#fff}.hero{color:#fff;min-height:650px;display:grid;align-items:center;background:linear-gradient(110deg,rgba(7,26,47,.98),rgba(7,26,47,.78)),radial-gradient(circle at 85% 25%,#147cc3,transparent 40%),#071a2f}.hero-grid{display:grid;gap:2rem;padding-block:5rem}.eyebrow{display:inline-block;color:var(--gold);font-size:.76rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.eyebrow--dark{color:#0b5ea8}.hero h1,.page-hero h1{font-size:clamp(2.35rem,7vw,4.75rem);line-height:1.04;letter-spacing:-.045em;margin:.8rem 0 1.2rem;max-width:920px}.hero p,.page-hero p{max-width:720px;color:#d8e2ed;font-size:clamp(1.05rem,2vw,1.25rem)}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}.trust-list{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;padding:0;margin:2rem 0 0;list-style:none;color:#c8d4df;font-size:.9rem}.trust-list li::before{content:"✓";color:var(--gold);margin-right:.45rem}.section{padding-block:4.5rem}.section-alt{background:var(--surface)}.section-head{max-width:760px;margin-bottom:2rem}.section h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.12;letter-spacing:-.03em;margin:.5rem 0}.lead{color:var(--muted);font-size:1.08rem}.grid-3,.grid-2,.steps{display:grid;gap:1.2rem}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 5px 22px rgba(7,26,47,.05)}.card h3{margin:.5rem 0}.card p{color:var(--muted)}.card-link{font-weight:750;color:var(--blue);text-decoration-thickness:2px;text-underline-offset:3px}.icon{width:46px;height:46px;color:var(--blue)}.metric{padding:1.4rem;border-left:4px solid var(--gold);background:#fff}.metric strong{display:block;font-size:1.2rem;color:var(--navy)}.cta-band{background:linear-gradient(120deg,var(--blue),#073d70);color:#fff;border-radius:var(--radius);padding:clamp(1.7rem,5vw,3.5rem)}.cta-band h2{margin-top:0}.page-hero{background:linear-gradient(120deg,var(--navy),#0a4678);color:#fff;padding-block:5rem}.page-hero h1{font-size:clamp(2.2rem,6vw,4rem)}.breadcrumbs{font-size:.85rem;color:#bfcdda}.breadcrumbs a{color:#fff}.service-list{padding-left:1.2rem}.service-list li{margin:.55rem 0}.steps{counter-reset:step}.step{position:relative;padding:1.5rem 1.5rem 1.5rem 4rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.step::before{counter-increment:step;content:counter(step);position:absolute;left:1.3rem;top:1.4rem;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--navy);font-weight:850}.contact-grid{display:grid;gap:2rem}.form-grid{display:grid;gap:1rem}.field{display:grid;gap:.35rem}.field label{font-weight:700}.field input,.field select,.field textarea{width:100%;padding:.8rem;border:1px solid #9aa9b8;border-radius:9px;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(35,181,211,.3);border-color:var(--blue)}.required{color:#a52222}.form-note{font-size:.85rem;color:var(--muted)}.status:focus{outline:none}.site-footer{background:var(--navy);color:#c8d4df;padding-block:3rem}.footer-grid{display:grid;gap:2rem}.site-footer h2,.site-footer h3{color:#fff}.site-footer a{color:#fff}.footer-links{list-style:none;padding:0}.footer-links li{margin:.45rem 0}.footer-links a{overflow-wrap:anywhere}.legal{border-top:1px solid #294057;margin-top:2rem;padding-top:1.2rem;font-size:.82rem}.whatsapp{position:fixed;right:1rem;bottom:1rem;z-index:15;background:#177e46;color:#fff;border-radius:999px;padding:.8rem 1rem;text-decoration:none;font-weight:800;box-shadow:var(--shadow)}.notice{border-left:4px solid var(--cyan);background:#eef9fb;padding:1rem}.space-top{margin-top:1.5rem}.not-found{min-height:65vh;display:grid;place-items:center;text-align:center;padding:2rem}
@media(min-width:700px){.grid-2,.contact-grid{grid-template-columns:repeat(2,1fr)}.grid-3,.steps{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}.field-full{grid-column:1/-1}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.menu-button{display:none}.site-nav{position:static;display:flex!important;background:transparent;padding:0;align-items:center}.site-nav a{padding:.5rem .65rem;font-size:.9rem}.nav-cta{display:inline-flex}.hero-grid{grid-template-columns:1fr .35fr}.hero-aside{align-self:end}.grid-3{grid-template-columns:repeat(3,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Integraciones funcionales añadidas sin alterar la identidad visual anterior. */
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.site-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35rem}.contact-details{display:grid;gap:1rem}.contact-list{display:grid;gap:.65rem;margin:1.25rem 0;padding:0;list-style:none}.contact-list a{font-weight:750;color:var(--blue);text-underline-offset:.2rem}.map-section{padding-top:0}.map-wrapper{width:min(100%,760px);margin-inline:auto;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);aspect-ratio:16/9}.map-wrapper iframe{display:block;width:100%;height:100%;min-height:380px;border:0}.map-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem}.whatsapp{display:flex;align-items:center;justify-content:center;width:58px;height:58px;min-height:58px;padding:.6rem;gap:0;background:#fff;color:#177e46;border:1px solid rgba(23,126,70,.22);border-radius:50%}.whatsapp-icon{display:block;flex:0 0 auto;width:24px;height:24px;object-fit:contain}.whatsapp .whatsapp-icon{width:38px;height:38px}.whatsapp-link{gap:.55rem}.status:not(:empty){margin-top:1rem;padding:.8rem;background:#fff4d8;border-left:4px solid var(--gold)}.gallery-feature{margin:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.gallery-feature img{width:100%;max-height:680px;object-fit:cover}.gallery-feature figcaption{padding:.8rem 1rem;color:var(--muted);font-size:.85rem}
@media(max-width:520px){.actions>.btn,.map-actions>.btn{width:100%}.whatsapp{right:.7rem;bottom:.7rem;width:56px;height:56px}.map-wrapper{aspect-ratio:auto}.map-wrapper iframe{min-height:320px}}

/* Cabecera blanca aprobada y CTA corporativo azul. */
.site-header{background:rgba(255,255,255,.98);color:var(--ink);border-bottom:1px solid var(--border);box-shadow:0 5px 20px rgba(7,26,47,.08)}
.brand-logo{display:block;width:auto;height:54px;object-fit:contain}
.brand-text small{color:var(--muted)}
.menu-button{color:var(--navy);border-color:#8b9bab}
.site-nav{background:#fff;color:var(--ink)}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--blue)}
.btn{background:var(--blue);color:#fff}
.btn:hover{box-shadow:0 8px 20px rgba(11,94,168,.28)}
.btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}

/* Galería local integrada con la identidad corporativa. */
.gallery-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.gallery-card{margin:0;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 26px rgba(7,26,47,.08);transition:transform .2s ease,box-shadow .2s ease}
.gallery-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.gallery-card figcaption{padding:.9rem 1rem;color:var(--muted);font-size:.9rem}.gallery-card figcaption a{color:var(--blue)}
.gallery-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(7,26,47,.13)}
@media(min-width:600px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.footer-grid{grid-template-columns:1.25fr 1fr 1fr 1.25fr}}
@media(prefers-reduced-motion:reduce){.gallery-card{transition:none}.gallery-card:hover{transform:none}}

/* Hero principal con imagen local y composición limpia. */
.hero{background:linear-gradient(90deg,rgba(7,26,47,.96) 0%,rgba(7,26,47,.82) 52%,rgba(7,26,47,.58) 100%),url("../img/hero-solar-mobile.webp") center/cover no-repeat}
@media(min-width:900px){.hero{background-image:linear-gradient(90deg,rgba(7,26,47,.96) 0%,rgba(7,26,47,.82) 52%,rgba(7,26,47,.58) 100%),url("../img/hero-solar-v1.webp")}.hero-grid{grid-template-columns:minmax(0,920px)}}
@media(max-width:520px){.brand-logo{height:44px}.nav-wrap{min-height:68px}.site-nav{inset-block-start:68px}}
