/* Device support for the accepted homepage sequence. Desktop art direction stays in its existing files. */
.nc-assistant-home {
  --nca-viewport: 100vh;
  --nca-header: 68px;
  --nca-bottom: 0px;
  --nca-stage-height: calc(var(--nca-viewport) - var(--nca-header) - var(--nca-bottom));
}
@supports (height: 100svh) {
  .nc-assistant-home { --nca-viewport: 100svh; }
}

/* Phones/tablets without script: keep every scene and link in the normal reading flow. */
@media (max-width: 860px), (hover: none) and (pointer: coarse) {
  .nc-assistant-home:not(.nca--enhanced) { height: auto !important; }
  .nc-assistant-home:not(.nca--enhanced) .nca__sticky { display: none !important; }
}
@media (min-width: 861px) and (hover: none) and (pointer: coarse) and (prefers-reduced-motion: no-preference) {
  .nc-assistant-home:not(.nca--enhanced) .nca__mobile-sequence {
    display: grid !important; width: 100%; margin: 0; gap: 0; color: #fff; background: #17251c;
  }
  .nc-assistant-home:not(.nca--enhanced) .nca__mobile-item {
    display: grid !important; grid-template-columns: 1fr 1fr; align-items: center; gap: 32px; padding: 48px;
  }
  .nc-assistant-home:not(.nca--enhanced) .nca__mobile-copy h2 { color: #fff; margin-bottom: 20px; }
  .nc-assistant-home:not(.nca--enhanced) .nca__mobile-copy p { color: #f4f6f0; }
  .nc-assistant-home:not(.nca--enhanced) .nca__mobile-item img { width: 100%; height: auto; }
}

@media (max-width: 860px) and (prefers-reduced-motion: no-preference) {
  .nc-assistant-home.nca--enhanced {
    height: calc(var(--nca-stage-height) + var(--nca-viewport) * 3.6) !important;
    min-height: 0 !important; padding: 0 !important; overflow: visible !important;
    background: #17251c !important; color: #fff !important;
  }
  .nc-assistant-home.nca--enhanced .nca__sticky {
    display: block !important; position: sticky !important; top: var(--nca-header) !important;
    height: var(--nca-stage-height) !important; min-height: 0 !important; max-height: none !important;
    width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
    overflow: hidden !important; background: #17251c !important;
  }
  .nc-assistant-home.nca--enhanced .nca__main { display: block !important; position: static !important; }
  .nc-assistant-home.nca--enhanced .nca__visual {
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
    min-height: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    overflow: hidden !important; pointer-events: none !important;
  }
  .nc-assistant-home.nca--enhanced .nca__photos { inset: 0 !important; border-radius: 0 !important; }
  .nc-assistant-home.nca--enhanced .nca__photos::after {
    content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
    background: linear-gradient(0deg, rgba(10,22,16,.96) 0%, rgba(10,22,16,.77) 43%, rgba(10,22,16,.14) 95%);
  }
  .nc-assistant-home.nca--enhanced .nca__photo {
    width: 100% !important; height: 100% !important; object-fit: cover !important;
    transform: none !important; transition: none !important; will-change: auto !important;
  }
  .nc-assistant-home.nca--enhanced .nca__photo--prelude { object-position: 73% center !important; }
  .nc-assistant-home.nca--enhanced .nca__text {
    display: block !important; position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important; z-index: 3 !important; pointer-events: none !important;
  }
  .nc-assistant-home.nca--enhanced .nca__panel {
    position: absolute !important; inset: 0 !important; display: flex !important;
    flex-direction: column !important; align-items: flex-start !important; justify-content: flex-end !important;
    padding: 22px clamp(20px, 5.5vw, 46px) 106px !important;
    opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    transform: none !important; transition: none !important;
  }
  .nc-assistant-home.nca--enhanced .nca__panel.is-visible {
    opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;
    transition: opacity .2s ease !important;
  }
  .nc-assistant-home.nca--enhanced .nca__eyebrow {
    color: #c5e5b6 !important; font-size: clamp(10px, 1.6vw, 13px) !important;
    margin: 0 0 12px !important; letter-spacing: .14em !important;
  }
  .nc-assistant-home.nca--enhanced .nca__panel h2 {
    color: #fff !important; font-size: clamp(30px, 8.4vw, 56px) !important;
    line-height: 1.055 !important; letter-spacing: -.045em !important;
    max-width: min(100%, 16ch) !important; margin: 0 0 15px !important; text-wrap: balance;
  }
  .nc-assistant-home.nca--enhanced .nca__description {
    color: #f4f6f0 !important; font-size: clamp(15.5px, 2.3vw, 19px) !important;
    line-height: 1.5 !important; max-width: 44ch !important; margin: 0 !important;
  }
  .nc-assistant-home.nca--enhanced .nca__actions {
    display: flex !important; gap: 8px !important; width: 100%; max-width: 390px; margin-top: 19px;
  }
  .nc-assistant-home.nca--enhanced .nca__cta {
    flex: 1 1 0; min-width: 0; min-height: 46px !important; padding: 10px 12px !important;
    color: #fff !important; background: #376b43 !important; border-color: #558f60 !important;
    font-size: 13px !important; white-space: normal !important; text-align: center; border-radius: 8px !important;
  }
  .nc-assistant-home.nca--enhanced .nca__status-card,
  .nc-assistant-home.nca--enhanced .nca__frame-labels,
  .nc-assistant-home.nca--enhanced .nca__mobile-sequence { display: none !important; }
  .nc-assistant-home.nca--enhanced .nca__rail {
    position: absolute !important; z-index: 5 !important; inset: auto 16px 14px !important;
    width: auto !important; padding: 10px 0 0 !important; border-top: 1px solid #ffffff50 !important;
    background: transparent !important; transform: none !important;
  }
  .nc-assistant-home.nca--enhanced .nca__steps {
    display: grid !important; grid-template-columns: repeat(7, minmax(44px, 1fr)) !important;
    position: relative; gap: 4px !important; padding: 4px 0 !important; overflow-x: auto !important;
    overscroll-behavior-x: contain; scroll-snap-type: none !important; scrollbar-width: none;
  }
  .nc-assistant-home.nca--enhanced .nca__steps::-webkit-scrollbar { display: none; }
  .nc-assistant-home.nca--enhanced .nca__step {
    min-width: 44px !important; min-height: 44px !important; padding: 6px !important;
    color: #f4f6f0 !important; background: #ffffff15 !important; border: 1px solid #ffffff25 !important;
    border-radius: 7px !important; gap: 6px !important; justify-content: center !important; text-align: center !important;
  }
  .nc-assistant-home.nca--enhanced .nca__step.is-current {
    background: #e2f4d8 !important; border-color: transparent !important; color: #224b2a !important;
  }
  .nc-assistant-home.nca--enhanced .nca__step:focus-visible { outline: 2px solid #c5e5b6; outline-offset: -3px; }
  .nc-assistant-home.nca--enhanced .nca__step-badge {
    width: auto !important; height: auto !important; background: transparent !important;
    border-radius: 0 !important; color: inherit !important; font-size: 12px !important;
  }
  .nc-assistant-home.nca--enhanced .nca__step-label { color: inherit !important; font-size: 11px !important; }
  .nc-assistant-home.nca--enhanced .nca__rail-progress { height: 2px; background: #ffffff35; margin-top: 7px; }
  .nc-assistant-home.nca--enhanced .nca__rail-progress > span { background: #aedca9; }
  .nc-assistant-home.nca--enhanced.nca--prelude .nca__rail { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
}
@media (max-width: 600px) {
  .nc-assistant-home.nca--enhanced .nca__step-label-wrap { display: none !important; }
}
/* Tablets also reserve the actual header height instead of assuming a desktop toolbar. */
@media (min-width: 861px) and (hover: none) and (pointer: coarse) and (prefers-reduced-motion: no-preference) {
  .nc-assistant-home.nca--enhanced .nca__sticky {
    top: var(--nca-header) !important; height: var(--nca-stage-height) !important;
  }
}

/* Very short viewports: text flows naturally over the same changing, pinned background. */
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] {
  height: auto !important; padding: 0 !important; overflow: visible !important;
}
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__sticky {
  display: block !important; position: sticky !important; top: var(--nca-header) !important;
  height: var(--nca-stage-height) !important; min-height: 0 !important; max-height: none !important;
  width: 100% !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important;
}
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__text,
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__rail,
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__status-card { display: none !important; }
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__mobile-sequence {
  display: block !important; position: relative !important; z-index: 2;
  width: 100% !important; margin: calc(0px - var(--nca-stage-height)) 0 0 !important;
  padding: 0 !important; background: transparent !important;
}
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__mobile-item {
  display: flex !important; position: relative !important; min-height: var(--nca-stage-height) !important;
  flex-direction: column !important; align-items: flex-start !important; justify-content: center !important;
  padding: 38px clamp(20px, 5.5vw, 58px) 50px !important; background: transparent !important;
  border: 0 !important; margin: 0 !important; overflow: visible !important;
  scroll-margin-top: var(--nca-header);
}
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__mobile-item img,
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__mobile-item::before { display: none !important; }
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__mobile-copy { width: min(100%, 670px) !important; }
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__mobile-copy h2 {
  font-size: clamp(28px, 4.7vw, 42px) !important; line-height: 1.09 !important;
  color: #fff !important; max-width: 22ch !important; margin: 0 0 14px !important;
}
.nc-assistant-home.nca--enhanced[data-nca-layout="flow"] .nca__mobile-copy p:not(.nca__eyebrow) {
  font-size: 16px !important; line-height: 1.5 !important; color: #f4f6f0 !important;
  max-width: 56ch !important; margin: 0 !important;
}
@media (max-width: 860px) and (prefers-reduced-motion: reduce),
       (hover: none) and (pointer: coarse) and (prefers-reduced-motion: reduce) {
  .nc-assistant-home .nca__photo, .nc-assistant-home .nca__panel { transition: none !important; transform: none !important; }
}
