/* NK page, module 4: the route selector, the ring and the expansion
   dialog. Generated by _build/extrae-nk.py from
   nk-final/assets/app5.css; do not edit by hand. */
.srap .fl-lg{display:inline-flex;align-items:center;gap:.6em;font-size:.82rem;color:var(--text-soft)}
.srap .fl-lg b{font-family:var(--font-display);font-weight:700;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink)}
.srap .fl-lg .ic{width:1.3rem;height:1.3rem;padding:.3rem;border-radius:8px;box-sizing:content-box}
.srap .fl-lg.g .ic{background:var(--glow-soft);border:1px solid rgba(34,211,238,.55);
  color:var(--ink-deep)}
.srap .fl-lg.h .ic{background:#fff;border:1px solid var(--border);color:var(--text-soft)}
.srap .rt{margin-top:clamp(1.4rem,2.6vw,2rem)}
.srap .rt-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));
  gap:1rem 1.4rem;padding:1.3rem 1.4rem;background:#fff;border:1px solid var(--border);
  border-radius:var(--r-lg);box-shadow:var(--sh-soft)}
.srap .rt-lbl{font-family:var(--font-display);font-weight:700;font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-soft);margin:0 0 .6rem}
.srap .rt-ops{display:flex;flex-wrap:wrap;gap:.4rem}
.srap .rt-op{font-family:var(--font-display);font-weight:700;font-size:.8rem;color:var(--ink);
  padding:.48em 1em;border:1px solid var(--border);border-radius:var(--r-pill);background:#fff;
  cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}
