/*
 * NUSIM Stories para Elementor.
 * Todos los selectores quedan contenidos en .nusim-story para evitar colisiones
 * con el tema, Elementor y otros plugins.
 */
.nusim-story {
  width: 100%;
  max-width: none;
  min-width: 0;
  isolation: isolate;
  overflow: visible;
  -webkit-font-smoothing: antialiased;
}

.nusim-story :where(h1, h2, h3, p, figure) {
  margin-block: 0;
}

.nusim-story :where(h1, h2, h3, p) {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: inherit;
  letter-spacing: normal;
  line-height: inherit;
  text-transform: none;
}

.nusim-story :where(img, video) {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.nusim-story :where(a) {
  background: none;
  box-shadow: none;
}
.nusim-story {
      --paper: #f2f4f6;
      --surface: #ffffff;
      --ink: #1a1a1a;
      --charcoal: #2c3338;
      --muted: #5f6467;
      --line: #d7dbde;
      --soft-line: rgba(44, 51, 56, .14);
      --accent: #f4951b;
      --max: 1440px;
      --gutter: clamp(24px, 6.25vw, 96px);
      --body: "Roboto", "Helvetica Neue", Arial, sans-serif;
      --display: "Inter", "Helvetica Neue", Arial, sans-serif;
    }

    .nusim-story, .nusim-story * { box-sizing: border-box; }
    .nusim-story { scroll-behavior: smooth; }
    .nusim-story {
      margin: 0;
      background: var(--surface);
      color: var(--ink);
      font-family: var(--body);
      font-size: 16px;
      line-height: 1.58;
      text-rendering: optimizeLegibility;
    }
    .nusim-story figure { margin: 0; }
    .nusim-story img, .nusim-story video { display: block; max-width: 100%; }
    .nusim-story a { color: inherit; text-decoration: none; }
    .nusim-story button { font: inherit; }
    .nusim-story :focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
    .nusim-story section[id] { scroll-margin-top: 84px; }

    .nusim-story .site-header {
      position: sticky;
      top: 0;
      z-index: 20;
      height: 68px;
      background: rgba(255, 255, 255, .96);
      border-bottom: 1px solid var(--soft-line);
      backdrop-filter: blur(12px);
    }
    .nusim-story .site-header__in {
      width: min(var(--max), 100%);
      height: 100%;
      margin: 0 auto;
      padding: 0 var(--gutter);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }
    .nusim-story .brand {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      color: var(--ink);
      font-family: var(--display);
      font-size: 1.46rem;
      font-weight: 800;
      letter-spacing: -.105em;
      line-height: 1;
    }
    .nusim-story .brand::after {
      width: 13px;
      height: 5px;
      margin: 6px 0 0 1px;
      content: "";
      background: var(--accent);
      transform: skewX(-28deg);
    }
    .nusim-story .site-nav {
      display: flex;
      align-items: center;
      gap: clamp(16px, 2.4vw, 34px);
      color: var(--charcoal);
      font-family: var(--display);
      font-size: .75rem;
      font-weight: 650;
      letter-spacing: .015em;
    }
    .nusim-story .site-nav a { transition: color .18s ease; }
    .nusim-story .site-nav a:hover { color: var(--accent); }
    .nusim-story .site-nav .site-link { color: var(--muted); }

    /* Un ancestro con overflow rompe position: sticky en algunos wrappers de Elementor/The7. */
    .nusim-story .page { overflow: visible; }
    .nusim-story .frame {
      width: min(var(--max), 100%);
      margin: 0 auto;
    }
    .nusim-story .eyebrow {
      margin: 0 0 18px;
      color: var(--accent);
      font-family: var(--display);
      font-size: .71rem;
      font-weight: 760;
      letter-spacing: .075em;
      line-height: 1.2;
      text-transform: uppercase;
    }
    .nusim-story .section-title {
      max-width: 13ch;
      margin: 0;
      font-family: var(--display);
      font-size: clamp(2.15rem, 3.8vw, 4.2rem);
      font-weight: 640;
      letter-spacing: -.075em;
      line-height: .98;
    }
    .nusim-story .body-copy {
      max-width: 63ch;
      margin: 0;
      color: var(--muted);
      font-size: clamp(1rem, 1.2vw, 1.12rem);
      line-height: 1.72;
    }

    .nusim-story .hero {
      display: grid;
      grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
      height: clamp(680px, calc(100svh - 16px), 820px);
      background: var(--paper);
    }
    .nusim-story .hero__copy {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      min-height: 0;
      padding: clamp(48px, 8vw, 120px) clamp(28px, 6.25vw, 96px) clamp(36px, 5vw, 76px);
      background: var(--ink);
      color: var(--surface);
    }
    .nusim-story .hero__top { max-width: 575px; }
    .nusim-story .hero__copy .eyebrow { margin-bottom: 28px; color: var(--accent); }
    .nusim-story .hero__title {
      max-width: 9.6ch;
      margin: 0;
      font-family: var(--display);
      font-size: clamp(3.05rem, 5.15vw, 5.5rem);
      font-weight: 610;
      letter-spacing: -.09em;
      line-height: .9;
    }
    .nusim-story .hero__title-model {
      display: block;
      margin-top: 21px;
      color: var(--accent);
      font-size: .33em;
      font-weight: 690;
      letter-spacing: -.035em;
      line-height: 1.05;
    }
    .nusim-story .hero__subtitle {
      max-width: 31ch;
      margin: 29px 0 0;
      color: rgba(255, 255, 255, .72);
      font-size: clamp(1.05rem, 1.35vw, 1.26rem);
      line-height: 1.53;
    }
    .nusim-story .hero__facts {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 22px;
      align-items: end;
      padding-top: 28px;
      border-top: 1px solid rgba(255, 255, 255, .25);
    }
    .nusim-story .hero__fact-label {
      display: block;
      margin-bottom: 7px;
      color: rgba(255, 255, 255, .5);
      font-family: var(--display);
      font-size: .68rem;
      font-weight: 680;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .nusim-story .hero__fact-value {
      max-width: 25ch;
      margin: 0;
      font-family: var(--display);
      font-size: .86rem;
      font-weight: 590;
      line-height: 1.35;
    }
    .nusim-story .hero__scroll {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 16px;
      border: 1px solid rgba(255, 255, 255, .42);
      color: rgba(255, 255, 255, .9);
      font-family: var(--display);
      font-size: .72rem;
      font-weight: 650;
      letter-spacing: .04em;
      white-space: nowrap;
      transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
    }
    .nusim-story .hero__scroll:hover { border-color: var(--surface); background: var(--surface); color: var(--ink); }
    .nusim-story .hero__scroll:active { transform: translateY(1px); }
    .nusim-story .hero__visual {
      position: relative;
      min-height: 0;
      overflow: hidden;
      background: #c9d8e8;
    }
    .nusim-story .hero__visual video,
    .nusim-story .hero__visual img,
    .nusim-story .hero__picture {
      width: 100%;
      height: 100%;
    }
    .nusim-story .hero__picture { display: block; }
    .nusim-story .hero__visual video,
    .nusim-story .hero__visual img {
      object-fit: cover;
      object-position: 50% 59%;
    }
    .nusim-story .hero__visual video { position: absolute; inset: 0; z-index: 2; }
    .nusim-story .hero__visual img { position: relative; z-index: 1; }
    .nusim-story .hero__visual.is-fallback video { display: none; }
    .nusim-story .hero__caption {
      position: absolute;
      z-index: 3;
      right: clamp(20px, 3vw, 48px);
      bottom: clamp(18px, 3vw, 42px);
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin: 0;
      padding: 10px 12px;
      background: rgba(255, 255, 255, .94);
      color: var(--ink);
      font-family: var(--display);
      font-size: .69rem;
      font-weight: 650;
      letter-spacing: .02em;
    }
    .nusim-story .hero__caption::before {
      width: 8px;
      height: 8px;
      content: "";
      background: var(--accent);
    }

    .nusim-story .intro { background: var(--paper); }
    .nusim-story .intro__grid {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(260px, .62fr);
      gap: clamp(44px, 9vw, 154px);
      padding: clamp(84px, 10vw, 148px) var(--gutter);
      align-items: end;
    }
    .nusim-story .intro__copy .body-copy { margin-top: 34px; }
    .nusim-story .result {
      padding: 25px 0 0;
      border-top: 3px solid var(--accent);
    }
    .nusim-story .result__label {
      margin: 0 0 16px;
      color: var(--muted);
      font-family: var(--display);
      font-size: .7rem;
      font-weight: 720;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .nusim-story .result__text {
      max-width: 14ch;
      margin: 0;
      font-family: var(--display);
      font-size: clamp(1.7rem, 2.45vw, 2.65rem);
      font-weight: 620;
      letter-spacing: -.065em;
      line-height: 1.03;
    }

    .nusim-story .campaign {
      padding: 0 var(--gutter) clamp(100px, 11vw, 160px);
      background: var(--paper);
    }
    .nusim-story .campaign__figure { width: 100%; max-width: var(--max); margin: 0 auto; }
    .nusim-story .campaign__image {
      width: 100%;
      aspect-ratio: 1.85 / 1;
      object-fit: cover;
      object-position: 50% 62%;
      background: #dce6f0;
    }
    .nusim-story .campaign__caption {
      display: grid;
      grid-template-columns: minmax(150px, .35fr) minmax(0, 1fr);
      gap: 32px;
      padding: 18px 0 0;
      border-top: 1px solid var(--line);
    }
    .nusim-story .campaign__caption p { margin: 0; }
    .nusim-story .campaign__caption-label {
      color: var(--muted);
      font-family: var(--display);
      font-size: .69rem;
      font-weight: 680;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .nusim-story .campaign__caption-copy {
      max-width: 65ch;
      color: var(--charcoal);
      font-size: .96rem;
      line-height: 1.6;
    }

    @media (min-width: 761px) {
      .nusim-story .campaign {
        display: flex;
        justify-content: center;
      }
      .nusim-story .campaign__figure {
        width: min(100%, 1120px);
        margin: 0;
      }
    }

    .nusim-story .views { background: var(--ink); color: var(--surface); }
    .nusim-story .views__head {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(260px, .62fr);
      gap: clamp(44px, 9vw, 154px);
      padding: clamp(84px, 10vw, 142px) var(--gutter) 68px;
      align-items: end;
    }
    .nusim-story .views__head .section-title { max-width: 11ch; }
    .nusim-story .views__head-copy {
      max-width: 35ch;
      margin: 0;
      color: rgba(255, 255, 255, .64);
      font-size: 1.02rem;
      line-height: 1.65;
    }
    .nusim-story .views__layout {
      display: grid;
      grid-template-columns: minmax(275px, .57fr) minmax(0, 1.43fr);
      gap: clamp(36px, 8vw, 132px);
      padding: 0 var(--gutter) clamp(90px, 10vw, 146px);
      overflow: visible;
    }
    .nusim-story .view-steps { padding: 8px 0 42px; }
    .nusim-story .view-step {
      position: relative;
      min-height: clamp(520px, 68vh, 720px);
      padding: 0 0 36px 43px;
      border-left: 1px solid rgba(255, 255, 255, .25);
    }
    .nusim-story .view-step:last-child { min-height: clamp(420px, 56vh, 600px); padding-bottom: 0; }
    .nusim-story .view-step::before {
      position: absolute;
      top: 1px;
      left: -6px;
      width: 11px;
      height: 11px;
      content: "";
      border: 2px solid var(--ink);
      background: rgba(255, 255, 255, .35);
    }
    .nusim-story .view-step.is-active::before { background: var(--accent); }
    .nusim-story .view-step__number {
      display: block;
      margin-bottom: 15px;
      color: rgba(255, 255, 255, .45);
      font-family: var(--display);
      font-size: .68rem;
      font-weight: 720;
      letter-spacing: .08em;
    }
    .nusim-story .view-step h3 {
      max-width: 12ch;
      margin: 0;
      font-family: var(--display);
      font-size: clamp(1.7rem, 2.1vw, 2.35rem);
      font-weight: 610;
      letter-spacing: -.065em;
      line-height: 1.02;
    }
    .nusim-story .view-step p {
      max-width: 31ch;
      margin: 16px 0 0;
      color: rgba(255, 255, 255, .63);
      font-size: .96rem;
      line-height: 1.62;
    }
    .nusim-story .view-stage {
      position: sticky;
      top: 152px;
      align-self: start;
      overflow: hidden;
      aspect-ratio: 16 / 10;
      background: #101010;
    }
    .nusim-story .view-stage__video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0;
      transition: opacity .4s ease;
    }
    .nusim-story .view-stage__video.is-active { opacity: 1; }
    .nusim-story .view-stage__overlay {
      position: absolute;
      z-index: 5;
      right: 0;
      bottom: 0;
      left: 0;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 20px;
      padding: 20px 22px;
      background: linear-gradient(transparent, rgba(0, 0, 0, .72));
    }
    .nusim-story .view-stage__status {
      margin: 0;
      color: rgba(255, 255, 255, .93);
      font-family: var(--display);
      font-size: .76rem;
      font-weight: 650;
      line-height: 1.25;
    }
    .nusim-story .view-mobile-media { display: none; }

    .nusim-story .engineering { background: var(--surface); }
    .nusim-story .engineering__grid {
      display: grid;
      grid-template-columns: minmax(0, .92fr) minmax(360px, .92fr);
      gap: clamp(45px, 8.5vw, 132px);
      padding: clamp(96px, 11vw, 162px) var(--gutter);
      align-items: start;
      overflow: visible;
    }
    .nusim-story .engineering__photo {
      position: sticky;
      top: 92px;
      align-self: start;
      width: 100%;
      min-height: 0;
      height: clamp(560px, calc(100svh - 116px), 795px);
      object-fit: cover;
      object-position: 57% 50%;
      background: var(--paper);
    }

    .nusim-story .engineering__content { padding-top: clamp(0px, 4vw, 48px); }
    .nusim-story .engineering__content .body-copy { margin-top: 32px; }
    .nusim-story .engineering__feature {
      margin-top: 48px;
      padding: 26px 0 28px;
      border-top: 1px solid var(--line);
    }
    .nusim-story .engineering__feature-label {
      margin: 0 0 12px;
      color: var(--accent);
      font-family: var(--display);
      font-size: .7rem;
      font-weight: 740;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .nusim-story .engineering__feature-title {
      max-width: 13ch;
      margin: 0;
      font-family: var(--display);
      font-size: clamp(1.8rem, 2.7vw, 3rem);
      font-weight: 620;
      letter-spacing: -.07em;
      line-height: 1.01;
    }
    .nusim-story .engineering__feature p:last-child { margin: 19px 0 0; }
    .nusim-story .engineering__notes {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 32px;
      margin-top: 30px;
    }
    .nusim-story .engineering__note { padding-top: 20px; border-top: 1px solid var(--line); }
    .nusim-story .engineering__note h3 {
      margin: 0;
      font-family: var(--display);
      font-size: 1.05rem;
      font-weight: 680;
      letter-spacing: -.04em;
      line-height: 1.16;
    }
    .nusim-story .engineering__note p {
      margin: 12px 0 0;
      color: var(--muted);
      font-size: .92rem;
      line-height: 1.58;
    }
    .nusim-story .engineering__capacity {
      display: flex;
      align-items: baseline;
      gap: 12px;
      margin: 30px 0 0;
      color: var(--charcoal);
      font-family: var(--display);
      font-weight: 620;
    }
    .nusim-story .engineering__capacity strong {
      display: inline-flex;
      flex: 0 0 auto;
      color: var(--accent);
      font-size: 2rem;
      letter-spacing: -.07em;
      line-height: 1;
      white-space: nowrap;
    }
    .nusim-story .engineering__service {
      max-width: 60ch;
      margin: 28px 0 0;
      padding-top: 20px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: .91rem;
      line-height: 1.58;
    }
    .nusim-story .engineering__service span {
      display: block;
      margin-bottom: 8px;
      color: var(--accent);
      font-family: var(--display);
      font-size: .68rem;
      font-weight: 740;
      letter-spacing: .07em;
      text-transform: uppercase;
    }

    .nusim-story .supervision { background: var(--paper); }
    .nusim-story .supervision__grid {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(260px, .62fr);
      gap: clamp(44px, 8vw, 132px);
      padding: clamp(90px, 10vw, 146px) var(--gutter);
      align-items: start;
    }
    .nusim-story .supervision__photo {
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      object-position: 53% 50%;
      background: #cfd4d3;
    }
    @media (min-width: 761px) and (prefers-reduced-motion: no-preference) {
      .nusim-story .supervision__photo {
        clip-path: inset(0 0 0 100%);
        opacity: .01;
        transform: translate3d(0, 72px, 0) scale(1.06);
        transition: clip-path 1.15s cubic-bezier(.16, 1, .3, 1), opacity .45s ease, transform 1.15s cubic-bezier(.16, 1, .3, 1);
        will-change: clip-path, opacity, transform;
      }
      .nusim-story .supervision.is-revealed .supervision__photo {
        clip-path: inset(0);
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
      }
    }
    .nusim-story .supervision__copy { padding-top: clamp(0px, 2vw, 27px); }
    .nusim-story .supervision__copy .body-copy { margin-top: 29px; }
    .nusim-story .supervision__mark {
      width: 38px;
      height: 3px;
      margin-top: 31px;
      background: var(--accent);
    }

    .nusim-story .closing {
      border-top: 1px solid var(--line);
      background: var(--surface);
      color: var(--ink);
    }
    .nusim-story .closing__in { padding: clamp(84px, 10vw, 140px) var(--gutter) clamp(76px, 9vw, 120px); }
    .nusim-story .closing__title {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: .23em;
      margin: 0 0 clamp(46px, 6vw, 82px);
      font-family: var(--display);
      font-size: clamp(2.35rem, 4vw, 4.55rem);
      font-weight: 620;
      letter-spacing: -.08em;
      line-height: .96;
    }
    .nusim-story .closing__logo {
      width: auto;
      height: .7em;
      max-width: min(42vw, 290px);
    }
    .nusim-story .related {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .nusim-story .related__item {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      min-height: 240px;
      padding: 29px clamp(24px, 3.3vw, 54px) 32px;
      transition: background .2s ease, color .2s ease;
    }
    .nusim-story .related__item + .related__item { border-left: 1px solid var(--line); }
    .nusim-story .related__item:hover { background: var(--paper); }
    .nusim-story .related__kicker {
      margin: 0;
      color: var(--accent);
      font-family: var(--display);
      font-size: .7rem;
      font-weight: 740;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .nusim-story .related__title {
      max-width: 14ch;
      margin: 42px 0 0;
      font-family: var(--display);
      font-size: clamp(1.5rem, 2.35vw, 2.5rem);
      font-weight: 590;
      letter-spacing: -.07em;
      line-height: 1.02;
    }
    .nusim-story .related__arrow {
      position: absolute;
      top: 29px;
      right: clamp(24px, 3.3vw, 54px);
      color: var(--ink);
      font-family: var(--display);
      font-size: 1.65rem;
      line-height: 1;
      transition: transform .2s ease;
    }
    .nusim-story .related__item:hover .related__arrow { transform: translateX(6px); }

    @media (min-width: 1800px) and (min-aspect-ratio: 2 / 1) {
      .nusim-story .hero {
        grid-template-columns: minmax(560px, .72fr) minmax(0, 1.28fr);
        height: min(660px, calc(100svh - 68px));
      }
      .nusim-story .hero__copy { padding-top: 82px; padding-bottom: 50px; }
      .nusim-story .hero__visual img, .nusim-story .hero__visual video { object-position: 50% 63%; }
    }

    @media (max-width: 960px) {
      .nusim-story { --gutter: clamp(24px, 5.2vw, 64px); }
      .nusim-story .hero { grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); }
      .nusim-story .hero__copy { min-height: 580px; }
      .nusim-story .hero__visual { min-height: 580px; }
      .nusim-story .intro__grid, .nusim-story .views__head, .nusim-story .supervision__grid { gap: 54px; }
      .nusim-story .views__layout { gap: 54px; }
      .nusim-story .engineering__grid { grid-template-columns: minmax(0, .85fr) minmax(330px, .9fr); gap: 60px; }
      .nusim-story .engineering__photo { min-height: 585px; height: 68vw; }
    }

    @media (max-width: 760px) {
      .nusim-story .site-header { height: 60px; }
      .nusim-story .site-header__in { padding: 0 22px; }
      .nusim-story .brand { font-size: 1.32rem; }
      .nusim-story .site-nav a:not(.site-link) { display: none; }
      .nusim-story .site-nav { gap: 0; font-size: .69rem; }
      .nusim-story .hero { display: flex; flex-direction: column-reverse; height: auto; min-height: 0; }
      .nusim-story .hero__visual { min-height: auto; height: min(56vh, 500px); }
      .nusim-story .hero__visual img, .nusim-story .hero__visual video { object-position: 54% 58%; }
      .nusim-story .hero__copy { min-height: 0; padding: 50px 24px 28px; }
      .nusim-story .hero__title { max-width: 10.4ch; font-size: clamp(2.8rem, 13.5vw, 4.4rem); }
      .nusim-story .hero__subtitle { max-width: 31ch; margin-top: 24px; font-size: 1.04rem; }
      .nusim-story .hero__facts { grid-template-columns: 1fr; margin-top: 52px; padding-top: 19px; }
      .nusim-story .hero__scroll { justify-self: start; margin-top: 8px; }
      .nusim-story .hero__caption { right: 14px; bottom: 14px; padding: 8px 10px; font-size: .62rem; }
      .nusim-story .intro__grid, .nusim-story .views__head, .nusim-story .engineering__grid, .nusim-story .supervision__grid { display: block; padding: 76px 24px; }
      .nusim-story .section-title { font-size: clamp(2.25rem, 11vw, 3.55rem); }
      .nusim-story .intro__copy .body-copy { margin-top: 25px; }
      .nusim-story .result { margin-top: 47px; padding-top: 20px; }
      .nusim-story .campaign { padding: 0 24px 82px; }
      .nusim-story .campaign__image { aspect-ratio: 4 / 3; object-position: 50% 50%; }
      .nusim-story .campaign__caption { display: block; padding-top: 15px; }
      .nusim-story .campaign__caption-copy { margin-top: 10px !important; }
      .nusim-story .views__head { padding-bottom: 35px; }
      .nusim-story .views__head-copy { margin-top: 24px; font-size: .98rem; }
      .nusim-story .views__layout { display: block; padding: 0 24px 76px; }
      .nusim-story .view-stage { display: none; }
      .nusim-story .view-steps { padding: 0; }
      .nusim-story .view-step { min-height: 0; padding: 34px 0 42px 31px; }
      .nusim-story .view-step:last-child { min-height: 0; padding-bottom: 0; }
      .nusim-story .view-step h3 { max-width: 14ch; font-size: 1.85rem; }
      .nusim-story .view-mobile-media { display: block; margin: 23px 0 3px; overflow: hidden; aspect-ratio: 16 / 10; background: #101010; }
      .nusim-story .view-mobile-media video { width: 100%; height: 100%; object-fit: cover; }
      .nusim-story .engineering__grid { padding-top: 80px; }
      .nusim-story .engineering__photo { position: static; top: auto; min-height: 0; height: auto; aspect-ratio: 4 / 5; object-position: 58% 50%; }
      .nusim-story .engineering__content { padding-top: 42px; }
      .nusim-story .engineering__content .body-copy { margin-top: 25px; }
      .nusim-story .engineering__feature { margin-top: 35px; padding: 22px 0 23px; }
      .nusim-story .engineering__notes { gap: 23px; margin-top: 24px; }
      .nusim-story .engineering__capacity { margin-top: 26px; }
      .nusim-story .supervision__grid { padding-top: 76px; padding-bottom: 76px; }
      .nusim-story .supervision__photo { aspect-ratio: 1 / .9; object-position: 54% 50%; }
      .nusim-story .supervision__copy { padding-top: 34px; }
      .nusim-story .closing__in { padding: 74px 24px 66px; }
      .nusim-story .closing__title { margin-bottom: 42px; font-size: clamp(2.35rem, 11vw, 3.6rem); }
      .nusim-story .related { display: block; }
      .nusim-story .related__item { min-height: 202px; padding: 24px 54px 28px 24px; }
      .nusim-story .related__item + .related__item { padding: 24px 54px 28px 24px; border-top: 1px solid var(--line); border-left: 0; }
      .nusim-story .related__title { margin-top: 34px; font-size: 1.72rem; }
      .nusim-story .related__arrow { top: 25px; right: 0; }
    }

    @media (max-width: 430px) {
      .nusim-story .engineering__notes { grid-template-columns: 1fr; }
      .nusim-story .hero__fact-value { font-size: .8rem; }
      .nusim-story .hero__facts { gap: 13px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .nusim-story { scroll-behavior: auto; }
      .nusim-story, .nusim-story *, .nusim-story::before .nusim-story *::before, .nusim-story::after .nusim-story *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    }
/* Compensa la barra de administración en la previsualización iniciada. */
.admin-bar .nusim-story .site-header {
  top: 32px;
}

.admin-bar .nusim-story .engineering__photo {
  top: 124px;
}

@media (max-width: 782px) {
  .admin-bar .nusim-story .site-header {
    top: 46px;
  }
}

@media (max-width: 760px) {
  .admin-bar .nusim-story .engineering__photo {
    top: auto;
  }
}

/* The7 usa overflow:hidden en #page. Solo se anula cuando contiene una NUSIM Story,
   porque overflow en un antecesor desactiva position: sticky. */
#page:has(.nusim-story) {
  overflow: visible !important;
}
