*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:#11191e;color:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #d3fa6b;outline-offset:6px}::selection{background:#d3fa6b;color:#152016}.stage{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;overflow:hidden}.film,.shade,.grid{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.film{object-fit:cover;background:#18252d}.shade{z-index:-2;background:linear-gradient(180deg,rgba(7,16,22,.5),rgba(7,16,22,.35) 35%,rgba(7,16,22,.7))}.top,.bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}.top{padding:38px 4.5vw}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:32px;height:32px;display:block}.brand-name{font-size:23px;font-weight:750;letter-spacing:-1px}.brand-name small{font-size:9px;font-weight:400;display:block;letter-spacing:3.1px;margin-top:3px}.eyebrow{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;line-height:1.8}.status{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.6px}.dot{width:5px;height:5px;background:currentColor;border-radius:50%;display:inline-block;flex:none}.bottom{padding:25px 4.5vw;font-size:10px;letter-spacing:1px;color:#d1d8dc}.pause{min-width:44px;min-height:44px;background:transparent;border:1px solid #ffffff50;border-radius:50%;font-size:14px}.footer-right{display:flex;align-items:center;gap:22px}.contact{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-size:15px;padding:16px 0;border-bottom:1px solid #ffffff90;transition:color .2s}.contact:hover{color:#d3fa6b}.arrow{font-size:24px;font-weight:400}.content{flex:1}.a .content{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px 70px}.a .intro{margin:0 0 23px;color:#e0e7eb}.a h1{font-size:clamp(80px,16vw,200px);font-weight:600;letter-spacing:-.075em;line-height:.8;margin:0;padding-right:.07em}.a .automation{font-size:clamp(15px,2.3vw,28px);letter-spacing:.55em;margin:28px 0 35px;padding-left:.55em}.a .rule{height:35px;width:1px;background:#fff8;margin-bottom:24px}.a h2{font-size:18px;font-weight:400;letter-spacing:-.3px;margin:0 0 15px}.a .services{font-size:11px;line-height:1.9;color:#d0dce2;margin:0 0 18px}.a .contact{font-size:14px}.a .bottom{border-top:1px solid #ffffff22;margin:0 4.5vw;padding-left:0;padding-right:0}.b{--accent:#d0fa70}.b .shade{background:linear-gradient(90deg,rgba(5,14,13,.94),rgba(5,14,13,.77) 44%,rgba(5,14,13,.15)),linear-gradient(0deg,#07100eb3,transparent 45%)}.b .grid{z-index:-1;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:90px 90px;pointer-events:none}.b .top{border-bottom:1px solid #ffffff26;margin:0 4.5vw;padding-left:0;padding-right:0}.b .status{color:var(--accent)}.b .content{padding:65px 4.5vw 50px;display:flex;align-items:center}.b .copy{max-width:1000px}.b .intro{color:var(--accent);margin:0 0 28px}.b h1{font-size:clamp(58px,7.4vw,110px);font-weight:600;line-height:.94;letter-spacing:-.065em;margin:0 0 28px}.b h1 span{color:var(--accent)}.b .description{font-size:15px;color:#c8d6d0;line-height:1.6;margin:0 0 30px}.b .contact{background:var(--accent);color:#102014;padding:14px 22px;border:0;min-width:250px;font-size:14px}.b .contact:hover{background:#e2ffb0}.b .services{display:flex;gap:28px;font:10px Consolas,monospace;letter-spacing:1px}.b .bottom{border-top:1px solid #ffffff26}.b .serial{position:absolute;right:4.5vw;top:52%;writing-mode:vertical-rl;color:#c9ddd0;font:10px Consolas,monospace;letter-spacing:2px}.c .shade{background:linear-gradient(180deg,#050a0e66,transparent 38%,#050a0ebd 85%,#050a0eeb)}.c .top{padding-top:32px}.c .top .contact{font-size:12px;padding:8px 0;gap:32px}.c .content{padding:60px 4.5vw 35px;display:flex;align-items:flex-end;position:relative}.c .copy{width:100%}.c .intro{margin:0 0 23px;color:#f1e8d6}.c h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(68px,9vw,137px);font-weight:400;line-height:.9;letter-spacing:-.055em;margin:0}.c h1 em{font-weight:400;color:#eee3ca}.c .title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.c .construction{font-size:12px;line-height:1.8;max-width:200px;margin-bottom:8px}.c .construction span{display:block;font-size:9px;letter-spacing:3px;color:#e0d1b8;margin-top:16px}.c .bottom{border-top:1px solid #ffffff35;margin:0 4.5vw;padding-left:0;padding-right:0}.c .frame-corner{position:absolute;top:26%;right:4.5vw;border-top:1px solid #fff8;border-right:1px solid #fff8;width:40px;height:40px}.no-video .film{opacity:1}@media(min-width:1500px){.a .content{padding-block:90px}.c .content{padding-bottom:65px}}@media(max-width:700px){.top{padding:25px 24px;gap:14px}.brand-name{font-size:20px}.brand-mark{width:27px;height:27px}.brand-name small{font-size:8px}.status{font-size:9px;letter-spacing:0}.top>.eyebrow{display:none}.bottom{padding:18px 24px;gap:12px;font-size:9px;letter-spacing:.4px}.footer-right{gap:12px}.a .content{padding:65px 20px}.a .automation{margin:25px 0 30px}.a .services{max-width:240px}.a .bottom{margin-inline:24px}.a .intro{font-size:8px;letter-spacing:1.7px}.b .top{margin-inline:24px}.b .content{padding:65px 24px 55px}.b h1{font-size:clamp(48px,10.8vw,76px)}.b .description{max-width:260px}.b .services{gap:12px;font-size:8px}.b .serial{display:none}.b .shade{background:linear-gradient(90deg,#06100ee8,#06100e88),linear-gradient(0deg,#06100e99,transparent)}.b .intro{font-size:9px}.c .top{padding:24px}.c .top .contact{font-size:11px;gap:12px}.c .top .contact .arrow{font-size:18px}.c .content{padding:150px 24px 36px}.c h1{font-size:clamp(61px,13.5vw,94px)}.c .title-row{display:block}.c .construction{margin:28px 0 0;max-width:none;font-size:11px}.c .construction span{display:inline;margin-left:15px;font-size:8px;letter-spacing:2px}.c .bottom{margin-inline:24px}.c .frame-corner{right:24px;top:23%;width:25px;height:25px}.c .intro{font-size:9px}.c .brand{gap:7px}.c .brand-name{font-size:19px}.c .brand-mark{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Identidad visual oficial y especialidades industriales */
.official-logo{display:block;width:165px;height:auto}.brand{flex-shrink:0}.top{padding-top:24px;padding-bottom:24px}.a .logo-heading{padding:0;margin:0 0 32px;width:min(510px,77vw);line-height:1}.logo-heading img{display:block;width:100%;height:auto}.a .intro{margin-bottom:30px}.a .content{padding-top:35px;padding-bottom:40px}.expertise span{display:block}.a .services.expertise{font-size:12px;line-height:1.9;color:#e0e8ed;max-width:620px}.b{--accent:#86c7ff}.b .description.expertise{font-size:13px;line-height:1.9;max-width:690px;color:#e0e8ed}.b .contact{color:#101f2c}.b .contact:hover{background:#b2dcff}.b .content{padding-top:38px;padding-bottom:38px}.b .services{flex-wrap:wrap}.c .cinematic-expertise{font-size:12px;line-height:1.8;color:#dae2e8;margin:25px 0 0}.c .content{padding-top:65px}.c .construction{max-width:220px}.c .official-logo{width:185px}.b .shade{background:linear-gradient(90deg,rgba(5,14,23,.94),rgba(5,14,23,.77) 44%,rgba(5,14,23,.15)),linear-gradient(0deg,#07101ab3,transparent 45%)}
@media(max-width:700px){.official-logo,.c .official-logo{width:132px}.top{padding-block:22px}.a .logo-heading{width:min(440px,83vw);margin-bottom:26px}.a .content{padding:48px 20px}.a .services.expertise{font-size:11px;max-width:420px}.expertise span+span{margin-top:6px}.b .description.expertise{font-size:12px;max-width:100%;line-height:1.65}.b .content{padding-top:46px;padding-bottom:40px}.b h1{font-size:clamp(40px,10.8vw,76px)}.b .services{font-size:8px;gap:9px}.b .bottom .footer-right>span{display:none}.c .content{padding-top:105px}.c .cinematic-expertise{font-size:10px;line-height:1.65;margin-top:25px}.c .construction{max-width:none}.c .top{gap:15px}.c .top .contact{gap:8px;font-size:10px}.c .top .contact .arrow{font-size:16px}}@media(max-width:360px){.official-logo,.c .official-logo{width:110px}.b .intro{font-size:8px;letter-spacing:1.5px}.a .footer-right>span{display:none}.c .construction span{display:block;margin-left:0;margin-top:6px}}
@media(max-width:700px){.c h1{font-size:clamp(52px,15.6vw,94px)}}

/* Bloques de servicios */
.svc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;text-align:left}
.svc>li{padding:18px 20px 4px;border-left:1px solid #ffffff2e}
.svc>li:first-child{border-left:0;padding-left:0}
.svc h3{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:1.6px;line-height:1.4;color:#fff}
.svc ul{list-style:none;margin:0;padding:0;font-size:12px;line-height:1.75;color:#d3dde3}
.a .svc{width:min(1180px,100%);margin:6px 0 34px;border-top:1px solid #ffffff2e}
.a .svc>li:first-child{padding-left:20px}
.a .svc h3{color:#8cc4f0}
.b .svc{width:min(1240px,100%);margin:0 0 34px;border-top:1px solid #ffffff26}
.b .svc h3{color:var(--accent)}
.b h1{margin-bottom:34px}
@media(max-width:1000px){.svc{grid-template-columns:repeat(2,minmax(0,1fr))}
.svc>li,.svc>li:first-child,.a .svc>li:first-child{border-left:0;padding:16px 16px 6px 0;border-top:1px solid #ffffff1f}
.svc>li:last-child{grid-column:1/-1}
.a .svc,.b .svc{border-top:0}}
@media(max-width:700px){.svc{grid-template-columns:1fr}
.svc>li{padding:14px 0 4px}
.svc h3{font-size:10px;margin-bottom:6px}
.svc ul{font-size:12px;line-height:1.6}
.a .svc{text-align:left}
.b h1{font-size:clamp(30px,9vw,60px)}}
.svc{grid-template-columns:1fr 1fr 1fr 1fr 1.35fr}
.a .svc{background:rgba(7,16,22,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff1f;padding:4px 0 14px}
@media(max-width:1000px){.svc{grid-template-columns:repeat(2,minmax(0,1fr))}.a .svc{padding:4px 20px 14px}}
@media(max-width:700px){.svc{grid-template-columns:1fr}.a .svc{padding:4px 18px 14px}}
.svc h3{letter-spacing:1.1px}

/* v3: servicios compactos, contacto arriba, estado */
.svc p{margin:0;font-size:12px;line-height:1.6;color:#d3dde3}
.svc details{margin-top:8px;font-size:12px}
.svc summary{cursor:pointer;list-style:none;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#9fb3c0;display:inline-flex;gap:6px;align-items:center;padding:4px 0}
.svc summary::-webkit-details-marker{display:none}
.svc summary::after{content:'+';font-size:13px}
.svc details[open] summary::after{content:'–'}
.svc summary:hover{color:#fff}
.svc details ul{margin-top:6px}
.top-contact{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;padding:10px 16px;border:1px solid #ffffff70;transition:background .2s,color .2s}
.top-contact .arrow{font-size:16px}
.top-contact:hover{background:#fff;color:#11191e}
.a .top{justify-content:flex-end;padding:24px 4.5vw 0}
.a .svc{width:min(1180px,100%)}
.a h2{margin-bottom:20px}
.b .top-contact{border-color:var(--accent);color:var(--accent)}
.b .top-contact:hover{background:var(--accent);color:#101f2c}
.b .svc{background:rgba(5,14,23,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff1f;padding:4px 0 14px}
.b .svc>li:first-child{padding-left:20px}
.b .lead{font-size:16px;line-height:1.5;color:#e0e8ed;margin:0 0 22px}
.b .lead strong{color:#fff;font-weight:600}
@media(max-width:1000px){.b .svc{padding:4px 20px 14px}}
@media(max-width:700px){.top-contact{font-size:10px;padding:8px 12px;letter-spacing:1px}.a .top{padding:20px 20px 0}.b .svc{padding:4px 18px 14px}.b .lead{font-size:14px}}
@media(max-width:1000px){.b .svc>li:first-child{padding-left:0}}
/* v4: B compacto para que se vea el vídeo */
.b .svc{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;border-top:1px solid #ffffff30;padding:0;width:min(1100px,100%)}
.b .svc>li{padding:14px 18px 2px;border-left:1px solid #ffffff26}
.b .svc>li:first-child{padding-left:0;border-left:0}
.b .svc h3{text-shadow:0 1px 8px #000a}
.b .svc details p{margin:6px 0 4px;text-shadow:0 1px 6px #000c}
.b .svc details ul{text-shadow:0 1px 6px #000c}
.b .svc details{margin-top:2px}
.b .shade{background:linear-gradient(90deg,rgba(5,14,23,.85),rgba(5,14,23,.55) 40%,rgba(5,14,23,.05) 75%),linear-gradient(0deg,#07101a99,transparent 40%)}
@media(max-width:1000px){.b .svc>li,.b .svc>li:first-child{padding:12px 12px 2px 0;border-left:0}}
@media(max-width:700px){.b .svc>li{padding:10px 0 0}.b .shade{background:linear-gradient(90deg,#06100edd,#06100e66),linear-gradient(0deg,#06100e99,transparent)}}
/* v5: detalle flotante, no desplaza el cuadro */
.svc>li{position:relative}
.svc details{position:static}
.svc details>:not(summary){position:absolute;left:0;top:100%;z-index:20;width:max(100%,280px);margin:0;padding:14px 18px;background:rgba(8,18,26,.96);border:1px solid #ffffff2e;box-shadow:0 12px 30px #0008;text-shadow:none!important}
.svc details>p{border-bottom:0;padding-bottom:4px}
.svc details>p+ul{top:auto;margin-top:0}
.svc>li:last-child details>:not(summary){left:auto;right:0}
@media(max-width:1000px){.svc details>:not(summary){width:100%}.svc>li:last-child details>:not(summary){left:0;right:auto}}
.svc .pop p{margin:0 0 8px;color:#e6eef2}
.svc .pop ul{margin:0}
.svc details>.pop{background:#0b1620}
/* v6: logo central más pequeño */
.a .logo-heading{width:min(320px,62vw);margin-bottom:24px}
@media(max-width:700px){.a .logo-heading{width:min(260px,64vw);margin-bottom:20px}}
.a h1.place{font-size:11px;font-weight:400;letter-spacing:2.4px;text-transform:uppercase;line-height:1.6;margin:-4px 0 24px;padding:0;color:#e0e7eb}.a .place-text{font-size:13px;line-height:1.65;color:#d0dce2;max-width:560px;margin:0 0 22px}
@media(max-width:700px){.a h1.place{font-size:9px;letter-spacing:1.7px;margin-bottom:20px}.a .place-text{font-size:12px;max-width:340px}}

/* v7: servicios debajo del vídeo, digitalización como especialidad */
.a .contact{margin-bottom:26px}
.to-services{display:inline-flex;gap:8px;align-items:center;font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:#c9d6de;padding:8px 0}
.to-services:hover{color:#8cc4f0}
.services{padding:80px 4.5vw 90px;background:#11191e;border-top:1px solid #ffffff1a}
.services>*{width:min(1180px,100%);margin-left:auto;margin-right:auto}
.services-kicker{color:#8cc4f0;margin-bottom:10px}
.services>h2{font-size:clamp(22px,2.6vw,30px);font-weight:400;letter-spacing:-.4px;line-height:1.25;margin-top:0;margin-bottom:34px}
.srv{list-style:none;padding:0;margin-top:0;margin-bottom:46px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff2e;align-items:start}
.srv>li{padding:24px 24px 18px 0;border-bottom:1px solid #ffffff1f}
.srv>li:nth-child(3n+3),.srv>li:nth-child(3n+4){padding-left:0}
.srv>li:not(.srv-main){padding-right:28px}
.srv h3{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:1.1px;line-height:1.45;color:#8cc4f0}
.srv p{margin:0;font-size:13px;line-height:1.65;color:#d3dde3}
.srv-main{grid-column:1/-1;padding:30px 0 24px!important}
.srv-main .srv-tag{display:block;color:#d3fa6b;margin-bottom:10px}
.srv-main h3{font-size:15px;letter-spacing:1.4px;margin-bottom:14px}
.srv-main>p{font-size:15px;line-height:1.7;max-width:820px;color:#e6eef2}
.srv details{margin-top:12px}
.srv summary{cursor:pointer;list-style:none;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#9fb3c0;display:inline-flex;gap:6px;align-items:center;padding:6px 0;min-height:32px}
.srv summary::-webkit-details-marker{display:none}
.srv summary::after{content:'+';font-size:13px}
.srv details[open] summary::after{content:'–'}
.srv summary:hover{color:#fff}
.srv .pop{margin-top:8px;padding-top:12px;border-top:1px solid #ffffff1f}
.srv .pop p{margin:0 0 10px;font-size:12.5px;color:#e6eef2}
.srv .pop ul{list-style:none;margin:0;padding:0;font-size:12.5px;line-height:1.6;color:#d3dde3}
.srv .pop li{position:relative;padding-left:14px;margin-bottom:4px}
.srv .pop li::before{content:'';position:absolute;left:0;top:.7em;width:5px;height:1px;background:#8cc4f0}
.srv-main .pop ul{columns:2;column-gap:40px;max-width:900px}
.srv-main .pop li{break-inside:avoid}
.services>.contact{display:flex;width:min(1180px,100%);max-width:360px;margin-left:auto;margin-right:auto;font-size:14px}
@media(max-width:1000px){.srv{grid-template-columns:repeat(2,minmax(0,1fr))}.srv>li:nth-child(n){padding-left:0}.services>.contact{max-width:none}}
@media(max-width:700px){.services{padding:56px 20px 64px}.srv{grid-template-columns:1fr}.srv>li:not(.srv-main){padding:20px 0 14px}.srv-main{padding:24px 0 18px!important}.srv-main h3{font-size:13px}.srv-main>p{font-size:14px}.srv-main .pop ul{columns:1}.a .contact{margin-bottom:18px}}
.services>h2{margin-left:auto;margin-right:auto}
.services>.contact{margin-left:max(0px,calc((100% - 1180px)/2));margin-right:0}
.srv{align-items:stretch}
.services>h2.services-kicker{font-size:10px;font-weight:400;letter-spacing:2.4px;margin-bottom:22px}

/* v8: menú desplegable */
html{scroll-behavior:smooth}
.services,.srv>li{scroll-margin-top:80px}
.a .top{justify-content:space-between}
.menu-btn{position:fixed;top:24px;left:4.5vw;z-index:40;display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;padding:10px 16px;border:1px solid #ffffff70;background:rgba(7,16,22,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,color .2s}
.menu-btn:hover{background:#fff;color:#11191e}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:16px;height:1px;background:currentColor}
.menu-icon{position:relative}
.menu-icon::before,.menu-icon::after{content:'';position:absolute;left:0}
.menu-icon::before{top:-5px}.menu-icon::after{top:5px}
.menu-overlay{position:fixed;inset:0;z-index:50;background:rgba(5,10,14,.6);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.menu-overlay.open{opacity:1;visibility:visible;transition:opacity .3s}
.menu{position:fixed;top:0;left:0;bottom:0;z-index:60;width:min(360px,86vw);overflow-y:auto;padding:84px 32px 32px;background:#0b1620;border-right:1px solid #ffffff2e;box-shadow:12px 0 40px #0008;transform:translateX(-100%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s;display:flex;flex-direction:column}
.menu.open{transform:none;visibility:visible;transition:transform .3s ease}
body.menu-abierto{overflow:hidden}
.menu-close{position:absolute;top:20px;right:20px;width:44px;height:44px;background:none;border:1px solid #ffffff40;border-radius:50%;font-size:22px;line-height:1}
.menu-close:hover{background:#fff;color:#11191e}
.menu-list,.menu-sub ul{list-style:none;margin:0;padding:0}
.menu-list>li{border-bottom:1px solid #ffffff1f}
.menu-list>li>a,.menu-sub-btn{display:flex;width:100%;justify-content:space-between;align-items:center;padding:16px 0;font-size:13px;letter-spacing:2px;text-transform:uppercase;background:none;border:0;text-align:left}
.menu-list>li>a:hover,.menu-sub-btn:hover{color:#8cc4f0}
.menu-plus::after{content:'+';font-size:16px}
.menu-sub-btn[aria-expanded="true"] .menu-plus::after{content:'–'}
.menu-sub{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .3s ease,visibility 0s .3s}
.menu-sub.open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .3s ease}
.menu-sub>ul{overflow:hidden}
.menu-sub li a{display:block;padding:9px 0 9px 14px;font-size:13px;line-height:1.4;color:#d3dde3;border-left:1px solid #8cc4f055}
.menu-sub li:last-child a{margin-bottom:14px}
.menu-sub li a:hover{color:#fff;border-left-color:#8cc4f0}
.menu-foot{margin:auto 0 0;padding-top:28px;font-size:10px;letter-spacing:1.2px;color:#9fb3c0}
@media(max-width:700px){.menu-btn{top:20px;left:20px;font-size:10px;padding:8px 12px;letter-spacing:1px}.menu{padding:76px 24px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.a .top{justify-content:flex-end}
.a section.services{max-width:none;font-size:inherit;line-height:normal;color:inherit;margin:0}
