
:root{
  --navy:#052f56;
  --navy2:#0b4f7b;
  --blue:#128fd0;
  --cyan:#31b7d8;
  --turq:#1fb8ad;
  --ink:#103c5c;
  --muted:#5f7687;
  --line:#dbe7ee;
  --bg:#f6f8fa;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Tahoma,Arial,sans-serif;color:var(--ink);background:#fff}
.container{width:min(1280px,94%);margin:auto}
.header{position:sticky;top:0;z-index:70;background:#fff;border-bottom:1px solid #e7eff4}
.topbar{background:#052f56;color:#fff}
.topbar-inner{height:28px;display:flex;justify-content:flex-end;gap:24px;align-items:center;font-size:9px}
.navrow{height:78px;display:flex;align-items:center;gap:28px}
.logo{min-width:235px;display:flex;align-items:center}
.logo-real{width:220px;max-height:60px;object-fit:contain;object-position:left}
.navrow nav{margin-left:auto;display:flex;gap:24px}
.navrow nav a{text-decoration:none;color:#09385f;font-size:12px;font-weight:700}
.navrow nav a:hover{color:var(--blue)}
.btn{display:inline-flex;padding:13px 18px;background:#0b78ca;color:#fff;text-decoration:none;font-size:11px;font-weight:800;border-radius:4px}
.btn:hover{background:#0c9ed4}
#menu{display:none;border:0;background:none;font-size:26px;color:var(--navy)}

.hero{min-height:620px;position:relative;overflow:hidden;background:#062f52;color:#fff}
.hero-bg{position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(3,39,67,.94) 0 42%,rgba(3,39,67,.58) 62%,rgba(3,39,67,.15)),
 url("../img/hero-barco1.png") center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:
 linear-gradient(180deg,transparent 70%,rgba(3,35,60,.74)),
 repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.035) 120px)}
.hero-content{position:relative;z-index:2;padding-top:92px;max-width:760px}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;text-transform:uppercase}
.eyebrow.blue{color:var(--blue)}
.hero h1{font-size:72px;line-height:.92;letter-spacing:-.045em;margin:15px 0 22px}
.hero h1 em,.section h2 em,.detail h2 em,.company h2 em,.contact h2 em,.buceo-copy h2 em{font-style:normal;color:#31c2df}
.lead{font-size:17px;line-height:1.65;color:#e0edf3;max-width:660px}
.hero-actions{display:flex;gap:10px;margin-top:28px}.ghost{background:transparent;border:1px solid rgba(255,255,255,.6)}
.hero-values{position:absolute;z-index:3;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(4,42,70,.84);backdrop-filter:blur(9px);border-top:1px solid rgba(255,255,255,.12)}
.hero-values>div{display:flex;align-items:center;gap:12px;justify-content:center;padding:18px 14px;border-right:1px solid rgba(255,255,255,.12)}
.hero-values b{color:#4cd8e3;font-size:24px}.hero-values span{font-size:12px;line-height:1.35}

.section{padding:78px 0}
.title-row{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:26px}
.title-row h2,.detail h2,.company h2{font-size:40px;line-height:1.04;margin:4px 0 0;letter-spacing:-.03em}
.title-row>p{font-size:13px;line-height:1.6;color:var(--muted);max-width:430px}

.cards{display:grid;grid-template-columns:1.35fr .85fr .85fr;grid-template-rows:300px 300px;gap:12px}
.service{position:relative;overflow:hidden;isolation:isolate;background:#0a4d7c}
.service:nth-child(1){grid-row:span 2}
.service:nth-child(2),.service:nth-child(3),.service:nth-child(4),.service:nth-child(5){min-height:0}
.service::after{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform .5s ease}
.service:nth-child(1)::after{background-image:url("../img/poster-buceo.jpg");background-position:center 100%}
.service:nth-child(2)::after{background-image:url("../img/servicio-limpieza-final.jpg");background-position:center 48%}
.service:nth-child(3)::after{background-image:url("../img/servicio-mantencion-final.jpg");background-position:center 36%}
.service:nth-child(4)::after{background-image:url("../img/servicio-operarios-final.jpg");background-position:center 42%}
.service:nth-child(5)::after{background-image:url("../img/servicio-robotica-final.jpg");background-position:center 28%}
.service:hover::after{transform:scale(1.045)}
.service::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,36,61,.02),rgba(3,38,64,.15) 40%,rgba(3,33,57,.94) 100%)}
.shade{display:none}
.card-content{position:absolute;left:22px;right:22px;bottom:22px;color:#fff}
.service:nth-child(1) .card-content{left:28px;right:28px;bottom:28px}
.card-content i{font-style:normal;font-size:26px;color:#62dce7}
.card-content h3{font-size:20px;line-height:1.04;margin:8px 0}
.service:nth-child(1) .card-content h3{font-size:30px}
.card-content p{font-size:12px;line-height:1.5;color:#dce9ef;margin:8px 0 10px}
.card-content a{font-size:10px;font-weight:800;color:#4ad3ec;text-decoration:none}

.buceo-pro{padding:88px 0;background:#f7fafc}
.buceo-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:stretch}
.buceo-copy{background:#fff;border-left:5px solid var(--cyan);padding:38px 38px 26px;box-shadow:0 14px 40px rgba(0,45,75,.06)}
.buceo-copy h2{font-size:42px;line-height:1.02;margin:8px 0 18px;color:var(--navy);letter-spacing:-.03em}
.buceo-lead{font-size:14px;line-height:1.7;color:var(--muted)}
.buceo-servicios-integrados{margin-top:24px;border-top:1px solid var(--line)}
.buceo-item{border-bottom:1px solid var(--line)}
.buceo-item summary{list-style:none;display:grid;grid-template-columns:46px 1fr 28px;align-items:center;gap:12px;padding:14px 0;cursor:pointer}
.buceo-item summary::-webkit-details-marker{display:none}
.buceo-numero{font-size:10px;color:var(--turq);font-weight:900}
.buceo-resumen{display:flex;flex-direction:column}.buceo-resumen strong{font-size:14px;color:var(--navy)}.buceo-resumen small{font-size:11px;color:#6b8395;margin-top:3px}
.buceo-mas{width:24px;height:24px;border:1px solid #bed4df;border-radius:2px;position:relative}
.buceo-mas:before,.buceo-mas:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1px;background:var(--blue);transform:translate(-50%,-50%)}.buceo-mas:after{transform:translate(-50%,-50%) rotate(90deg)}
.buceo-item[open] .buceo-mas{background:var(--blue)}.buceo-item[open] .buceo-mas:before,.buceo-item[open] .buceo-mas:after{background:#fff}.buceo-item[open] .buceo-mas:after{transform:translate(-50%,-50%)}
.buceo-detalle{padding:0 0 14px 58px;font-size:13px;color:#355f77;line-height:1.55}.buceo-nota{font-size:12px;color:#6e8697}
.team-photo{margin:0;position:relative;overflow:hidden;min-height:100%;box-shadow:0 16px 45px rgba(0,45,75,.11)}
.team-photo img{width:100%;height:100%;min-height:570px;object-fit:cover}
.team-photo:after{content:"";position:absolute;inset:58% 0 0;background:linear-gradient(transparent,rgba(2,34,58,.86))}
.team-photo figcaption{position:absolute;left:22px;bottom:20px;color:#fff;z-index:2}.team-photo figcaption span{display:block;font-weight:800}.team-photo figcaption small{font-size:10px;color:#d7eaf1}

.operation-video{position:relative;margin-top:36px;aspect-ratio:16/6;overflow:hidden;background:#052f53}
.operation-video video{width:100%;height:100%;object-fit:cover}
.bluetech-video-watermark{position:absolute;right:18px;top:18px;width:82px;opacity:.45;z-index:5}
.video-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:6%;color:#fff;background:linear-gradient(90deg,rgba(3,42,71,.93),rgba(3,58,89,.48),transparent 78%)}
.video-overlay.hidden{opacity:0;pointer-events:none}.video-label{font-size:10px;letter-spacing:.16em;color:#66dce5;font-weight:800}.video-overlay h3{font-size:40px;line-height:1.05;margin:10px 0 20px}.video-overlay h3 span{color:#59d9e3}
.video-play{width:54px;height:54px;border-radius:50%;border:1px solid #fff;background:rgba(255,255,255,.06);display:grid;place-items:center}.video-play i{width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid #fff;margin-left:3px}.video-overlay small{font-size:9px;letter-spacing:.14em;margin-top:9px}

.detail{padding:0;background:#f4f7f9}
.detail.alt{background:#fff}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;min-height:570px}
.detail-grid.reverse{grid-template-columns:1fr 1fr}
.detail-copy{padding:72px 8% 60px}
.reverse .detail-copy{padding:72px 8% 60px}
.detail-copy p{font-size:14px;line-height:1.75;color:var(--muted);max-width:560px}
.detail ul{list-style:none;padding:0;margin-top:20px}.detail li{font-size:13px;margin:10px 0}.detail li:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--cyan);color:#fff;font-size:10px;margin-right:8px}
.detail-subtitle,.operarios-grupo h3{font-size:18px;color:var(--navy);margin:22px 0 8px}
.operarios-grupo + .operarios-grupo{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.visual{position:relative;min-height:570px;background-size:cover!important;background-position:center!important}
.visual.discs{background-image:url("../img/limpieza-hidrolavadora-discos2.png")!important}
.visual.maintenance{background-image:url("../img/detalle-mantencion-final.png")!important}
.visual.operators{background-image:url("../img/detalle-operarios-final.png")!important}
.visual.rov{background-image:url("../img/servicio-robotica-final.jpg")!important}
.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(3,38,64,.42))}
.visual span{position:absolute;left:20px;bottom:18px;z-index:2;background:#073b65;color:#fff;padding:9px 12px;font-size:9px;letter-spacing:.12em}

.company{padding:84px 0;background:#eef5f8}
.company-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:0;align-items:stretch}
.empresa-mapa{position:relative;min-height:470px;overflow:hidden}
.empresa-mapa iframe{width:100%;height:100%;min-height:470px;border:0;filter:saturate(.82) contrast(1.05)}
.empresa-mapa:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(3,45,76,.56));pointer-events:none}
.empresa-mapa-info{position:absolute;left:22px;bottom:20px;z-index:3;background:#05355c;color:#fff;padding:12px 16px;display:flex;gap:10px;align-items:center}
.empresa-mapa-pin{width:20px;height:20px;border:2px solid #59d8e4;border-radius:50%;position:relative}.empresa-mapa-pin:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#59d8e4;left:5px;top:5px}
.empresa-mapa-info strong{display:block;font-size:12px}.empresa-mapa-info small{display:block;font-size:10px;color:#dcecf2}
.company-copy{background:#fff;padding:56px 54px}
.company-copy>p{font-size:14px;line-height:1.75;color:var(--muted)}
.mission{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}.mission>div+div{border-left:1px solid var(--line);padding-left:22px}.mission h3{color:var(--navy)}.mission p{font-size:12px;line-height:1.6;color:#677e90}

.why{padding:50px 0;background:#052f56;color:#fff}
.why h2{font-size:25px;margin:0 0 22px}.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.10)}.why-grid div{padding:20px;text-align:center;background:#052f56}.why-grid b{font-size:26px;color:#57d8e4}.why-grid span{display:block;font-size:12px;margin-top:7px}
.contact{padding:80px 0;background:linear-gradient(90deg,#0d75b4,#17a6b8);color:#fff}.contact .container{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px}.contact h2{font-size:48px;line-height:1;margin:8px 0 14px}.contact p{font-size:15px}.contact strong{margin-left:16px}
.site-footer{background:#042842;color:#d4e5ec;padding:34px 0}.footer-grid-final{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}.footer-brand-block{display:flex;align-items:center;justify-content:center;gap:18px;text-align:left;padding:10px 46px 10px 0}.footer-symbol{width:46px!important;height:46px!important;margin:0!important;object-fit:contain!important;flex:0 0 auto}.footer-brand-text{border-top:0;padding-top:0;color:#fff;font-size:12px}.footer-side{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:34px;text-align:left;border-left:1px solid rgba(255,255,255,.24);padding:10px 0 10px 46px}.footer-nav b{display:block;color:#fff;font-size:16px;margin-bottom:8px}.footer-nav p,.footer-nav a{font-size:11px;color:#d4e5ec;text-decoration:none;white-space:nowrap}.footer-contact-mini{font-size:11px;line-height:1.55;margin-top:0;padding-top:0;border-top:0;border-left:1px solid rgba(255,255,255,.14);padding-left:34px}
.reveal{opacity:0;transform:translateY(18px);transition:.65s}.reveal.show{opacity:1;transform:none}

@media(max-width:1000px){
  .navrow nav{position:fixed;top:106px;right:-100%;width:280px;height:calc(100vh - 106px);background:#fff;flex-direction:column;padding:28px;transition:.3s}.navrow nav.open{right:0}.nav-cta{display:none}#menu{display:block;margin-left:auto}
  .cards{grid-template-columns:1fr 1fr;grid-template-rows:auto}.service:nth-child(1){grid-row:auto}.service{min-height:350px}
  .buceo-intro,.detail-grid,.detail-grid.reverse,.company-grid{grid-template-columns:1fr}
  .team-photo img{min-height:auto;height:auto}.visual{min-height:430px}
  .hero h1{font-size:54px}.hero-values{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:repeat(3,1fr)}
  .contact .container{display:block}.footer-grid-final{grid-template-columns:1fr}.footer-brand-block{padding:10px 0 24px}.footer-side{border-left:0;border-top:1px solid rgba(255,255,255,.20);padding:24px 0 0;grid-template-columns:1fr;text-align:center}.footer-contact-mini{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding-left:0;padding-top:14px}
}
@media(max-width:600px){
  .topbar{display:none}.navrow{height:76px}.logo-real{width:185px}.navrow nav{top:76px;height:calc(100vh - 76px)}
  .hero{min-height:720px}.hero-content{padding-top:74px}.hero h1{font-size:42px}.hero-values{grid-template-columns:1fr 1fr}.hero-values>div{padding:11px 8px}.hero-actions{flex-direction:column;align-items:flex-start}
  .section,.buceo-pro,.company,.contact{padding:58px 0}.title-row{display:block}.title-row h2,.detail h2,.company h2{font-size:32px}.cards{grid-template-columns:1fr}.service{min-height:320px}
  .buceo-copy{padding:26px 22px}.buceo-copy h2{font-size:31px}.buceo-detalle{padding-left:50px}.operation-video{aspect-ratio:16/10}.video-overlay h3{font-size:28px}
  .detail-copy,.reverse .detail-copy{padding:50px 5%}.visual{min-height:330px}.mission{grid-template-columns:1fr}.mission>div+div{border-left:0;padding-left:0}
  .why-grid{grid-template-columns:1fr 1fr}.contact h2{font-size:36px}.contact strong{display:block;margin:16px 0 0}
}

/* Footer compacto: tres bloques centrados y separadores iguales */
@media(min-width:1001px){
  .site-footer{padding:22px 0}
  .footer-grid-final{grid-template-columns:1.05fr 1.15fr;align-items:center}
  .footer-brand-block{min-height:78px;padding:0 28px 0 0;gap:14px;justify-content:center}
  .footer-side{min-height:78px;grid-template-columns:.72fr 1.28fr;gap:0;padding:0 0 0 28px;align-items:center;border-left:1px solid rgba(255,255,255,.28)}
  .footer-nav{height:78px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 28px}
  .footer-contact-mini{height:78px;display:flex;align-items:center;justify-content:center;text-align:center;margin:0;padding:0 0 0 28px;border-left:1px solid rgba(255,255,255,.28);line-height:1.45}
  .footer-symbol{width:42px!important;height:42px!important}
  .footer-nav b{margin-bottom:6px}
  .footer-nav p{margin:0}
}


/* ================================================================
   FOOTER FINAL - 3 COLUMNAS CENTRADAS / SEPARADORES IGUALES
   ================================================================ */
.site-footer{background:#042842;color:#d4e5ec;padding:14px 0}
.site-footer .footer-grid-final{width:min(1280px,94%);margin:0 auto;display:grid;grid-template-columns:1.12fr .82fr 1.36fr;align-items:center;min-height:78px}
.site-footer .footer-brand-block,.site-footer .footer-nav,.site-footer .footer-contact-mini{height:78px;min-width:0;display:flex;align-items:center;justify-content:center;margin:0;padding:0 26px;text-align:center}
.site-footer .footer-brand-block{gap:14px}
.site-footer .footer-symbol{width:42px!important;height:42px!important;margin:0!important;object-fit:contain!important;flex:0 0 42px}
.site-footer .footer-brand-text{border:0;padding:0;margin:0;color:#fff;font-size:12px;white-space:nowrap}
.site-footer .footer-nav{position:relative;flex-direction:column}
.site-footer .footer-nav:before,.site-footer .footer-contact-mini:before{content:"";position:absolute;left:0;top:0;width:1px;height:78px;background:rgba(255,255,255,.30)}
.site-footer .footer-nav b{display:block;color:#fff;font-size:16px;line-height:1;margin:0 0 9px}
.site-footer .footer-nav p{margin:0;line-height:1}
.site-footer .footer-nav a{font-size:11px;color:#d4e5ec;text-decoration:none;white-space:nowrap}
.site-footer .footer-contact-mini{position:relative;font-size:10px;line-height:1.45;border:0;white-space:nowrap}
@media(max-width:1000px){.site-footer{padding:20px 0}.site-footer .footer-grid-final{grid-template-columns:1fr}.site-footer .footer-brand-block,.site-footer .footer-nav,.site-footer .footer-contact-mini{height:auto;min-height:58px;padding:12px 15px}.site-footer .footer-nav:before,.site-footer .footer-contact-mini:before{left:10%;right:10%;top:0;width:80%;height:1px}.site-footer .footer-contact-mini{white-space:normal}}


/* ===== BlueTech Interactive 2.0 ===== */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--cyan),var(--turq));z-index:200;box-shadow:0 0 14px rgba(49,183,216,.65)}
.header{transition:box-shadow .3s,background .3s}.header.scrolled{box-shadow:0 10px 32px rgba(0,38,65,.10)}
.navrow nav a{position:relative}.navrow nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--cyan);transition:right .3s}.navrow nav a:hover:after,.navrow nav a.active:after{right:0}.navrow nav a.active{color:var(--blue)}
.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:-2%;background:center/cover no-repeat;opacity:0;transform:scale(1.06);transition:opacity 1.4s ease;animation:heroKen 9s ease-out infinite paused}.hero-slide.active{opacity:1;animation-play-state:running}.hero-bg{display:none}@keyframes heroKen{from{transform:scale(1.06)}to{transform:scale(1.13)}}
.hero-overlay{background:linear-gradient(90deg,rgba(3,39,67,.94) 0 38%,rgba(3,39,67,.61) 58%,rgba(3,39,67,.18) 78%),linear-gradient(180deg,rgba(3,35,60,.08),rgba(3,35,60,.78) 88%)}
.hero-content>*{opacity:0;transform:translateY(18px);animation:heroIn .75s forwards}.hero-content .eyebrow{animation-delay:.15s}.hero-content h1{animation-delay:.28s}.hero-content .lead{animation-delay:.42s}.hero-content .hero-actions{animation-delay:.56s}@keyframes heroIn{to{opacity:1;transform:none}}
.hero-counter{position:absolute;right:3%;bottom:104px;z-index:4;display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.12em;color:#fff}.hero-counter i{width:52px;height:1px;background:rgba(255,255,255,.42);position:relative;overflow:hidden}.hero-counter i:after{content:"";position:absolute;inset:0;background:var(--cyan);transform-origin:left;animation:slideProgress 6s linear infinite}@keyframes slideProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hero-values{width:min(1280px,94%);left:50%;right:auto;transform:translateX(-50%);bottom:18px;border:1px solid rgba(255,255,255,.14);border-radius:5px;overflow:hidden;background:rgba(4,42,70,.67)}
.service{cursor:pointer}.service::after{transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .5s}.service:hover::after{transform:scale(1.08);filter:saturate(1.08)}.service .card-content{transition:transform .4s}.service:hover .card-content{transform:translateY(-7px)}.card-content a{display:inline-block;position:relative}.card-content a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--cyan);transition:width .35s}.service:hover .card-content a:after{width:100%}
.section-numbered{position:relative}.section-numbered:before{content:attr(data-section-number);position:absolute;right:4%;top:24px;font-weight:900;font-size:clamp(72px,9vw,140px);line-height:1;color:rgba(7,72,112,.035);letter-spacing:-.08em;pointer-events:none}
.buceo-item summary{transition:padding-left .25s,background .25s}.buceo-item summary:hover{padding-left:8px;background:linear-gradient(90deg,rgba(49,183,216,.07),transparent)}
.team-photo img,.visual{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.team-photo:hover img{transform:scale(1.035)}.visual{overflow:hidden;background-attachment:scroll!important}.visual:before{content:"";position:absolute;inset:0;border:1px solid transparent;z-index:3;transition:border .35s}.visual:hover:before{border-color:rgba(49,183,216,.6)}
.operation-video{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);aspect-ratio:16/5.5}.operation-video video{transition:transform .8s}.operation-video:hover video{transform:scale(1.015)}.video-overlay{padding-left:max(6%,calc((100vw - 1280px)/2 + 3%))}
.why-grid div{transition:transform .3s,background .3s}.why-grid div:hover{transform:translateY(-6px);background:#073b65}.why-grid b{transition:transform .3s;display:inline-block}.why-grid div:hover b{transform:scale(1.14)}
.btn{transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,95,150,.18)}
@media(max-width:1000px){.visual{background-attachment:scroll!important}.hero-counter{display:none}.hero-values{bottom:0;border-radius:0;width:100%}.operation-video{margin-left:0;margin-right:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.visual{background-attachment:scroll!important}}


/* ================================================================
   BLUETECH INTERACTIVO V4 — DETALLES + CIERRE COMPACTO
   ================================================================ */
/* Secciones técnicas: entrada elegante, sin sticky */
.detail{overflow:hidden}
.detail .visual{transform:scale(1.055);opacity:.25;transition:transform 1.05s cubic-bezier(.18,.72,.2,1),opacity .8s ease,filter .55s ease;will-change:transform,opacity}
.detail .visual.fx-visible{transform:scale(1);opacity:1}
.detail .visual:hover{transform:scale(1.025);filter:saturate(1.06) contrast(1.02)}
.detail .visual span{transform:translateX(-22px);opacity:0;transition:transform .6s .35s ease,opacity .6s .35s ease,background .3s}
.detail .visual.fx-visible span{transform:none;opacity:1}
.detail .visual span:after{content:"";position:absolute;left:100%;top:50%;width:0;height:2px;background:var(--cyan);transition:width .55s .7s ease}
.detail .visual.fx-visible span:after{width:28px}

.detail-copy .eyebrow,.detail-copy h2,.detail-copy>p,.detail-copy .detail-subtitle,.detail-copy .operarios-grupo{transition:opacity .65s ease,transform .65s ease}
.detail-copy:not(.show) .eyebrow,.detail-copy:not(.show) h2,.detail-copy:not(.show)>p,.detail-copy:not(.show) .detail-subtitle,.detail-copy:not(.show) .operarios-grupo{opacity:0;transform:translateY(15px)}
.detail-copy.show h2{transition-delay:.10s}.detail-copy.show>p{transition-delay:.18s}.detail-copy.show .detail-subtitle{transition-delay:.24s}.detail-copy.show .operarios-grupo{transition-delay:.22s}
.detail-copy h2 em{position:relative;display:inline-block}.detail-copy h2 em:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--turq));transition:width .8s .35s ease}.detail-copy.show h2 em:after{width:58px}
.detail li{opacity:0;transform:translateX(14px);transition:opacity .48s ease,transform .48s ease,color .25s}
.detail li.fx-visible{opacity:1;transform:none}
.detail li:hover{color:var(--blue);transform:translateX(5px)}
.detail li:before{transition:transform .25s,box-shadow .25s}.detail li:hover:before{transform:scale(1.13);box-shadow:0 0 0 5px rgba(49,183,216,.12)}

/* Por qué BlueTech: menos alto, más fino */
.why{padding:34px 0 38px}
.why h2{font-size:23px;margin:0 0 18px}
.why-grid{background:transparent;gap:0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.why-grid div{position:relative;padding:18px 12px;background:transparent;min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.why-grid div+div:before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:rgba(255,255,255,.12)}
.why-grid div:after{content:"";position:absolute;left:50%;bottom:-1px;width:0;height:2px;background:var(--cyan);transform:translateX(-50%);transition:width .35s}
.why-grid div:hover{transform:translateY(-3px);background:rgba(255,255,255,.025)}
.why-grid div:hover:after{width:42%}
.why-grid b{font-size:23px}.why-grid span{font-size:11px;line-height:1.35}

/* CTA final compacto */
.contact.contact-compact{padding:0;background:#087aa9;color:#fff;position:relative;overflow:hidden}
.contact.contact-compact:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#086eaa 0%,#148eb2 58%,#1aa6ae 100%)}
.contact.contact-compact:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-180px;top:-300px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.contact-inner{position:relative;z-index:2;min-height:205px;display:grid!important;grid-template-columns:1.15fr .9fr auto!important;align-items:center!important;gap:46px!important;padding-top:34px;padding-bottom:34px}
.contact-title .eyebrow{margin:0 0 10px;color:#d9f7fb}.contact-title h2{font-size:38px!important;line-height:1.02!important;margin:0!important;white-space:nowrap}.contact-title h2 em{color:#62d9e5!important}
.contact-info{border-left:1px solid rgba(255,255,255,.24);padding-left:34px}.contact-info p{font-size:13px!important;line-height:1.55;margin:0 0 12px;color:#effaff}.contact-meta{display:flex;flex-direction:column;gap:3px}.contact-meta strong{margin:0!important;font-size:15px}.contact-meta span{font-size:10px;letter-spacing:.04em;color:#d5f1f4}
.contact-cta{min-width:188px;justify-content:space-between;align-items:center;background:#fff!important;color:#075e8d!important;padding:14px 17px!important;box-shadow:0 10px 28px rgba(0,50,80,.12)}.contact-cta i{font-style:normal;font-size:17px;transition:transform .25s}.contact-cta:hover{background:#f2fcff!important}.contact-cta:hover i{transform:translateX(5px)}

@media(max-width:1000px){
 .contact-inner{grid-template-columns:1fr 1fr!important;gap:24px!important}.contact-cta{grid-column:1/-1;width:max-content}.contact-title h2{white-space:normal}
}
@media(max-width:600px){
 .why{padding:30px 0}.why-grid div{min-height:96px}.why-grid div+div:before{display:none}
 .contact.contact-compact{padding:0!important}.contact-inner{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;min-height:0;padding-top:34px;padding-bottom:34px}.contact-title h2{font-size:31px!important}.contact-info{border-left:0;border-top:1px solid rgba(255,255,255,.22);padding:16px 0 0}.contact-cta{grid-column:auto;width:100%}
}
@media(prefers-reduced-motion:reduce){.detail .visual,.detail li,.detail .visual span{opacity:1!important;transform:none!important}}

/* ================================================================
   V5 - ZOOM INTERNO EN FOTOGRAFIAS DE DETALLE
   El marco permanece fijo; solo escala la imagen dentro del cuadro.
   ================================================================ */
.detail .visual{
  position:relative;
  overflow:hidden;
  transform:none!important;
  opacity:1!important;
  filter:none!important;
  background-image:none!important;
  background-color:#073b65;
  isolation:isolate;
}
.detail .visual.discs{--visual-img:url("../img/limpieza-hidrolavadora-discos2.png")}
.detail .visual.maintenance{--visual-img:url("../img/detalle-mantencion-final.png")}
.detail .visual.operators{--visual-img:url("../img/detalle-operarios-final.png")}
.detail .visual.rov{--visual-img:url("../img/servicio-robotica-final.jpg")}

.detail .visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:var(--visual-img);
  background-size:cover;
  background-position:center;
  transform:scale(1.065);
  opacity:.35;
  transition:transform 1.05s cubic-bezier(.18,.72,.2,1),opacity .8s ease,filter .55s ease;
  will-change:transform;
}
.detail .visual.fx-visible::before{
  transform:scale(1);
  opacity:1;
}
.detail .visual.fx-visible:hover::before{
  transform:scale(1.045);
  filter:saturate(1.06) contrast(1.02);
}
.detail .visual::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 62%,rgba(3,38,64,.42));
  box-shadow:inset 0 0 0 0 rgba(49,183,216,.6);
  transition:box-shadow .35s ease;
}
.detail .visual:hover::after{box-shadow:inset 0 0 0 1px rgba(49,183,216,.6)}
.detail .visual span{z-index:2}

@media(prefers-reduced-motion:reduce){
  .detail .visual::before,.detail .visual.fx-visible::before,.detail .visual.fx-visible:hover::before{
    transform:none!important;
    opacity:1!important;
    filter:none!important;
  }
}

/* ================================================================
   BLUETECH V6 — HERO CINEMATOGRÁFICO EN CAPAS
   El marco del hero y su contenido permanecen fijos; solo se anima
   la fotografía de cada escena.
   ================================================================ */
.hero-slides{position:absolute;inset:0;overflow:hidden;background:#062f52}
.hero-slide{position:absolute;inset:0;opacity:0;overflow:hidden;transition:opacity 1.8s cubic-bezier(.22,.61,.36,1);pointer-events:none;z-index:0}
.hero-slide.active{opacity:1;z-index:2}
.hero-slide.leaving{opacity:0;z-index:1}
.hero-slide img{position:absolute;width:100%;height:100%;object-fit:cover;will-change:transform;transform:scale(1.055);filter:saturate(.96) contrast(1.02)}
.hero-slide.active img,.hero-slide.leaving img{animation-duration:9.2s;animation-timing-function:linear;animation-fill-mode:both}
.hero-slide--centro img{object-position:center 48%}.hero-slide--centro.active img,.hero-slide--centro.leaving img{animation-name:heroMoveCentro}
.hero-slide--barco img{object-position:center 52%}.hero-slide--barco.active img,.hero-slide--barco.leaving img{animation-name:heroMoveBarco}
.hero-slide--limpieza img{object-position:center 48%}.hero-slide--limpieza.active img,.hero-slide--limpieza.leaving img{animation-name:heroMoveLimpieza}
.hero-slide--buceo img{object-position:center 44%}.hero-slide--buceo.active img,.hero-slide--buceo.leaving img{animation-name:heroMoveBuceo}
.hero-slide--patagonia img{object-position:center 50%}.hero-slide--patagonia.active img,.hero-slide--patagonia.leaving img{animation-name:heroMovePatagonia}
@keyframes heroMoveCentro{from{transform:scale(1.075) translate3d(1.3%,0,0)}to{transform:scale(1.105) translate3d(-1.3%,0,0)}}
@keyframes heroMoveBarco{from{transform:scale(1.09)}to{transform:scale(1.025)}}
@keyframes heroMoveLimpieza{from{transform:scale(1.065) translate3d(0,-1.2%,0)}to{transform:scale(1.095) translate3d(0,1.1%,0)}}
@keyframes heroMoveBuceo{from{transform:scale(1.04)}to{transform:scale(1.12)}}
@keyframes heroMovePatagonia{from{transform:scale(1.07) translate3d(-1%,0,0)}to{transform:scale(1.1) translate3d(1%,0,0)}}
/* El degradado queda separado de la fotografía: no se mueve ni escala. */
.hero-overlay{z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,39,67,.96) 0%,rgba(3,39,67,.90) 26%,rgba(3,39,67,.64) 48%,rgba(3,39,67,.26) 72%,rgba(3,39,67,.14) 100%),linear-gradient(180deg,rgba(3,35,60,.12) 0%,rgba(3,35,60,.08) 54%,rgba(3,35,60,.82) 100%)}
.hero-content,.hero-values,.hero-counter{position:absolute}
.hero-content{position:relative}
.hero-counter i:after{animation-duration:7.8s}
@media(max-width:760px){
 .hero-slide--centro img{object-position:63% center}
 .hero-slide--barco img{object-position:58% center}
 .hero-slide--limpieza img{object-position:58% center}
 .hero-slide--buceo img{object-position:center center}
}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide img,.hero-slide.active img,.hero-slide.leaving img{animation:none!important;transform:none!important}}

/* =========================================================
   V8 - HERO: CAPA OSCURA PARA MEJOR LEGIBILIDAD
   La fotografía conserva movimiento/transición, pero queda
   bajo una capa azul corporativa uniforme de aprox. 80%.
   ========================================================= */
.hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(3,39,67,.88) 0%,
      rgba(3,39,67,.84) 34%,
      rgba(3,39,67,.78) 62%,
      rgba(3,39,67,.72) 100%),
    linear-gradient(180deg,
      rgba(3,35,60,.10) 0%,
      rgba(3,35,60,.16) 58%,
      rgba(3,35,60,.72) 100%);
}

/* refuerzo muy suave detrás del bloque de texto, sin caja visible */
.hero-copy{
  position:relative;
  z-index:2;
  text-shadow:0 2px 16px rgba(0,0,0,.18);
}

/* =========================================================
   V9 - HERO EDITORIAL: TEXTO LIMPIO + FOTO VISIBLE
   Oscurecimiento localizado, no una capa uniforme.
   ========================================================= */
.hero-overlay{
  background:
    linear-gradient(90deg,
      rgba(2,31,55,.94) 0%,
      rgba(2,31,55,.91) 22%,
      rgba(2,31,55,.82) 38%,
      rgba(2,31,55,.60) 53%,
      rgba(2,31,55,.30) 69%,
      rgba(2,31,55,.16) 82%,
      rgba(2,31,55,.10) 100%),
    linear-gradient(180deg,
      rgba(2,31,55,.16) 0%,
      rgba(2,31,55,.08) 48%,
      rgba(2,31,55,.72) 100%);
}
.hero-content{
  max-width:650px;
  margin-left:0;
}
.hero h1{
  font-size:64px;
  line-height:.94;
  letter-spacing:-.042em;
  max-width:640px;
  text-shadow:none;
}
.hero-content .lead{
  max-width:610px;
  text-shadow:none;
}
.hero-content .eyebrow,
.hero-content .hero-actions{ text-shadow:none; }
.hero-slide--centro img{object-position:62% 48%}
.hero-slide--barco img{object-position:66% 52%}
.hero-slide--limpieza img{object-position:62% 48%}
.hero-slide--buceo img{object-position:67% 44%}
.hero-slide--patagonia img{object-position:64% 50%}
@media(max-width:1100px){
  .hero h1{font-size:54px}
  .hero-content{max-width:580px}
}
@media(max-width:760px){
  .hero-overlay{background:linear-gradient(90deg,rgba(2,31,55,.93),rgba(2,31,55,.72)),linear-gradient(180deg,rgba(2,31,55,.08),rgba(2,31,55,.78))}
  .hero h1{font-size:42px}
  .hero-content{max-width:none}
}


/* =========================================================
   V10 - HERO CORREGIDO: BLOQUE CENTRADO + CONTRASTE REAL
   ========================================================= */
.hero-overlay{
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(2,31,55,.78) 0%,
      rgba(2,31,55,.74) 30%,
      rgba(2,31,55,.55) 52%,
      rgba(2,31,55,.25) 72%,
      rgba(2,31,55,.08) 100%),
    linear-gradient(180deg,
      rgba(2,31,55,.12) 0%,
      rgba(2,31,55,.05) 52%,
      rgba(2,31,55,.66) 100%);
}

/* El contenido vuelve a respetar el ancho del sitio y queda centrado */
.hero .hero-content{
  position:relative;
  z-index:3;
  width:min(1280px,94%);
  max-width:none;
  margin:0 auto;
  padding-top:92px;
}

.hero .hero-content > *{
  max-width:650px;
}

.hero h1{
  font-size:64px;
  line-height:.94;
  letter-spacing:-.042em;
  margin:15px 0 22px;
}

.hero .lead{
  max-width:620px;
  color:#edf6fa;
}

/* halo oscuro localizado: no es una caja visible */
.hero .hero-content:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-80px;
  top:48px;
  width:760px;
  height:430px;
  pointer-events:none;
  background:radial-gradient(ellipse at 42% 45%,rgba(2,31,55,.78) 0%,rgba(2,31,55,.58) 42%,rgba(2,31,55,.18) 68%,transparent 78%);
  filter:blur(2px);
}

/* Foto visible hacia la derecha, sin poner el sujeto debajo del título */
.hero-slide--centro img{object-position:68% 48%}
.hero-slide--barco img{object-position:70% 52%}
.hero-slide--limpieza img{object-position:66% 48%}
.hero-slide--buceo img{object-position:70% 44%}
.hero-slide--patagonia img{object-position:68% 50%}

@media(max-width:1100px){
  .hero .hero-content{padding-top:78px}
  .hero h1{font-size:54px}
  .hero .hero-content:before{left:-55px;width:680px}
}

@media(max-width:760px){
  .hero .hero-content{width:90%;padding-top:68px}
  .hero .hero-content:before{left:-15%;top:30px;width:125%;height:460px;background:radial-gradient(ellipse at 38% 42%,rgba(2,31,55,.88),rgba(2,31,55,.62) 56%,transparent 82%)}
  .hero-overlay{background:linear-gradient(90deg,rgba(2,31,55,.82),rgba(2,31,55,.46)),linear-gradient(180deg,rgba(2,31,55,.08),rgba(2,31,55,.76))}
  .hero h1{font-size:42px}
}


/* =========================================================
   V12 - HERO FOTO DERECHA / ZONA DE TEXTO LIMPIA
   ========================================================= */
.hero{
  min-height:620px;
  background:#f5fafc;
  color:#07385e;
}
.hero-slides{background:#f5fafc}
.hero-slide{
  transition:opacity 2.6s ease-in-out!important;
}
.hero-slide img{
  animation-duration:15s!important;
  filter:saturate(.98) contrast(1.01);
}
.hero-overlay{
  z-index:1!important;
  background:linear-gradient(90deg,
    #f7fbfd 0%,
    rgba(247,251,253,.99) 24%,
    rgba(247,251,253,.96) 34%,
    rgba(247,251,253,.82) 43%,
    rgba(247,251,253,.50) 52%,
    rgba(247,251,253,.18) 62%,
    rgba(247,251,253,.03) 72%,
    transparent 82%)!important;
}
.hero .hero-content{
  position:relative;
  z-index:4;
  width:min(1280px,94%);
  max-width:none;
  margin:0 auto;
  padding-top:82px;
}
.hero .hero-content:before{display:none!important}
.hero .hero-content>*{max-width:610px}
.hero .eyebrow{color:#315c78!important;text-shadow:none!important}
.hero h1{
  color:#07385e!important;
  font-size:62px;
  line-height:.94;
  text-shadow:none!important;
}
.hero h1 em{color:#20acd1!important}
.hero .lead{color:#365e77!important;max-width:590px;text-shadow:none!important}
.hero .ghost{color:#07527d!important;border-color:rgba(7,82,125,.34)!important;background:rgba(255,255,255,.42)!important}
.hero-values{
  z-index:5!important;
  background:rgba(4,42,70,.82)!important;
  border-color:rgba(255,255,255,.14)!important;
  backdrop-filter:blur(10px);
}
.hero-values span{color:#fff!important}
.hero-values b{color:#4cd8e3!important}
.hero-counter{z-index:6!important}
.hero-counter i:after{animation-duration:12s!important}

/* La zona importante de cada fotografía se desplaza hacia la derecha */
.hero-slide--centro img{object-position:76% 48%!important}
.hero-slide--barco img{object-position:76% 52%!important}
.hero-slide--limpieza img{object-position:74% 48%!important}
.hero-slide--buceo img{object-position:76% 44%!important}
.hero-slide--patagonia img{object-position:75% 50%!important}

/* Movimiento casi imperceptible: evita sensación de tirón */
@keyframes heroMoveCentro{from{transform:scale(1.025)}to{transform:scale(1.055)}}
@keyframes heroMoveBarco{from{transform:scale(1.05)}to{transform:scale(1.025)}}
@keyframes heroMoveLimpieza{from{transform:scale(1.025)}to{transform:scale(1.055)}}
@keyframes heroMoveBuceo{from{transform:scale(1.025)}to{transform:scale(1.06)}}
@keyframes heroMovePatagonia{from{transform:scale(1.03)}to{transform:scale(1.055)}}

@media(max-width:760px){
  .hero-overlay{background:linear-gradient(90deg,rgba(247,251,253,.97),rgba(247,251,253,.84) 62%,rgba(247,251,253,.25))!important}
  .hero h1{font-size:42px}
  .hero-values{background:rgba(4,42,70,.88)!important}
}


/* ================================================================
   HERO FIJO BLUETECH - VERSION DEFINITIVA
   Foto real a la derecha + atenuacion progresiva hacia la izquierda
   ================================================================ */
.hero.hero-fijo{
  position:relative !important;
  min-height:600px !important;
  height:min(72vh,680px) !important;
  overflow:hidden !important;
  isolation:isolate;
  background:#031f35 !important;
  display:flex;
  align-items:center;
}
.hero-fijo .hero-media{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#031f35;
}
.hero-fijo .hero-media img{
  position:absolute;
  inset:-4% -2% -4% 27%;
  width:77%;
  height:108%;
  object-fit:cover;
  object-position:57% 48%;
  transform:scale(1.045);
  filter:contrast(1.08) saturate(.90) brightness(.90) sepia(.03);
}
.hero-fijo .hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      #031f35 0%,
      rgba(3,31,53,.99) 20%,
      rgba(3,31,53,.94) 31%,
      rgba(3,31,53,.76) 41%,
      rgba(3,31,53,.42) 52%,
      rgba(3,31,53,.14) 64%,
      rgba(3,31,53,0) 78%),
    linear-gradient(180deg,rgba(0,17,31,.10),rgba(0,17,31,.18));
  z-index:2;
  pointer-events:none;
}
.hero-fijo .hero-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  pointer-events:none;
  background:
    radial-gradient(circle at 72% 37%,rgba(45,188,219,.09),transparent 27%),
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.10)) !important;
}
.hero-fijo .hero-content{
  position:relative !important;
  z-index:5 !important;
  width:min(1180px,92%) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:36px 0 40px !important;
  transform:none !important;
  color:#fff !important;
}
.hero-fijo .hero-content .eyebrow{
  color:#fff !important;
  letter-spacing:.19em;
  margin-bottom:18px;
  text-shadow:0 1px 12px rgba(0,0,0,.25);
}
.hero-fijo .hero-content .eyebrow::before{
  content:"";
  display:inline-block;
  width:54px;
  height:2px;
  margin:0 14px 4px 0;
  background:#35bddd;
}
.hero-fijo .hero-content h1{
  max-width:660px !important;
  margin:0 0 20px !important;
  color:#fff !important;
  font-size:clamp(46px,4.45vw,76px) !important;
  line-height:.91 !important;
  letter-spacing:-.045em !important;
  text-shadow:0 2px 18px rgba(0,0,0,.22) !important;
}
.hero-fijo .hero-content h1 em{
  color:#39b9d9 !important;
  font-style:normal !important;
}
.hero-fijo .hero-content .lead{
  max-width:650px !important;
  margin:0 0 26px !important;
  color:rgba(255,255,255,.91) !important;
  font-size:17px !important;
  line-height:1.65 !important;
  text-shadow:0 1px 10px rgba(0,0,0,.28);
}
.hero-fijo .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-fijo .hero-actions .ghost{
  color:#fff !important;
  border-color:rgba(255,255,255,.68) !important;
  background:rgba(3,31,53,.18) !important;
  backdrop-filter:blur(3px);
}
.hero-fijo .hero-actions .ghost:hover{background:#fff !important;color:#073654 !important}

@media(max-width:900px){
  .hero.hero-fijo{min-height:620px !important;height:auto !important}
  .hero-fijo .hero-media img{inset:0 0 0 18%;width:100%;height:100%;object-position:56% 50%;transform:scale(1.03)}
  .hero-fijo .hero-media::after{background:linear-gradient(90deg,#031f35 0%,rgba(3,31,53,.96) 42%,rgba(3,31,53,.64) 70%,rgba(3,31,53,.30) 100%)}
  .hero-fijo .hero-content{padding:90px 0 70px !important}
  .hero-fijo .hero-content h1{font-size:clamp(42px,8vw,64px) !important}
}
@media(max-width:640px){
  .hero.hero-fijo{min-height:650px !important;align-items:flex-end}
  .hero-fijo .hero-media img{inset:0;width:100%;height:100%;object-position:64% 45%;opacity:.72}
  .hero-fijo .hero-media::after{background:linear-gradient(180deg,rgba(3,31,53,.32) 0%,rgba(3,31,53,.78) 42%,#031f35 82%)}
  .hero-fijo .hero-content{width:90% !important;padding:150px 0 54px !important}
  .hero-fijo .hero-content .eyebrow::before{width:32px;margin-right:9px}
  .hero-fijo .hero-content h1{font-size:clamp(38px,12vw,54px) !important;line-height:.94 !important}
  .hero-fijo .hero-content .lead{font-size:15px !important}
  .hero-fijo .hero-actions{gap:9px}
  .hero-fijo .hero-actions .btn{padding:13px 15px !important;font-size:11px !important}
}

/* RESTAURACION VISUAL - evita elementos ocultos si falla la animacion */
.detail .visual::before,
.detail .visual.fx-visible::before{opacity:1!important;transform:scale(1)!important}
.detail .visual span,
.detail .visual.fx-visible span{opacity:1!important;transform:none!important}
.detail li,
.detail li.fx-visible{opacity:1!important;transform:none!important}
.detail-copy .eyebrow,
.detail-copy h2,
.detail-copy>p,
.detail-copy .detail-subtitle,
.detail-copy .operarios-grupo{opacity:1!important;transform:none!important}
.detail .visual:hover::before,
.detail .visual.fx-visible:hover::before{transform:scale(1.045)!important;filter:saturate(1.06) contrast(1.02)!important}


/* ================================================================
   CORRECCION OVERFLOW HORIZONTAL - 2026-09-23
   Evita que elementos full-bleed generen scroll lateral.
   ================================================================ */
html, body {
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.operation-video{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

@media(max-width:1000px){
  .operation-video{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
  }
}


/* ================================================================
   FIX FINAL - SIN SCROLL HORIZONTAL
   ================================================================ */
html, body {
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}
body {
  position:relative;
}
img, video, iframe {
  max-width:100%;
}
.operation-video {
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  overflow:hidden !important;
}
@supports (width:100dvw) {
  .operation-video {
    width:100dvw !important;
    max-width:100dvw !important;
    margin-left:calc(50% - 50dvw) !important;
    margin-right:calc(50% - 50dvw) !important;
  }
}
.hero, .buceo-pro, .detail, .company, .why, .contact, .site-footer {
  max-width:100%;
  overflow-x:clip;
}
@media(max-width:1000px){
  .operation-video{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* LOGO CORPORATIVO - bordes redondeados */
.logo-real{border-radius:10px;display:block;}
@media(max-width:600px){.logo-real{border-radius:8px;}}
