/* Exclusivo de Home. La fotografía se encuadra por CSS; el original permanece intacto. */
body[data-page="home"] .home-header{position:absolute;inset:0 0 auto;background:transparent;border:0;color:white}
.home-header .header-inner{min-height:92px}
.home-header .brand{width:190px}
.home-header .menu-toggle{color:white;min-height:48px}
.home-header #main-nav{inset:92px 0 auto;background:#073b4c;border-color:#476570}
.home-header #main-nav>a:not(.button){color:white;border-color:#476570;font-size:.84rem;letter-spacing:.015em;font-weight:600}
.home-header :focus-visible,.home-hero :focus-visible{outline-color:white}
.home-hero{position:relative;isolation:isolate;min-height:100svh;min-height:max(740px,100svh);overflow:hidden;background:#102938;color:white}
.home-hero-scene{position:absolute;inset:auto 0 0;height:min(52svh,100vw);z-index:-2}
.home-hero-scene .photo{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:86% bottom!important}
.home-hero-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#102938 0%,rgba(16,41,56,.5) 10%,rgba(16,41,56,0) 27%)}
.home-hero-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(0,12,23,.12),transparent 45%)}
.home-hero-content{padding-top:124px;padding-bottom:calc(min(52svh,100vw) + 24px)}
.home-hero h1{color:white;font-size:clamp(2.13rem,8.97vw,3.105rem);font-weight:800;letter-spacing:-.045em;line-height:1.13;max-width:620px}
.home-hero-content>p{font-size:1rem;line-height:1.7;max-width:346px;color:#f1f4f5;margin:19px 0 25px}
.hero-desktop-break{display:none}
.hero-video-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:56px;min-width:172px;padding:14px 24px;border:1px solid rgba(255,255,255,.8);color:white;background:rgba(7,31,43,.2);font-size:.8rem;font-weight:700;letter-spacing:.07em;transition:background .2s,border-color .2s}
.hero-video-button:hover{background:var(--orange);border-color:var(--orange);color:var(--petrol)}
.hero-play{font-size:.72rem}
body[data-page="home"]:not(.home-hero-passed) .mobile-actions{visibility:hidden;pointer-events:none}
.corporate-video-dialog{width:min(960px,calc(100% - 32px));max-height:90dvh;padding:0;border:1px solid #385767;background:var(--petrol);color:white}
.corporate-video-dialog::backdrop{background:rgba(0,12,20,.84)}
.corporate-video-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid #385767}
.corporate-video-bar h2{color:white;font-size:.72rem;letter-spacing:.025em;line-height:1.5}
.corporate-video-bar button{min-height:44px;background:transparent;color:white;white-space:nowrap;font-size:.66rem;font-weight:700;padding:10px}
.corporate-video-dialog :focus-visible{outline-color:white}
.corporate-video-pending{min-height:270px;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}
.corporate-video-pending>span{font-size:3rem;color:var(--orange);margin-bottom:20px}
.corporate-video-pending p{font-size:.94rem;max-width:400px}
.corporate-video-pending small{font-size:.62rem;letter-spacing:.06em;color:#b5cbd3}
.corporate-video-dialog video{width:100%;max-height:75dvh;background:#071b25}
@media(min-width:600px){
  .home-header .brand{width:233px}
  .home-hero{min-height:max(850px,100svh)}
  .home-hero-content{padding-top:150px;padding-bottom:calc(57svh + 30px)}
  .home-hero h1{font-size:clamp(3.105rem,7.245vw,4.025rem)}
  .home-hero-content>p{max-width:440px;font-size:1rem}
  .home-hero-scene{height:57svh}
}
@media(min-width:1000px), (min-width:700px) and (max-height:600px){
  .home-hero{min-height:100svh}
  .home-hero-scene{inset:0;height:100%}
  .home-hero-scene .photo{object-position:center center!important}
  .home-hero-scene::after{display:none}
  .home-hero-shade{background:linear-gradient(90deg,rgba(0,14,24,.67),rgba(0,14,24,.34) 32%,rgba(0,14,24,.04) 64%,transparent 100%),linear-gradient(180deg,rgba(0,14,24,.38),transparent 24%)}
  .home-hero-content{padding-top:clamp(150px,24svh,260px);padding-bottom:80px}
  .home-hero h1{font-size:clamp(3.0475rem,4.945vw,5.405rem);line-height:1.12;max-width:67%}
  .home-hero-content>p{max-width:460px;margin-block:26px 32px;font-size:1.1rem;line-height:1.75}
  .hero-desktop-break{display:initial}
  .home-header .header-inner{min-height:130px}
  .home-header .brand{width:294px}
}
/* Menú exclusivo de Inicio, accesible en todos los tamaños. */
.home-header .menu-toggle{display:flex;width:48px;justify-content:center;padding:12px;position:relative;z-index:2}
.home-header .menu-lines{position:relative;height:18px;transition:transform .2s}
.home-header .menu-lines::after{content:"";position:absolute;top:6px;left:0;width:23px;border-top:2px solid;transition:transform .2s}
.home-header .menu-toggle[aria-expanded=true] .menu-lines{height:0;border-bottom:0;transform:rotate(45deg)}
.home-header .menu-toggle[aria-expanded=true] .menu-lines::after{top:-2px;transform:rotate(90deg)}
.home-header #main-nav,.home-header #main-nav.is-open{position:absolute;inset:92px var(--gutter) auto auto;width:min(390px,calc(100% - var(--gutter)*2));display:flex;flex-direction:column;align-items:stretch;gap:0;padding:16px 26px 24px;background:#073B4C;border:1px solid #ffffff26;max-height:calc(100dvh - 108px);overflow:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}
.home-header #main-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.home-header #main-nav>a:not(.button){font-size:.84rem;font-weight:700;min-height:52px;border-bottom:1px solid #ffffff20}
.home-header #main-nav>a:hover{color:#FF5A1F}
.home-cleaning-photo{min-height:240px}
@media(min-width:1000px), (min-width:700px) and (max-height:600px){.home-header #main-nav{top:130px;max-height:calc(100dvh - 146px)}}
@media(max-width:767px){body.home-menu-open{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.hero-video-button,.home-header #main-nav,.home-header .menu-lines,.home-header .menu-lines::after{transition:none}}
