/* Neurolab — capa propia sobre base.css (misma base que la landing principal) */
:root{--photo:#F2F1EF}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips span{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--pink);color:var(--crimson);white-space:nowrap}
.dark .chips span{background:rgba(237,165,178,.14);color:var(--pink)}
.light .more{color:var(--crimson)}

/* ---------- hero ---------- */
.nl-mark{display:flex;flex-direction:column;align-items:center;gap:6px;width:min(860px,80vw);margin:0 auto}
.nl-mark img{width:100%;height:auto;filter:drop-shadow(0 10px 50px rgba(0,0,0,.45))}
.nl-mark span{font-size:clamp(46px,7.4vw,124px);font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--blush);margin-top:-.1em}
.hero-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:40px}
.hero-meta div{border-top:1px solid var(--w15);padding-top:12px}
.hero-meta dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--w50)}
.hero-meta dd{margin-top:6px;font-size:clamp(16px,1.3vw,19px);color:var(--off)}
.js:not(.rm) .nl-mark{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%)}
.js:not(.rm) #top .hero-kicker{top:calc(42% + min(19vw,250px))}
.js:not(.rm) .hero-meta{position:absolute;right:var(--pad);bottom:9vh;width:min(560px,38vw);grid-template-columns:repeat(2,minmax(0,1fr));margin:0}

/* ---------- manifiesto ---------- */
.manif-img{width:min(520px,80vw);margin:0 auto 40px;border-radius:28px;overflow:hidden}
.manif-img img{width:100%;height:auto;filter:grayscale(1) contrast(1.05)}
.manif-txt{max-width:900px}
.manif-txt p{margin-top:24px;font-size:clamp(19px,1.8vw,28px);line-height:1.45;letter-spacing:-.01em;color:var(--off);max-width:30em}
.words .w{transition:none}
.js:not(.rm) .manif-img{position:absolute;left:var(--pad);top:50%;width:min(36vw,60vh);aspect-ratio:1;margin:0;transform:translateY(-50%)}
.js:not(.rm) .manif-img img{width:100%;height:100%;object-fit:cover}
.js:not(.rm) .manif-txt{position:absolute;left:calc(var(--pad) + min(36vw,60vh) + 5vw);right:var(--pad);top:50%;transform:translateY(-50%)}
.js:not(.rm) .manif-txt .xl{font-size:clamp(40px,5vw,84px)}

