
:root{--navy:#0D2D61;--ink:#0D2D61;--blue:#258FE3;--yellow:#FFCC00;--paper:#F3F4F6;--muted:#F3F4F6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;background:var(--paper)}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}header{height:104px;padding:0 max(5%,calc((100vw - 1360px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;background:#0D2D61;color:white;position:relative;z-index:10}body.home header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(3,21,37,.88),rgba(3,21,37,.12));height:132px}header .brand{display:flex;align-items:center;gap:15px;min-width:0}header .brand img{width:90px;height:90px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(255,255,255,.8))}header .brand span{font-size:22px;font-weight:800;letter-spacing:.13em;line-height:1.15;color:#fff}header .brand small{display:block;font-size:9px;letter-spacing:.13em;color:#FFCC00;margin-top:8px}header nav{display:flex;gap:26px;align-items:center;flex-wrap:wrap}header nav a{font-size:13px;font-weight:700;letter-spacing:.04em;color:white;transition:color .2s}header nav a:hover,header nav a.active{color:var(--yellow)}.hamb{display:none;background:none;border:1px solid #ffffff66;color:white;padding:8px 13px;border-radius:3px;font-size:22px;cursor:pointer}.hero{position:relative;min-height:760px;height:min(900px,95vh);display:flex;align-items:end;background:linear-gradient(90deg,rgba(2,18,33,.86) 0%,rgba(2,18,33,.56) 43%,rgba(2,18,33,.16) 100%),linear-gradient(0deg,rgba(2,18,33,.64),transparent 65%),url('planta.jpg') center/cover no-repeat;color:white;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(130deg,transparent 0 8px,rgba(0,0,0,.1) 8px 10px);opacity:.32;pointer-events:none}.hero-copy{position:relative;z-index:1;padding:0 7% 105px;max-width:1030px}.hero .eyebrow{color:var(--yellow);font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:700}.hero h1{font-size:clamp(56px,8vw,126px);line-height:.97;letter-spacing:-.035em;text-transform:uppercase;margin:22px 0 25px;font-weight:900;max-width:1050px}.hero h1 em{font-style:normal;color:var(--yellow)}.hero p{max-width:640px;color:#f1f5f7;font-size:18px;line-height:1.7}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--yellow);color:#0D2D61;padding:15px 25px;border-radius:3px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-top:16px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#FFCC00}.btn.dark{background:#0D2D61;color:white}.section{padding:85px 0;background:#F3F4F6}.section.soft{background:#F3F4F6}.container{max-width:1280px;margin:0 auto;padding:0 35px}.kicker{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#0078b8;display:block;margin-bottom:12px}.section h2,.feature h2,.cta h2{font-size:clamp(32px,4vw,54px);line-height:1.12;letter-spacing:-.025em;margin:0 0 22px}.intro{max-width:780px;font-size:17px;color:#485762;margin-bottom:32px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:3px solid var(--navy);border-bottom:1px solid #bdc6cb}.service{padding:38px 30px;display:flex;flex-direction:column;gap:12px;min-height:240px;border-right:1px solid #c8d0d3;transition:background .2s}.service:hover{background:#F3F4F6}.service:last-child{border-right:0}.service b{color:#258FE3;font-size:13px}.service strong{font-size:24px;line-height:1.2}.service small{font-size:15px;color:#53636b}.service i{font-style:normal;font-size:26px;color:#258FE3;margin-top:auto}.technical-strip{background:#0D2D61;color:white;padding:25px 0}.technical-strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.technical-strip strong{color:var(--yellow);text-transform:uppercase;letter-spacing:.08em}.technical-strip span{font-size:13px}.feature{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:#d9e1e3}.feature>img{height:100%;width:100%;object-fit:cover}.feature-text{padding:75px clamp(35px,6vw,100px);align-self:center}.feature-text p{font-size:17px;color:#435562;max-width:560px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery a{position:relative;height:320px;overflow:hidden;background:#08243a}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery a:hover img{transform:scale(1.04)}.gallery a:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#05192ce8)}.gallery span{position:absolute;bottom:24px;left:24px;color:white;font-size:23px;font-weight:800;z-index:1}.cta{background:var(--yellow);padding:70px 0}.cta .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta p{max-width:700px}.cta .kicker{color:#173347}footer{background:#071d30;color:#d7e0e7;padding:65px 0 25px}.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;margin-bottom:45px}.foot img{width:120px;filter:drop-shadow(0 0 4px #fff8)}.foot b{color:#FFCC00;text-transform:uppercase;letter-spacing:.1em}.foot p{font-size:14px}.foot a:hover{color:var(--yellow)}footer small{font-size:12px;color:#b5c3cc}.page-hero{background:#102c45;color:white;position:relative;min-height:400px;display:flex;align-items:center;overflow:hidden}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#061d32ed 5%,#061d32b0 52%,#061d3250),url('planta.jpg') center/cover no-repeat;z-index:0}.page-hero .container{position:relative;z-index:1;width:100%;padding-top:35px;padding-bottom:35px}.page-hero h1{font-size:clamp(40px,5.5vw,75px);line-height:1.08;max-width:900px;margin:12px 0 16px;text-transform:uppercase}.page-hero p{max-width:720px;color:#F3F4F6;font-size:18px}.page-hero .kicker{color:var(--yellow)}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split img{width:100%;height:410px;object-fit:cover}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.detail-grid article{background:#fff;padding:27px;border-top:4px solid var(--yellow);box-shadow:0 5px 25px #0b24310d}.detail-grid h3{margin:0 0 12px;font-size:22px}.detail-grid p{margin:0;color:#53616b}.list{padding-left:20px}.list li{margin:9px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-grid input,.contact-grid textarea{width:100%;padding:15px;margin:7px 0;border:1px solid #bec9ce;background:#fff;font:inherit}.contact-grid textarea{min-height:140px}.contact-grid button{border:0;cursor:pointer}.whatsapp{position:fixed;bottom:25px;right:25px;z-index:20;background:#19b66d;color:white;border-radius:30px;padding:12px 19px;font-size:14px;font-weight:bold;box-shadow:0 6px 20px #0003}@media(max-width:1000px){header nav{gap:13px}header nav a{font-size:12px}header .brand span{font-size:16px}.hero{min-height:680px}}@media(max-width:760px){header,body.home header{height:90px;padding:0 18px}header .brand img{width:72px;height:72px}header .brand span{font-size:14px}header .brand small{font-size:7px}.hamb{display:block}header nav{display:none;position:absolute;top:90px;left:0;right:0;background:#0D2D61;padding:18px 25px;flex-direction:column;align-items:stretch;gap:15px}header nav.open{display:flex}.hero{min-height:660px;height:83vh;background-position:60% center}.hero-copy{padding:0 24px 75px}.hero h1{font-size:clamp(48px,11vw,74px)}.hero p{font-size:15px}.section{padding:55px 0}.container{padding:0 22px}.services,.gallery,.detail-grid,.contact-grid,.split,.foot,.feature{grid-template-columns:1fr}.service{min-height:180px;border-right:0;border-bottom:1px solid #b9c3c9}.gallery a{height:250px}.feature>img{height:300px}.feature-text{padding:45px 25px}.cta .container{display:block}.technical-strip .container{display:block}.technical-strip span{display:block;margin-top:9px}.page-hero{min-height:330px}.page-hero h1{font-size:40px}.split img{height:270px}.foot{gap:20px}}

/* Ajuste del logotipo original: proporciones intactas en todas las pantallas */
header .brand{flex:0 0 auto;display:flex;align-items:center;max-width:230px}
header .brand img{width:175px;height:94px;object-fit:contain;object-position:center;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}
body.home header .brand img{width:190px;height:115px}
footer .foot img{width:175px;height:auto;max-height:165px;object-fit:contain;filter:none}
@media(max-width:1000px){header .brand{max-width:160px}header .brand img,body.home header .brand img{width:142px;height:86px}}
@media(max-width:760px){header .brand{max-width:130px}header .brand img,body.home header .brand img{width:125px;height:82px}footer .foot img{width:155px}}


/* V8: composición coherente para páginas interiores; portada de inicio intacta */
body:not(.home) .page-title{min-height:345px;padding:80px max(6%,calc((100vw - 1180px)/2));background:linear-gradient(90deg,rgba(5,26,46,.93),rgba(5,26,46,.70) 57%,rgba(5,26,46,.35)),url('planta.jpg') center 45%/cover;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:12px}
body:not(.home) .page-title .kicker{color:var(--yellow);margin:0}
body:not(.home) .page-title h1{font-size:clamp(38px,5.2vw,68px);line-height:1.1;margin:0;max-width:960px;letter-spacing:-.03em}
body:not(.home) .page-title p{max-width:690px;font-size:18px;line-height:1.6;margin:0;color:#e8eef3}
body:not(.home) .section .detail-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}
body:not(.home) .section .detail-grid>img{width:100%;height:410px;object-fit:cover;box-shadow:18px 18px 0 #e3d6a0}
body:not(.home) .section .detail-grid>div{min-width:0}
body:not(.home) .section .detail-grid h2{font-size:clamp(30px,3.5vw,47px)}
body:not(.home) .section .detail-grid p{font-size:17px;line-height:1.75;color:#425363}
body:not(.home) .three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body:not(.home) .three article{padding:32px;background:white;border-bottom:5px solid var(--yellow)}
body:not(.home) .three h3{font-size:25px;margin:0 0 12px}
body:not(.home) .three p{color:#425363;line-height:1.7}
body:not(.home) .tag{display:inline-block;background:#F3F4F6;padding:8px 14px;font-size:13px;margin-top:10px}
body:not(.home) .catalog{padding:85px 0;background:#F3F4F6}
body:not(.home) .catalog-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}
body:not(.home) .catalog-head h2{font-size:clamp(34px,4vw,54px);margin:0;line-height:1.1}
body:not(.home) .catalog-head p{max-width:430px;color:#435362}
body:not(.home) .catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body:not(.home) .catalog-grid article{background:white;padding:32px 28px;border-top:4px solid #FFCC00;min-width:0}
body:not(.home) .catalog-grid .num{font-size:12px;color:#007bbd;letter-spacing:.14em;font-weight:bold}
body:not(.home) .catalog-grid h3{font-size:23px;line-height:1.2;margin:18px 0 12px}
body:not(.home) .catalog-grid p{font-size:15px;color:#4d5d67;line-height:1.7}
body:not(.home) .visual-band{display:grid;grid-template-columns:1fr 1fr;min-height:390px;background:#0D2D61;color:white}
body:not(.home) .visual-band>img{width:100%;height:100%;max-height:500px;object-fit:cover}
body:not(.home) .visual-band>div{align-self:center;padding:60px clamp(30px,5vw,90px)}
body:not(.home) .visual-band h2{font-size:clamp(32px,3.5vw,52px);line-height:1.13}
body:not(.home) .visual-band p{color:#d8e5ec;font-size:17px}
body:not(.home) .visual-band .kicker{color:#FFCC00}
.contact-layout{background:#F3F4F6;padding:76px 0 100px}
.contact-layout .contact-columns{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:55px;align-items:start}
.contact-info{padding:30px 0}
.contact-info h2{font-size:clamp(34px,3.6vw,49px);line-height:1.13;margin:8px 0 18px}
.contact-info .lead{font-size:17px;color:#53616a;line-height:1.75;margin-bottom:30px}
.contact-detail{border-top:1px solid #c8d0d1;padding:21px 0;display:flex;gap:17px;align-items:flex-start}
.contact-detail .symbol{display:flex;align-items:center;justify-content:center;background:#092b47;color:#FFCC00;min-width:46px;height:46px;font-size:23px}
.contact-detail b{display:block;font-size:14px;color:#132e42;margin-bottom:5px}
.contact-detail a{overflow-wrap:anywhere;font-size:16px;color:#0c5d91}
.contact-detail a:hover{text-decoration:underline}
.contact-panel{background:#fff;box-shadow:0 18px 45px #0D2D6117;padding:42px 44px;border-top:6px solid #FFCC00}
.contact-panel .kicker{margin-bottom:10px}
.contact-panel h2{font-size:35px;margin:0 0 10px;line-height:1.2}
.contact-panel>p{color:#5a6770;margin:0 0 26px}
.contact-panel .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-panel .field{display:flex;flex-direction:column;margin-bottom:19px;min-width:0}
.contact-panel label{font-size:14px;font-weight:700;margin-bottom:7px}
.contact-panel input,.contact-panel select,.contact-panel textarea{width:100%;min-width:0;display:block;border:1px solid #bfcbd1;border-radius:3px;background:#f8fafb;padding:13px 14px;font:16px/1.4 Arial,Helvetica,sans-serif;color:#0D2D61;outline:none}
.contact-panel input:focus,.contact-panel select:focus,.contact-panel textarea:focus{border-color:#258FE3;box-shadow:0 0 0 3px #258FE31c}
.contact-panel textarea{min-height:140px;resize:vertical}
.contact-panel button{border:0;cursor:pointer;width:100%;margin-top:0;font-size:14px}
.contact-panel .form-note{font-size:12px;color:#64717b;margin:14px 0 0}
@media(max-width:900px){body:not(.home) .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout .contact-columns{gap:25px}.contact-panel{padding:30px}}
@media(max-width:760px){body:not(.home) .page-title{padding:65px 24px;min-height:290px}body:not(.home) .page-title h1{font-size:clamp(35px,9vw,50px)}body:not(.home) .page-title p{font-size:16px}body:not(.home) .section .detail-grid,body:not(.home) .three,body:not(.home) .catalog-grid,body:not(.home) .visual-band,.contact-layout .contact-columns{grid-template-columns:1fr}body:not(.home) .section .detail-grid{gap:30px}body:not(.home) .section .detail-grid>img{height:280px;box-shadow:8px 8px 0 #e3d6a0}body:not(.home) .catalog{padding:55px 0}body:not(.home) .catalog-head{display:block}body:not(.home) .visual-band>img{height:250px}body:not(.home) .visual-band>div{padding:35px 25px}.contact-layout{padding:35px 0 70px}.contact-info{padding:0}.contact-panel{padding:27px 20px}.contact-panel .form-row{grid-template-columns:1fr;gap:0}}

/* V9 — Ajustes finales solicitados */
/* La portada de Inicio permanece sin cambios. */
.cta{padding:23px 0}
.cta .container{gap:22px}
.cta .kicker{font-size:11px;margin:0 0 5px}
.cta h2{font-size:clamp(25px,2.8vw,39px);line-height:1.12;margin:0 0 5px}
.cta p{font-size:14px;line-height:1.5;margin:0}
.cta .btn{margin:0;white-space:nowrap;padding:13px 21px}
footer{padding:30px 0 15px}
.foot{gap:28px;margin-bottom:14px;align-items:start}
.foot img,footer .foot img{width:105px;max-height:110px}
.foot p{margin:7px 0;font-size:13px;line-height:1.55}
.foot b{font-size:14px}
footer small{display:block;border-top:1px solid #ffffff20;padding-top:12px;font-size:11px}
.contact-detail .symbol{min-width:38px;width:38px;height:38px;background:transparent;color:#258FE3}
.contact-detail .symbol svg{width:25px;height:25px}
.contact-detail{gap:12px}
body:not(.home) header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(5,24,41,.88),rgba(5,24,41,.12));z-index:10}
body:not(.home) .page-title{min-height:610px;padding-top:175px;padding-bottom:105px;background:linear-gradient(90deg,rgba(5,26,46,.84),rgba(5,26,46,.53) 58%,rgba(5,26,46,.16)),url('planta.jpg') center center/cover no-repeat}
body:not(.home) .page-title h1{font-size:clamp(44px,5.5vw,76px)}
/* Convertir el rótulo de especialidades en un encabezado editorial, no en una barra de navegación. */
body:not(.home) .technical-strip{background:transparent;color:var(--ink);padding:0}
body:not(.home) .technical-strip .container{display:none}
@media(max-width:760px){
  .cta{padding:20px 0}
  .cta .container{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
  .cta h2{font-size:27px}
  .cta .btn{white-space:normal}
  footer{padding:27px 0 13px}
  .foot{gap:16px;margin-bottom:12px}
  body:not(.home) .page-title{min-height:530px;padding:145px 24px 70px}
  body:not(.home) header nav{background:#0D2D61}
}

/* Paleta oficial AURA: azul industrial, azul AURA, amarillo y gris claro */
:root{--navy:#0D2D61;--ink:#0D2D61;--blue:#258FE3;--yellow:#FFCC00;--paper:#F3F4F6;--muted:#F3F4F6}
.kicker,.contact-detail a:not(.btn){color:#258FE3}
.service i,.service:hover strong{color:#258FE3}
.btn.dark{background:#0D2D61;color:white}
.btn.dark:hover{background:#258FE3}
footer,body:not(.home) header{background-color:#0D2D61}
.contact-detail .symbol{color:#258FE3}


/* AURA V11 — Tres módulos con composición visual diferenciada */
body.service-page{background:#F3F4F6}
body.service-page header{position:absolute;top:0;left:0;right:0;z-index:30;background:linear-gradient(180deg,rgba(13,45,97,.93),rgba(13,45,97,.35) 80%,transparent);height:128px}
body.service-page header nav a.active{color:#FFCC00}
.mod-hero{position:relative;min-height:670px;height:80vh;max-height:860px;color:white;display:flex;align-items:center;overflow:hidden;background:#0D2D61}
.mod-hero-image,.mod-hero-shade{position:absolute;inset:0}
.mod-hero-image{background-position:center center;background-size:cover;transform:scale(1.01)}
.mod-hero-shade{background:linear-gradient(90deg,rgba(13,45,97,.94) 0%,rgba(13,45,97,.77) 39%,rgba(13,45,97,.12) 100%)}
.mod-hero-content{position:relative;z-index:2;width:100%;padding-top:120px;padding-bottom:80px}
.mod-hero-label{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:800;letter-spacing:.19em;color:#FFCC00}
.mod-no{display:grid;place-items:center;width:45px;height:45px;border:1px solid #FFCC00;color:#FFCC00;letter-spacing:0;font-size:16px}
.mod-hero h1{font-size:clamp(56px,7vw,106px);line-height:.97;letter-spacing:-.05em;max-width:860px;margin:28px 0;font-weight:900}
.mod-hero h1 em{font-style:normal;color:#FFCC00}
.mod-hero p{font-size:19px;line-height:1.6;max-width:550px;color:#fff}
.mod-hero-link{display:inline-flex;align-items:center;gap:25px;margin-top:25px;border-bottom:2px solid #FFCC00;padding:0 0 10px;font-size:14px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.mod-hero-link span{font-size:22px;color:#FFCC00}
.mod-hero-side{position:absolute;right:38px;bottom:38px;z-index:2;color:white;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;writing-mode:vertical-rl}
.mod-intro,.clean-intro,.civil-intro{padding:90px 0}
.mod-intro h2,.clean-intro h2,.civil-intro h2,.mod-section-title h2,.clean-gallery h2,.civil-heading h2{font-size:clamp(34px,4.2vw,56px);line-height:1.1;margin:12px 0 20px;letter-spacing:-.035em}
.mod-intro p,.clean-intro p,.civil-intro p{max-width:610px;font-size:17px;line-height:1.8;color:#3c5268}
.mod-intro-layout{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:70px}
.intro-photo{position:relative}
.intro-photo:after{content:"";position:absolute;inset:auto -16px -16px 16px;height:15px;background:#FFCC00}
.intro-photo img{width:100%;height:340px;object-fit:cover}
.mod-specialties{padding:80px 0 95px;background:#fff}
.mod-section-title{margin-bottom:36px}
.maintenance-list{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}
.maintenance-list .specialty{display:flex;align-items:start;gap:24px;border-top:1px solid #cdd4de;padding:26px 5px}
.specialty-index{font-size:14px;font-weight:900;color:#258FE3;min-width:28px}
.specialty h3{font-size:23px;line-height:1.2;margin:0 0 10px;color:#0D2D61}
.specialty p{margin:0;font-size:15px;line-height:1.7;color:#3e5368}
body.cleaning .mod-hero-shade{background:linear-gradient(90deg,rgba(13,45,97,.85),rgba(37,143,227,.40) 55%,rgba(13,45,97,.12))}
body.cleaning .mod-hero-image{background-position:center 52%}
.clean-intro{background:#fff;padding:78px 0 65px}
.clean-intro .container{display:grid;grid-template-columns:1fr 1.25fr;column-gap:55px;align-items:center}
.clean-intro .kicker{grid-column:1/-1}
.clean-intro h2{margin-top:0}
.clean-intro p{margin:0}
.clean-gallery{display:grid;grid-template-columns:42% 58%;background:#F3F4F6}
.clean-gallery-photo{position:relative;min-height:950px;overflow:hidden}
.clean-gallery-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.clean-gallery-photo span{position:absolute;left:30px;bottom:30px;background:#0D2D61;color:#fff;padding:10px 17px;font-weight:800;font-size:12px;letter-spacing:.12em}
.clean-gallery-text{padding:65px clamp(30px,5vw,85px) 80px}
.clean-gallery-text .kicker{color:#258FE3}
.clean-list{margin-top:32px}
.clean-list .specialty{display:flex;gap:22px;align-items:start;border-bottom:1px solid #cbd5df;padding:20px 0}
.clean-list .specialty-index{display:grid;place-items:center;background:#258FE3;color:#fff;min-width:40px;height:40px}
.clean-list .specialty h3{font-size:20px}
body.civil .mod-hero-shade{background:linear-gradient(90deg,rgba(13,45,97,.89),rgba(13,45,97,.66) 48%,rgba(13,45,97,.05))}
body.civil .mod-hero-image{background-position:center 42%}
body.civil .mod-hero h1 em{color:#FFCC00}
.civil-intro{background:#fff}
.civil-intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}
.civil-intro img{height:370px;width:100%;object-fit:cover}
.civil-specialties{background:#F3F4F6;padding:85px 0}
.civil-heading{max-width:800px;margin-bottom:38px}
.civil-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.civil-list .specialty{background:#fff;padding:32px 26px;min-height:245px;border-bottom:5px solid #FFCC00}
.civil-list .specialty-index{display:block;font-size:28px;font-weight:900;color:#258FE3;margin-bottom:15px}
.civil-list .specialty h3{font-size:21px}
.mod-contact{background:#FFCC00;padding:32px 0}
.mod-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.mod-contact .kicker{color:#0D2D61;margin:0 0 5px;font-size:11px}
.mod-contact h2{font-size:clamp(25px,2.5vw,37px);line-height:1.1;margin:0 0 7px}
.mod-contact p{font-size:14px;margin:0}
.mod-contact .btn{white-space:nowrap;margin:0}
body.service-page footer{background:#0D2D61}
@media(max-width:900px){
 .mod-hero{min-height:620px}
 .mod-hero h1{font-size:clamp(52px,9vw,80px)}
 .mod-intro-layout,.civil-intro-grid{gap:30px}
 .clean-gallery{grid-template-columns:40% 60%}
 .clean-gallery-text{padding:45px 30px}
 .civil-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 body.service-page header{height:90px}
 .mod-hero{height:auto;min-height:640px;max-height:none}
 .mod-hero-content{padding-top:145px;padding-bottom:75px}
 .mod-hero h1{font-size:clamp(46px,11vw,68px)}
 .mod-hero p{font-size:16px}
 .mod-hero-side{display:none}
 .mod-intro,.clean-intro,.civil-intro,.mod-specialties,.civil-specialties{padding:55px 0}
 .mod-intro-layout,.civil-intro-grid,.maintenance-list,.clean-intro .container,.clean-gallery,.civil-list{display:grid;grid-template-columns:1fr}
 .clean-intro .kicker{grid-column:auto}
 .intro-photo img,.civil-intro img{height:250px}
 .clean-gallery-photo{min-height:310px}
 .clean-gallery-photo img{position:relative;height:310px}
 .clean-gallery-text{padding:40px 22px 55px}
 .civil-list .specialty{min-height:0}
 .mod-contact-inner{flex-direction:column;align-items:flex-start}
 .mod-contact .btn{white-space:normal}
}


/* V12: reducción del pie en todo el sitio */
footer{padding:20px 0 11px!important}
footer .foot{gap:18px!important;margin-bottom:10px!important;align-items:start!important}
footer .foot img{width:82px!important;max-height:90px!important;object-fit:contain!important}
footer .foot p{margin:5px 0!important;font-size:13px!important;line-height:1.5!important}
footer .foot b{font-size:14px!important}
footer small{font-size:11px!important;padding-top:9px!important}
@media(max-width:760px){footer{padding:18px 0 10px!important}footer .foot{gap:15px!important}}

/* Servicios: portada equilibrada, sin botón redundante */
body.service-page .mod-hero{min-height:540px;height:68vh;max-height:720px}
body.service-page .mod-hero-content{padding-top:125px;padding-bottom:55px}
body.service-page .mod-hero h1{font-size:clamp(48px,6.1vw,88px);line-height:1.02}
body.service-page .mod-hero p{font-size:clamp(16px,1.35vw,19px);line-height:1.6;max-width:650px}
@media(max-width:760px){body.service-page .mod-hero{height:auto;min-height:560px}body.service-page .mod-hero-content{padding-top:130px;padding-bottom:50px}}

/* Nosotros: identidad visual propia */
body.about-page{background:#F3F4F6}
body.about-page header{position:absolute;z-index:20;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(13,45,97,.96),rgba(13,45,97,.45) 80%,transparent)}
.about-hero{position:relative;min-height:690px;display:flex;align-items:center;color:#fff;overflow:hidden;background:#0D2D61}
.about-hero-photo{position:absolute;inset:0;background:url("planta.jpg") center/cover no-repeat}
.about-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,45,97,.95) 0%,rgba(13,45,97,.78) 43%,rgba(13,45,97,.18) 100%)}
.about-hero-inner{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:30px;padding-top:145px;padding-bottom:75px;width:100%}
.about-hero h1{font-size:clamp(65px,8vw,122px);line-height:.93;letter-spacing:-.055em;margin:23px 0 30px}
.about-hero h1 strong{color:#FFCC00}
.about-hero p{max-width:540px;font-size:20px;line-height:1.55}
.about-hero-mark{font-size:clamp(55px,12vw,180px);font-weight:900;color:rgba(255,255,255,.12);letter-spacing:-.06em}
.about-story{padding:85px 0;background:#fff}
.about-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.about-story h2,.repse h2{font-size:clamp(34px,4.2vw,58px);line-height:1.1;letter-spacing:-.035em;margin:15px 0 22px}
.about-story p,.repse p{font-size:17px;line-height:1.75;color:#3e5368}
.about-story-photo img{height:385px;width:100%;object-fit:cover}
.repse{padding:85px 0;background:#F3F4F6}
.repse-grid{display:grid;grid-template-columns:1fr .95fr;gap:65px;align-items:center}
.repse h2 span{color:#258FE3}
.repse-certificate{background:#0D2D61;color:#fff;padding:50px 42px;border-top:7px solid #FFCC00;display:flex;flex-direction:column;gap:16px}
.repse-certificate>span{font-size:13px;font-weight:800;letter-spacing:.18em;color:#FFCC00}
.repse-certificate strong{font-size:clamp(29px,3vw,46px);letter-spacing:-.025em;overflow-wrap:anywhere}
.repse-certificate small{font-size:14px;line-height:1.6;color:#dbe8f5}
body.about-page .section.soft{background:#fff}
body.about-page .cta{padding:25px 0}

/* Contacto: encabezado más corto y formulario visible de inmediato */
body.contact-page{background:#F3F4F6}
body.contact-page header{position:relative;background:#0D2D61}
.contact-hero{background:#0D2D61;color:#fff;border-top:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden}
.contact-hero:after{content:"";position:absolute;right:-100px;bottom:-150px;width:460px;height:460px;border:80px solid rgba(37,143,227,.16);border-radius:50%;pointer-events:none}
.contact-hero-inner{display:grid;grid-template-columns:1.1fr .7fr;gap:65px;align-items:end;padding-top:50px;padding-bottom:55px;position:relative;z-index:1}
.contact-hero h1{font-size:clamp(48px,5.8vw,82px);line-height:1.02;letter-spacing:-.04em;margin:16px 0 0}
.contact-hero h1 strong{color:#FFCC00}
.contact-hero p{font-size:17px;line-height:1.65;max-width:430px}
body.contact-page .contact-layout{padding-top:55px;padding-bottom:55px}
body.contact-page .contact-detail .symbol{background:transparent!important;color:#258FE3!important}
body.contact-page .contact-detail .symbol svg{width:27px;height:27px}
@media(max-width:800px){
 .about-hero{min-height:600px}
 .about-hero-mark{display:none}
 .about-story-grid,.repse-grid,.contact-hero-inner{grid-template-columns:1fr;gap:22px}
 .about-story,.repse{padding:55px 0}
 .about-story-photo img{height:270px}
 .contact-hero-inner{padding-top:38px;padding-bottom:43px}
 .contact-hero p{margin:0}
}

/* V13: interiores de servicios, orden correcto y cabecera libre de solapamientos */
body.service-page header{position:absolute;top:0;left:0;right:0;height:132px;background:linear-gradient(180deg,rgba(3,21,37,.88),rgba(3,21,37,.12));z-index:10}
body.service-page .mod-hero{min-height:660px;height:min(820px,91vh);max-height:none}
body.service-page .mod-hero-content{padding-top:175px;padding-bottom:85px}
body.service-page .mod-hero-shade{background:linear-gradient(90deg,rgba(2,18,33,.86) 0%,rgba(2,18,33,.57) 48%,rgba(2,18,33,.16) 100%)}
body.service-page .mod-intro .intro-photo img,body.service-page .clean-intro img,body.service-page .civil-intro img{object-fit:cover}
body.service-page .mod-contact{position:relative;z-index:1}
body.service-page .mod-contact h2{font-size:clamp(24px,2.4vw,34px)}
/* Nosotros: fotografía natural como Inicio, sin tinte azul plano */
.about-hero-overlay{background:linear-gradient(90deg,rgba(2,18,33,.86) 0%,rgba(2,18,33,.55) 48%,rgba(2,18,33,.14) 100%)!important}
.about-hero .kicker{color:#FFCC00!important}
.about-hero{min-height:760px}
/* Contacto: fotografía industrial, encabezado integrado y sin círculos decorativos */
body.contact-page header{position:absolute;top:0;left:0;right:0;height:132px;background:linear-gradient(180deg,rgba(3,21,37,.88),rgba(3,21,37,.08));z-index:10}
.contact-hero{min-height:710px;display:flex;align-items:flex-end;border:0;background:linear-gradient(90deg,rgba(2,18,33,.86) 0%,rgba(2,18,33,.56) 48%,rgba(2,18,33,.17) 100%),url('planta.jpg') center/cover no-repeat}
.contact-hero:after{display:none}
.contact-hero-inner{width:100%;display:block;padding-top:205px;padding-bottom:105px}
.contact-hero h1{font-size:clamp(54px,7.5vw,108px);max-width:900px;line-height:1;letter-spacing:-.045em}
.contact-hero p{max-width:670px;margin-top:25px;font-size:19px}
.contact-hero .kicker{color:#FFCC00}
@media(max-width:760px){
body.service-page header,body.contact-page header{height:90px}
body.service-page .mod-hero{height:auto;min-height:660px}
body.service-page .mod-hero-content{padding-top:150px;padding-bottom:75px}
.contact-hero{min-height:610px}
.contact-hero-inner{padding-top:165px;padding-bottom:75px}
.contact-hero h1{font-size:clamp(48px,11vw,70px)}
.about-hero{min-height:640px}
}

/* V14: Nosotros usa el mismo tratamiento fotográfico que Contacto */
body.about-page .about-hero-overlay{
  background:linear-gradient(90deg,rgba(2,18,33,.86) 0%,rgba(2,18,33,.56) 48%,rgba(2,18,33,.17) 100%)!important;
}
body.about-page .about-hero-photo{
  background-image:url("planta.jpg");
  background-position:center;
  background-size:cover;
}

/* Fotografías reales y REPSE */
.repse-logo{display:block;max-width:265px;width:100%;height:auto;object-fit:contain;background:#fff;padding:14px;border-radius:4px;margin-bottom:9px}
.real-work-section{padding:80px 0;background:#f4f5f7;color:#102e52}
.real-work-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}
.real-work-heading h2{font-size:clamp(35px,4vw,58px);line-height:1.08;margin:14px 0 0}
.real-work-heading p{max-width:460px;line-height:1.6}
.real-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.real-work-grid figure{margin:0;background:#fff;overflow:hidden;border-bottom:3px solid #ffcc00}
.real-work-grid figure.real-work-wide{grid-column:span 2}
.real-work-grid img{display:block;width:100%;height:315px;object-fit:cover}
.real-work-grid figure.real-work-wide img{height:315px}
.real-work-grid figcaption{padding:15px 17px;font-size:15px;font-weight:700}
@media(max-width:750px){.real-work-section{padding:55px 0}.real-work-heading{display:block}.real-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.real-work-grid figure.real-work-wide{grid-column:span 2}.real-work-grid img{height:255px}}
@media(max-width:480px){.real-work-grid{grid-template-columns:1fr}.real-work-grid figure.real-work-wide{grid-column:auto}.real-work-grid img,.real-work-grid figure.real-work-wide img{height:auto;max-height:440px;object-fit:contain;background:#eef0f2}}

/* V16: encabezado de Nosotros idéntico al de Contacto */
body.about-page header{position:absolute;top:0;left:0;right:0;height:132px;background:linear-gradient(180deg,rgba(3,21,37,.88),rgba(3,21,37,.08));z-index:10}
body.about-page .about-contact-match{min-height:710px;display:flex;align-items:flex-end;border:0;background:linear-gradient(90deg,rgba(2,18,33,.86) 0%,rgba(2,18,33,.56) 48%,rgba(2,18,33,.17) 100%),url('planta.jpg') center/cover no-repeat}
body.about-page .about-contact-match .contact-hero-inner{width:100%;display:block;padding-top:205px;padding-bottom:105px}
body.about-page .about-contact-match h1{font-size:clamp(54px,7.5vw,108px);max-width:900px;line-height:1;letter-spacing:-.045em;margin:16px 0 0}
body.about-page .about-contact-match h1 strong{color:#FFCC00}
body.about-page .about-contact-match p{max-width:670px;margin-top:25px;font-size:19px;line-height:1.65}
body.about-page .about-contact-match .kicker{color:#FFCC00}
@media(max-width:760px){body.about-page header{height:90px}body.about-page .about-contact-match{min-height:610px}body.about-page .about-contact-match .contact-hero-inner{padding-top:165px;padding-bottom:75px}body.about-page .about-contact-match h1{font-size:clamp(48px,11vw,70px)}}

/* Ajustes finales: fotos existentes y ficha REPSE compacta */
.repse{padding:58px 0}
.repse-grid{grid-template-columns:1.15fr .85fr;gap:42px;align-items:center}
.repse-certificate{background:#fff;color:#0D2D61;border:1px solid #dce3eb;border-top:4px solid #FFCC00;box-shadow:0 12px 28px rgba(13,45,97,.06);padding:26px 30px;gap:10px;max-width:490px}
.repse-certificate .repse-logo{width:200px;max-width:100%;padding:0;margin:0 0 6px;background:transparent;border-radius:0}
.repse-certificate>span{color:#258FE3;font-size:12px;letter-spacing:.14em}
.repse-certificate strong{color:#0D2D61;font-size:clamp(27px,2.7vw,38px);line-height:1.15}
.repse-certificate small{color:#50677d;font-size:13px}
.mod-intro .intro-photo img{object-position:center 42%;background:#e6e9ee}
.clean-gallery-photo img{object-position:center 35%}
@media(max-width:800px){.repse-grid{grid-template-columns:1fr;gap:24px}.repse-certificate{padding:22px}.repse{padding:46px 0}}

/* Ajustes de fotografías reales AURA */
.about-story-photo img,.intro-photo img,.clean-gallery-photo img,.civil-intro-grid>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.clean-gallery-photo img{object-position:center 42%;}

/* V20: imagen de Inicio más horizontal, sin espacios vacíos */
body.home .feature{min-height:0;align-items:stretch}
body.home .feature>img{height:490px;object-fit:cover;object-position:center 48%}
body.home .feature-text{padding-top:50px;padding-bottom:50px}
/* V20: registro REPSE centrado, destacado y equilibrado */
body.about-page .repse{padding:72px 0;background:#F3F4F6}
body.about-page .repse-grid{grid-template-columns:1fr 1fr;gap:55px;align-items:center}
body.about-page .repse-certificate{max-width:none;width:100%;min-height:365px;padding:30px 34px 32px;border:1px solid #d5e1ed;border-top:7px solid #FFCC00;box-shadow:0 16px 35px rgba(13,45,97,.13);align-items:center;text-align:center;justify-content:center;gap:14px}
body.about-page .repse-certificate .repse-logo{width:min(100%,330px);max-width:330px;max-height:155px;object-fit:contain;margin:0 auto 4px}
body.about-page .repse-certificate>span{font-size:13px;color:#258FE3;letter-spacing:.17em}
body.about-page .repse-certificate strong{font-size:clamp(29px,3vw,43px);color:#0D2D61;line-height:1.1}
body.about-page .repse-certificate small{max-width:360px;font-size:13px;line-height:1.55}
@media(max-width:800px){body.home .feature>img{height:330px}body.about-page .repse-grid{grid-template-columns:1fr;gap:28px}body.about-page .repse-certificate{min-height:320px;padding:25px 20px}}
