:root { --navy:#071e3b; --blue:#143c70; --blue-2:#0b2f5e; --gold:#f7b42a; --ink:#f8fbff; --muted:#c9d8ed; --line:rgba(185,219,255,.5); --sans:"Manrope",Arial,sans-serif; --display:"Bebas Neue",Impact,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--navy); font-family:var(--sans); line-height:1.55; }
a { color:inherit; }
.shell { width:min(1180px,calc(100% - 48px)); margin:auto; }
.skip-link { position:absolute; top:-5rem; left:1rem; z-index:10; padding:.7rem 1rem; background:#fff; color:#000; border-radius:.5rem; }
.skip-link:focus { top:1rem; }
.hero { position:relative; min-height:700px; overflow:hidden; background:url("assets/backgrounds/hero-edificio-nube-de-puntos.png") center/cover no-repeat; }
.hero__overlay,.training__overlay,.contact__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,20,43,.94) 0%,rgba(5,20,43,.75) 42%,rgba(5,20,43,.3) 78%,rgba(5,20,43,.55) 100%); }
.nav { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; min-height:104px; }
.brand { display:block; width:225px; height:64px; overflow:hidden; }
.brand img { width:100%; height:100%; object-fit:contain; object-position:left center; }
.nav__links { display:flex; gap:2rem; align-items:center; text-transform:uppercase; letter-spacing:.08em; font-size:.76rem; font-weight:800; }
.nav__links a { text-decoration:none; }
.nav__links a:hover { color:var(--gold); }
.nav__toggle { display:none; color:#fff; background:transparent; border:1px solid var(--line); border-radius:.55rem; padding:.55rem .8rem; font-family:var(--sans); }
.hero__content { position:relative; z-index:1; padding:106px 0 86px; max-width:min(1180px,calc(100% - 48px)); }
.eyebrow { margin:0 0 .7rem; color:var(--gold); font-size:.73rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:.96; }
h1,h2 { font-family:var(--display); font-weight:400; letter-spacing:.015em; text-transform:uppercase; }
h1 { max-width:720px; margin-bottom:1rem; font-size:clamp(4.2rem,7.6vw,7.2rem); }
h1 span { color:var(--gold); display:block; font-size:.58em; }
.hero__lead { margin:0 0 1.5rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.hero__note { max-width:450px; margin:1.1rem 0 0; color:#d1dce9; font-size:.76rem; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.75rem 1.15rem; border:1px solid transparent; border-radius:.72rem; font:800 .82rem var(--sans); letter-spacing:.03em; text-decoration:none; text-transform:uppercase; cursor:pointer; transition:transform .2s,background .2s,border .2s; }
.button:hover { transform:translateY(-2px); }
.button--gold { color:#10203b; background:var(--gold); box-shadow:0 7px 18px rgba(0,0,0,.18); }
.button--outline { color:#fff; border-color:var(--gold); background:rgba(12,43,81,.55); }
.section { padding:102px 0; }
.section-heading { max-width:760px; margin-bottom:2.2rem; }
.section-heading h2,.training h2,.contact h2 { margin-bottom:0; font-size:clamp(3rem,5vw,5.1rem); }
.solutions { background:radial-gradient(circle at 10% 5%,#174477 0,transparent 38%),var(--navy); }
.solutions__grid,.equipment__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.solution-card,.equipment-card { border:1px solid var(--line); border-radius:1rem; background:linear-gradient(150deg,rgba(20,65,113,.92),rgba(4,24,51,.9)); }
.solution-card { padding:1.55rem; min-height:360px; display:flex; flex-direction:column; align-items:flex-start; }
.solution-card--featured { border-color:rgba(247,180,42,.9); background:linear-gradient(145deg,rgba(34,82,135,.94),rgba(8,31,61,.94)); }
.solution-icon { display:grid; place-items:center; width:42px; height:42px; color:var(--gold); border:1px solid rgba(247,180,42,.7); border-radius:.75rem; font-size:1.45rem; }
.solution-card h3,.equipment-card h3 { margin:1.35rem 0 .65rem; font:400 2.25rem/1 var(--display); letter-spacing:.015em; text-transform:uppercase; }
.solution-card__highlight { color:#fff; font-size:.9rem; font-weight:800; text-transform:uppercase; }
.solution-card__highlight strong { color:var(--gold); font:400 3.5rem/.75 var(--display); vertical-align:middle; }
.solution-card > p:not(.solution-card__highlight) { color:var(--muted); font-size:.87rem; }
.solution-card .button { margin-top:auto; width:100%; }
.equipment { background:#061b36; }
.equipment__grid { align-items:stretch; }
.equipment-card { overflow:hidden; display:grid; grid-template-columns:42% 58%; min-height:290px; }
.equipment-card img { width:100%; height:100%; min-height:230px; object-fit:contain; align-self:end; padding:1.25rem .2rem .4rem; }
.equipment-card > div { padding:1.4rem 1.3rem 1.5rem .2rem; display:flex; flex-direction:column; }
.equipment-card h3 { margin-top:.35rem; }
.equipment-card p { color:var(--muted); font-size:.83rem; }
.equipment-card a { margin-top:auto; color:var(--gold); font-size:.78rem; font-weight:800; text-decoration:none; text-transform:uppercase; }
.equipment__legal { max-width:850px; margin:1.6rem auto 0; color:#a9bfd7; font-size:.75rem; text-align:center; }
.training { position:relative; min-height:465px; background:url("assets/backgrounds/formacion-interior-nube-de-puntos.png") center/cover no-repeat; overflow:hidden; }
.training__content { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; min-height:465px; align-items:center; }
.point-waves { position:absolute; z-index:0; inset:0; width:100%; height:100%; opacity:.8; pointer-events:none; mix-blend-mode:screen; }
.training__copy { padding:4rem 0 4rem 3rem; border-left:3px solid var(--gold); }
.training__copy p:not(.eyebrow) { max-width:500px; color:#e9f4ff; }
.training__proof { color:var(--gold)!important; font-size:.77rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.contact { position:relative; overflow:hidden; background:url("assets/backgrounds/formulario-textura-topografica.png") center/cover no-repeat; }
.contact__overlay { background:rgba(4,22,46,.82); }
.contact__layout { position:relative; z-index:1; display:grid; grid-template-columns:.75fr 1.35fr; gap:3rem; align-items:start; }
.contact__intro { padding-top:1rem; }
.contact__intro p:not(.eyebrow) { max-width:300px; color:#d2e0f0; }
.contact-form { padding:1.55rem; border:1px solid var(--line); border-radius:1rem; background:rgba(8,34,68,.84); backdrop-filter:blur(9px); }
fieldset { margin:0 0 1rem; padding:0; border:0; }
legend,.field { color:#fff; font-size:.75rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.radios { display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; margin-top:.6rem; }
.radios label,.check { display:flex; gap:.45rem; align-items:center; color:#e9f2ff; font-size:.8rem; text-transform:none; letter-spacing:0; cursor:pointer; }
input[type="radio"],input[type="checkbox"] { accent-color:var(--gold); }
.field { display:flex; flex-direction:column; gap:.34rem; margin-bottom:.85rem; }
.field input,.field select,.field textarea { width:100%; padding:.68rem .76rem; color:#fff; border:1px solid rgba(219,235,255,.78); border-radius:.52rem; outline:none; background:rgba(2,19,40,.47); font:400 .86rem var(--sans); }
.field select option { color:#111; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(247,180,42,.16); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.check { margin:1rem 0; }
.check a { color:#fff; text-underline-offset:3px; }
.form-action { display:flex; align-items:center; gap:1rem; }
.form-action p { margin:0; color:#cbe5be; font-size:.78rem; }
.footer { padding:1.8rem 0; background:#041426; }
.footer__content { display:flex; align-items:center; justify-content:space-between; gap:2rem; color:#e5f0ff; }
.footer img { width:185px; height:50px; object-fit:contain; object-position:left center; }
.footer p { margin:0; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.footer a { font-size:.8rem; text-decoration:none; }
@media (max-width:850px) { .hero { min-height:640px; background-position:62% center; } .hero__overlay { background:linear-gradient(90deg,rgba(4,19,40,.95),rgba(4,19,40,.78) 57%,rgba(4,19,40,.38)); } .nav { min-height:84px; } .nav__toggle { display:block; } .nav__links { position:absolute; top:74px; right:0; display:none; min-width:220px; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:#09264d; flex-direction:column; align-items:flex-start; } .nav__links.is-open { display:flex; } .hero__content { padding-top:105px; } .solutions__grid,.equipment__grid { grid-template-columns:1fr; } .solution-card { min-height:0; } .solution-card > p:not(.solution-card__highlight) { max-width:520px; } .equipment-card { min-height:225px; } .training__content { grid-template-columns:1fr; } .training__copy { margin-left:0; padding-left:1.25rem; } .training__content > div:first-child { display:none; } .contact__layout { grid-template-columns:1fr; gap:2rem; } .footer__content { flex-wrap:wrap; } }
@media (max-width:520px) { .shell { width:min(100% - 32px,1180px); } .brand { width:175px; } h1 { font-size:3.8rem; } .section { padding:74px 0; } .form-row { grid-template-columns:1fr; gap:0; } .form-action { align-items:flex-start; flex-direction:column; } .footer__content { align-items:flex-start; flex-direction:column; gap:1rem; } .hero__lead { font-size:.82rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .button { transition:none; } .point-waves { display:none; } }

/* ===== Portada en vídeo ===== */
.hero { min-height:100vh; min-height:100svh; display:flex; flex-direction:column; background:#05142b; perspective:1400px; }
.hero__stage { position:absolute; inset:0; overflow:hidden; transform-style:preserve-3d; }
.hero__video { position:absolute; inset:-4%; width:108%; height:108%; object-fit:cover; object-position:62% center; pointer-events:none; user-select:none; transform:translate3d(calc(var(--px,0)*-22px),calc(var(--py,0)*-14px),0) rotateY(calc(var(--px,0)*2.2deg)) rotateX(calc(var(--py,0)*-1.6deg)) scale(1.03); will-change:transform; }
.hero__video::-webkit-media-controls,.hero__video::-webkit-media-controls-start-playback-button { display:none!important; -webkit-appearance:none; }
.hero__overlay { background:linear-gradient(90deg,rgba(4,16,36,.82) 0%,rgba(4,16,36,.5) 36%,rgba(4,16,36,0) 62%),linear-gradient(0deg,rgba(7,30,59,.9) 0%,rgba(7,30,59,0) 16%); pointer-events:none; }
.hero__content { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:3vh 0 9vh; transform-style:preserve-3d; transform:translate3d(calc(var(--px,0)*10px),calc(var(--py,0)*6px),60px) rotateY(calc(var(--px,0)*-2deg)) rotateX(calc(var(--py,0)*1.5deg)); will-change:transform; }
.hero h1,.hero h1 span,.hero__lead,.hero__note,.hero .eyebrow { color:#fff; text-shadow:0 4px 28px rgba(0,0,0,.45); }
.hero h1 em,.hero__lead em { font-style:normal; color:var(--gold); }
.hero h1 span { display:block; }
.hero .eyebrow { color:var(--gold); }
.hero h1 { font-size:clamp(3.4rem,min(7.6vw,13vh),7.6rem); }
.hero__lead { text-transform:uppercase; }
.hero__copy-in { animation:none; }
.hero .eyebrow,.hero h1,.hero__lead,.hero .button,.hero__note { opacity:0; transform:translateY(34px) rotateX(-40deg); transform-origin:50% 100%; animation:heroIn .9s cubic-bezier(.2,.8,.2,1) forwards; }
.hero .eyebrow { animation-delay:.15s; } .hero h1 { animation-delay:.3s; } .hero__lead { animation-delay:.55s; } .hero .button { animation-delay:.7s; } .hero__note { animation-delay:.85s; }
@keyframes heroIn { to { opacity:1; transform:none; } }
@media (max-width:850px) { .hero { min-height:100svh; } .hero__video { object-position:72% center; } .hero__overlay { background:linear-gradient(90deg,rgba(4,16,36,.86),rgba(4,16,36,.55) 70%,rgba(4,16,36,.3)),linear-gradient(0deg,rgba(7,30,59,.9),rgba(7,30,59,0) 16%); } .hero__content { padding:2vh 0 8vh; } }
@media (max-width:520px) { .hero h1 { font-size:clamp(3rem,15vw,4.2rem); } }
@media (prefers-reduced-motion:reduce) { .hero__video,.hero__content { transform:none!important; transition:none; } .hero .eyebrow,.hero h1,.hero__lead,.hero .button,.hero__note { opacity:1; transform:none; animation:none; } }

/* ===== Portada: video completo en una sola vista ===== */
.hero { background:#0a1a32; }
.hero__stage { background:#0a1a32; }
.hero__video { inset:0; width:100%; height:100%; object-fit:contain; object-position:right center; transform:translate3d(calc(var(--px,0)*-14px),calc(var(--py,0)*-8px),0) rotateY(calc(var(--px,0)*1.6deg)) rotateX(calc(var(--py,0)*-1.2deg)); }
.hero__overlay { background:linear-gradient(90deg,#0a1a32 0%,rgba(10,26,50,.9) 18%,rgba(10,26,50,.35) 42%,rgba(10,26,50,0) 60%),linear-gradient(0deg,#071e3b 0%,rgba(7,30,59,0) 10%); }
@media (max-width:850px) { .hero__video { object-fit:cover; object-position:72% center; } }

/* ===== Secciones a todo el ancho y tarjetas ===== */
.solutions { background:radial-gradient(ellipse at 12% 0%,rgba(36,100,175,.55) 0,transparent 45%),radial-gradient(ellipse at 90% 100%,rgba(20,80,150,.35) 0,transparent 45%),#071e3b; }
.section-heading { max-width:860px; }
.section-heading h2 { line-height:1; }
.section-heading__lead { margin:1.1rem 0 0; max-width:620px; color:var(--muted); font-size:1.02rem; }
.solutions__grid { gap:1.3rem; align-items:stretch; }
.solution-card { position:relative; min-height:0; padding:2rem 1.7rem 1.7rem; border-radius:1.2rem; background:linear-gradient(160deg,rgba(28,78,135,.75),rgba(6,26,54,.92)); box-shadow:0 20px 50px rgba(0,0,0,.28); overflow:hidden; transition:transform .3s,border-color .3s; }
.solution-card:hover { transform:translateY(-6px); border-color:rgba(247,180,42,.7); }
.solution-card::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,var(--gold),transparent); }
.solution-card--featured { background:linear-gradient(160deg,rgba(38,96,160,.9),rgba(7,30,59,.95)); box-shadow:0 24px 60px rgba(247,180,42,.12),0 20px 50px rgba(0,0,0,.3); }
.solution-card__badge { position:absolute; top:1.1rem; right:1.1rem; padding:.3rem .7rem; border-radius:99px; color:#10203b; background:var(--gold); font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.solution-card__tag { margin-bottom:.9rem; color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.solution-card h3 { margin:0 0 .8rem; font:400 2.15rem/1.02 var(--display); letter-spacing:.015em; text-transform:uppercase; white-space:normal; }
.solution-card > p { margin:0 0 1.1rem; color:var(--muted); font-size:.92rem; }
.solution-card ul { display:grid; gap:.65rem; margin:0 0 1.7rem; padding:0; list-style:none; }
.solution-card li { display:flex; gap:.65rem; align-items:flex-start; color:#eaf3ff; font-size:.88rem; line-height:1.4; }
.solution-card li svg { flex:none; width:18px; height:18px; margin-top:.1rem; padding:2px; color:#10203b; background:var(--gold); border-radius:50%; }
.solution-card li strong { color:#fff; }
.solution-card .button { margin-top:auto; width:100%; }
.equipment { background:linear-gradient(180deg,#071e3b,#061b36 30%); }
.equipment__grid { gap:1.3rem; }
.equipment-card { display:flex; flex-direction:column; min-height:0; border-radius:1.2rem; overflow:hidden; background:linear-gradient(160deg,rgba(20,65,113,.7),rgba(4,24,51,.95)); transition:transform .3s,border-color .3s; }
.equipment-card:hover { transform:translateY(-6px); border-color:rgba(247,180,42,.7); }
.equipment-card__media { display:grid; place-items:end center; height:270px; padding:1.4rem 1rem 0; background:radial-gradient(circle at 50% 70%,rgba(60,150,230,.45),transparent 62%); }
.equipment-card__media img { width:auto; height:100%; max-width:100%; min-height:0; padding:0; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 18px 22px rgba(0,0,0,.45)); transition:transform .4s; }
.equipment-card:hover .equipment-card__media img { transform:scale(1.06) translateY(-4px); }
.equipment-card__body { padding:1.4rem 1.5rem 1.7rem; display:flex; flex-direction:column; }
.equipment-card h3 { margin:0 0 .35rem; font-size:2.2rem; }
.equipment-card__hook { margin:0 0 .5rem; color:var(--gold); font-weight:800; font-size:.95rem; }
.equipment-card__body p { color:var(--muted); font-size:.88rem; }
.chips { display:flex; flex-wrap:wrap; gap:.45rem; margin:.6rem 0 0; padding:0; list-style:none; }
.chips li { padding:.28rem .7rem; border:1px solid rgba(185,219,255,.4); border-radius:99px; color:#e6f1ff; font-size:.72rem; font-weight:700; }
@media (max-width:850px) { .equipment-card__media { height:230px; } .solution-card h3 { font-size:1.9rem; } }

.hero__overlay { background:linear-gradient(90deg,#0a1a32 0%,rgba(10,26,50,.9) 18%,rgba(10,26,50,.35) 42%,rgba(10,26,50,0) 60%); }
.hero__video { -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%),linear-gradient(180deg,transparent 0,#000 3%,#000 96%,transparent 100%); -webkit-mask-composite:source-in; mask-image:linear-gradient(90deg,transparent 0,#000 12%),linear-gradient(180deg,transparent 0,#000 3%,#000 96%,transparent 100%); mask-composite:intersect; }
@media (max-width:850px) { .hero__video { -webkit-mask-image:none; mask-image:none; } }
.equipment-card > .equipment-card__media { padding:1.4rem 1rem 0; }
.equipment-card > .equipment-card__body { padding:1.4rem 1.6rem 1.8rem; }
.equipment-card .equipment-card__media img { align-self:end; justify-self:center; }
.equipment-card > .equipment-card__media { display:flex; flex-direction:row; align-items:flex-end; justify-content:center; }
.equipment-card .equipment-card__media img { align-self:flex-end; justify-self:auto; flex:none; }

/* ===== Ajustes ronda 4 ===== */
.brand { width:300px; height:92px; }
.nav { justify-content:flex-start; gap:clamp(2rem,5vw,5rem); min-height:120px; }
.nav__links { margin-left:0; }
.section-heading .eyebrow { font-size:1.05rem; letter-spacing:.2em; margin-bottom:1rem; }
.section-heading h2 em,.section-heading__lead em { font-style:normal; color:var(--gold); }
.section-heading__lead em { font-weight:800; }
.solution-card h3,.equipment-card h3 { font-family:var(--sans); font-weight:800; text-transform:none; letter-spacing:-.01em; line-height:1.18; }
.solution-card h3 { font-size:1.4rem; }
.equipment-card h3 { font-size:1.55rem; }
.equipment-card__media { cursor:zoom-in; position:relative; }
.equipment-card__media::after { content:"Ampliar"; position:absolute; right:.8rem; top:.8rem; padding:.2rem .6rem; border-radius:99px; background:rgba(5,20,43,.7); color:#fff; font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; opacity:0; transition:opacity .25s; }
.equipment-card__media:hover::after,.equipment-card__media:focus-visible::after { opacity:1; }
.equipment-card__media:focus-visible { outline:2px solid var(--gold); outline-offset:-2px; }
.lightbox { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:2rem; background:rgba(3,12,28,.92); cursor:zoom-out; }
.lightbox[hidden] { display:none; }
.lightbox img { max-width:min(94vw,1400px); max-height:88vh; width:auto; height:auto; object-fit:contain; image-rendering:auto; filter:drop-shadow(0 20px 40px rgba(0,0,0,.6)); cursor:default; }
.lightbox__close { position:absolute; top:1.2rem; right:1.5rem; width:48px; height:48px; border:1px solid var(--line); border-radius:50%; color:#fff; background:rgba(12,43,81,.8); font-size:2rem; line-height:1; cursor:pointer; }
.lightbox__close:hover { background:var(--gold); color:#10203b; }
@media (max-width:850px) { .brand { width:210px; height:70px; } .nav { min-height:96px; justify-content:space-between; } }
.brand { width:clamp(220px,19vw,330px); height:auto; overflow:visible; }
.brand img { width:100%; height:auto; object-fit:contain; }
.footer img { width:200px; height:auto; }
.hero h1 { max-width:980px; }
.hero h1 span { white-space:nowrap; }
@media (max-width:850px) { .brand { width:200px; height:auto; } .hero h1 span { white-space:normal; } }
.training__content { grid-template-columns:1.1fr .9fr; }
.training__overlay { background:linear-gradient(90deg,rgba(4,16,36,.95) 0%,rgba(4,16,36,.82) 42%,rgba(4,16,36,.15) 75%,rgba(4,16,36,0) 100%); }
.training__copy { margin-left:0; padding:4rem 2rem 4rem 3rem; }
@media (max-width:850px) { .training__content { grid-template-columns:1fr; } .training__content > div:first-child { display:block; } .training__content > div:last-child:empty { display:none; } .training__overlay { background:rgba(4,16,36,.85); } }
.brand { width:clamp(160px,11vw,215px); }
.nav { min-height:104px; }
.equipment__grid { grid-template-columns:repeat(4,1fr); gap:1rem; }
.equipment-card__media { height:240px; }
.equipment-card > .equipment-card__body { padding:1.2rem 1.2rem 1.5rem; }
.equipment-card h3 { font-size:1.35rem; }
@media (max-width:1100px) { .equipment__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:850px) { .brand { width:150px; } .nav { min-height:84px; } }
@media (max-width:560px) { .equipment__grid { grid-template-columns:1fr; } }

/* ===== Ronda 7: hover amarillo, formacion 3D, formulario simple ===== */
.equipment-card h3,.equipment-card__hook { transition:color .25s; }
.equipment-card:hover h3,.equipment-card:hover .equipment-card__hook,.equipment-card:focus-within h3 { color:var(--gold); }
.training__copy h2,.training__copy p { transition:color .3s; }
.training__copy:hover h2,.training__copy:hover p:not(.eyebrow) { color:var(--gold)!important; }
.training { perspective:1200px; background:#05142b!important; }
.training::before { content:none!important; }
.training__bg { position:absolute; inset:-6%; z-index:0; background:url("assets/backgrounds/formacion-interior-nube-de-puntos.png") center/cover no-repeat; transform:translate3d(calc(var(--tx,0)*-26px),calc(var(--ty,0)*-16px),0) rotateY(calc(var(--tx,0)*5deg)) rotateX(calc(var(--ty,0)*-4deg)) scale(1.08); will-change:transform; }
.training__overlay { z-index:1; } .point-waves { z-index:1; } .training__content { z-index:2; }
@media (prefers-reduced-motion:reduce) { .training__bg { transform:scale(1.04); } }
.field--dynamic { margin-bottom:1rem; }
.field--dynamic label { color:#fff; font-size:.75rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.model-chips { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.2rem; }
.model-chips[hidden] { display:none; }
.model-chips button { padding:.3rem .8rem; border:1px solid rgba(185,219,255,.45); border-radius:99px; color:#e6f1ff; background:transparent; font:700 .74rem var(--sans); cursor:pointer; transition:all .2s; }
.model-chips button:hover,.model-chips button.is-on { color:#10203b; background:var(--gold); border-color:var(--gold); }

/* ===== Ronda 8: video LinkedIn, footer, formulario ===== */
.training { min-height:0; }
.training__content { min-height:0; grid-template-columns:1fr minmax(300px,504px); gap:3rem; align-items:center; padding-block:3rem; }
.training__video { display:flex; flex-direction:column; gap:.6rem; align-items:flex-end; }
.training__video iframe { width:100%; max-width:504px; height:580px; border:1px solid var(--line); border-radius:1rem; background:#fff; box-shadow:0 24px 60px rgba(0,0,0,.45); }
.training__video-link { color:var(--gold); font-size:.78rem; font-weight:800; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.training__video-link:hover { text-decoration:underline; }
.footer__links { display:flex; align-items:center; gap:1.4rem; }
.footer__social { display:inline-flex; align-items:center; gap:.45rem; font-weight:800; }
.footer__social svg { width:20px; height:20px; }
.footer__social:hover { color:var(--gold); }
@media (max-width:850px) { .training__content { grid-template-columns:1fr; gap:2rem; } .training__video { align-items:stretch; } .training__video iframe { height:540px; max-width:none; } .training__content > div:last-child:empty { display:none; } }

.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; pointer-events:none; }
#form-message { font-weight:700; }
#form-message.is-ok { color:#9be58a; }
#form-message.is-error { color:#ffb4a8; }
.contact-form button[disabled] { opacity:.6; cursor:wait; }