/* ---------- instrumentación: presentación ---------- */
#instrumentacion,#instrumentacion .stick,.dsc,.dsc .stick{background:var(--photo)}
.lu-head .lead{margin-top:18px;max-width:40em}
.lu-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,32px);margin-top:48px}
.lu{margin:0;text-align:center}
.lu img{width:100%;height:auto;display:block}
.lu figcaption{margin-top:6px;font-size:15px;color:var(--muted)}
.js:not(.rm) .lu-head{position:absolute;left:var(--pad);right:var(--pad);top:calc(70px + 6vh);max-width:1100px;margin:0 auto;text-align:center}
.js:not(.rm) .lu-head .lead{margin-left:auto;margin-right:auto}
.js:not(.rm) .lu-row{position:absolute;left:50%;bottom:max(6vh,calc(50vh - 360px));width:min(1280px,calc(100vw - 2*var(--pad)));transform:translateX(-50%);margin:0;perspective:1400px}
.js:not(.rm) .lu{will-change:transform,opacity;transform-style:preserve-3d}
.lu img{-webkit-mask-image:radial-gradient(closest-side,#000 80%,transparent 100%);mask-image:radial-gradient(closest-side,#000 80%,transparent 100%);-webkit-mask-size:142% 142%;mask-size:142% 142%;-webkit-mask-position:center;mask-position:center}

/* ---------- instrumentación: escena por equipo ---------- */
.dsc .stick{--W:min(46vw,72vh)}
.ds-big{font-size:clamp(40px,5.6vw,92px);font-weight:500;letter-spacing:-.045em;line-height:1.02;color:var(--deep);text-wrap:balance}
.ds-plane{position:relative;width:min(560px,90vw);margin:28px auto 0}
.ds-plane img{width:100%;height:auto;display:block}
.pt{position:absolute;width:2px;height:2px;margin:-1px 0 0 -1px;pointer-events:none}
.ds-copy{margin-top:24px}
.ds-copy h3{font-size:clamp(34px,3.6vw,60px);margin-top:10px}
.ds-copy p{margin-top:16px;font-size:clamp(16px,1.25vw,19px);line-height:1.6;color:var(--muted);max-width:32em}
.ds-copy .more{display:inline-flex;margin-top:18px}
.co{display:none}
.ds-viz{display:none}
.ds-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.ds-specs div{border-top:1px solid rgba(66,6,31,.14);padding-top:14px}
.ds-specs dt{font-size:clamp(34px,4.2vw,68px);font-weight:500;letter-spacing:-.045em;line-height:1;color:var(--crimson)}
.ds-specs dd{margin-top:8px;font-size:15px;line-height:1.45;color:var(--muted)}
.dtag{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--crimson)}
.dbrand{display:block;margin-top:10px;font-size:15px;color:var(--g3)}

.js:not(.rm) .dsc .stick{perspective:1700px;perspective-origin:50% 45%}
.js:not(.rm) .ds-big{position:absolute;left:var(--pad);right:var(--pad);top:calc(64px + 7vh);text-align:center;max-width:15em;margin:0 auto;z-index:3}
.js:not(.rm) .ds-plane{position:absolute;left:50%;top:50%;width:var(--W);height:var(--W);margin:calc(var(--W)/-2) 0 0 calc(var(--W)/-2);transform-style:preserve-3d;will-change:transform;z-index:1;
  -webkit-mask-image:radial-gradient(closest-side,#000 86%,transparent 100%);mask-image:radial-gradient(closest-side,#000 86%,transparent 100%);-webkit-mask-size:142% 142%;mask-size:142% 142%;-webkit-mask-position:center;mask-position:center}
.js:not(.rm) .ds-plane img{width:100%;height:100%;object-fit:contain}
.js:not(.rm) .ds-copy{position:absolute;left:var(--pad);top:50%;width:min(470px,34vw);margin:0;transform:translateY(-50%);z-index:3}
.js:not(.rm) .co{display:block;position:absolute;left:0;top:0;width:max-content;max-width:min(300px,40vw);z-index:4;pointer-events:none;opacity:0;padding:14px 18px 15px;border-radius:18px;background:rgba(246,245,243,.86);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 18px 40px -18px rgba(66,6,31,.35),inset 0 0 0 1px rgba(255,255,255,.7)}
.co b{display:block;font-size:clamp(17px,1.35vw,22px);font-weight:500;letter-spacing:-.015em;color:var(--deep)}
.co span{display:block;margin-top:4px;font-size:14px;line-height:1.45;color:var(--muted)}
.co-dot{position:absolute;left:0;top:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:2px solid var(--crimson);background:rgba(255,255,255,.55);box-shadow:0 0 0 0 rgba(119,15,53,.35);z-index:4;opacity:0;pointer-events:none;animation:coPulse 1.8s ease-out infinite}
.co-dot::after{content:'';position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--crimson)}
@keyframes coPulse{0%{box-shadow:0 0 0 0 rgba(119,15,53,.38)}100%{box-shadow:0 0 0 18px rgba(119,15,53,0)}}
.co-ln{position:absolute;left:0;top:0;height:1.5px;background:var(--crimson);transform-origin:0 50%;z-index:4;opacity:0;pointer-events:none}
.js:not(.rm) .ds-viz{display:block;position:absolute;right:var(--pad);top:50%;width:min(600px,44vw);aspect-ratio:16/10;transform:translateY(-50%);z-index:2;opacity:0}
.ds-viz canvas{width:100%;height:100%;display:block;border-radius:24px;background:var(--deeper);box-shadow:0 40px 80px -40px rgba(66,6,31,.55)}
.vz-cap{position:absolute;left:4px;top:calc(100% + 12px);font-size:12px;letter-spacing:.06em;color:var(--g3);white-space:nowrap}
.js:not(.rm) .ds-specs{position:absolute;left:var(--pad);right:var(--pad);bottom:6vh;margin:0;z-index:3}
.js:not(.rm) .ds-specs div{opacity:0;will-change:transform,opacity}
.js:not(.rm) .ds-big,.js:not(.rm) .ds-copy{will-change:transform,opacity}

/* ---------- lecturas por software ---------- */
.mo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:48px}
.mc{background:rgba(255,227,233,.05);border:1px solid rgba(237,165,178,.16);border-radius:26px;padding:16px 16px 26px}
.mc-vis{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--deeper);margin-bottom:20px}
.mc h3{font-size:clamp(24px,2vw,32px);margin-top:8px}
.mc p{margin-top:10px;font-size:15px;line-height:1.55;color:var(--w70)}
.mc .dtag{color:var(--blush)}
.mc .more{display:inline-flex;margin-top:12px;color:var(--pink)}
.mc-face video{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.mc-voice{display:flex;align-items:center;justify-content:center}
.mc-voice svg{width:88%;height:60%;overflow:visible}
.mc-voice path{fill:none;stroke:var(--blush);stroke-width:2.2;stroke-linecap:round;vector-effect:non-scaling-stroke}
.mc-voice path.b{stroke:var(--pink);opacity:.6}
.mc-aud{display:grid;grid-template-columns:repeat(4,1fr);gap:5%;padding:7% 9%;align-content:center}
.mc-aud i{position:relative;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 38%,#6b4453 0 22%,transparent 23%),radial-gradient(ellipse at 50% 100%,#6b4453 0 45%,transparent 46%),#3a0b1d}
.mc-aud i b{position:absolute;right:-4%;top:-4%;width:30%;height:30%;border-radius:50%;background:var(--crimson);border:3px solid var(--deeper)}
.js:not(.rm) .mo-head{position:absolute;left:var(--pad);right:var(--pad);top:calc(64px + 6vh);max-width:1100px}
.js:not(.rm) .mo-head .l{font-size:clamp(34px,4.4vw,72px)}
.js:not(.rm) .mo-row{position:absolute;left:var(--pad);right:var(--pad);bottom:7vh;margin:0}
.js:not(.rm) .mc{will-change:transform,opacity;opacity:0}

/* ---------- mediciones ---------- */
.med-head .lead{margin-top:18px}
.med-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;margin-top:56px}
.med-list>li{display:flex;gap:14px;border-top:1px solid var(--w15);padding-top:16px}
.mk{font-size:13px;letter-spacing:.1em;color:var(--blush);padding-top:5px;min-width:26px}
.med-list h3{font-size:clamp(20px,1.6vw,26px);letter-spacing:-.02em}
.med-list p{margin-top:8px;font-size:15px;line-height:1.55;color:var(--w70)}
.mv{list-style:none;display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.mv li{font-size:12px;line-height:1.25;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05);color:#f4f4f2;white-space:nowrap}
.med-list small{display:inline-block;margin-top:10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--blush)}
.med-cap{display:none}
@media(max-width:900px){.med-list{grid-template-columns:1fr 1fr}}
.js:not(.rm) .med-head{position:absolute;left:var(--pad);top:calc(60px + 5vh);max-width:min(560px,36vw)}
.js:not(.rm) .med-head .l{font-size:clamp(34px,3.8vw,62px)}
.js:not(.rm) .med-list{position:absolute;left:var(--pad);bottom:max(7vh,calc(50vh - 420px));width:min(470px,34vw);margin:0;display:block}
.js:not(.rm) .med-list>li{border:0;padding:5px 0;opacity:.32;transition:opacity .35s}
.js:not(.rm) .med-list>li.on{opacity:1}
.js:not(.rm) .med-list>li p,.js:not(.rm) .med-list>li small,.js:not(.rm) .med-list>li .mv{display:none}
.js:not(.rm) .med-list>li.on p,.js:not(.rm) .med-list>li.on small{display:block}.js:not(.rm) .med-list>li.on .mv{display:flex}.js:not(.rm) .med-list>li.on small{margin-top:8px}
@media(max-height:820px){.js:not(.rm) .med-head .lead{display:none}}
.js:not(.rm) .med-list h3{font-size:clamp(19px,1.5vw,24px)}
.js:not(.rm) .med-cap{display:block;position:absolute;right:var(--pad);bottom:4vh;font-size:12px;letter-spacing:.06em;color:var(--w50)}
.mlbl{position:absolute;left:0;top:0;white-space:nowrap;font-size:13px;font-weight:500;padding:5px 11px;border-radius:999px;background:rgba(42,3,20,.8);border:1px solid rgba(237,165,178,.35);will-change:transform}

/* ---------- protocolos ---------- */
.pr-head .lead{margin-top:18px}
.pr-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:56px}
.pr-bar{display:none}
.pn{font-size:clamp(48px,5vw,80px);font-weight:500;letter-spacing:-.05em;line-height:1;color:var(--crimson)}
.pstep h3{font-size:clamp(24px,2.2vw,34px);margin-top:12px}
.pstep p{margin-top:12px;font-size:16px;line-height:1.6;color:var(--muted);max-width:34em}
.pr-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:48px}
.prc{width:100%;height:auto;border-radius:18px;box-shadow:0 30px 60px -30px rgba(66,6,31,.4)}
.prc-cap{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--g3)}
.js:not(.rm) .pr-head{position:absolute;left:var(--pad);top:calc(60px + 5vh);max-width:min(760px,60vw)}
.js:not(.rm) .pr-steps{position:absolute;left:var(--pad);bottom:max(8vh,calc(50vh - 380px));width:min(440px,32vw);height:min(44vh,380px);margin:0;display:block}
.js:not(.rm) .pr-bar{display:block;position:absolute;left:0;top:0;width:3px;height:100%;background:var(--g1);border-radius:3px}
.js:not(.rm) .pr-bar i{display:block;width:100%;background:var(--crimson);border-radius:3px;height:0}
.js:not(.rm) .pstep{position:absolute;left:30px;top:0;right:0}
.js:not(.rm) .pr-cards{position:absolute;right:var(--pad);bottom:max(8vh,calc(50vh - 380px));width:min(58vw,820px);aspect-ratio:1100/619;margin:0;display:block;perspective:1400px}
.js:not(.rm) .prc{position:absolute;inset:0;will-change:transform,opacity}
.js:not(.rm) .prc-cap{position:absolute;left:0;top:calc(100% + 14px)}

