/* OMNITEK · Cuatro objetivos, una misma identidad visual. */
body.home-page{--ink:#202630;--paper:#f3f5f7;--rose:#e9edf2;--muted:#59626e;--line:#dce1e7;--dark:#11151b}
.home-page .site-header{height:84px;border-bottom:0;background:#fff}
.home-page .header-wrap{width:calc(100% - 64px);max-width:1600px;border-bottom:1px solid var(--line);gap:28px}
.home-page .brand{width:184px}
.home-page .desktop-nav{font-size:13px;gap:30px}
.home-page .nav-service-toggle{font-size:13px}
.home-page .header-contact{border-radius:30px;padding:13px 20px;font-size:12px}
.home-page .header-contact .icon{color:#fff}
.home-page .mega-menu{top:83px}
.studio-hero{--rail:80px;--gap:12px;--copy-pad:clamp(32px,3.8vw,60px);--active-index:0;--cycle:13000ms;--active-width:calc(100% - 3 * (var(--rail) + var(--gap)));--copy-start:calc(var(--active-index) * (var(--rail) + var(--gap)) + var(--copy-pad));margin:16px auto 24px;width:calc(100% - 48px);max-width:1632px;color:#fff}
.hero-deck{height:min(700px,calc(100svh - 124px));min-height:0;position:relative;display:flex;gap:var(--gap);isolation:isolate;touch-action:pan-y}
.studio-panel{flex:0 0 var(--rail);min-width:0;position:relative;overflow:hidden;border-radius:8px;background:#17232d;isolation:isolate;transition:flex-basis 1s cubic-bezier(.25,.85,.25,1)}
.studio-panel.is-active{flex-basis:var(--active-width)}
.studio-scene{position:absolute;top:-10px;bottom:-10px;left:50%;width:calc(var(--scene-width,100%) + 20px);z-index:0;transform:translate3d(calc(-50% + var(--pan-x,0px)),var(--pan-y,0px),0);transition:transform .8s ease-out}
.studio-scene picture,.studio-scene img{display:block;width:100%;height:100%}
.studio-scene picture{position:absolute;inset:0;z-index:1}
.studio-scene img{object-fit:cover;object-position:center;transform:scale(var(--image-start,1));transform-origin:var(--image-origin,50% 50%);filter:saturate(.82) brightness(.94)}
.studio-hero.is-ready .studio-panel.is-active .studio-scene picture img{animation:studio-zoom var(--cycle) linear forwards}
.studio-panel:not(.is-active) .studio-scene img{filter:saturate(.5) brightness(.62)}
.studio-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#0a0f16c7 0%,#0a0f16ad calc(var(--copy-pad) + 250px),var(--copy-overlay,#0a0f1699) calc(var(--copy-pad) + 420px),#0a0f1633 calc(var(--copy-pad) + 540px),transparent calc(var(--copy-pad) + 700px)),linear-gradient(0deg,#090f1899,#090f1826 12%,transparent 24%);pointer-events:none}
.studio-panel[data-hero-panel="1"]{--copy-overlay:#0a0f16ad}
.studio-panel[data-hero-panel="3"]{--copy-overlay:#0a0f168c}
.hero-statement{ text-shadow:0 1px 5px #0007 }
.studio-panel.is-active .panel-select{text-shadow:0 1px 5px #0009}
.studio-panel:not(.is-active) .studio-scrim{background:linear-gradient(0deg,#0c182a66,#15273140)}
.panel-select{position:absolute;inset:0;z-index:5;width:100%;padding:27px 12px;border:0;background:transparent;color:#fff;display:flex;align-items:center;flex-direction:column;cursor:pointer}
.panel-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:13px;font-weight:600;letter-spacing:.2px;margin-top:46px;white-space:nowrap}
.panel-count{font-family:var(--heading);font-size:11px;letter-spacing:1px;position:absolute;top:28px;left:0;right:0;text-align:center;color:#e4e9ef}
.panel-symbol{position:absolute;bottom:28px;width:38px;height:38px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;transition:background .3s,transform .5s}
.panel-symbol svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.2}
.panel-select:hover .panel-symbol{background:#fff;color:#16202a;transform:rotate(90deg)}
.panel-select:focus-visible{outline:2px solid #fff;outline-offset:-7px;border-radius:8px}
.studio-panel.is-active .panel-select{inset:22px 24px auto auto;width:auto;min-height:28px;max-width:230px;flex-direction:row;gap:12px;padding:0}
.studio-panel.is-active .panel-label{writing-mode:horizontal-tb;transform:none;font-size:11px;margin:0}
.studio-panel.is-active .panel-count{position:static;color:#cbd3dd}
.studio-panel.is-active .panel-symbol{position:static;width:7px;height:7px;border:1px solid #fff;flex:none}
.studio-panel.is-active .panel-symbol svg{display:none}
.hero-statement{position:absolute;z-index:6;top:58px;left:var(--copy-start);width:calc(var(--active-width) - 2 * var(--copy-pad));max-width:640px;pointer-events:none;transition:left 1s cubic-bezier(.25,.85,.25,1)}
.studio-eyebrow{display:flex;align-items:center;gap:10px;font-size:9px;font-weight:650;letter-spacing:1.25px;line-height:1.7;margin:0 0 16px;color:#e3e8ef}
.studio-eyebrow>span:first-child{height:5px;width:5px;flex:none;border-radius:50%;background:#ef4250;box-shadow:0 0 14px #ef4250a0}
.hero-statement h1{font-family:var(--heading);font-weight:500;font-size:clamp(48px,min(4.3vw,8svh),64px);letter-spacing:-2.2px;line-height:1.06;margin:0 0 16px;min-height:3.18em}
.hero-statement h1>span{display:block}
.hero-statement h1 em{font-style:normal;color:#f24a54}
.hero-description-wrap{min-height:76px;max-width:425px}
.studio-description{font-size:14px;line-height:1.8;color:#edf0f4;margin:0;text-wrap:pretty}
.studio-scope{font-size:10px;line-height:1.85;font-weight:500;color:#cbd3df;margin:12px 0 0;max-width:440px;min-height:19px}
.studio-actions{display:flex;align-items:center;gap:22px;margin-top:20px;pointer-events:auto}
.studio-actions .button{font-size:12px;min-height:51px;border-radius:4px;background:#d3222e;padding-left:20px;gap:22px;box-shadow:0 8px 30px #00000018}
.studio-actions .button:hover{background:#b91c29}
.studio-work-link{display:inline-flex;align-items:center;gap:15px;font-size:12px;font-weight:600;border-bottom:1px solid #ffffff70;padding:12px 0;white-space:nowrap}
.studio-work-link:hover{border-color:#fff}
.hero-toolbar{position:absolute;z-index:8;left:var(--copy-start);bottom:24px;width:calc(var(--active-width) - 2 * var(--copy-pad));display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding-top:14px;border-top:1px solid #ffffff40;color:#fff;transition:left 1s cubic-bezier(.25,.85,.25,1)}
.hero-progress-controls{display:flex;align-items:center;gap:15px}
.hero-progress-item{display:flex;align-items:center;gap:7px;color:#cbd3df;background:none;border:0;padding:6px 0;font-size:9px}
.progress-number{font-family:var(--heading);font-size:10px}
.progress-label{font-weight:600}
.progress-track{display:block;width:20px;height:2px;background:#ffffff40;overflow:hidden}
.progress-track>span{display:block;height:100%;width:100%;background:#f24a54;transform:scaleX(0);transform-origin:left}
.hero-progress-item.is-current{color:#fff}
.studio-hero.is-ready .hero-progress-item.is-current .progress-track>span{animation:hero-cycle var(--cycle) linear forwards}
.studio-hero.is-paused .studio-scene img,.studio-hero.is-suspended .studio-scene img,.studio-hero.is-cycle-suspended .studio-scene img,.studio-hero.is-paused .progress-track>span,.studio-hero.is-suspended .progress-track>span,.studio-hero.is-cycle-suspended .progress-track>span{animation-play-state:paused!important}
.hero-playback{display:flex;align-items:center;gap:7px}
.hero-current{font-family:var(--heading);font-size:10px;margin-right:8px;color:#cbd3df;white-space:nowrap}
.hero-current>span:first-child{color:#fff}
.hero-control{height:32px;width:32px;display:grid;place-items:center;flex:none;border:1px solid #ffffff80;border-radius:50%;background:transparent;color:#fff;transition:background .2s,color .2s}
.hero-control:hover{background:#fff;color:#202630;border-color:#fff}
.hero-control:disabled{opacity:.45;cursor:default}
.hero-control svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.hero-pause .play-mark{display:none}
.hero-pause[aria-pressed=true] .pause-mark{display:none}
.hero-pause[aria-pressed=true] .play-mark{display:block}
.studio-hero.is-switching .hero-statement{animation:hero-stage-in 1.1s ease both}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-page .brand-proof{background:#fff;border-bottom:1px solid #e5e9ee;padding:28px 0}
.home-page .brand-proof>.wrap>.micro{color:#59626e}
.home-page .work-section{background:#f3f5f7}
.home-page .local-strip{background:#edf1f5}
.home-page .process-section{background:#11151b}
.home-page .process-section p,.home-page .process-section .eyebrow,.home-page .process-section summary{color:#d9dfe7}
.home-page .process-intro h2>span{color:#aeb8c6}
.home-page .finder-options button.active,.home-page .finder-result{background:#e9edf2}
.home-page .footer-top>p,.home-page .footer-grid p,.home-page .footer-grid a,.home-page .footer-bottom{color:#59626e}
.home-page .footer-grid h2{color:#202630}
.home-page.hero-in-view .whatsapp-float{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
@keyframes studio-zoom{from{transform:scale(var(--image-start,1))}to{transform:scale(var(--image-end,1.045))}}
@keyframes hero-cycle{to{transform:scaleX(1)}}
@keyframes hero-stage-in{0%,42%{opacity:0}100%{opacity:1}}
@media(min-width:1500px){.studio-hero{--rail:94px}.studio-description{font-size:15px}.hero-description-wrap{max-width:460px;min-height:81px}.hero-statement{top:68px}.studio-scope{font-size:11px}.studio-actions .button,.studio-work-link{font-size:13px}}
@media(max-width:1100px){.studio-hero{--rail:64px;--copy-pad:30px;--gap:10px}.home-page .header-wrap{width:calc(100% - 48px);gap:20px}.home-page .desktop-nav{gap:22px}.hero-statement h1{font-size:48px;letter-spacing:-1.8px}.hero-description-wrap{max-width:375px;min-height:100px}.studio-description{font-size:13px}.hero-statement{top:68px}.studio-eyebrow{font-size:8px;letter-spacing:1px}.studio-scope{font-size:9px}.studio-actions{gap:18px}.studio-actions .button,.studio-work-link{font-size:11px}.studio-actions .button{gap:15px;padding-left:16px}.hero-progress-controls{gap:12px}.progress-label{display:none}.hero-current{display:none}}
@media(max-width:1000px){.home-page .site-header{height:78px}.home-page .header-wrap{width:calc(100% - 48px)}.home-page .mobile-nav{top:78px}.studio-hero{margin-top:12px}.hero-statement h1{font-size:44px;letter-spacing:-1.6px}.hero-description-wrap{max-width:350px;min-height:100px}.studio-scope{min-height:34px}.studio-panel.is-active .panel-select{right:18px}.studio-panel.is-active .panel-label{font-size:10px}}
@media(max-width:960px){.studio-hero{--rail:0px;--gap:0px;--copy-pad:26px;--copy-start:var(--copy-pad);--active-width:100%;width:calc(100% - 32px);margin:8px auto 16px}.hero-deck{height:640px;min-height:0;display:block;overflow:hidden;border-radius:8px}.studio-panel{position:absolute;inset:0;width:100%;height:100%;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s;pointer-events:none}.studio-panel.is-active{opacity:1;visibility:visible;transition:opacity .9s ease,visibility 0s;pointer-events:auto}.hero-statement{left:var(--copy-pad);width:calc(100% - 2 * var(--copy-pad));max-width:540px;top:70px;transition:none}.hero-statement h1{font-size:clamp(40px,6.8vw,50px);letter-spacing:-1.7px;margin-bottom:16px;min-height:3.18em}.studio-eyebrow{font-size:8px;margin-bottom:16px;max-width:330px}.hero-description-wrap{min-height:112px;max-width:390px}.studio-description{font-size:14px;line-height:1.8}.studio-scope{font-size:10px;line-height:1.8;min-height:36px;margin-top:12px;max-width:390px}.studio-actions{flex-direction:row;align-items:center;gap:20px;margin-top:18px}.studio-actions .button{font-size:11px;gap:14px;min-height:50px;padding-left:16px}.studio-actions .button i{width:30px}.studio-work-link{font-size:11px;gap:10px}.studio-scrim{background:linear-gradient(90deg,#0b111acc,#0b111aa6 65%,#0b111a66),linear-gradient(0deg,#0b111ab3,transparent 35%)}.studio-scene img{object-fit:cover;object-position:60% center;filter:saturate(.8) brightness(.84)}.panel-select{display:none}.studio-panel.is-active .panel-select{display:flex;top:24px;left:var(--copy-pad);right:auto;pointer-events:none}.studio-panel.is-active .panel-label{font-size:11px}.hero-toolbar{left:var(--copy-pad);width:calc(100% - 2 * var(--copy-pad));bottom:23px;gap:14px;transition:none}.hero-progress-controls{gap:12px}.hero-progress-item{gap:5px;padding:9px 0}.progress-track{width:23px}.hero-playback{gap:6px}.hero-control{height:30px;width:30px}.home-page .brand{width:174px}.home-page .header-wrap{width:calc(100% - 40px)}.home-page .header-actions>.search-toggle{display:none}}
@media(max-width:480px){.studio-hero{--copy-pad:23px;width:calc(100% - 24px)}.hero-statement{top:70px}.hero-statement h1{font-size:40px;letter-spacing:-1.6px}.studio-description{font-size:13px}.hero-description-wrap{min-height:117px}.studio-scope{font-size:9px;min-height:36px}.studio-actions{gap:9px;align-items:flex-start;flex-direction:column;margin-top:17px}.studio-actions .button{min-height:48px}.studio-work-link{font-size:11px;padding:7px 0}.hero-progress-controls{gap:10px}.progress-track{width:19px}.hero-toolbar{gap:10px}.hero-control{height:28px;width:28px}.home-page .header-contact{padding:11px 14px;font-size:11px;gap:11px}.home-page .header-actions{gap:8px}.home-page .header-wrap{gap:14px;width:calc(100% - 32px)}.home-page .brand{width:160px}}
@media(max-width:360px){.hero-statement h1{font-size:35px;letter-spacing:-1.4px}.home-page .brand{width:145px}.studio-hero{--copy-pad:21px}.hero-statement{top:66px}.studio-description{font-size:13px}.hero-description-wrap{min-height:140px}.hero-current{display:block;margin-right:3px}.home-page .header-contact{padding:10px 12px;font-size:10px;gap:0}.home-page .header-contact .icon{display:none}}
@media(prefers-reduced-motion:reduce){.studio-panel,.hero-statement,.hero-toolbar,.studio-scene,.studio-scene img,.panel-symbol{transition:none!important}.studio-scene img,.studio-hero.is-ready .hero-progress-item .progress-track>span,.studio-hero.is-switching .hero-statement{animation:none!important}.studio-scene{transform:translateX(-50%)!important}.hero-progress-item.is-current .progress-track>span{transform:scaleX(1)}}
@media(min-width:600px) and (max-width:960px){.progress-label{display:inline}.hero-current{display:inline}.hero-toolbar{gap:22px}.hero-progress-controls{gap:16px}}

/* Las cuatro fichas usan una única fotografía, sin capas de relleno ni máscaras. */
.studio-scene picture img{max-width:none}
/* El encuadre cercano ya está en las fotografías v4. */
@media(min-width:961px){
 .studio-panel--single-photo[data-hero-panel="1"]{--image-origin:35% 55%}
 .studio-panel--single-photo[data-hero-panel="1"] picture img{object-position:10% center}
}
/* En PC, toda la escena y sus controles caben bajo el encabezado. */
@media(min-width:961px){
 .hero-statement{top:clamp(52px,8svh,68px)}
 .hero-description-wrap{min-height:76px}
 .studio-scope{min-height:37px}
}
@media(min-width:961px) and (max-height:800px){
 .hero-statement{top:52px}
 .hero-statement h1{font-size:clamp(38px,6.8svh,54px);margin-bottom:12px}
 .studio-eyebrow{margin-bottom:12px}
 .hero-description-wrap{min-height:64px}
 .studio-description{font-size:13px;line-height:1.65}
 .studio-scope{margin-top:8px;min-height:34px;line-height:1.7}
 .studio-actions{margin-top:14px}
 .studio-actions .button{min-height:46px}
 .hero-toolbar{bottom:20px;min-height:44px;padding-top:11px}
 .panel-symbol{bottom:23px}
}
@media(min-width:961px) and (max-height:650px){
 .hero-statement{top:48px}
 .hero-statement h1{font-size:clamp(32px,6.2svh,40px);margin-bottom:10px}
 .studio-eyebrow{margin-bottom:9px;font-size:8px}
 .hero-description-wrap{min-height:60px}
 .studio-description{font-size:12px;line-height:1.6}
 .studio-scope{font-size:9px;margin-top:6px;min-height:30px}
 .studio-actions{margin-top:10px;gap:18px}
 .studio-actions .button{min-height:42px}
 .studio-work-link{padding:9px 0}
 .hero-toolbar{bottom:16px;min-height:40px;padding-top:8px}
 .panel-symbol{bottom:18px}
}

/* Columna editorial estrecha; las acciones descansan junto a los controles. */
@media(min-width:961px){
 .studio-hero{--image-end:1.075;--text-column:clamp(320px,26vw,390px)}
 .hero-statement{width:min(var(--text-column),calc(var(--active-width) - 2 * var(--copy-pad)));max-width:none;bottom:94px;display:flex;flex-direction:column;align-items:flex-start}
 .hero-statement h1{font-size:clamp(36px,min(3.65vw,6.9svh),var(--title-max,58px));min-height:0;flex-shrink:0}
 .hero-statement h1{text-wrap:initial;margin-bottom:24px}
 .hero-statement h1>span{display:block;white-space:nowrap}
 .hero-copy-line{display:block;white-space:nowrap}
 .studio-hero[data-active="3"]{--title-max:52px}
 .studio-eyebrow{flex-shrink:0}
 .hero-description-wrap{min-height:0;max-width:100%;flex-shrink:0}
 .studio-description{line-height:1.7}
 .studio-scope{min-height:0;max-width:100%;margin-top:20px;flex-shrink:0}
 .studio-actions{flex-direction:row;align-items:center;gap:14px;margin-top:auto;padding-top:12px;flex-shrink:0;width:max-content;max-width:calc(var(--active-width) - 2 * var(--copy-pad));white-space:nowrap}
 .studio-actions .button{max-width:none;min-height:44px;padding:6px 7px 6px 14px;gap:12px}
 .studio-actions .button i{width:28px;height:28px}
 .studio-actions .button .icon{width:18px;height:18px}
 .studio-work-link{gap:10px}
 .studio-work-link{padding:8px 0}
 .progress-track{width:48px}
 .hero-progress-controls{gap:16px}
 .studio-scrim{background:linear-gradient(90deg,#0a0f16c7 0%,#0a0f16a6 calc(var(--copy-pad) + 190px),#0a0f1673 calc(var(--copy-pad) + 340px),#0a0f1626 calc(var(--copy-pad) + 440px),transparent calc(var(--copy-pad) + 560px)),linear-gradient(0deg,#090f1899,#090f1826 12%,transparent 24%)}
}
@media(min-width:961px) and (max-width:1350px){.progress-track{width:32px}.hero-progress-controls{gap:12px}}
@media(min-width:961px) and (max-height:800px){
 .hero-statement{bottom:84px}
 .hero-statement h1{font-size:clamp(34px,6svh,48px)}
 .studio-scope{margin-top:20px}
 .studio-actions{padding-top:12px}
 .studio-actions .button{min-height:42px}
}
@media(min-width:961px) and (max-height:650px){
 .hero-statement{top:42px;bottom:74px}
 .hero-statement h1{font-size:clamp(30px,5.3svh,36px);line-height:1.04;margin-bottom:16px}
 .studio-eyebrow{margin-bottom:8px}
 .studio-description{font-size:12px;line-height:1.5}
 .studio-scope{margin-top:14px;line-height:1.55}
 .studio-actions{padding-top:10px;gap:12px}
 .studio-actions .button{min-height:38px}
 .studio-work-link{padding:5px 0;font-size:11px}
}
/* Capas positivas y foto luminosa en móvil, con sombra solo para leer. */
@media(max-width:960px){
 .hero-deck{height:var(--mobile-hero-height,640px)}
 .studio-scene{top:0;bottom:0;transform:translateX(-50%)}
 .studio-scene img{filter:saturate(.9) brightness(1)}
 .studio-scrim{background:linear-gradient(90deg,#0b111a99,#0b111a66 55%,#0b111a1f),linear-gradient(0deg,#0b111aaa,transparent 28%,transparent 85%,#0b111a25)}
 .hero-statement{text-shadow:0 1px 5px #000b}
}
/* Todos los controles caben, incluso en teléfonos de 320 y 360 píxeles. */
@media(max-width:960px){
 .hero-deck{max-height:calc(100vh - 98px);max-height:calc(100svh - 98px)}
 .is-mobile-overflow .hero-deck{max-height:none}
 .hero-toolbar{bottom:max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .hero-progress-controls{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .hero-progress-item{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px}
 .progress-track{width:100%;min-width:0}
 .progress-label,.hero-toolbar .hero-current{display:none}
 .hero-playback{gap:6px;flex-shrink:0}
 .hero-control{width:32px;height:32px}
 .hero-toolbar .hero-arrow{display:grid}
 .is-compact-mobile .hero-statement{top:58px}
 .is-compact-mobile .studio-eyebrow{margin-bottom:12px}
 .is-compact-mobile .hero-statement h1{font-size:clamp(30px,9.5vw,38px);min-height:0;margin-bottom:14px}
 .is-compact-mobile .hero-description-wrap{min-height:0}
 .is-compact-mobile .studio-scope{min-height:0;margin-top:10px}
 .is-compact-mobile .studio-actions{margin-top:14px;gap:7px}
 .is-compact-mobile .studio-actions .button{min-height:44px}
 .is-compact-mobile .studio-work-link{padding:5px 0}
 .is-short-mobile .studio-panel.is-active .panel-select{top:18px}
 .is-short-mobile .hero-statement{top:50px}
 .is-short-mobile .studio-eyebrow{margin-bottom:10px}
 .is-short-mobile .hero-statement h1{font-size:clamp(28px,8.6vw,34px);margin-bottom:12px}
 .is-short-mobile .studio-description{line-height:1.6}
 .is-short-mobile .studio-scope{line-height:1.6;margin-top:8px}
 .is-short-mobile .studio-actions{margin-top:12px;gap:5px}
 .is-short-mobile .studio-actions .button{min-height:40px}
}
