/* LINK workflow three-stage mobile pagination. Kept separate from desktop workflow styling. */
.link-stage-page .link-stage-carousel,
.link-stage-page .stage-mobile-controls { display:none!important; }
@media (max-width:760px) {
  .link-stage-page nav.steps.has-mobile-carousel {
    display:block!important; width:100%!important; max-width:100%!important; min-width:0!important;
    overflow:visible!important; background:#fff!important;
  }
  .link-stage-page nav.steps.has-mobile-carousel > .steps-track {display:none!important;}
  .link-stage-page nav.steps.has-mobile-carousel .link-stage-carousel {
    display:grid!important; grid-template-columns:34px minmax(0,1fr) 34px;
    align-items:center; gap:7px; box-sizing:border-box;
    width:100%; max-width:540px; margin:0 auto;
    padding:18px 9px 22px; direction:inherit;
  }
  .link-stage-page .link-stage-carousel-cards {
    display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);
    align-items:stretch; gap:6px; min-width:0; width:100%;
  }
  .link-stage-page .link-stage-carousel-arrow {
    appearance:none; width:34px; height:38px; display:grid; place-items:center;
    border:1px solid #e2e5ea; border-radius:50%; background:#fff;
    color:#172e55; box-shadow:0 2px 6px #10223b12;
    cursor:pointer; font-size:13px; padding:0; z-index:2;
  }
  .link-stage-page .link-stage-carousel-arrow:hover {color:#ad222b;border-color:#ad222b;}
  .link-stage-page .link-stage-carousel-arrow:focus-visible,
  .link-stage-page .link-stage-carousel-card:focus-visible {outline:2px solid #ad222b;outline-offset:3px;}
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card,
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card:nth-of-type(n) {
    position:relative!important; display:flex!important; flex-direction:column!important;
    grid-column:auto!important; grid-row:auto!important; align-items:center!important;
    justify-content:center!important; gap:4px!important;
    width:100%!important; height:100%!important; min-width:0!important; max-width:none!important;
    min-height:64px!important; padding:9px 3px!important; margin:0!important;
    box-sizing:border-box!important; white-space:normal!important;
    background:#fff!important; border:1px solid #e5e8ee!important; border-radius:13px!important;
    box-shadow:0 2px 10px #1529470a!important;
    text-decoration:none!important; color:#172e55!important; text-align:center!important;
    transform:none; overflow:visible!important;
  }
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card::before,
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card::after {display:none!important;content:none!important;}
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card .step-number,
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card.current .step-number {
    display:block!important; position:static!important; inset:auto!important;
    width:auto!important;height:auto!important;min-width:0!important;
    padding:0!important;margin:0!important; background:transparent!important;
    color:#172e55!important;border:0!important;border-radius:0!important;
    font:800 12px/1.1 system-ui,sans-serif!important;
  }
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card .step-icon,
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card.current .step-icon {
    display:none!important;position:static!important;inset:auto!important;
    place-items:center!important; width:35px!important;height:35px!important;
    flex:none!important; padding:0!important;margin:0!important;
    color:#344963!important;background:#f0f3f7!important;
    border:0!important;border-radius:50%!important;box-shadow:none!important;
    font-size:16px!important;
  }
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card > span:last-child {
    display:block!important; position:static!important; width:100%!important;min-width:0!important;
    max-width:100%!important; margin:0!important;padding:0!important;
    font-size:clamp(9px,2.65vw,12px)!important; line-height:1.45!important;
    font-weight:800!important;color:inherit!important; text-align:center!important;
    overflow-wrap:anywhere!important;white-space:normal!important;
  }
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card.is-centered {
    background:linear-gradient(160deg,#fffafb,#fff0f2)!important;
    border:1.5px solid #d94155!important; color:#ad222b!important;
    box-shadow:0 6px 18px #ad222b18!important;
    transform:translateY(-2px)!important; min-height:70px!important;
  }
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card.is-centered .step-number {color:#ad222b!important;}
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card.is-centered .step-icon {color:#ad222b!important;background:#fbe2e6!important;}
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card.is-centered::after {
    display:block!important;content:""!important;position:absolute!important;
    width:29px!important;height:4px!important;left:calc(50% - 14.5px)!important;
    right:auto!important;bottom:-2px!important;top:auto!important;
    background:#ad222b!important;border:0!important;border-radius:8px!important;
  }
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card.is-actual-current:not(.is-centered){border-color:#e6b5bd!important;}
}
@media (max-width:360px) {
  .link-stage-page nav.steps.has-mobile-carousel .link-stage-carousel {grid-template-columns:26px minmax(0,1fr) 26px;gap:4px;padding-inline:5px;}
  .link-stage-page .link-stage-carousel-arrow {width:26px;height:32px;font-size:11px;}
  .link-stage-page .link-stage-carousel-cards {gap:4px;}
  .link-stage-page nav.steps.has-mobile-carousel a.link-stage-carousel-card {padding-inline:2px!important;}
}
@media (prefers-reduced-motion:reduce) {
  .link-stage-page .link-stage-carousel * {animation:none!important;transition:none!important;}
}

/* Mobile: the hero/gallery media becomes ONE slider instead of stacked images. */
.link-stage-unified-slider {display:none;}
@media(max-width:760px){
 .link-stage-page .details > .media > .video-card {display:none!important;}
 .link-stage-page .details > .gallery[data-gallery] {display:none!important;}
 .link-stage-unified-slider {display:block;position:relative;width:100%;overflow:hidden;border-radius:12px;background:#101a29;}
 .link-stage-unified-slides {height:260px;position:relative;}
 .link-stage-unified-slide {position:absolute;inset:0;margin:0;opacity:0;pointer-events:none;transition:opacity .4s ease;}
 .link-stage-unified-slide.is-active {opacity:1;pointer-events:auto;z-index:1;}
 .link-stage-unified-slide img {width:100%;height:100%;object-fit:cover;}
 .link-stage-unified-slide figcaption {position:absolute;bottom:0;inset-inline:0;padding:18px 14px 12px;color:white;background:linear-gradient(transparent,#091323d9);font-weight:700;}
 .link-stage-unified-controls {display:flex;justify-content:center;align-items:center;gap:16px;background:white;padding:8px;color:#ad222b;font-weight:700;}
 .link-stage-unified-controls button {border:1px solid #e4e5eb;background:white;color:#ad222b;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:20px;}
}
