.nshSpineIntervention {
  --nsh-accent: #087a72;
  --nsh-tint: #e7f5f4;
  --nsh-navy: #123247;
  --nsh-green: #2b7366;
  --nsh-mint: #4fd1c5;
  --nsh-gold: #c7a45b;
  --nsh-soft: #f4f7f8;
  --nsh-line: #d7e1e5;
  --nsh-ink: #15212b;
  color: var(--nsh-ink);
  background: #fff;
}
.nshSpineIntervention--green { --nsh-accent: #2b7366; --nsh-tint: #e7f2ee; }
.nshSpineIntervention--gold { --nsh-accent: #8a651e; --nsh-tint: #f7f1e6; }
.nshSpineIntervention *, .nshSpineIntervention *::before, .nshSpineIntervention *::after { box-sizing: border-box; }
.nshSpineIntervention :where(h1,h2,h3,p,dl,dd,figure,ul,ol) { margin-top: 0; }
.nshSpineHero { padding: clamp(54px,7vw,92px) 20px 62px; background: linear-gradient(135deg,#fff 0%,var(--nsh-tint) 100%); }
.nshSpineHero__grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr); gap: 54px; align-items: center; }
.nshSpineEyebrow, .nshSpineSection__num { color: var(--nsh-accent); font-size: 15px; font-weight: 800; letter-spacing: .02em; }
.nshSpineHero h1 { margin-bottom: 22px; color: var(--nsh-navy); font-size: clamp(38px,5vw,64px); line-height: 1.14; letter-spacing: -.035em; word-break: keep-all; }
.nshSpineHero h1 span { display: block; margin-top: 10px; color: var(--nsh-accent); font-size: .48em; letter-spacing: 0; }
.nshSpineHero__summary { max-width: 740px; margin-bottom: 28px; color: #435963; font-size: clamp(17px,2vw,21px); line-height: 1.75; word-break: keep-all; }
.nshSpineHero__facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 28px; }
.nshSpineHero__facts div { min-width: 0; padding: 15px 16px; border: 1px solid rgba(18,50,71,.12); border-radius: 14px; background: rgba(255,255,255,.72); }
.nshSpineHero__facts dt { margin-bottom: 7px; color: #6b7b83; font-size: 12px; font-weight: 700; }
.nshSpineHero__facts dd { margin: 0; color: var(--nsh-navy); font-size: 14px; font-weight: 800; line-height: 1.4; word-break: keep-all; }
.nshSpineCtas { display: flex; flex-wrap: wrap; gap: 10px; }
.nshSpineCtas--stack { flex-direction: column; justify-content: center; }
.nshSpineBtn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid var(--nsh-line); border-radius: 12px; color: var(--nsh-navy); background: #fff; font-size: 15px; font-weight: 800; text-decoration: none; transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.nshSpineBtn:hover, .nshSpineBtn:focus-visible { transform: translateY(-2px); border-color: var(--nsh-accent); }
.nshSpineBtn--primary { border-color: var(--nsh-accent); color: #fff; background: var(--nsh-accent); }
.nshSpineBtn--light { border-color: #fff; color: var(--nsh-navy); background: #fff; }
.nshSpineBtn--outlineLight { border-color: rgba(255,255,255,.58); color: #fff; background: transparent; }
.nshSpineMotion { position: relative; overflow: hidden; margin: 0; border-radius: 26px; background: #e9ecee; box-shadow: 0 28px 62px rgba(18,50,71,.16); aspect-ratio: 16/10; }
.nshSpineMotion img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nshSpineMotion figcaption { position: absolute; right: 14px; bottom: 12px; max-width: calc(100% - 28px); padding: 7px 10px; border-radius: 8px; color: #fff; background: rgba(18,50,71,.72); font-size: 11px; line-height: 1.45; }
.nshSpineMotion__route, .nshSpineMotion__probe, .nshSpineMotion__pulse { position: absolute; pointer-events: none; opacity: 0; }
.nshSpineMotion__route { left: 51%; top: 56%; width: 35%; height: 2px; border-radius: 99px; background: linear-gradient(90deg,transparent,var(--nsh-accent),#fff); transform: rotate(18deg); transform-origin: left center; }
.nshSpineMotion--een .nshSpineMotion__route { left: 12%; top: 75%; width: 54%; transform: rotate(-22deg); }
.nshSpineMotion--idet .nshSpineMotion__route { left: 20%; top: 62%; width: 42%; transform: rotate(8deg); }
.nshSpineMotion__probe { left: 78%; top: 60%; width: 14px; height: 14px; border: 3px solid #fff; border-radius: 50%; background: var(--nsh-accent); box-shadow: 0 0 0 8px color-mix(in srgb,var(--nsh-accent) 22%,transparent); }
.nshSpineMotion--een .nshSpineMotion__probe { left: 58%; top: 45%; }
.nshSpineMotion--idet .nshSpineMotion__probe { left: 60%; top: 61%; }
.nshSpineMotion__pulse { left: 69%; top: 50%; width: 70px; height: 70px; border: 3px solid var(--nsh-accent); border-radius: 50%; transform: translate(-50%,-50%); }
.nshSpineMotion--een .nshSpineMotion__pulse { left: 59%; top: 45%; }
.nshSpineMotion--idet .nshSpineMotion__pulse { left: 61%; top: 62%; }
.nshSpineMotion.is-inview .nshSpineMotion__route { animation: nshRoute 3.2s ease-in-out infinite; }
.nshSpineMotion.is-inview .nshSpineMotion__probe { animation: nshProbe 3.2s ease-in-out infinite; }
.nshSpineMotion.is-inview .nshSpineMotion__pulse { animation: nshPulse 3.2s ease-out infinite; }
@keyframes nshRoute { 0%,15% { opacity: 0; transform-origin: left center; filter: brightness(.8); } 35%,78% { opacity: .9; filter: brightness(1.25); } 100% { opacity: 0; } }
@keyframes nshProbe { 0%,25% { opacity: 0; transform: scale(.6); } 48%,78% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.75); } }
@keyframes nshPulse { 0%,42% { opacity: 0; transform: translate(-50%,-50%) scale(.35); } 65% { opacity: .85; } 100% { opacity: 0; transform: translate(-50%,-50%) scale(1.55); } }
.nshSpineMap { position: relative; z-index: 2; margin-top: -26px; padding: 24px; border: 1px solid var(--nsh-line); border-radius: 22px; background: #fff; box-shadow: 0 16px 44px rgba(18,50,71,.1); }
.nshSpineMap__intro { margin-bottom: 16px; color: var(--nsh-navy); font-size: 16px; text-align: center; }
.nshSpineMap__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.nshSpineMapCard { display: flex; align-items: center; gap: 13px; min-height: 94px; padding: 14px; border: 1px solid var(--nsh-line); border-radius: 16px; color: var(--nsh-ink); background: var(--nsh-soft); text-decoration: none; }
.nshSpineMapCard.is-active { border-color: var(--nsh-accent); background: var(--nsh-tint); box-shadow: inset 0 0 0 1px var(--nsh-accent); }
.nshSpineMapCard__key { flex: 0 0 58px; padding: 11px 8px; border-radius: 999px; color: #fff; background: var(--nsh-navy); font-size: 14px; font-weight: 900; text-align: center; }
.nshSpineMapCard.is-active .nshSpineMapCard__key { background: var(--nsh-accent); }
.nshSpineMapCard strong, .nshSpineMapCard small { display: block; word-break: keep-all; }
.nshSpineMapCard strong { color: var(--nsh-navy); font-size: 15px; line-height: 1.45; }
.nshSpineMapCard small { margin-top: 5px; color: #65767e; font-size: 12px; line-height: 1.4; }
.nshSpineSection { padding: clamp(62px,8vw,106px) 20px; }
.nshSpineSection--soft { background: var(--nsh-soft); }
.nshSpineSection--deep { color: #fff; background: var(--nsh-navy); }
.nshSpineSection h2 { margin-bottom: 20px; color: var(--nsh-navy); font-size: clamp(30px,4vw,46px); line-height: 1.22; letter-spacing: -.025em; }
.nshSpineSection--deep h2 { color: #fff; }
.nshSpineSection__desc, .nshSpineLead { max-width: 920px; color: #445862; font-size: 18px; line-height: 1.8; word-break: keep-all; }
.nshSpineSplit { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 36px; align-items: center; }
.nshSpineSpaceCard { min-height: 230px; display: flex; flex-direction: column; justify-content: center; padding: 34px; border-radius: 22px; color: #fff; background: linear-gradient(145deg,var(--nsh-navy),var(--nsh-accent)); }
.nshSpineSpaceCard span { margin-bottom: 12px; font-size: 13px; font-weight: 700; opacity: .82; }
.nshSpineSpaceCard strong { font-size: clamp(25px,3vw,38px); line-height: 1.3; word-break: keep-all; }
.nshSpineSpaceCard p { margin: 15px 0 0; font-size: 15px; }
.nshSpineNotice { max-width: 880px; margin: 24px 0 0; padding: 16px 18px; border-left: 4px solid var(--nsh-accent); border-radius: 0 12px 12px 0; color: var(--nsh-navy); background: var(--nsh-tint); font-size: 15px; line-height: 1.65; }
.nshSpineTwoCards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.nshSpineInfoCard { padding: 32px; border: 1px solid var(--nsh-line); border-radius: 20px; background: #fff; }
.nshSpineInfoCard--warning { border-color: #f0d8ce; background: #fff4ef; }
.nshSpineInfoCard h2, .nshSpineInfoCard h3 { color: var(--nsh-navy); }
.nshSpineInfoCard h3 { margin-bottom: 20px; font-size: 22px; }
.nshSpineInfoCard ul { margin: 0; padding-left: 22px; }
.nshSpineInfoCard li, .nshSpineInfoCard p { margin: 0 0 12px; color: #344952; font-size: 16px; line-height: 1.7; word-break: keep-all; }
.nshSpineInfoCard li::marker { color: var(--nsh-accent); }
.nshSpineSteps { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin: 34px 0 0; padding: 0; list-style: none; }
.nshSpineSteps li { min-height: 190px; padding: 24px; border: 1px solid var(--nsh-line); border-radius: 18px; background: #fff; }
.nshSpineSteps span { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 22px; border-radius: 50%; color: #fff; background: var(--nsh-accent); font-size: 15px; font-weight: 900; }
.nshSpineSteps p { margin: 0; color: #2d424c; font-size: 16px; line-height: 1.65; word-break: keep-all; }
.nshSpineTableWrap { overflow-x: auto; border: 1px solid rgba(255,255,255,.22); border-radius: 18px; }
.nshSpineTableWrap:focus-visible { outline: 3px solid var(--nsh-mint); outline-offset: 4px; }
.nshSpineTableWrap table { width: 100%; min-width: 760px; border-collapse: collapse; color: #fff; }
.nshSpineTableWrap th, .nshSpineTableWrap td { padding: 20px; border-bottom: 1px solid rgba(255,255,255,.18); font-size: 15px; line-height: 1.55; text-align: left; word-break: keep-all; }
.nshSpineTableWrap thead th { color: var(--nsh-mint); background: rgba(255,255,255,.08); }
.nshSpineTableWrap tbody th { color: #fff; font-size: 18px; }
.nshSpineTableNote { margin: 20px 0 0; color: rgba(255,255,255,.78); font-size: 14px; line-height: 1.7; }
.nshSpineFaq { border-top: 1px solid var(--nsh-line); }
.nshSpineFaq details { border-bottom: 1px solid var(--nsh-line); }
.nshSpineFaq summary { cursor: pointer; padding: 23px 42px 23px 4px; color: var(--nsh-navy); font-size: 18px; font-weight: 800; line-height: 1.5; }
.nshSpineFaq details p { margin: 0; padding: 0 4px 24px; color: #445862; font-size: 16px; line-height: 1.75; }
.nshSpineFinalCta { padding: 62px 20px; color: #fff; background: linear-gradient(135deg,var(--nsh-navy),var(--nsh-green)); text-align: center; }
.nshSpineFinalCta p { margin-bottom: 22px; font-size: clamp(20px,3vw,30px); font-weight: 800; line-height: 1.45; word-break: keep-all; }
.nshSpineFinalCta .nshSpineCtas { justify-content: center; }
.nshSpineFinalCta small { display: block; margin-top: 22px; color: rgba(255,255,255,.7); font-size: 12px; line-height: 1.6; }
@media (max-width: 980px) {
  .nshSpineHero__grid, .nshSpineSplit { grid-template-columns: 1fr; }
  .nshSpineHero__grid { gap: 32px; }
  .nshSpineMap { margin: -20px 18px 0; }
  .nshSpineMap__grid, .nshSpineSteps { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 680px) {
  .nshSpineHero { padding-top: 46px; }
  .nshSpineHero__facts, .nshSpineMap__grid, .nshSpineTwoCards, .nshSpineSteps { grid-template-columns: 1fr; }
  .nshSpineMap { padding: 16px; }
  .nshSpineMapCard { min-height: 82px; }
  .nshSpineInfoCard { padding: 24px; }
  .nshSpineCtas .nshSpineBtn { width: 100%; }
  .nshSpineMotion { border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .nshSpineIntervention *, .nshSpineIntervention *::before, .nshSpineIntervention *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .nshSpineMotion__route, .nshSpineMotion__probe, .nshSpineMotion__pulse { display: none; }
}
