
:root{
  --royal:#123f92;
  --cyan:#00c8e8;
  --sky:#6fd5f3;
  --silver:#dce2e8;
  --steel:#8d9aa6;
  --dark:#101820;
  --dark2:#17232d;
  --white:#fff;
  --paper:#f4f7f9;
  --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--dark);font-family:var(--sans);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.demo-strip{height:28px;padding:0 4vw;background:#0b1218;color:#fff;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.demo-strip a{color:var(--cyan)}
.industrial-header{height:88px;padding:0 4vw;display:grid;grid-template-columns:180px 1fr auto;align-items:center;position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid #e1e6ea;z-index:90}
.brand img{width:142px;height:68px;object-fit:contain}
.mega-toggle{justify-self:center;border:0;background:transparent;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.mega-toggle i{display:block;width:26px;height:1px;background:#111;transition:.3s}.mega-toggle i:last-child{width:12px}
.mega-toggle.open i:first-of-type{transform:translateY(2px) rotate(45deg)}.mega-toggle.open i:last-child{width:26px;transform:translateY(-2px) rotate(-45deg)}
.header-contact{font-size:10px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--royal);padding:13px 16px;color:var(--royal)}
.header-contact b{color:var(--cyan)}
.mega-menu{position:absolute;left:4vw;right:4vw;top:78px;background:#111820;padding:14px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.38s;box-shadow:0 28px 80px rgba(7,17,24,.18)}
.mega-menu.open{opacity:1;visibility:visible;transform:none}
.mega-card{background:#182630;color:#fff;padding:24px;min-height:220px;display:flex;flex-direction:column;gap:10px}.mega-card-accent{background:linear-gradient(135deg,var(--royal),#0c6da0)}
.mega-card>span{font-size:9px;color:var(--cyan);letter-spacing:.14em}.mega-card>strong{font-size:1.5rem;text-transform:uppercase;margin-bottom:10px}.mega-card a,.mega-card p{font-size:12px;color:#c5d0d8;line-height:1.5}.mega-card a:hover{color:#fff;transform:translateX(5px)}

.hero{height:calc(100vh - 116px);min-height:690px;background:#101820;color:#fff;position:relative;overflow:hidden}
.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 6s ease}.hero-slide.active{opacity:1;transform:scale(1)}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,24,.91) 0%,rgba(7,17,24,.62) 46%,rgba(7,17,24,.18) 76%),linear-gradient(0deg,rgba(7,17,24,.48),transparent 55%)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(111,213,243,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(111,213,243,.12) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(90deg,#000 0 58%,transparent 90%)}
.hero-copy{position:absolute;left:5vw;top:50%;transform:translateY(-50%);z-index:5;max-width:870px}
.eyebrow,.section-no{display:block;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan)}.eyebrow i{display:inline-block;width:34px;height:1px;background:var(--cyan);vertical-align:middle;margin-right:10px}
.hero h1,.manifesto h2,.services h2,.control-room h2,.mechanical-feature h2,.team h2,.contact h2{font-size:clamp(4.7rem,7.4vw,8.8rem);line-height:.82;letter-spacing:-.06em;text-transform:uppercase;margin:16px 0 0;font-weight:900}
.hero h1 em,.manifesto h2 em,.services h2 em,.mechanical-feature h2 em{font-style:normal;color:var(--sky)}
.hero-copy p{max-width:600px;color:#d2dae0;line-height:1.65;font-size:15px}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:25px}.button-primary{padding:15px 18px;background:var(--cyan);color:#071118;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.button-link{font-size:10px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:7px}
.hero-tech{position:absolute;right:4vw;bottom:8vw;z-index:7;display:grid;grid-template-columns:repeat(3,150px);background:rgba(10,23,32,.72);backdrop-filter:blur(10px);border:1px solid rgba(111,213,243,.18)}
.hero-tech div{padding:18px;border-right:1px solid rgba(111,213,243,.18)}.hero-tech div:last-child{border-right:0}.hero-tech strong,.hero-tech span{display:block}.hero-tech strong{font-size:2.1rem;color:var(--cyan)}.hero-tech span{margin-top:4px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#b8c5cf}
.hero-tabs{position:absolute;right:4vw;top:4vw;z-index:8;display:flex;flex-direction:column;gap:8px}.hero-tabs button{border:0;background:transparent;color:#c1cbd3;text-transform:uppercase;font-size:9px;letter-spacing:.13em;cursor:pointer;text-align:right}.hero-tabs button span{color:var(--cyan);margin-right:7px}.hero-tabs button.active{color:#fff}.hero-tabs button.active:before{content:"";display:inline-block;width:35px;height:1px;background:var(--cyan);vertical-align:middle;margin-right:8px}
.machine-line{position:absolute;left:5vw;right:4vw;bottom:2.2vw;height:1px;background:rgba(255,255,255,.2);z-index:8}.machine-line span{display:block;width:14%;height:2px;background:linear-gradient(90deg,var(--cyan),var(--sky),transparent);animation:machineScan 3s ease-in-out infinite}
@keyframes machineScan{50%{transform:translateX(500%)}}

.capability-strip{background:var(--royal);color:#fff;overflow:hidden}.capability-track{display:flex;width:max-content;animation:capMove 24s linear infinite}.capability-group{display:flex;align-items:center;white-space:nowrap;flex:none}.capability-group span{padding:15px 26px;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.capability-group i{width:7px;height:7px;border:1px solid var(--cyan);transform:rotate(45deg)}
@keyframes capMove{to{transform:translateX(-50%)}}

.manifesto{padding:8rem 5vw;display:grid;grid-template-columns:.76fr 1.24fr;gap:5vw;align-items:center;background:#f5f7f9}.manifesto h2{font-size:clamp(4.2rem,6vw,7.2rem)}.manifesto-copy p{max-width:500px;color:#697681;line-height:1.7}.manifesto-image{height:650px;position:relative;overflow:hidden;background:#111}.manifesto-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04)}.scan-line{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 20px rgba(0,200,232,.8);animation:scanVertical 4s linear infinite}.image-tag{position:absolute;left:18px;bottom:18px;background:#101820;color:#fff;padding:12px 15px;border-left:3px solid var(--cyan)}.image-tag span,.image-tag strong{display:block}.image-tag span{font-size:8px;letter-spacing:.14em;color:#a9b8c3}.image-tag strong{font-size:1.1rem;margin-top:3px}
@keyframes scanVertical{from{top:0}to{top:100%}}

.services{padding:8rem 5vw;background:#101820;color:#fff}.services-head{display:grid;grid-template-columns:1fr .55fr;gap:6vw;align-items:end;margin-bottom:4rem}.services h2{font-size:clamp(4.5rem,6.5vw,7.5rem)}.services-head p{color:#a8b4bd;line-height:1.7}
.light{color:var(--sky)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #33434f;border-bottom:1px solid #33434f}.service-card{min-height:430px;padding:24px;position:relative;border-right:1px solid #33434f;overflow:hidden;transition:.4s}.service-card:last-child{border-right:0}.service-card:before{content:"";position:absolute;inset:auto 0 0;height:0;background:linear-gradient(180deg,var(--royal),#0c6d9d);transition:.45s}.service-card>*{position:relative;z-index:2}.service-card:hover:before{height:100%}.service-trigger{position:absolute;inset:0;border:0;background:transparent;cursor:pointer;z-index:5}.service-number{font-size:10px;color:var(--cyan)}.service-icon{font-size:3.4rem;color:var(--sky);margin-top:2.2rem;opacity:.8}.gear-icon{animation:gearSpin 8s linear infinite}.service-card h3{font-size:2.1rem;line-height:.95;text-transform:uppercase;margin:7rem 0 .7rem}.service-card p{font-size:12px;color:#9faeb9;line-height:1.55}.service-card b{display:block;margin-top:1.3rem;color:var(--cyan);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.service-card:hover p,.service-card:hover b{color:#fff}
@keyframes gearSpin{to{transform:rotate(360deg)}}

.control-room{padding:8rem 5vw;background:#e9eef2;display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:center}.control-room h2{font-size:clamp(4.3rem,6.4vw,7.3rem)}.control-copy p{max-width:500px;color:#67747f;line-height:1.7}.control-panel{background:#101820;color:#fff;padding:25px;box-shadow:0 28px 75px rgba(16,24,32,.12)}.panel-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:#9fb0bd}.panel-top b{color:#6ff0b6}.panel-top b i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#39dc91;margin-right:6px;box-shadow:0 0 12px #39dc91}
.dial-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0}.dial{position:relative;display:grid;place-items:center;min-height:220px;border:1px solid #263845}.dial svg{width:155px;transform:rotate(-90deg)}.dial circle{fill:none;stroke:#273946;stroke-width:8}.dial .dial-progress{stroke:var(--cyan);stroke-dasharray:314;stroke-dashoffset:calc(314 - (314 * var(--value) / 100));stroke-linecap:round}.dial strong{position:absolute;font-size:3.6rem;color:#fff}.dial span{position:absolute;bottom:28px;font-size:8px;letter-spacing:.13em;color:#92a3af}
.wave{border-top:1px solid #2a3b47;padding-top:20px}.wave-bars{height:150px;display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end}.wave-bars button{border:0;background:linear-gradient(180deg,var(--sky),var(--royal));height:var(--h);cursor:pointer;animation:waveBreathe 2.8s ease-in-out infinite;transform-origin:bottom}.wave-bars button:nth-child(2n){animation-delay:-.8s}.wave-bars button:nth-child(3n){animation-delay:-1.4s}.wave-bars button:hover,.wave-bars button.active{filter:brightness(1.35);transform:scaleX(1.2)}.wave-readout{display:flex;align-items:baseline;gap:12px;margin-top:14px}.wave-readout strong{font-size:2rem;color:var(--cyan)}.wave-readout span{font-size:9px;color:#90a0ac;text-transform:uppercase;letter-spacing:.1em}
@keyframes waveBreathe{50%{transform:scaleY(.72)}}

.mechanical-feature{display:grid;grid-template-columns:1.15fr .85fr;background:#fff;min-height:720px}.mechanical-media{position:relative;overflow:hidden;background:#0d1419}.mechanical-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) contrast(1.12)}.rotor{position:absolute;border:1px solid rgba(0,200,232,.55);border-radius:50%;animation:rotorSpin 12s linear infinite}.rotor:before,.rotor:after{content:"";position:absolute;left:50%;top:50%;background:rgba(0,200,232,.45);transform:translate(-50%,-50%)}.rotor:before{width:100%;height:1px}.rotor:after{width:1px;height:100%}.rotor-a{width:360px;height:360px;right:7%;top:12%}.rotor-b{width:220px;height:220px;left:7%;bottom:8%;animation-direction:reverse;animation-duration:9s}.mechanical-copy{padding:7rem 5vw;display:flex;flex-direction:column;justify-content:center}.mechanical-feature h2{font-size:clamp(4rem,5.8vw,6.8rem)}.mechanical-copy p{color:#6d7983;line-height:1.7}.mechanical-list{margin-top:2rem;border-top:1px solid #dbe1e5}.mechanical-list div{display:grid;grid-template-columns:60px 1fr;padding:15px 0;border-bottom:1px solid #dbe1e5}.mechanical-list span{color:var(--cyan);font-size:10px}.mechanical-list strong{text-transform:uppercase;font-size:13px}
@keyframes rotorSpin{to{transform:rotate(360deg)}}

.team{padding:8rem 5vw 0;background:#123f92;color:#fff;overflow:hidden}.team-head{display:grid;grid-template-columns:.3fr 1fr;gap:3rem;align-items:end}.team h2{font-size:clamp(4.5rem,6.8vw,7.8rem);grid-column:2}.team-stage{height:690px;margin-top:2rem;position:relative;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(90deg,#123f92,#0d5b9b)}.team-stage:before{content:"VÉRTICE";position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font-size:18vw;font-weight:900;letter-spacing:-.07em;color:rgba(255,255,255,.045)}.team-stage img{height:102%;width:auto;max-width:none;object-fit:contain;object-position:center bottom;position:relative;z-index:3}.team-info{position:absolute;left:3vw;bottom:3vw;z-index:5;border-left:3px solid var(--cyan);padding:12px 16px;background:rgba(10,24,34,.72);backdrop-filter:blur(10px)}.team-info span,.team-info strong,.team-info p{display:block}.team-info span{font-size:8px;letter-spacing:.15em;color:var(--sky)}.team-info strong{font-size:1.7rem;margin-top:4px}.team-info p{font-size:10px;color:#c5d2dc}.team-crosshair{position:absolute;right:8%;top:18%;width:220px;height:220px;border:1px solid rgba(111,213,243,.35);border-radius:50%;animation:crossSpin 10s linear infinite}.team-crosshair:before,.team-crosshair:after{content:"";position:absolute;left:50%;top:50%;background:rgba(111,213,243,.35);transform:translate(-50%,-50%)}.team-crosshair:before{width:125%;height:1px}.team-crosshair:after{height:125%;width:1px}
@keyframes crossSpin{to{transform:rotate(360deg)}}

.gallery{padding:18px;background:#0f171e;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:18px}.gallery article{height:420px;position:relative;overflow:hidden}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.gallery article:hover img{transform:scale(1.04)}.gallery span{position:absolute;left:15px;bottom:15px;background:#fff;color:#111;padding:8px 10px;font-size:8px;letter-spacing:.1em}

.contact{min-height:620px;background:#101820;color:#fff;padding:7rem 5vw;display:flex;align-items:center;position:relative;overflow:hidden}.contact-copy{position:relative;z-index:3}.contact h2{font-size:clamp(5rem,7.2vw,8.5rem)}.contact-copy p{max-width:560px;color:#aebbc4;line-height:1.7}.contact-copy a{display:inline-flex;gap:1rem;margin-top:20px;border-bottom:1px solid #fff;padding-bottom:8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.contact-copy a b{color:var(--cyan)}.contact-word{position:absolute;right:-2vw;bottom:-4vw;font-size:19vw;font-weight:900;color:rgba(255,255,255,.035);letter-spacing:-.08em}

.service-modal{position:fixed;inset:0;z-index:120;display:none}.service-modal.open{display:block}.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(5,12,18,.72);backdrop-filter:blur(5px);cursor:pointer}.modal-sheet{position:absolute;right:0;top:0;bottom:0;width:min(520px,94vw);background:#fff;padding:4rem 3rem;color:#101820;transform:translateX(100%);animation:sheetIn .42s forwards}.modal-close{position:absolute;right:22px;top:18px;border:0;background:transparent;font-size:2rem;cursor:pointer}.modal-sheet>span{font-size:9px;letter-spacing:.15em;color:var(--royal)}.modal-sheet h2{font-size:3.5rem;line-height:.9;text-transform:uppercase;margin:20px 0}.modal-sheet>p{color:#687680;line-height:1.7}.modal-specs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem;border-top:1px solid #dce2e6}.modal-specs div{padding:18px 8px;border-right:1px solid #dce2e6}.modal-specs div:last-child{border-right:0}.modal-specs span,.modal-specs strong{display:block}.modal-specs span{font-size:8px;color:#79848e}.modal-specs strong{margin-top:5px;color:var(--royal)}
@keyframes sheetIn{to{transform:none}}

.footer{padding:5rem 5vw 1.5rem;background:#f2f5f7;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;border-top:1px solid #d9e0e5}.footer-brand img{width:200px;margin-bottom:15px}.footer-brand p,.footer p,.footer a{font-size:12px;color:#66747f;line-height:1.6}.footer>div:not(.footer-brand):not(.footer-bottom){display:flex;flex-direction:column;gap:7px}.footer>div>span{font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--royal)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #d9e0e5;padding-top:16px;margin-top:2rem;font-size:9px;color:#85919a}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}

@media(max-width:1000px){
  .industrial-header{grid-template-columns:150px 1fr auto}.mega-menu{grid-template-columns:1fr 1fr}.mega-card-accent{grid-column:1/-1}
  .hero-tech{grid-template-columns:repeat(3,120px)}
  .manifesto,.control-room,.mechanical-feature{grid-template-columns:1fr}
  .manifesto-image{height:560px}.services-head{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}
  .mechanical-media{height:620px}.team-head{grid-template-columns:1fr}.team h2{grid-column:auto}
  .gallery{grid-template-columns:1fr 1fr}.gallery-large{grid-column:1/-1}
  .footer{grid-template-columns:1.3fr 1fr 1fr}.footer-brand{grid-row:span 2}
}
@media(max-width:650px){
  .demo-strip{font-size:8px}.demo-strip a{display:none}.industrial-header{height:76px;padding:0 6vw;grid-template-columns:110px 1fr}.brand img{width:100px}.header-contact{display:none}.mega-toggle{justify-self:end}.mega-menu{top:70px;left:6vw;right:6vw;grid-template-columns:1fr}.mega-card{min-height:auto}
  .hero{height:auto;min-height:760px}.hero-copy{left:6vw;right:6vw;top:auto;bottom:9rem;transform:none}.hero h1{font-size:clamp(4rem,16vw,5.7rem)}.hero-tech{display:none}.hero-tabs{right:6vw;top:2rem}.machine-line{left:6vw;right:6vw;bottom:2rem}
  .manifesto,.services,.control-room,.mechanical-copy,.team,.contact{padding-left:6vw;padding-right:6vw}.manifesto{padding-top:5.5rem;padding-bottom:5.5rem}.manifesto h2,.services h2,.control-room h2,.mechanical-feature h2,.team h2,.contact h2{font-size:clamp(3.8rem,14vw,5.4rem)}.manifesto-image{height:460px}
  .services{padding-top:5.5rem}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid #33434f;min-height:330px}.service-card h3{margin-top:4.5rem}
  .control-room{padding-top:5.5rem;padding-bottom:5.5rem}.dial-row{grid-template-columns:1fr}.wave-bars{gap:4px}.mechanical-media{height:480px}.rotor-a{width:270px;height:270px}
  .team-stage{height:570px}.team-stage img{height:95%}.team-crosshair{width:160px;height:160px;right:-5%}.gallery{grid-template-columns:1fr}.gallery-large{grid-column:auto}.gallery article{height:300px}
  .footer{grid-template-columns:1fr 1fr;padding-left:6vw;padding-right:6vw}.footer-brand{grid-column:1/-1;grid-row:auto}.footer-bottom{flex-direction:column}
}


/* ============================================================
   VÉRTICE AJUSTE 02 — refinamiento solicitado por el usuario
   ============================================================ */

/* 1) HERO — sustituir la malla cuadrada por una red técnica de líneas + vértices */
.hero-grid{
  background:none !important;
  mask-image:none !important;
  opacity:1 !important;
}
.hero-grid::before{
  content:"";
  position:absolute;
  inset:-8%;
  background:
    linear-gradient(25deg, transparent 0 23%, rgba(111,213,243,.22) 23.1% 23.25%, transparent 23.35% 48%, rgba(111,213,243,.18) 48.1% 48.22%, transparent 48.32%),
    linear-gradient(155deg, transparent 0 31%, rgba(255,255,255,.14) 31.1% 31.22%, transparent 31.32% 66%, rgba(0,200,232,.18) 66.1% 66.24%, transparent 66.34%),
    linear-gradient(75deg, transparent 0 42%, rgba(111,213,243,.13) 42.1% 42.22%, transparent 42.32%);
  transform:skewX(-5deg);
  pointer-events:none;
}
.hero-grid::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 9% 18%, rgba(111,213,243,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 22% 37%, rgba(0,200,232,.90) 0 2px, transparent 3px),
    radial-gradient(circle at 36% 22%, rgba(255,255,255,.82) 0 2px, transparent 3px),
    radial-gradient(circle at 47% 53%, rgba(111,213,243,.95) 0 2px, transparent 3px),
    radial-gradient(circle at 59% 31%, rgba(0,200,232,.92) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 58%, rgba(255,255,255,.72) 0 2px, transparent 3px),
    radial-gradient(circle at 84% 26%, rgba(111,213,243,.82) 0 2px, transparent 3px),
    radial-gradient(circle at 92% 68%, rgba(0,200,232,.86) 0 2px, transparent 3px);
  filter:drop-shadow(0 0 6px rgba(0,200,232,.35));
  animation:vertexPulse 4.5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes vertexPulse{
  0%,100%{opacity:.45}
  50%{opacity:.95}
}

/* 2) CAMPO — fondo tipo papel cuadriculado técnico + foto trapezoidal */
.manifesto{
  position:relative;
  overflow:hidden;
  background-color:#f4f8fb !important;
  background-image:
    linear-gradient(rgba(18,63,146,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,63,146,.065) 1px, transparent 1px),
    linear-gradient(rgba(0,200,232,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,200,232,.035) 1px, transparent 1px) !important;
  background-size:34px 34px,34px 34px,170px 170px,170px 170px !important;
}
.manifesto::before{
  content:"FIELD / ENGINEERING GRID";
  position:absolute;
  right:3vw;
  top:3rem;
  font-size:9px;
  letter-spacing:.22em;
  color:rgba(18,63,146,.28);
  z-index:0;
}
.manifesto-copy,.manifesto-image{position:relative;z-index:2}
.manifesto-image{
  height:680px !important;
  clip-path:polygon(8% 0,100% 0,94% 100%,0 100%);
  transform:translateX(1.5vw);
  box-shadow:0 30px 65px rgba(18,63,146,.10);
}
.manifesto-image img{
  width:112% !important;
  height:112% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:translate(-5%,-4%) scale(1.04);
}

/* 3) SERVICIOS — título horizontal, centrado, una línea */
.services-head{
  display:grid !important;
  grid-template-columns:1fr !important;
  text-align:center !important;
  justify-items:center !important;
  gap:1.6rem !important;
}
.services-head>div{width:100%}
.services-head .section-no{text-align:center}
.services h2{
  white-space:nowrap;
  font-size:clamp(3.7rem,5.7vw,6.8rem) !important;
  line-height:.9 !important;
  text-align:center !important;
}
.services h2 br{display:none !important}
.services-head p{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}

/* Servicios: visuales grandes en fondo de agua y animados */
.service-card{
  min-height:500px !important;
  isolation:isolate;
}
.service-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(111,213,243,.02),rgba(18,63,146,.025));
  z-index:0;
  pointer-events:none;
}
.service-visual{
  position:absolute !important;
  inset:28px 18px auto 18px;
  height:230px;
  display:grid;
  place-items:center;
  z-index:1 !important;
  pointer-events:none;
  color:rgba(111,213,243,.16);
}
.service-card h3,.service-card p,.service-card b,.service-card .service-number{z-index:3 !important}
.service-card h3{margin-top:13.5rem !important}
.service-visual-gear span{
  font-size:14rem;
  line-height:1;
  animation:vertGear 14s linear infinite;
  transform-origin:center;
}
@keyframes vertGear{to{transform:rotate(360deg)}}

.service-visual-lightning span{
  font-size:15rem;
  line-height:.9;
  color:rgba(111,213,243,.13);
  filter:drop-shadow(0 0 0 rgba(111,213,243,0));
  animation:lightningStrike 2.8s steps(1,end) infinite;
}
@keyframes lightningStrike{
  0%,11%,16%,45%,100%{opacity:.10;transform:translateY(-8px) scale(.92);filter:drop-shadow(0 0 0 rgba(111,213,243,0))}
  12%{opacity:.95;transform:translateY(8px) scale(1.12);filter:drop-shadow(0 0 18px rgba(111,213,243,.95))}
  14%{opacity:.28;transform:translateY(2px) scale(1.02)}
  15%{opacity:.85;transform:translateY(10px) scale(1.08);filter:drop-shadow(0 0 22px rgba(111,213,243,.8))}
}

.service-visual-bulb{
  animation:bulbSway 3.8s ease-in-out infinite;
}
.service-visual-bulb span{
  width:160px;height:160px;border:9px solid rgba(111,213,243,.17);border-radius:50%;
  display:grid;place-items:center;font-size:0;
  box-shadow:inset 0 0 0 1px rgba(111,213,243,.06);
}
.service-visual-bulb span::before{
  content:"";
  width:62px;height:62px;border-radius:50%;
  background:rgba(111,213,243,.10);
  box-shadow:0 0 28px rgba(111,213,243,.11);
}
.service-visual-bulb i{
  position:absolute;bottom:11px;width:78px;height:45px;border:8px solid rgba(111,213,243,.16);
  border-top:0;border-radius:0 0 22px 22px;
}
@keyframes bulbSway{
  0%,100%{transform:rotate(-5deg) translateX(-8px)}
  50%{transform:rotate(5deg) translateX(8px)}
}

.service-visual-wheel{
  width:220px;height:220px;left:50%;right:auto;transform:translateX(-50%);
}
.service-visual-wheel .seg{
  position:absolute;inset:0;border:18px solid rgba(111,213,243,.16);border-radius:50%;
}
.service-visual-wheel .s1{clip-path:polygon(50% 50%,100% 0,100% 58%,50% 50%);animation:seg1 4.8s ease-in-out infinite}
.service-visual-wheel .s2{clip-path:polygon(50% 50%,100% 58%,52% 100%,50% 50%);animation:seg2 4.8s ease-in-out infinite}
.service-visual-wheel .s3{clip-path:polygon(50% 50%,52% 100%,0 60%,0 0,100% 0,50% 50%);animation:seg3 4.8s ease-in-out infinite}
.service-visual-wheel i{position:absolute;width:58px;height:58px;border-radius:50%;border:10px solid rgba(111,213,243,.14);left:50%;top:50%;transform:translate(-50%,-50%)}
@keyframes seg1{0%,100%{transform:rotate(0) translate(0)}35%{transform:rotate(38deg) translate(12px,-9px)}70%{transform:rotate(360deg) translate(0)}}
@keyframes seg2{0%,100%{transform:rotate(0) translate(0)}35%{transform:rotate(-42deg) translate(-10px,12px)}70%{transform:rotate(360deg) translate(0)}}
@keyframes seg3{0%,100%{transform:rotate(0) translate(0)}35%{transform:rotate(24deg) translate(7px,12px)}70%{transform:rotate(360deg) translate(0)}}

/* 4) CONTROL — panel blanco, líneas azul→negro y título con degradado */
.control-room{
  background:#fff !important;
}
.control-room h2{
  background:linear-gradient(125deg,#101820 0%,#123f92 52%,#00a9d6 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}
.control-panel{
  background:#fff !important;
  color:#101820 !important;
  border:1px solid #dce4ea;
  box-shadow:0 25px 70px rgba(18,63,146,.10) !important;
}
.panel-top{color:#5e6c78 !important}
.panel-top b{color:#0c9f78 !important}
.dial{
  border:1px solid #dce4ea !important;
  background:#fff;
}
.dial circle{stroke:#e7edf1 !important}
.dial .dial-progress{
  stroke:url(#none);
  stroke:#123f92 !important;
}
.dial:nth-child(2) .dial-progress{stroke:#00b8df !important}
.dial strong{color:#101820 !important}
.dial span{color:#667580 !important}
.wave{border-top:1px solid #dce4ea !important}
.wave-bars button{
  background:linear-gradient(180deg,#0a0f14 0%,#123f92 48%,#00c8e8 100%) !important;
  box-shadow:0 -2px 0 rgba(0,200,232,.08);
}
.wave-readout strong{color:#123f92 !important}
.wave-readout span{color:#677681 !important}

/* 5) EQUIPO — título centrado máx. 2 líneas, foto fundida y watermark gigante detrás */
.team{
  position:relative;
  background:linear-gradient(135deg,#123f92 0%,#0b5f9f 58%,#0b76a6 100%) !important;
}
.team-head{
  display:block !important;
  text-align:center !important;
  position:relative;
  z-index:4;
}
.team-head .section-no{text-align:center}
.team h2{
  grid-column:auto !important;
  max-width:1220px;
  margin:1rem auto 0 !important;
  font-size:clamp(4rem,6vw,7rem) !important;
  line-height:.86 !important;
  text-align:center !important;
}
.team-stage{
  margin-top:1rem !important;
  background:transparent !important;
  min-height:690px;
}
.team-stage::before{
  content:"VÉRTICE" !important;
  left:50% !important;
  right:auto !important;
  top:52% !important;
  transform:translate(-50%,-50%) !important;
  font-size:25vw !important;
  line-height:.75;
  color:rgba(255,255,255,.07) !important;
  white-space:nowrap;
  letter-spacing:-.08em;
  z-index:0 !important;
}
.team-stage::after{
  content:"FIELD / TECH / ENGINEERING";
  position:absolute;
  left:50%;top:28%;
  transform:translateX(-50%);
  font-size:8vw;
  font-weight:900;
  letter-spacing:.03em;
  color:rgba(255,255,255,.035);
  white-space:nowrap;
  z-index:0;
}
.team-stage img{
  height:100% !important;
  max-height:680px;
  z-index:3 !important;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%);
  mask-composite:intersect;
}
.team-info{z-index:6 !important}
.team-crosshair{z-index:2 !important}

@media(max-width:1000px){
  .services h2{white-space:normal}
  .manifesto-image{height:560px !important;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}
  .team h2{max-width:900px}
}
@media(max-width:650px){
  .hero-grid::before{inset:-12%}
  .manifesto-image{height:460px !important;transform:none;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}
  .services h2{white-space:normal;font-size:clamp(3.2rem,13vw,4.8rem) !important}
  .service-card{min-height:390px !important}
  .service-visual{height:170px}
  .service-visual-gear span,.service-visual-lightning span{font-size:10rem}
  .service-card h3{margin-top:9rem !important}
  .control-room h2{font-size:clamp(3.4rem,13vw,5rem) !important}
  .team h2{font-size:clamp(3.5rem,13vw,5rem) !important}
  .team-stage{min-height:560px}
  .team-stage img{max-height:540px}
}


/* ============================================================
   VÉRTICE AJUSTE 03 — SOLO PANEL "DATOS PARA DECIDIR..."
   ============================================================ */

.control-room{
  grid-template-columns:.64fr 1.36fr !important;
  gap:4vw !important;
  background:#fff !important;
}

.control-panel{
  width:108% !important;
  margin-left:-2% !important;
  padding:18px 0 6px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.panel-top{
  padding:0 18px 16px !important;
  border:0 !important;
}

.dial-row{
  gap:28px !important;
  margin:18px 0 24px !important;
  padding:0 18px !important;
}

.dial{
  min-height:235px !important;
  border:0 !important;
  background:transparent !important;
}

.wave{
  border-top:0 !important;
  padding:10px 18px 0 !important;
}

.wave-bars{
  height:190px !important;
}

.wave-readout{
  margin-top:16px !important;
}

/* elimina cualquier línea/borde divisor residual dentro del dashboard */
.control-panel *,
.control-panel *::before,
.control-panel *::after{
  border-color:transparent;
}
.dial,
.wave,
.panel-top{
  border:none !important;
}

@media(max-width:1000px){
  .control-room{
    grid-template-columns:1fr !important;
  }
  .control-panel{
    width:100% !important;
    margin-left:0 !important;
  }
}

@media(max-width:650px){
  .control-panel{
    padding-top:12px !important;
  }
  .dial-row{
    padding:0 !important;
    gap:14px !important;
  }
  .wave{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .wave-bars{
    height:155px !important;
  }
}
