/* Noty and Linko share the spacing hierarchy approved on Vinnie. */
#main .ncs:is([data-study="noty"], [data-study="linko"]) {
  --cs-text-gap: 24px;
  --cs-content-gap: 48px;
  --cs-section-gap: 128px;
}
#main .ncs:is([data-study="noty"], [data-study="linko"]) > section {
  margin-block: var(--cs-section-gap) 0;
  padding-block: 0;
}
#main .ncs:is([data-study="noty"], [data-study="linko"]) > .ncs__divider { margin: 0; padding: 0; height: 0; }
#main .ncs:is([data-study="noty"], [data-study="linko"]) > .ncs__divider + section { margin-top: var(--cs-section-gap); }
#main .ncs:is([data-study="noty"], [data-study="linko"]) :is(.ncs__h2, .ncs__next-title, .ncs__closing-text h3) { margin-block: 0 var(--cs-text-gap); }
#main .ncs:is([data-study="noty"], [data-study="linko"]) :is(.ncs__lead, .ncs__bleed-lead, .ncs__closing-text > p) { margin-block: 0; }
#main .ncs:is([data-study="noty"], [data-study="linko"]) .ncs__col > p + .ncs__h2 { margin-top: var(--cs-content-gap); }
#main .ncs:is([data-study="noty"], [data-study="linko"]) :is(.ncs__video, .ncs__wireframe, .ncs__testing, .whyviz, .ncs__grow, .teamviz, .ncs__next-grid, .ncs__journey-wrap) { margin-block: var(--cs-content-gap) 0; }
/* A visual can be authored as a sibling section but still belong to its intro. */
#main .ncs:is([data-study="noty"], [data-study="linko"]) > :is(.ncs__funnel-sec, .ncs__wf, .ncs__impact, .ncs__iter-slider, .ncs__feats),
#main .ncs:is([data-study="noty"], [data-study="linko"]) > section:has(> :is(.ncs__chart, .ncs__pins, .ncs__hub, .ncs__cmps, .ncs__zoom)) { margin-top: var(--cs-content-gap); }
#main .ncs:is([data-study="noty"], [data-study="linko"]) > section > :is(.ncs__chart, .ncs__pins, .ncs__hub, .ncs__cmps, .ncs__zoom, .ncs__quotes) { margin-block: 0; }
#main .ncs:is([data-study="noty"], [data-study="linko"]) .ncs__row { gap: var(--cs-content-gap); }
#main .ncs:is([data-study="noty"], [data-study="linko"]) .ncs__closing { gap: var(--cs-content-gap); }
#main .ncs:is([data-study="noty"], [data-study="linko"]) > .ncs__hmw { padding-block: var(--cs-content-gap); }
#main .ncs:is([data-study="noty"], [data-study="linko"]) > .ncs__hmw + .ncs__ideation { margin-top: 0; }
#main .ncs:is([data-study="noty"], [data-study="linko"]) > .ncs__impact-progress { margin-block: var(--cs-section-gap) 0; }
#main .ncs:is([data-study="noty"], [data-study="linko"]) .ncs__impact-progress > .ncs__center-block { padding-block: 0; }
#main .ncs:is([data-study="noty"], [data-study="linko"]) .ncs__impact-progress > .ncs__marquee { margin-top: var(--cs-content-gap); }
#main .ncs:is([data-study="noty"], [data-study="linko"]) .ncs__next { padding-bottom: var(--cs-section-gap); }
/* Reflections layer over, rather than replace, each card's own palette. */
#main .ncs:is([data-study="noty"], [data-study="linko"]) :is(.ncs__qcard, .ncs__need-card, .ncs__lc, .ncs__pin-note, .ncs__hub-core, .ncs__hub-list > li, .ncs__shift-card, .ncs__feat-row, .ncs__next-item .wk-card__hit) {
  background-image: linear-gradient(145deg, rgba(255,255,255,.34), rgba(255,255,255,.05) 42%, rgba(255,255,255,.12));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(255,255,255,.1), 0 12px 28px -20px rgba(30,36,42,.26);
}
[data-theme=dark] #main .ncs:is([data-study="noty"], [data-study="linko"]) :is(.ncs__qcard, .ncs__need-card, .ncs__lc, .ncs__pin-note, .ncs__hub-core, .ncs__hub-list > li, .ncs__shift-card, .ncs__feat-row, .ncs__next-item .wk-card__hit) {
  background-image: linear-gradient(145deg, rgba(255,255,255,.12), transparent 45%, rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 12px 28px -20px rgba(0,0,0,.4);
}
@media (max-width:760px) {
  #main .ncs:is([data-study="noty"], [data-study="linko"]) { --cs-text-gap:16px; --cs-content-gap:32px; --cs-section-gap:88px; }
  #main .ncs:is([data-study="noty"], [data-study="linko"]) .ncs__row--solution { row-gap:var(--cs-section-gap); }
}
@media (prefers-reduced-motion:no-preference) {
  #main .ncs:is([data-study="noty"], [data-study="linko"]).ncs-armed .ncs-reveal { transition-duration:.55s; }
  #main .ncs:is([data-study="noty"], [data-study="linko"]).ncs-armed .ncs-reveal[data-rev]:not(.in) { transform:translateY(24px); }
  #main .ncs:is([data-study="noty"], [data-study="linko"]).ncs-armed .stagger > * { transition-duration:.5s; }
}