/* ---------- escenarios ---------- */
#escenarios .stick{background:transparent}
.esc-head .lead{margin-top:18px}
.esc-split{display:grid;gap:24px;margin-top:48px}
.esc{border-radius:28px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.esc img{width:100%;height:100%;object-fit:cover}
.esc-txt{padding:clamp(28px,4vw,64px)}
.esc h3{font-size:clamp(40px,4.6vw,76px);margin-top:12px}
.esc p{margin-top:16px;font-size:clamp(16px,1.25vw,19px);line-height:1.6;max-width:30em}
.esc-lab{background:var(--deeper);color:var(--off)}
.esc-lab img{filter:grayscale(1) contrast(1.05)}
.esc-lab p{color:var(--w70)}
.esc-lab .chips span{background:rgba(237,165,178,.14);color:var(--pink)}
.esc-campo{background:var(--photo);color:var(--deep)}
.esc-campo p{color:var(--muted)}
.esc-campo .eyebrow{color:var(--crimson)}
.esc-campo img{object-fit:contain}
.esc-vis{position:relative;width:100%;height:100%}.esc-vis img{width:100%;height:100%}
.esc-3d,.esc-gz{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}.esc-gz{z-index:1}.esc-3d{z-index:2}
.esc-vis.on img.gondola{filter:brightness(.6) saturate(.8)}
.esc-vis.on .esc-3d,.esc-vis.on .esc-gz{display:block}.esc-campo img.gondola{object-fit:cover}
.esc-campo .chips span{background:var(--pink);color:var(--crimson)}
.js:not(.rm) .esc-head{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);max-width:min(980px,84vw);z-index:3}
.js:not(.rm) .esc-head .l{font-size:clamp(40px,6vw,96px)}
.js:not(.rm) .esc-split{position:absolute;inset:0;margin:0;display:block}
.js:not(.rm) .esc{position:absolute;inset:0;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.js:not(.rm) .esc img,.js:not(.rm) .esc-vis{height:100vh}
.js:not(.rm) .esc-txt{padding:0 var(--pad);order:-1}
.js:not(.rm) .esc-campo{clip-path:inset(0 0 0 100%)}

/* ---------- contacto ---------- */
.contact{padding:clamp(110px,16vh,180px) 0 clamp(90px,14vh,150px)}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.ct-txt .xl{margin-top:16px;font-size:clamp(44px,5.6vw,92px)}
.ct-txt .lead{margin-top:22px}
.ct-mail{margin-top:26px;color:var(--w70)}
.ct-mail a{color:var(--pink);border-bottom:1px solid rgba(255,227,233,.4)}
.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:rgba(255,227,233,.06);border:1px solid rgba(237,165,178,.22);border-radius:28px;padding:clamp(22px,3vw,36px);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.ct-sub{grid-column:1/-1;color:var(--w70);font-size:15px;line-height:1.55}
.ct-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;letter-spacing:.04em;color:var(--w70)}
.ct-form .full{grid-column:1/-1}
.ct-form input,.ct-form select,.ct-form textarea{font:inherit;font-size:16px;color:var(--off);background:rgba(42,3,20,.55);border:1px solid rgba(237,165,178,.25);border-radius:14px;padding:13px 14px;outline:none;transition:border-color .2s}
.ct-form textarea{resize:vertical;min-height:96px}
.ct-form select option{color:#000}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{border-color:var(--blush)}
.ct-form .err input,.ct-form .err textarea{border-color:#ff9aae}
.ct-form .emsg{font-size:12px;color:#ffb3c1}
.ct-form .btn{justify-content:center}
.ct-ok{grid-column:1/-1}
.ct-ok h3{font-size:30px}
.ct-ok p{margin-top:10px;color:var(--w70)}
.foot{margin-top:0}

/* ---------- móvil ---------- */
@media(max-width:760px){
  .dsc .stick{--W:min(84vw,44vh)}
  .js:not(.rm) .lu-head{top:calc(54px + 3vh)}
  .js:not(.rm) .lu-head .lead{font-size:16px}
  .js:not(.rm) .lu-row{grid-template-columns:1fr 1fr;width:min(86vw,46vh);bottom:4vh;gap:4px 12px}
  .lu figcaption{font-size:12px;margin-top:0}
  .js:not(.rm) .ds-big{top:calc(54px + 3vh);font-size:clamp(32px,9vw,44px)}
  .js:not(.rm) .ds-copy{top:auto;bottom:4vh;right:var(--pad);width:auto;transform:none}
  .ds-copy h3{font-size:clamp(28px,8vw,38px)}
  .ds-copy p{font-size:15px;margin-top:10px}
  .js:not(.rm) .co{max-width:62vw}
  .co span{font-size:13px}
  .js:not(.rm) .ds-viz{left:var(--pad);right:var(--pad);width:auto;top:auto;bottom:calc(4vh + 150px);transform:none}
  .vz-cap{white-space:normal;font-size:11px}
  .js:not(.rm) .ds-specs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;bottom:3vh}
  .ds-specs dt{font-size:clamp(24px,7vw,32px)}
  .ds-specs dd{font-size:12px}
  .js:not(.rm) .mo-head{top:calc(54px + 3vh)}
  .js:not(.rm) .mo-head .l{font-size:clamp(28px,8vw,40px)}
  .js:not(.rm) .mo-row{grid-template-columns:1fr;bottom:4vh}
  .js:not(.rm) .mc{position:absolute;left:0;right:0;bottom:0}
  .mo-row{grid-template-columns:1fr}
  .js:not(.rm) .nl-mark{top:32%;width:86vw}
  .js:not(.rm) #top .hero-kicker{top:calc(32% + 30vw);font-size:12px;letter-spacing:.18em;padding:0 20px}
  .js:not(.rm) .hero-meta{display:none}
  .js:not(.rm) .manif-img{left:var(--pad);right:var(--pad);top:calc(54px + 3vh);width:auto;height:30vh;aspect-ratio:auto;transform:none}
  .js:not(.rm) .manif-txt{left:var(--pad);top:auto;bottom:6vh;transform:none}
  .js:not(.rm) .manif-txt .xl{font-size:clamp(34px,9vw,46px)}
  .manif-txt p{font-size:17px;margin-top:14px}
  .chips{margin-top:12px}.chips span{font-size:12px;padding:5px 10px}
  .js:not(.rm) .med-head{top:calc(54px + 3vh);right:var(--pad);max-width:none}
  .js:not(.rm) .med-head .lead{display:none}
  .js:not(.rm) .med-list{width:auto;right:var(--pad);bottom:5vh}
  .js:not(.rm) .med-list>li{display:none}
  .js:not(.rm) .med-list>li.on{display:flex}
  .mv li{font-size:11.5px;padding:4px 8px}
  .js:not(.rm) .med-cap{left:var(--pad);right:var(--pad);bottom:2vh;font-size:11px}
  .js:not(.rm) .pr-head{top:calc(54px + 3vh);right:var(--pad);max-width:none}
  .js:not(.rm) .pr-head .lead{display:none}
  .js:not(.rm) .pr-cards{left:var(--pad);right:var(--pad);width:auto;bottom:auto;top:calc(54px + 3vh + 120px)}
  .js:not(.rm) .prc-cap{display:none}
  .js:not(.rm) .pr-steps{width:auto;right:var(--pad);bottom:5vh;height:38vh}
  .pstep p{font-size:15px}
  .js:not(.rm) .esc{grid-template-columns:1fr;grid-template-rows:42vh 1fr;align-items:start}
  .js:not(.rm) .esc img,.js:not(.rm) .esc-vis{height:42vh}
  .js:not(.rm) .esc-txt{order:0;padding:24px var(--pad)}
  .esc h3{font-size:40px}
  .js:not(.rm) .esc-campo{clip-path:inset(100% 0 0 0)}
  .ct-grid{grid-template-columns:1fr}
  .ct-form{grid-template-columns:1fr}
}

/* alturas de las secciones fijadas */
.js:not(.rm) #top{--h:260vh}
.js:not(.rm) #manifiesto{--h:240vh}
.js:not(.rm) #instrumentacion{--h:300vh}
.js:not(.rm) .dsc{--h:560vh}
.js:not(.rm) #modulos{--h:260vh}
.js:not(.rm) #mediciones{--h:460vh}
.js:not(.rm) #protocolos{--h:440vh}
.js:not(.rm) #escenarios{--h:320vh}
#top .stick{display:flex;flex-direction:column;justify-content:flex-end;gap:32px}
.js:not(.rm) #top .stick{display:block}
#eq-tobii,#eq-tobii .stick,#eq-neon,#eq-neon .stick{background:#F1EFEE}

/* formulario: columnas que no desbordan, campos de igual alto, select con flecha propia */
.ct-form label{min-width:0}
.ct-form input,.ct-form select,.ct-form textarea{width:100%;box-sizing:border-box;min-width:0}
.ct-form input,.ct-form select{height:52px}
.ct-form select{-webkit-appearance:none;appearance:none;padding-right:42px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23EDA5B2'%3E%3Cpath d='M12 15.4l-6-6 1.4-1.4 4.6 4.6 4.6-4.6L18 9.4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:20px}
.ct-form select option{background:#fff;color:#2b2620}
.ct-txt{position:relative;z-index:1}

/* ---------- equipos en 3D ---------- */
.ds-3d{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.ds-gz{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}

/* varias vistas fotográficas del mismo equipo: se funden al desplazar */
.ds-plane img.v{position:absolute;inset:0;opacity:0;transition:none}
.ds-plane img.v[data-v=main]{position:relative;opacity:1}
.js:not(.rm) .ds-plane img.v{position:absolute;opacity:0}
.js:not(.rm) .ds-plane img.v[data-v=main]{opacity:1}

/* envoltorio escalable de las escenas fijas (pantallas bajas): mismo origen que .stick */
.js:not(.rm) .pin .stick > .fit{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.co .co-img{display:block;width:100%;max-width:220px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;margin:0 0 10px}
.co{max-width:min(300px,40vw)}
/* electrodo visto desde adentro: disco que se da vuelta junto a la indicación */
.co-flip{position:absolute;left:0;top:0;width:min(240px,17vw);aspect-ratio:1;border-radius:50%;background-size:cover;background-position:center;border:4px solid #fff;box-shadow:0 30px 60px -24px rgba(66,6,31,.55);z-index:5;pointer-events:none;opacity:0;will-change:transform,opacity;backface-visibility:hidden}
/* pantallas anchas y bajas: el gráfico de mediciones y las tarjetas de protocolos no deben tocar el texto */
@media (min-width:761px) and (max-height:920px){
  .js:not(.rm) .pr-cards{width:min(50vw,700px)}
  .js:not(.rm) .med-list{width:min(430px,30vw)}
}
.co-3d{position:absolute;left:0;top:0;width:min(62vh,40vw);aspect-ratio:1;z-index:5;pointer-events:none;opacity:0;will-change:transform,opacity}
.co-3d.big{width:min(62vh,40vw)}
/* fotos de detalle (recortes de fotos reales): borde fundido al fondo */
.js:not(.rm) .ds-plane img.v[data-v=a],.js:not(.rm) .ds-plane img.v[data-v=b]{-webkit-mask-image:radial-gradient(closest-side,#000 52%,transparent 98%);mask-image:radial-gradient(closest-side,#000 52%,transparent 98%)}
@media(max-width:760px){.co-3d,.co-3d.big{width:min(72vw,34vh)}}
/* ultrapanorámicos: la columna de texto de Escenarios ocupa media pantalla; el relleno grande solo va del lado exterior */
@media(min-width:1800px){.js:not(.rm) .esc-txt{padding:0 96px 0 var(--pad)}}