.srap .rt-op:hover{border-color:var(--glow)}
.srap .rt-op.on{background:var(--ink-deep);border-color:var(--ink-deep);color:#fff}
.srap .rt-flujo{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.4rem 0 0;padding:0}
.srap .rt-paso{display:inline-flex;align-items:center;gap:.55em;padding:.6em 1em;border-radius:var(--r-pill);
  border:1px solid var(--border);background:#fff;font-family:var(--font-display);font-weight:700;
  font-size:.84rem;color:var(--ink-deep)}
.srap .rt-paso .ic{width:1.15rem;height:1.15rem;color:var(--text-soft)}
.srap .rt-paso.g{border-color:rgba(34,211,238,.55);background:var(--glow-soft)}
.srap .rt-paso.g .ic{color:var(--ink-deep)}
.srap .rt-sep{color:var(--border);font-size:1.1rem;line-height:1}
.srap .rt-salto{font-size:.78rem;color:var(--text-soft);font-style:italic;padding:.4em .2em}
.srap .rt-escala{margin:0 0 1.5rem;padding:clamp(1.3rem,2.6vw,1.8rem) clamp(1.4rem,2.8vw,2rem);
  border:1px solid rgba(34,211,238,.45);border-radius:var(--r-lg);
  background:linear-gradient(120deg,var(--glow-soft),#fff 68%);box-shadow:var(--sh-card)}
.srap .rt-escala-lbl{font-family:var(--font-display);font-weight:700;
  font-size:clamp(.94rem,1.4vw,1.06rem);line-height:1.45;color:var(--ink-deep);margin:0}
.srap .rt-escala-fig{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem 1.6rem;
  margin:1.3rem 0 1rem}
.srap .rt-uno,.srap .rt-muchos{display:flex;align-items:flex-end;gap:.45rem;flex-wrap:wrap}
.srap .rt-uno b,.srap .rt-muchos b{font-family:var(--font-display);font-weight:700;font-size:.86rem;
  letter-spacing:.02em;color:var(--ink);margin-left:.45rem;align-self:center}
.srap .rt-vaso{width:1.15rem;height:3.3rem;border-radius:4px 4px 6px 6px;background:#fff;
  border:1.5px solid rgba(34,211,238,.65);
  box-shadow:inset 0 -1.1rem 0 rgba(34,211,238,.22),var(--sh-soft)}
.srap .rt-muchos .rt-vaso{width:.9rem;height:2.4rem;
  box-shadow:inset 0 -.8rem 0 rgba(34,211,238,.22),var(--sh-soft)}
.srap .rt-flecha{font-family:var(--font-display);font-weight:700;font-size:.86rem;
  color:var(--ink);align-self:center}
.srap .rt-escala-pie{margin:0;font-size:.76rem;color:var(--text-soft)}
.srap .rt-leyenda{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.4rem}
@media (prefers-reduced-motion:reduce){
.srap .rt-op{transition:none}
}
.srap .rt-grupo.oculto{visibility:hidden}
.srap .vv .rt-selector{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1080px){
.srap .vv .rt-selector{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
.srap .vv .rt-selector{grid-template-columns:minmax(0,1fr)}
.srap .vv .rt-grupo.oculto{display:none}
}
.srap .vv{margin-top:clamp(1.4rem,2.6vw,2rem)}
.srap .vv-cuadro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  gap:clamp(1.2rem,3vw,2.4rem);align-items:start;margin-top:1.6rem}
@media (max-width:900px){
.srap .vv-cuadro{grid-template-columns:1fr}
}
.srap .vv-anillo svg{width:100%;height:auto;display:block}
.srap .vv-num{font-family:var(--font-display);font-weight:800;font-size:13px;fill:var(--ink-deep)}
.srap .vv-lbl{font-family:var(--font-display);font-weight:700;font-size:12px;fill:var(--ink-deep)}
.srap .vv-lmat{font-family:var(--font-display);font-weight:700;font-size:10.5px;fill:var(--text-soft)}
.srap .vv-ext{font-family:var(--font-display);font-weight:800;font-size:11px;fill:var(--accent);
  letter-spacing:.06em;text-transform:uppercase}
.srap .vv-lista{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.srap .vv-paso{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:center;
  min-height:3.6rem;
  background:#fff;border:1px solid var(--border);border-radius:12px;padding:.7rem .9rem}
.srap .vv-paso.g{border-color:var(--glow);background:var(--glow-soft)}
.srap .vv-n{font-family:var(--font-display);font-weight:800;font-size:.72rem;color:var(--text-soft);
  letter-spacing:.08em}
.srap .vv-cuerpo b{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--ink-deep);display:block}
.srap .vv-mat{display:block;font-family:var(--font-display);font-weight:700;font-size:.72rem;
  letter-spacing:.05em;color:var(--text-soft);margin-top:.1rem}
.srap .vv-esc{display:block;margin-top:.25rem;font-size:.72rem;line-height:1.5;color:var(--text-soft);font-style:italic}
.srap .vv-fig{display:flex;align-items:flex-end;gap:.22rem;margin:.5rem 0 .35rem}
.srap .vv-v{width:.62rem;height:1.3rem;border:1.5px solid var(--ink);border-radius:3px;background:#fff;flex:none}
.srap .vv-v.g{height:1.95rem;border-color:var(--glow)}
.srap .vv-fl{color:var(--text-soft);font-weight:700;padding:0 .25rem;font-size:.8rem}
.srap .vv-cap{display:block;font-size:.7rem;line-height:1.5;color:var(--text-soft)}
.srap .vv-src{display:block;margin-top:.35rem;font-size:.68rem;line-height:1.5;color:var(--text-soft);font-style:italic}
.srap .vv-ref{display:inline-block;margin-top:.4rem;font-family:var(--font-display);font-weight:700;
  font-size:.66rem;letter-spacing:.04em;color:var(--ink);background:#eef4fb;text-decoration:none;
  border-radius:var(--r-pill);padding:.2em .7em}
.srap .vv-ref:hover{background:var(--glow-soft);color:var(--ink-deep)}
@media (max-width:760px){
.srap .vv-lbl,.srap .vv-lmat,.srap .vv-ext{display:none}
.srap .vv-num{font-size:20px}
}
.srap .vv .rt-leyenda .fl-lg i{width:.85rem;height:.85rem;border-radius:50%;border:2px solid var(--border);
  background:#fff;display:inline-block;flex:none}
.srap .vv .rt-leyenda .fl-lg.g i{border-color:var(--glow);background:var(--glow-soft)}
.srap .cita{color:inherit;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  text-decoration-color:rgba(104,115,138,.55);
  transition:color .2s var(--ease), text-decoration-color .2s var(--ease);}
.srap .cita:hover,.srap .cita:focus-visible{color:var(--ink); text-decoration-color:currentColor}
.srap .sp-ink .cita{text-decoration-color:rgba(255,255,255,.42)}
.srap .sp-ink .cita:hover,.srap .sp-ink .cita:focus-visible{color:#fff; text-decoration-color:#fff}
.srap .refs a{color:inherit}
.srap .xp{display:grid;grid-template-columns:auto auto minmax(0,1fr);
  column-gap:clamp(1rem,2.2vw,1.9rem);align-items:start;margin:0}
.srap .xp-fila{grid-row:1;align-self:end;display:flex;align-items:flex-end;gap:.55rem}
.srap .xp-nota{grid-row:2}
.srap .xp-pie{grid-row:3;grid-column:1/-1}
.srap .xp-pieza{display:flex;flex-direction:column;align-items:center;gap:.34rem;flex:none}
.srap .xp-rot{font-family:var(--font-display);font-weight:700;font-size:.68rem;
  letter-spacing:.01em;color:var(--ink);white-space:nowrap}
.srap .xp-hueco{display:block}
.srap .xp-p1 .xp-hueco{width:88px}
.srap .xp-p1 .ph{aspect-ratio:3/4}
.srap .xp-p3 .xp-hueco{width:60px}
.srap .xp-p3 .ph{aspect-ratio:2/5}
.srap .xp-p3::after{content:"";display:block;height:.95rem}
.srap .xp-rejilla{display:grid;grid-template-columns:repeat(4,58px);gap:6px}
.srap .xp-c{display:block}
.srap .xp-rejilla .ph{aspect-ratio:4/3}
.srap .xp .ph{width:100%;height:auto;border-radius:6px}
.srap .xp .ph svg{width:22px;height:22px}
.srap .xp-fl{position:relative;flex:none;width:26px;height:1.5px;background:var(--border);
  margin-bottom:1.35rem}
.srap .xp-fl::after{content:"";position:absolute;right:-1px;top:50%;width:7px;height:7px;
  border-top:1.5px solid var(--border);border-right:1.5px solid var(--border);
  transform:translateY(-50%) rotate(45deg)}
.srap .xp-nota{position:relative;padding:.85rem .8rem 0 0;font-size:.7rem;line-height:1.55;
  color:var(--text-soft)}
.srap .xp-nota::before{content:"";position:absolute;left:0;top:.1rem;width:1px;height:.6rem;
  background:var(--border)}
.srap .xp-pie{display:block;margin-top:.7rem;font-size:.66rem;line-height:1.55;
  color:var(--text-soft);font-style:italic}
@media (max-width:640px){
.srap .xp{grid-template-columns:1fr}
.srap .xp-fila{grid-row:auto}
.srap .xp-nota{grid-row:auto;padding-right:0}
.srap .xp-pie{grid-row:auto;grid-column:1}
}
.srap .xm-card{position:relative;cursor:pointer;transition:box-shadow .2s,transform .2s}
.srap .xm-card:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(14,29,65,.10)}
.srap .xm-card:focus-visible{outline:3px solid var(--ink-deep);outline-offset:3px}
.srap .xm-card:hover .xm-tr{background:var(--ink)}
.srap .xm-tr{position:absolute;right:clamp(.8rem,1.6vw,1.15rem);top:50%;
  transform:translateY(-50%);display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;pointer-events:none;
  background:var(--ink-deep);color:#fff;transition:background .2s}
.srap .xm-tr::after{content:"";position:absolute;inset:0;border-radius:50%;
  border:1.5px solid var(--ink-deep);opacity:0;
  animation:xmAro 3.6s ease-out 1.4s 5}
.srap .xm-tr svg{width:18px;height:18px;position:relative}
.srap .xm-card:hover .xm-tr::after{animation-play-state:paused}
.srap .xm-tr.visto::after{display:none}
@keyframes xmAro{0%{transform:scale(1);opacity:.32}
  60%,100%{transform:scale(1.34);opacity:0}}
@media(prefers-reduced-motion:reduce){
.srap .xm-tr::after{animation:none;opacity:.3}
.srap .xm-card:hover{transform:none}
}
@media(max-width:560px){
.srap .xm-tr{width:36px;height:36px;top:.9rem;transform:none}
}
.srap .xm{border:0;padding:0;overflow:hidden;border-radius:22px;
  width:min(1160px,95vw);max-height:min(90vh,940px);
  background:#fff;color:var(--text);
  box-shadow:0 50px 120px rgba(6,16,40,.42),0 0 0 1px rgba(14,29,65,.06)}
.srap .xm::backdrop{background:rgba(9,21,49,.62);backdrop-filter:blur(3px)}
.srap .xm-cab{position:relative;padding:clamp(1.5rem,3.2vw,2.2rem) clamp(1.4rem,3.4vw,2.4rem)
    clamp(1.3rem,2.8vw,1.9rem);
  background:linear-gradient(135deg,#1a3364 0%,#0E1D41 52%,#091531 100%)}
.srap .xm-cab::after{content:"";position:absolute;left:clamp(1.4rem,3.4vw,2.4rem);
  bottom:clamp(1.3rem,2.8vw,1.9rem);width:46px;height:3px;border-radius:3px;
  background:var(--accent)}
.srap .xm-t{margin:0 0 .55rem;display:flex;align-items:baseline;gap:.85rem;
  font-family:var(--font-display);font-weight:700;color:#fff;
  font-size:clamp(1.45rem,3vw,2.05rem);line-height:1.1;letter-spacing:-.025em}
.srap .xm-n{font-size:.72rem;font-weight:800;letter-spacing:.22em;
  color:rgba(255,255,255,.5);transform:translateY(-.35em)}
.srap .xm-x{position:absolute;top:clamp(.9rem,2vw,1.3rem);right:clamp(.9rem,2vw,1.3rem);
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;
  cursor:pointer;transition:background .2s}
.srap .xm-x svg{width:18px;height:18px}
.srap .xm-x:hover{background:rgba(255,255,255,.18)}
.srap .xm-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.srap .xm-cuerpo{--xm-pad:clamp(1.4rem,3.4vw,2.4rem);
  padding:clamp(1.6rem,3.4vw,2.6rem) var(--xm-pad) clamp(1.2rem,2.4vw,1.6rem);
  overflow:auto}
.srap .xm-cuerpo .xp-img{display:block;width:100%;height:auto}
.srap .xm-cuerpo .xp-p1 .xp-hueco{width:clamp(128px,13vw,178px)}
.srap .xm-cuerpo .xp-img--v{aspect-ratio:1/1;object-fit:contain}
.srap .xm-cuerpo .xp-rejilla{grid-template-columns:repeat(4,clamp(74px,7.4vw,104px));gap:10px}
.srap .xm-cuerpo .xp-img--p{aspect-ratio:4/3;object-fit:cover;object-position:center 53%}
.srap .xm-cuerpo .xp-p3 .xp-hueco{width:clamp(104px,10.4vw,146px)}
.srap .xm-cuerpo .xp-img--i{aspect-ratio:650/886;object-fit:contain}
.srap .xm-cuerpo .xp-rot{font-size:.8rem;color:var(--ink-deep);letter-spacing:.01em}
.srap .xm-cuerpo .xp-fila{align-items:center;gap:.9rem;justify-content:space-between}
.srap .xm-cuerpo .xp-fl{flex:1 1 auto;width:auto;min-width:44px;height:2px;
  margin:0 0 1.6rem;background:linear-gradient(90deg,#c9d6e6,#9db0c8)}
.srap .xm-cuerpo .xp-fl::before{content:"";position:absolute;left:-1px;top:50%;
  width:7px;height:7px;border-radius:50%;background:#c9d6e6;transform:translateY(-50%)}
.srap .xm-cuerpo .xp-fl::after{width:9px;height:9px;border-width:2px;border-color:#9db0c8}
.srap .xm-cuerpo .xp-pieza{padding-bottom:.2rem}
.srap .xm-cuerpo .xp-nota{position:relative;max-width:32ch;font-size:.86rem;
  line-height:1.6;color:var(--text);padding-top:1.05rem;margin-top:.9rem;
  border-top:1px solid var(--border)}
.srap .xm-cuerpo .xp-nota::before{content:"";position:absolute;left:0;top:-1px;
  width:26px;height:1px;background:var(--ink-deep)}
.srap .xm-cuerpo .xp-pie{margin:clamp(1.3rem,2.6vw,1.9rem) calc(-1 * var(--xm-pad))
    calc(-1 * clamp(1.2rem,2.4vw,1.6rem));
  padding:1rem var(--xm-pad);background:var(--line);border-top:1px solid var(--border);
  font-size:.74rem;color:var(--text-soft)}
.srap .xm{transition:opacity .26s ease,transform .26s cubic-bezier(.2,.7,.3,1)}
.srap .xm::backdrop{transition:opacity .26s ease}
.srap .xm.xm--entra,.srap .xm.xm--sale{opacity:0;transform:translateY(10px)}
.srap .xm.xm--entra::backdrop,.srap .xm.xm--sale::backdrop{opacity:0}
@media(prefers-reduced-motion:reduce){
.srap .xm,.srap .xm::backdrop{transition:none}
.srap .xm.xm--entra,.srap .xm.xm--sale{opacity:1;transform:none}
}
@media(max-width:640px){
.srap .xm{width:100vw;max-width:100vw;max-height:92vh;border-radius:18px 18px 0 0;margin:auto auto 0}
.srap .xm-cuerpo .xp{grid-template-columns:1fr}
.srap .xm-cuerpo .xp-fila{grid-row:auto;align-self:start}
.srap .xm-cuerpo .xp-nota{grid-row:auto;max-width:none;padding-right:0;padding-bottom:.4rem}
.srap .xm-cuerpo .xp-pie{grid-row:auto;grid-column:1}
}
.srap .m3-cards--logos .m3c{flex-basis:calc(20% - .8rem)}
@media(max-width:1180px){
.srap .m3-cards--logos .m3c{flex-basis:calc(25% - .75rem)}
}
@media(max-width:1020px){
.srap .m3-cards--logos .m3c{flex-basis:calc(33.333% - .7rem)}
}
@media(max-width:720px){
.srap .m3-cards--logos .m3c{flex-basis:calc(50% - .5rem)}
}
@media(max-width:460px){
.srap .m3-cards--logos .m3c{flex-basis:calc(50% - .6rem);min-width:0}
.srap .m3-cards--logos .m3c-t{font-size:.78rem}
}
.srap .m3-cards--logos .m3c-logo{min-height:82px}
.srap .m3-cards--logos .m3c-logo img{max-height:74px;max-width:96%}
@media(max-width:640px){
.srap .m3-cards--logos .m3c-logo img{max-height:60px}
}
.srap .m3-cards--logos .m3c-logo img[src*="baylor-college"]{max-height:88px;max-width:100%}
.srap .m3-cards--logos .m3c-logo img[src*="ucl"]{max-width:62%}

/* --- States declared in full, so Elementor's kit cannot steal them --- */
.srap .rt-op:hover,.srap .rt-op:focus-visible{
  color:var(--ink);background:#fff;border-color:var(--glow)}
.srap .rt-op.on:hover,.srap .rt-op.on:focus-visible{
  color:#fff;background:var(--ink-deep);border-color:var(--ink-deep)}
/* The kit also forces `padding:20px 32px` and `font-size:22px` on every
   <button>. On the close cross that stretched it to 64x44 and left its <svg>
   0px wide: the icon vanished. The box is declared in full. */
.srap .xm-x{width:44px;height:44px;padding:0;min-width:0;font-size:13.3333px;flex:none}
.srap .xm-x svg{width:18px;height:18px;flex:none}
.srap .xm-x:hover,.srap .xm-x:focus-visible{color:#fff;background:rgba(255,255,255,.18)}
/* --- Product cards with the tall frame (NK's M5) ------------------------
   Elementor sets `margin:0` on EVERY <figure> with a (0,4,1) selector
   —`.elementor .elementor-widget:not(...):not(...) figure`— and takes the gap
   between the photo and the name with it. The house does not use !important:
   repeat the class until it outweighs, which lands at (0,5,0). */
.srap .cats--fotos .cat-shot.cat-shot.cat-shot.cat-shot{
  height:196px;margin:0 0 .9rem}
.srap .cats--fotos .cat-shot img{max-height:180px;max-width:94%}
@media(max-width:900px){
  .srap .cats--fotos .cat-shot.cat-shot.cat-shot.cat-shot{height:170px}
  .srap .cats--fotos .cat-shot img{max-height:156px}
}
/* The bag is the only landscape one and was running wide. */
.srap .cats--fotos .cat-shot img[src*="processing-bag"]{max-width:76%}

/* The «+» that opens the detail, for the same reason. */
.srap .xm-tr{padding:0;min-width:0;font-size:13.3333px}
.srap .xm-tr svg{flex:none}
.srap .xm-tr:hover,.srap .xm-tr:focus-visible{color:#fff}
