/* SHAREON pages.
   1. First screen: the shared dark film hero (#lifestage-detail.nls[data-story="shareon"], styled by
      /home-lifestage.css). Only the fallback background and the compact height are set here.
   2. The shared five-menu bar (/flagship-subnav.css) — untouched.
   3. Body (#shareon-detail.nsh): white/black Life Stage language — thin lines, generous whitespace, big headings,
      small uppercase labels. SHAREON purple (#7771E8 · #554CC8 · #F0EEFF) is a point colour only.
   Original SVG/CSS visuals only. Dark mode: site-dark.css flattens .hub-page to black/white with !important;
   the block at the end restores only the cues that carry meaning. */

/* ───────── 1 · film hero ───────── */
#lifestage-detail.nls[data-story="shareon"] {
  padding-bottom: 0;
}
#lifestage-detail.nls[data-story="shareon"] .nls-film__fallback {
  background: radial-gradient(ellipse 70% 55% at 50% 42%, #262626 0%, #111 55%, #0a0a0a 100%);
}
#lifestage-detail.nls[data-story="shareon"] .nls-film__slogan {
  max-width: 40rem;
}
#lifestage-detail.nls[data-story="shareon"] .nls-film__wordmark {
  font-size: clamp(3.4rem, 17vw, 12.5rem);
  white-space: nowrap;
}
#lifestage-detail.nls[data-story="shareon"] .nsh-film--compact {
  height: 40rem;
  min-height: 40rem;
  max-height: none;
}
#lifestage-detail.nls[data-story="shareon"] .nsh-film--compact .nls-film__lockup {
  top: 56%;
}
#lifestage-detail.nls[data-story="shareon"] .nsh-film--compact .nls-film__wordmark {
  font-size: clamp(3.6rem, 11vw, 7.2rem);
  margin-bottom: 1.4rem;
}
#lifestage-detail.nls[data-story="shareon"] .nsh-film--compact .nls-film__lead {
  max-width: 36rem;
}
@media (max-width: 760px) {
  #lifestage-detail.nls[data-story="shareon"] .nsh-film--compact {
    height: 38rem;
    min-height: 38rem;
  }
  #lifestage-detail.nls[data-story="shareon"] .nsh-film--compact .nls-film__wordmark {
    font-size: clamp(3rem, 16vw, 4.6rem);
    margin-bottom: 1.1rem;
  }
}

.nsh-vh {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ───────── 3 · body base ───────── */
.hub-page:has(#shareon-detail) {
  padding: 0;
  max-width: none;
  overflow-x: clip;
}

#shareon-detail.nsh {
  --nsh-point: #7771e8;
  --nsh-point-ink: #554cc8;
  --nsh-wash: #f0eeff;
  --nsh-wash-line: #dedaff;
  --nsh-ink: #111111;
  --nsh-muted: #525252;
  --nsh-faint: #6b6b6b;
  --nsh-line: #e7e7e7;
  --nsh-line-strong: #d4d4d4;
  --nsh-paper: #ffffff;
  --nsh-ghost: #e2e2e2;
  background: var(--nsh-paper);
  color: var(--nsh-ink);
  font-family: "Noto Sans KR", "Noto Sans", "Pretendard", system-ui, sans-serif;
}

#shareon-detail.nsh :where(h1, h2, h3, h4, p, li, a, span, dt, dd, th, td, label) {
  word-break: keep-all;
  overflow-wrap: break-word;
}
#shareon-detail :where(h1, h2, h3, h4, p, ul, ol, dl, dd, figure) { margin: 0; }
#shareon-detail :where(ul, ol) { padding: 0; list-style: none; }
#shareon-detail :where(li)::before { content: none; }
#shareon-detail ::selection { background: var(--nsh-point); color: #fff; }
#shareon-detail [id^="nsh-"],
#shareon-detail [id^="svc-"] { scroll-margin-top: 9rem; }

#shareon-detail a:focus-visible,
#shareon-detail button:focus-visible,
#shareon-detail input:focus-visible,
#shareon-detail [tabindex]:focus-visible {
  outline: 2px solid var(--nsh-point-ink);
  outline-offset: 3px;
}

#shareon-detail .nsh-wrap {
  width: min(1180px, calc(100% - 3rem));
  margin: 0 auto;
}

/* status strip under the menu bar */
#shareon-detail .nsh-status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 2rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--nsh-line);
}
#shareon-detail .nsh-status__note {
  flex: 1 1 32rem;
  max-width: 46rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--nsh-muted);
}
#shareon-detail .nsh-status__pilot {
  display: inline-block;
  margin-right: 0.6rem;
  padding: 0.1rem 0.5rem;
  border: 1px solid var(--nsh-point);
  color: var(--nsh-point-ink);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  vertical-align: 0.1em;
}
#shareon-detail .nsh-status__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.1rem;
}

/* sections */
#shareon-detail .nsh-sec {
  padding: clamp(4.5rem, 9vw, 7.5rem) 0;
}
#shareon-detail .nsh-sec:not(.nsh-sec--band):not(.nsh-sec--ink) + .nsh-sec:not(.nsh-sec--band):not(.nsh-sec--ink) > .nsh-wrap {
  position: relative;
}
#shareon-detail .nsh-sec:not(.nsh-sec--band):not(.nsh-sec--ink) + .nsh-sec:not(.nsh-sec--band):not(.nsh-sec--ink) {
  padding-top: 0;
}
#shareon-detail .nsh-sec:not(.nsh-sec--band):not(.nsh-sec--ink) + .nsh-sec:not(.nsh-sec--band):not(.nsh-sec--ink) > .nsh-wrap {
  border-top: 1px solid var(--nsh-line);
  padding-top: clamp(4.5rem, 9vw, 7.5rem);
}
#shareon-detail .nsh-sec--band {
  background: var(--nsh-wash);
}
#shareon-detail .nsh-sec--ink {
  background: #0a0a0a;
  color: #fff;
}

/* heading */
#shareon-detail .nsh-head {
  display: grid;
  gap: 1rem;
  max-width: 46rem;
  margin-bottom: clamp(2.5rem, 5vw, 3.75rem);
}
#shareon-detail .nsh-head--side { margin-bottom: 0; }
#shareon-detail .nsh-kicker {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--nsh-point-ink);
}
#shareon-detail .nsh-title {
  font-size: clamp(1.95rem, 3.6vw, 3rem);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.045em;
  color: var(--nsh-ink);
}
#shareon-detail .nsh-lead {
  max-width: 40rem;
  font-size: clamp(0.98rem, 1.3vw, 1.08rem);
  line-height: 1.75;
  color: var(--nsh-muted);
}
#shareon-detail .nsh-head__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem;
  margin-top: 0.25rem;
}
#shareon-detail .nsh-note {
  margin-top: 1.25rem;
  font-size: 0.8125rem;
  color: var(--nsh-faint);
}
#shareon-detail .nsh-more { margin-top: 2rem; }

/* status badge */
#shareon-detail .nsh-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--nsh-muted);
  white-space: nowrap;
}
#shareon-detail .nsh-badge__dot {
  flex: none;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  box-sizing: border-box;
}
#shareon-detail .nsh-badge--dev .nsh-badge__dot { background: var(--nsh-point); }
#shareon-detail .nsh-badge--prep .nsh-badge__dot { border: 2px solid var(--nsh-point); }
#shareon-detail .nsh-badge--long .nsh-badge__dot { border: 1.5px dashed #9a9a9a; }

/* chips */
#shareon-detail .nsh-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 1.1rem;
}
#shareon-detail .nsh-chips li {
  padding: 0.3rem 0.65rem;
  border: 1px solid var(--nsh-line);
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--nsh-muted);
  background: transparent;
}
#shareon-detail .nsh-chips--sm li { font-size: 0.72rem; padding: 0.22rem 0.5rem; }
#shareon-detail .nsh-chips--lg li { font-size: 0.875rem; padding: 0.45rem 0.85rem; }

/* links & buttons */
#shareon-detail .nsh-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 44px;
  font-size: 0.9rem;
  font-weight: 650;
  color: var(--nsh-ink);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  min-height: 0;
  padding: 0.35rem 0 0.2rem;
}
#shareon-detail .nsh-link:hover { color: var(--nsh-point-ink); }
#shareon-detail .nsh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 48px;
  padding: 0.8rem 1.4rem;
  border: 1px solid #fff;
  font-size: 0.95rem;
  font-weight: 650;
  text-decoration: none;
  color: #fff;
  background: transparent;
}
#shareon-detail .nsh-btn--primary { background: #fff; color: #0a0a0a; }
#shareon-detail .nsh-btn--ghost { border-color: rgba(255, 255, 255, 0.5); }
#shareon-detail .nsh-btn:hover { opacity: 0.88; }

#shareon-detail .nsh-callout {
  margin-top: 2rem;
  padding: 1rem 1.25rem;
  border-left: 3px solid var(--nsh-point);
  background: var(--nsh-paper);
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--nsh-muted);
}

#shareon-detail .nsh-consider {
  margin-top: 1.1rem;
  padding-top: 0.9rem;
  border-top: 1px dashed var(--nsh-line-strong);
  font-size: 0.82rem;
  line-height: 1.65;
  color: var(--nsh-muted);
}
#shareon-detail .nsh-consider strong {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nsh-ink);
}

#shareon-detail .nsh-svc__meta {
  display: flex;
  gap: 0.6rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nsh-faint);
}
#shareon-detail .nsh-svc__n { color: var(--nsh-point-ink); }
#shareon-detail .nsh-svc__title {
  margin-top: 0.45rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.35;
}

#shareon-detail .nsh-ico { width: 22px; height: 22px; display: block; }

/* ───────── A · split heading + numbered rows ───────── */
#shareon-detail .nsh-split {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}
#shareon-detail .nsh-split > .nsh-head { position: sticky; top: 9rem; }
#shareon-detail .nsh-rows { border-top: 1px solid var(--nsh-ink); }
#shareon-detail .nsh-rows__item {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.6rem 0;
  border-bottom: 1px solid var(--nsh-line);
}
#shareon-detail .nsh-rows__n {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--nsh-point-ink);
  padding-top: 0.25rem;
}
#shareon-detail .nsh-rows__title { font-size: 1.1rem; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 0.4rem; }
#shareon-detail .nsh-rows__body { font-size: 1.02rem; line-height: 1.7; color: var(--nsh-muted); }
#shareon-detail .nsh-rows__item:not(:has(.nsh-rows__title)) .nsh-rows__body { color: var(--nsh-ink); font-size: 1.08rem; }

/* ───────── B · big numbers ───────── */
#shareon-detail .nsh-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--nsh-line);
}
#shareon-detail .nsh-stats__item {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.75rem;
  padding: 2rem 2rem 0.5rem 0;
}
#shareon-detail .nsh-stats__item + .nsh-stats__item {
  border-left: 1px solid var(--nsh-line);
  padding-left: 2rem;
}
#shareon-detail .nsh-stats dd {
  font-size: clamp(4rem, 9vw, 7rem);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.06em;
  color: var(--nsh-ink);
}
#shareon-detail .nsh-stats dd.is-point { color: var(--nsh-point); }
#shareon-detail .nsh-stats dt { font-size: 1rem; font-weight: 650; color: var(--nsh-ink); }

/* ───────── C · 4-col board ───────── */
#shareon-detail .nsh-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--nsh-line);
  border-left: 1px solid var(--nsh-line);
}
#shareon-detail .nsh-board__item {
  padding: 1.75rem 1.5rem 2rem;
  border-right: 1px solid var(--nsh-line);
  border-bottom: 1px solid var(--nsh-line);
  min-width: 0;
}
#shareon-detail .nsh-board__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}
#shareon-detail .nsh-board__n { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; color: var(--nsh-faint); }
#shareon-detail .nsh-board__ico { color: var(--nsh-point-ink); }
#shareon-detail .nsh-board__ico .nsh-ico { width: 30px; height: 30px; }
#shareon-detail .nsh-board__label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--nsh-faint);
}
#shareon-detail .nsh-board__title { margin-top: 0.4rem; font-size: 1.5rem; font-weight: 700; letter-spacing: -0.04em; }
#shareon-detail .nsh-board__body { margin-top: 0.6rem; font-size: 0.92rem; line-height: 1.65; color: var(--nsh-muted); }

/* ───────── D · 8-step track ───────── */
#shareon-detail .nsh-how__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(2.5rem, 5vw, 3.75rem);
}
#shareon-detail .nsh-how__head .nsh-head { margin-bottom: 0; }
#shareon-detail .nsh-loop { flex: none; width: 200px; height: auto; display: block; }
#shareon-detail .nsh-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  row-gap: 3rem;
}
#shareon-detail .nsh-track__step {
  position: relative;
  padding: 1.75rem 1.5rem 0 0;
  border-top: 1px solid var(--nsh-line-strong);
  min-width: 0;
}
#shareon-detail .nsh-track__dot {
  position: absolute;
  top: -6px;
  left: 0;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--nsh-paper);
  border: 2px solid var(--nsh-point);
  box-sizing: border-box;
}
#shareon-detail .nsh-track__step:first-child .nsh-track__dot,
#shareon-detail .nsh-track__step:last-child .nsh-track__dot { background: var(--nsh-point); }
#shareon-detail .nsh-track__n {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nsh-point-ink);
}
#shareon-detail .nsh-track__n span { color: var(--nsh-faint); margin-left: 0.35rem; }
#shareon-detail .nsh-track__title { margin-top: 0.6rem; font-size: 1.2rem; font-weight: 700; letter-spacing: -0.03em; }
#shareon-detail .nsh-track__body { margin-top: 0.45rem; font-size: 0.92rem; line-height: 1.65; color: var(--nsh-muted); }

/* ───────── E · provider × renter matrix + signal cards ───────── */
#shareon-detail .nsh-matrix {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  grid-template-rows: auto auto;
}
#shareon-detail .nsh-matrix__axis {
  display: grid;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nsh-faint);
}
#shareon-detail .nsh-matrix__axis span:first-child { color: var(--nsh-point-ink); }
#shareon-detail .nsh-matrix__axis--x {
  grid-column: 2;
  grid-row: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  position: relative;
  padding-bottom: 0.75rem;
}
#shareon-detail .nsh-matrix__axis--x span:first-child { position: absolute; left: 0; top: -1.6rem; }
#shareon-detail .nsh-matrix__axis--x span:not(:first-child) { padding-left: 1.75rem; }
#shareon-detail .nsh-matrix__axis--y {
  grid-column: 1;
  grid-row: 2;
  grid-template-rows: auto 1fr 1fr;
  padding-right: 1rem;
}
#shareon-detail .nsh-matrix__axis--y span:not(:first-child) { padding-top: 1.75rem; }
#shareon-detail .nsh-matrix__axis--y span:first-child { height: 0; overflow: visible; position: relative; top: -1.6rem; }
#shareon-detail .nsh-matrix__grid {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--nsh-ink);
  border-left: 1px solid var(--nsh-line);
}
#shareon-detail .nsh-matrix__cell {
  padding: 1.75rem;
  border-right: 1px solid var(--nsh-line);
  border-bottom: 1px solid var(--nsh-line);
  min-width: 0;
}
#shareon-detail .nsh-matrix__cell:first-child,
#shareon-detail .nsh-matrix__cell:last-child { background: #fafafa; }
#shareon-detail .nsh-matrix__code {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
  color: var(--nsh-ink);
}
#shareon-detail .nsh-matrix__code::first-letter { color: var(--nsh-point); }
#shareon-detail .nsh-matrix__title { margin-top: 1rem; font-size: 1.1rem; font-weight: 700; letter-spacing: -0.02em; }
#shareon-detail .nsh-matrix__body { margin-top: 0.35rem; font-size: 0.92rem; line-height: 1.65; color: var(--nsh-muted); }

#shareon-detail .nsh-signal {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-top: 1.25rem;
  margin-left: 7.5rem;
}
#shareon-detail .nsh-signal__item {
  position: relative;
  padding: 1.75rem 1.75rem 1.9rem;
  border: 1px solid var(--nsh-ink);
  min-width: 0;
}
#shareon-detail .nsh-signal__n {
  position: absolute;
  top: 1.75rem;
  right: 1.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--nsh-faint);
}
#shareon-detail .nsh-signal__code {
  display: inline-block;
  padding: 0.2rem 0.6rem;
  background: var(--nsh-ink);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
#shareon-detail .nsh-signal__title { margin-top: 1.1rem; font-size: 1.35rem; font-weight: 700; letter-spacing: -0.03em; }
#shareon-detail .nsh-signal__body { margin-top: 0.45rem; font-size: 0.95rem; line-height: 1.65; color: var(--nsh-muted); }

/* ───────── F · pillars on the band ───────── */
#shareon-detail .nsh-pillars {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.5rem;
}
#shareon-detail .nsh-pillars__item {
  padding-top: 1.4rem;
  border-top: 3px solid var(--nsh-point);
  min-width: 0;
}
#shareon-detail .nsh-pillars__n { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; color: var(--nsh-point-ink); }
#shareon-detail .nsh-pillars__title { margin-top: 1.5rem; font-size: 1.15rem; font-weight: 700; letter-spacing: -0.03em; }
#shareon-detail .nsh-pillars__body { margin-top: 0.5rem; font-size: 0.9rem; line-height: 1.7; color: var(--nsh-muted); }
#shareon-detail .nsh-sec--band .nsh-callout { max-width: 46rem; }

/* ───────── G · 3-step chain ───────── */
#shareon-detail .nsh-chain {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.5rem;
}
#shareon-detail .nsh-chain__item { position: relative; min-width: 0; }
#shareon-detail .nsh-chain__n {
  display: block;
  font-size: clamp(3.5rem, 7vw, 5.5rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.06em;
  color: var(--nsh-ghost);
}
#shareon-detail .nsh-chain__item:last-child .nsh-chain__n { color: var(--nsh-point); }
#shareon-detail .nsh-chain__title {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--nsh-ink);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}
#shareon-detail .nsh-chain__body { margin-top: 0.5rem; font-size: 0.95rem; line-height: 1.65; color: var(--nsh-muted); }
#shareon-detail .nsh-chain__arrow {
  position: absolute;
  right: -2.4rem;
  top: 1.6rem;
  font-size: 1.4rem;
  color: var(--nsh-faint);
}

/* ───────── H · NEWON family ───────── */
#shareon-detail .nsh-family {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}
#shareon-detail .nsh-family__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}
#shareon-detail .nsh-family__item {
  padding: 1.4rem 1.25rem 1.5rem;
  border: 1px solid var(--nsh-line);
  min-width: 0;
}
#shareon-detail .nsh-family__item.is-self { border-color: var(--nsh-point); background: var(--nsh-wash); }
#shareon-detail .nsh-family__dot {
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  border: 1.5px solid var(--nsh-line-strong);
  box-sizing: border-box;
}
#shareon-detail .nsh-family__item.is-self .nsh-family__dot { background: var(--nsh-point); border-color: var(--nsh-point); }
#shareon-detail .nsh-family__name { margin-top: 1.5rem; font-size: 0.95rem; font-weight: 700; letter-spacing: 0.1em; }
#shareon-detail .nsh-family__body { margin-top: 0.35rem; font-size: 0.85rem; line-height: 1.6; color: var(--nsh-muted); }

/* ───────── closing (ink) ───────── */
#shareon-detail .nsh-close { text-align: center; }
#shareon-detail .nsh-close__in { display: grid; justify-items: center; gap: 1.1rem; }
#shareon-detail .nsh-sec--ink .nsh-kicker { color: #b3afff; }
#shareon-detail .nsh-close__title {
  max-width: 48rem;
  font-size: clamp(1.9rem, 4vw, 3.1rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.045em;
  color: #fff;
}
#shareon-detail .nsh-close__title--mail { font-size: clamp(1.8rem, 6vw, 4.5rem); letter-spacing: -0.04em; }
#shareon-detail .nsh-close__lead { max-width: 38rem; font-size: 1rem; line-height: 1.75; color: rgba(255, 255, 255, 0.72); }
#shareon-detail .nsh-close__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.65rem; margin-top: 1rem; }

/* ───────── Platform: index chip cloud ───────── */
#shareon-detail .nsh-cloud {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--nsh-ink);
}
#shareon-detail .nsh-cloud__group {
  padding: 1.5rem 1.25rem 0 0;
  min-width: 0;
}
#shareon-detail .nsh-cloud__group + .nsh-cloud__group { padding-left: 1.25rem; border-left: 1px solid var(--nsh-line); }
#shareon-detail .nsh-cloud__k {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nsh-point-ink);
  margin-bottom: 1rem;
}
#shareon-detail .nsh-cloud__list { display: flex; flex-wrap: wrap; gap: 0.4rem; }
#shareon-detail .nsh-cloud__list a {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--nsh-line);
  font-size: 0.85rem;
  line-height: 1.3;
  color: var(--nsh-ink);
  text-decoration: none;
}
#shareon-detail .nsh-cloud__list a span { font-size: 0.7rem; font-weight: 700; color: var(--nsh-faint); }
#shareon-detail .nsh-cloud__list a:hover { border-color: var(--nsh-point); color: var(--nsh-point-ink); }

/* Platform A: catalog rows */
#shareon-detail .nsh-catalog { border-top: 1px solid var(--nsh-ink); }
#shareon-detail .nsh-catalog__row {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: 2.5rem;
  padding: 2rem 0;
  border-bottom: 1px solid var(--nsh-line);
}
#shareon-detail .nsh-catalog__side { display: flex; gap: 1.1rem; align-items: flex-start; }
#shareon-detail .nsh-catalog__side .nsh-badge { margin-top: 0.75rem; }
#shareon-detail .nsh-catalog__ico {
  flex: none;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--nsh-line);
  border-radius: 50%;
  color: var(--nsh-point-ink);
}
#shareon-detail .nsh-catalog__body { font-size: 1rem; line-height: 1.7; color: var(--nsh-ink); }
#shareon-detail .nsh-catalog__main .nsh-chips { margin-top: 0.9rem; }

/* Platform B: 3-col grid with lead cell */
#shareon-detail .nsh-grid3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--nsh-line);
  border-left: 1px solid var(--nsh-line);
}
#shareon-detail .nsh-grid3 > li {
  padding: 1.9rem 1.75rem 2rem;
  border-right: 1px solid var(--nsh-line);
  border-bottom: 1px solid var(--nsh-line);
  min-width: 0;
}
#shareon-detail .nsh-grid3__lead { background: #0a0a0a; }
#shareon-detail .nsh-grid3__lead .nsh-head { margin: 0; }
#shareon-detail .nsh-grid3__lead .nsh-title { color: #fff; font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
#shareon-detail .nsh-grid3__lead .nsh-lead { color: rgba(255, 255, 255, 0.72); font-size: 0.95rem; }
#shareon-detail .nsh-grid3__lead .nsh-kicker { color: #b3afff; }
#shareon-detail .nsh-grid3__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.75rem;
}
#shareon-detail .nsh-grid3__ico { color: var(--nsh-point-ink); }
#shareon-detail .nsh-grid3__ico .nsh-ico { width: 28px; height: 28px; }
#shareon-detail .nsh-grid3__body { margin-top: 0.55rem; font-size: 0.92rem; line-height: 1.65; color: var(--nsh-muted); }

/* Platform C: duo on the band */
#shareon-detail .nsh-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
#shareon-detail .nsh-duo__item {
  position: relative;
  overflow: hidden;
  padding: 2.25rem 2.25rem 2.4rem;
  background: var(--nsh-paper);
  border: 1px solid var(--nsh-wash-line);
  min-width: 0;
}
#shareon-detail .nsh-duo__big {
  position: absolute;
  right: 1.25rem;
  bottom: -1.6rem;
  font-size: 9rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.06em;
  color: var(--nsh-wash);
  pointer-events: none;
  z-index: 0;
}
#shareon-detail .nsh-duo__item > :not(.nsh-duo__big) { position: relative; z-index: 1; }
#shareon-detail .nsh-duo__top { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 2rem; }
#shareon-detail .nsh-duo__ico {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--nsh-point);
  color: #fff;
}
#shareon-detail .nsh-duo__item .nsh-svc__title { font-size: 1.6rem; }
#shareon-detail .nsh-duo__body { margin-top: 0.6rem; max-width: 32rem; font-size: 1rem; line-height: 1.7; color: var(--nsh-muted); }

/* Platform D / Partnerships: boxed process */
#shareon-detail .nsh-proc {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
}
#shareon-detail .nsh-proc__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.5rem 1.25rem 1.6rem;
  border: 1px solid var(--nsh-line);
  min-width: 0;
}
#shareon-detail .nsh-proc__top { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 1.5rem; }
#shareon-detail .nsh-proc__box {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid var(--nsh-ink);
  font-size: 0.8rem;
  font-weight: 700;
}
#shareon-detail .nsh-proc__item:first-child .nsh-proc__box { background: var(--nsh-ink); color: #fff; }
#shareon-detail .nsh-proc__ico { color: var(--nsh-point-ink); }
#shareon-detail .nsh-proc__item .nsh-svc__title { font-size: 1.08rem; margin-bottom: 0.6rem; }
#shareon-detail .nsh-proc__body { margin-top: 0.75rem; font-size: 0.88rem; line-height: 1.65; color: var(--nsh-muted); }
#shareon-detail .nsh-proc__item .nsh-consider { margin-top: auto; padding-top: 0.9rem; width: 100%; }
#shareon-detail .nsh-proc__item .nsh-chips { margin-bottom: 1.1rem; }

/* Platform E: device */
#shareon-detail .nsh-device {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}
#shareon-detail .nsh-device__art {
  display: grid;
  place-items: center;
  padding: 2.5rem 1rem;
  background: #fafafa;
  border: 1px solid var(--nsh-line);
}
#shareon-detail .nsh-device__art svg { width: min(220px, 60%); height: auto; display: block; }
#shareon-detail .nsh-device__text .nsh-head { margin-bottom: 1.25rem; }
#shareon-detail .nsh-device__text .nsh-badge { margin-top: 0.75rem; }
#shareon-detail .nsh-device__body { margin-top: 1rem; font-size: 1.05rem; line-height: 1.75; color: var(--nsh-ink); max-width: 36rem; }

/* ───────── Business: tabs ───────── */
#shareon-detail .nsh-tabs__list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid var(--nsh-ink);
  margin-bottom: 2rem;
}
#shareon-detail .nsh-tabs__list[hidden] { display: none; }
#shareon-detail .nsh-tabs__tab {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.3rem;
  min-height: 44px;
  padding: 1rem 0.9rem 1.1rem;
  border: 0;
  border-bottom: 1px solid var(--nsh-wash-line);
  background: transparent;
  color: var(--nsh-muted);
  font: inherit;
  font-size: 0.92rem;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
}
#shareon-detail .nsh-tabs__n { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; color: var(--nsh-faint); }
#shareon-detail .nsh-tabs__tab[aria-selected="true"] { background: #0a0a0a; color: #fff; }
#shareon-detail .nsh-tabs__tab[aria-selected="true"] .nsh-tabs__n { color: #b3afff; }
#shareon-detail .nsh-tabs__tab:hover:not([aria-selected="true"]) { color: var(--nsh-ink); background: rgba(255, 255, 255, 0.6); }
#shareon-detail .nsh-tabs__panel {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  gap: 2.5rem;
  padding: 2rem 0;
}
#shareon-detail .nsh-tabs:not(.is-enhanced) .nsh-tabs__panel + .nsh-tabs__panel { border-top: 1px solid var(--nsh-wash-line); }
#shareon-detail .nsh-tabs__panel[hidden] { display: none; }
#shareon-detail .nsh-tabs__panel:focus-visible { outline-offset: 6px; }
#shareon-detail .nsh-tabs__big {
  display: block;
  font-size: clamp(4rem, 8vw, 6.5rem);
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.06em;
  color: var(--nsh-point);
}
#shareon-detail .nsh-tabs__en { margin-top: 1.25rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--nsh-point-ink); }
#shareon-detail .nsh-tabs__title { margin-top: 0.4rem; font-size: 1.45rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1.3; }
#shareon-detail .nsh-tabs__count { margin-top: 0.75rem; font-size: 0.85rem; color: var(--nsh-faint); }
#shareon-detail .nsh-biz {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-content: start;
}
#shareon-detail .nsh-biz__item {
  padding: 1.5rem 1.5rem 1.6rem;
  background: var(--nsh-paper);
  border: 1px solid var(--nsh-wash-line);
  min-width: 0;
}
#shareon-detail .nsh-biz__top { display: flex; gap: 0.9rem; align-items: center; margin-bottom: 0.9rem; }
#shareon-detail .nsh-biz__ico {
  flex: none;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--nsh-wash);
  color: var(--nsh-point-ink);
}
#shareon-detail .nsh-biz__name { min-width: 0; }
#shareon-detail .nsh-biz__en { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--nsh-faint); }
#shareon-detail .nsh-biz__title { margin: 0.2rem 0 0; font-size: 1.12rem; font-weight: 700; letter-spacing: -0.02em; }
#shareon-detail .nsh-biz__dl { margin-top: 1rem; border-top: 1px solid var(--nsh-line); }
#shareon-detail .nsh-biz__dl > div {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--nsh-line);
  font-size: 0.86rem;
  line-height: 1.55;
}
#shareon-detail .nsh-biz__dl dt { color: var(--nsh-faint); font-weight: 600; }
#shareon-detail .nsh-biz__dl dd { color: var(--nsh-ink); }

/* Business: revenue ledger */
#shareon-detail .nsh-ledger {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}
#shareon-detail .nsh-table-wrap { overflow-x: auto; }
#shareon-detail .nsh-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  line-height: 1.5;
}
#shareon-detail .nsh-table thead th {
  padding: 0 1rem 0.85rem 0;
  border-bottom: 1px solid var(--nsh-ink);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nsh-faint);
  text-align: left;
}
#shareon-detail .nsh-table tbody :is(th, td) {
  padding: 1.15rem 1rem 1.15rem 0;
  border-bottom: 1px solid var(--nsh-line);
  text-align: left;
  vertical-align: top;
}
#shareon-detail .nsh-table tbody th { font-weight: 700; color: var(--nsh-ink); white-space: nowrap; }
#shareon-detail .nsh-table td { color: var(--nsh-muted); }
#shareon-detail .nsh-table__n { width: 2.5rem; font-size: 0.8rem; font-weight: 700; color: var(--nsh-point-ink) !important; }
#shareon-detail .nsh-ledger .nsh-callout { background: var(--nsh-wash); border-left-color: var(--nsh-point); }

/* Business: calculator on ink */
#shareon-detail .nsh-calc {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}
#shareon-detail .nsh-sec--ink .nsh-title { color: #fff; }
#shareon-detail .nsh-sec--ink .nsh-lead { color: rgba(255, 255, 255, 0.72); }
#shareon-detail .nsh-calc__badge {
  justify-self: start;
  margin-top: 0.5rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid rgba(179, 175, 255, 0.7);
  color: #d9d6ff;
  font-size: 0.8rem;
  font-weight: 650;
}
#shareon-detail .nsh-calc__form { display: grid; gap: 1.5rem; }
#shareon-detail .nsh-calc__fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
#shareon-detail .nsh-calc__field { display: grid; gap: 0.5rem; min-width: 0; }
#shareon-detail .nsh-calc__field label { font-size: 0.82rem; color: rgba(255, 255, 255, 0.72); }
#shareon-detail .nsh-calc__input {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
#shareon-detail .nsh-calc__input input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  padding: 0.6rem 0;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 1.35rem;
  font-weight: 650;
  -moz-appearance: textfield;
}
#shareon-detail .nsh-calc__input input::-webkit-inner-spin-button,
#shareon-detail .nsh-calc__input input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#shareon-detail .nsh-calc__input span { flex: none; font-size: 0.9rem; color: rgba(255, 255, 255, 0.6); }
#shareon-detail .nsh-calc__out { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, 0.18); }
#shareon-detail .nsh-calc__out > div { padding: 1.4rem 1rem 0 0; min-width: 0; }
#shareon-detail .nsh-calc__out > div + div { padding-left: 1.5rem; border-left: 1px solid rgba(255, 255, 255, 0.18); }
#shareon-detail .nsh-calc__out dt { font-size: 0.82rem; color: rgba(255, 255, 255, 0.65); }
#shareon-detail .nsh-calc__out dd { margin-top: 0.5rem; font-size: clamp(1.6rem, 3.4vw, 2.6rem); font-weight: 700; letter-spacing: -0.04em; color: #fff; overflow-wrap: anywhere; }
#shareon-detail .nsh-calc__out .is-fee dd output { color: #b3afff; }
#shareon-detail .nsh-calc__out dd span { font-size: 0.95rem; font-weight: 500; color: rgba(255, 255, 255, 0.6); }
#shareon-detail .nsh-calc__note { font-size: 0.82rem; line-height: 1.7; color: rgba(255, 255, 255, 0.6); }
#shareon-detail .nsh-sec--ink :focus-visible { outline-color: #b3afff; }

/* Business: SaaS modules */
#shareon-detail .nsh-modules {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 2.5rem;
}
#shareon-detail .nsh-modules__item {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  column-gap: 0.75rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--nsh-ink);
  min-width: 0;
}
#shareon-detail .nsh-modules__item:nth-child(n + 4) { border-top-color: var(--nsh-line); }
#shareon-detail .nsh-modules__n { grid-row: span 2; font-size: 0.8rem; font-weight: 700; color: var(--nsh-point-ink); padding-top: 0.2rem; }
#shareon-detail .nsh-modules__name { font-size: 1.12rem; font-weight: 700; letter-spacing: -0.02em; }
#shareon-detail .nsh-modules__body { margin-top: 0.3rem; font-size: 0.92rem; color: var(--nsh-muted); }

/* Business: roadmap timeline */
#shareon-detail .nsh-now {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  justify-self: start;
  margin-top: 0.5rem;
  padding: 0.55rem 0.9rem;
  background: var(--nsh-paper);
  border: 1px solid var(--nsh-point);
  font-size: 0.88rem;
  font-weight: 650;
  color: var(--nsh-point-ink);
}
#shareon-detail .nsh-now__dot { flex: none; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--nsh-point); }
#shareon-detail .nsh-timeline { position: relative; border-left: 1px solid var(--nsh-wash-line); margin-left: 0.4rem; }
#shareon-detail .nsh-timeline__item { position: relative; padding: 0 0 2.25rem 2.25rem; }
#shareon-detail .nsh-timeline__item:last-child { padding-bottom: 0; }
#shareon-detail .nsh-timeline__dot {
  position: absolute;
  left: -0.45rem;
  top: 0.15rem;
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 50%;
  background: var(--nsh-wash);
  border: 2px solid var(--nsh-point);
  box-sizing: border-box;
}
#shareon-detail .nsh-timeline__item.is-now .nsh-timeline__dot { background: var(--nsh-point); box-shadow: 0 0 0 5px rgba(119, 113, 232, 0.2); }
#shareon-detail .nsh-timeline__n { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; color: var(--nsh-point-ink); }
#shareon-detail .nsh-timeline__title { margin-top: 0.4rem; font-size: 1.25rem; font-weight: 700; letter-spacing: -0.03em; }
#shareon-detail .nsh-timeline__body { margin-top: 0.4rem; max-width: 34rem; font-size: 0.95rem; line-height: 1.7; color: var(--nsh-muted); }
#shareon-detail .nsh-tag {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 0.12rem 0.5rem;
  background: var(--nsh-point-ink);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  vertical-align: 0.2em;
}

/* Business: focus statements */
#shareon-detail .nsh-statements {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
#shareon-detail .nsh-statements__item {
  display: flex;
  flex-direction: column;
  padding: 2rem 1.75rem 2.1rem;
  border: 1px solid var(--nsh-line);
  min-width: 0;
}
#shareon-detail .nsh-statements__item:first-child { background: #0a0a0a; border-color: #0a0a0a; color: #fff; }
#shareon-detail .nsh-statements__n { font-size: 0.8rem; font-weight: 700; color: var(--nsh-point-ink); }
#shareon-detail .nsh-statements__item:first-child .nsh-statements__n { color: #b3afff; }
#shareon-detail .nsh-statements__title { margin-top: 3rem; font-size: 1.3rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1.35; }
#shareon-detail .nsh-statements__body { margin-top: 0.6rem; font-size: 0.92rem; line-height: 1.7; color: var(--nsh-muted); }
#shareon-detail .nsh-statements__item:first-child .nsh-statements__body { color: rgba(255, 255, 255, 0.72); }

/* ───────── Partnerships: directory ───────── */
#shareon-detail .nsh-dir__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: end;
  margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}
#shareon-detail .nsh-dir__head .nsh-head { margin-bottom: 0; }
#shareon-detail .nsh-notice {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  padding: 1.1rem 1.25rem;
  background: var(--nsh-wash);
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--nsh-ink);
}
#shareon-detail .nsh-notice__k {
  flex: none;
  display: grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background: var(--nsh-point);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
}
#shareon-detail .nsh-dir { border-top: 1px solid var(--nsh-ink); }
#shareon-detail .nsh-dir__row {
  display: grid;
  grid-template-columns: 3rem minmax(0, 3.2fr) repeat(3, minmax(0, 2.4fr)) minmax(0, 1.6fr);
  gap: 1.25rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--nsh-line);
  align-items: start;
}
#shareon-detail .nsh-dir__row--head {
  grid-template-columns: 3rem minmax(0, 3.2fr) repeat(3, minmax(0, 2.4fr)) minmax(0, 1.6fr);
  padding: 0.85rem 0;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nsh-faint);
}
#shareon-detail .nsh-dir__n { font-size: 0.8rem; font-weight: 700; color: var(--nsh-point-ink); padding-top: 0.6rem; }
#shareon-detail .nsh-dir__name { display: flex; gap: 0.9rem; align-items: flex-start; min-width: 0; }
#shareon-detail .nsh-dir__ico {
  flex: none;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--nsh-line);
  border-radius: 50%;
  color: var(--nsh-point-ink);
}
#shareon-detail .nsh-dir__title { font-size: 1.05rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.4; padding-top: 0.45rem; }
#shareon-detail .nsh-dir__name .nsh-link { font-size: 0.8rem; margin-top: 0.4rem; color: var(--nsh-muted); border-bottom-color: var(--nsh-line-strong); }
#shareon-detail .nsh-dir__dl {
  display: grid;
  grid-column: 3 / -1;
  grid-template-columns: subgrid;
  gap: 1.25rem;
  padding-top: 0.5rem;
}
#shareon-detail .nsh-dir__dl > div { min-width: 0; }
#shareon-detail .nsh-dir__dl dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#shareon-detail .nsh-dir__dl dd { font-size: 0.9rem; line-height: 1.6; color: var(--nsh-muted); }
#shareon-detail .nsh-dir__dl dd .nsh-badge { white-space: normal; }

/* Partnerships: boxed steps with arrows (on the band) */
#shareon-detail .nsh-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.75rem;
}
#shareon-detail .nsh-steps__item {
  position: relative;
  padding: 1.6rem 1.4rem 1.75rem;
  background: var(--nsh-paper);
  border: 1px solid var(--nsh-wash-line);
  min-width: 0;
}
#shareon-detail .nsh-steps__box {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  background: var(--nsh-point);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 700;
}
#shareon-detail .nsh-steps__item:not(:first-child) .nsh-steps__box { background: transparent; color: var(--nsh-point-ink); border: 1px solid var(--nsh-point); }
#shareon-detail .nsh-steps__title { margin-top: 2rem; font-size: 1.35rem; font-weight: 700; letter-spacing: -0.03em; }
#shareon-detail .nsh-steps__body { margin-top: 0.45rem; font-size: 0.9rem; line-height: 1.65; color: var(--nsh-muted); }
#shareon-detail .nsh-steps__arrow {
  position: absolute;
  top: 2.15rem;
  right: -1.45rem;
  z-index: 1;
  font-size: 1.1rem;
  line-height: 1;
  color: var(--nsh-point-ink);
}

/* ───────── Contact: tiles ───────── */
#shareon-detail .nsh-tiles {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--nsh-line);
  border-left: 1px solid var(--nsh-line);
}
#shareon-detail .nsh-tiles__item {
  display: flex;
  flex-direction: column;
  padding: 1.5rem 1.35rem 1.4rem;
  border-right: 1px solid var(--nsh-line);
  border-bottom: 1px solid var(--nsh-line);
  min-width: 0;
}
#shareon-detail .nsh-tiles__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2rem; }
#shareon-detail .nsh-tiles__ico { color: var(--nsh-point-ink); }
#shareon-detail .nsh-tiles__ico .nsh-ico { width: 26px; height: 26px; }
#shareon-detail .nsh-tiles__n { font-size: 0.8rem; font-weight: 700; color: var(--nsh-faint); }
#shareon-detail .nsh-tiles__title { font-size: 1.12rem; font-weight: 700; letter-spacing: -0.02em; }
#shareon-detail .nsh-tiles__body { margin-top: 0.45rem; font-size: 0.88rem; line-height: 1.6; color: var(--nsh-muted); }
#shareon-detail .nsh-tiles__acts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-top: auto;
  padding-top: 1.5rem;
}
#shareon-detail .nsh-tiles__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 40px;
  padding: 0.5rem 0.85rem;
  background: var(--nsh-ink);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 650;
  text-decoration: none;
}
#shareon-detail .nsh-tiles__btn:hover { background: var(--nsh-point-ink); }
#shareon-detail .nsh-tiles__mail {
  font-size: 0.82rem;
  font-weight: 650;
  color: var(--nsh-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--nsh-line-strong);
  padding: 0.3rem 0 0.15rem;
}
#shareon-detail .nsh-tiles__mail:hover { color: var(--nsh-point-ink); border-color: currentColor; }

/* Contact: checklist on the band */
#shareon-detail .nsh-checks { display: grid; gap: 0.75rem; }
#shareon-detail .nsh-checks__item {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 1.25rem 1.4rem;
  background: var(--nsh-paper);
  border: 1px solid var(--nsh-wash-line);
}
#shareon-detail .nsh-checks__ico { display: block; margin-top: 0.1rem; }
#shareon-detail .nsh-checks__item p { font-size: 1rem; line-height: 1.65; color: var(--nsh-ink); }

/* ───────── responsive ───────── */
@media (max-width: 1100px) {
  #shareon-detail .nsh-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #shareon-detail .nsh-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2.25rem; }
  #shareon-detail .nsh-cloud { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #shareon-detail .nsh-cloud__group:nth-child(n + 4) { border-top: 1px solid var(--nsh-line); margin-top: 1.5rem; }
  #shareon-detail .nsh-cloud__group:nth-child(4) { padding-left: 0; border-left: 0; }
  #shareon-detail .nsh-proc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #shareon-detail .nsh-tabs__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #shareon-detail .nsh-tabs__panel { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  #shareon-detail .nsh-tabs__side { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1.25rem; align-items: end; }
  #shareon-detail .nsh-tabs__big { grid-row: span 3; }
  #shareon-detail .nsh-tabs__en { margin-top: 0; }
  #shareon-detail .nsh-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #shareon-detail .nsh-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #shareon-detail .nsh-steps__item:nth-child(3) .nsh-steps__arrow { display: none; }
  #shareon-detail .nsh-dir__row--head { display: none; }
  #shareon-detail .nsh-dir__row { grid-template-columns: 2.5rem minmax(0, 1fr); }
  #shareon-detail .nsh-dir__dl { grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 0; }
  #shareon-detail .nsh-dir__row--head { grid-template-columns: none; }
  #shareon-detail .nsh-dir__dl dt {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    margin-bottom: 0.2rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--nsh-faint);
  }
  #shareon-detail .nsh-family { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-family > .nsh-head { margin-bottom: 0; }
}

@media (max-width: 900px) {
  #shareon-detail .nsh-split,
  #shareon-detail .nsh-ledger,
  #shareon-detail .nsh-calc,
  #shareon-detail .nsh-device,
  #shareon-detail .nsh-dir__head { grid-template-columns: minmax(0, 1fr); gap: 2.25rem; }
  #shareon-detail .nsh-split > .nsh-head { position: static; }
  #shareon-detail .nsh-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #shareon-detail .nsh-loop { width: 150px; }
  #shareon-detail .nsh-chain { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  #shareon-detail .nsh-chain__arrow { display: none; }
  #shareon-detail .nsh-chain__item { display: grid; grid-template-columns: 6rem minmax(0, 1fr); column-gap: 1.25rem; }
  #shareon-detail .nsh-chain__n { grid-row: span 2; font-size: 3.5rem; }
  #shareon-detail .nsh-chain__title { margin-top: 0; }
  #shareon-detail .nsh-signal { margin-left: 0; }
  #shareon-detail .nsh-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #shareon-detail .nsh-grid3__lead { grid-column: 1 / -1; }
  #shareon-detail .nsh-catalog__row { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  #shareon-detail .nsh-modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #shareon-detail .nsh-modules__item:nth-child(3) { border-top-color: var(--nsh-line); }
  #shareon-detail .nsh-statements { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-statements__title { margin-top: 1.5rem; }
  #shareon-detail .nsh-family__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #shareon-detail .nsh-calc__out dd { font-size: clamp(1.5rem, 5vw, 2.2rem); }
}

@media (max-width: 640px) {
  #shareon-detail .nsh-wrap { width: calc(100% - 2rem); }
  #shareon-detail .nsh-sec { padding: 4rem 0; }
  #shareon-detail .nsh-sec:not(.nsh-sec--band):not(.nsh-sec--ink) + .nsh-sec:not(.nsh-sec--band):not(.nsh-sec--ink) > .nsh-wrap { padding-top: 4rem; }
  #shareon-detail .nsh-status__note { flex-basis: 100%; }
  #shareon-detail .nsh-stats { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-stats__item { flex-direction: row-reverse; justify-content: space-between; align-items: baseline; padding: 1.25rem 0; border-bottom: 1px solid var(--nsh-line); }
  #shareon-detail .nsh-stats__item + .nsh-stats__item { border-left: 0; padding-left: 0; }
  #shareon-detail .nsh-stats dd { font-size: 3.5rem; }
  #shareon-detail .nsh-board { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-board__top { margin-bottom: 1.5rem; }
  #shareon-detail .nsh-how__head { flex-direction: column; align-items: flex-start; }
  #shareon-detail .nsh-loop { display: none; }
  #shareon-detail .nsh-track { grid-template-columns: minmax(0, 1fr); row-gap: 0; border-left: 1px solid var(--nsh-line-strong); margin-left: 0.3rem; }
  #shareon-detail .nsh-track__step { border-top: 0; padding: 0 0 1.75rem 1.5rem; }
  #shareon-detail .nsh-track__dot { top: 0.15rem; left: -6px; }
  #shareon-detail .nsh-track__title { margin-top: 0.35rem; }
  #shareon-detail .nsh-matrix { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-matrix__axis { display: none; }
  #shareon-detail .nsh-matrix__grid { grid-column: 1; grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-matrix__cell { padding: 1.5rem 1.25rem; }
  #shareon-detail .nsh-signal { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-pillars { grid-template-columns: minmax(0, 1fr); row-gap: 1.75rem; }
  #shareon-detail .nsh-pillars__item { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: 0.75rem; }
  #shareon-detail .nsh-pillars__n { grid-row: span 2; }
  #shareon-detail .nsh-pillars__title { margin-top: 0; }
  #shareon-detail .nsh-family__grid { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-family__item { display: grid; grid-template-columns: 1rem minmax(0, 1fr); column-gap: 0.75rem; }
  #shareon-detail .nsh-family__dot { grid-row: span 2; margin-top: 0.35rem; }
  #shareon-detail .nsh-family__name { margin-top: 0; }
  #shareon-detail .nsh-cloud { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-cloud__group,
  #shareon-detail .nsh-cloud__group + .nsh-cloud__group { padding: 1.25rem 0 0; border-left: 0; margin-top: 0; }
  #shareon-detail .nsh-cloud__group + .nsh-cloud__group { border-top: 1px solid var(--nsh-line); margin-top: 1.25rem; }
  #shareon-detail .nsh-grid3 { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-grid3 > li { padding: 1.5rem 1.25rem; }
  #shareon-detail .nsh-duo { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-duo__item { padding: 1.75rem 1.4rem 2rem; }
  #shareon-detail .nsh-duo__big { font-size: 6.5rem; bottom: -1rem; }
  #shareon-detail .nsh-proc { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-tabs__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #shareon-detail .nsh-tabs__tab { padding: 0.8rem 0.75rem 0.9rem; font-size: 0.85rem; }
  #shareon-detail .nsh-biz { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-biz__item { padding: 1.25rem 1.1rem 1.35rem; }
  #shareon-detail .nsh-biz__dl > div { grid-template-columns: 5.5rem minmax(0, 1fr); }
  #shareon-detail .nsh-tabs__big { font-size: 3.75rem; }
  #shareon-detail .nsh-table thead { display: none; }
  #shareon-detail .nsh-table,
  #shareon-detail .nsh-table tbody,
  #shareon-detail .nsh-table tr { display: block; width: 100%; }
  #shareon-detail .nsh-table tr {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    padding: 1rem 0;
    border-bottom: 1px solid var(--nsh-line);
  }
  #shareon-detail .nsh-table tbody :is(th, td) { display: block; padding: 0; border: 0; }
  #shareon-detail .nsh-table__n { grid-row: span 3; width: auto; }
  #shareon-detail .nsh-table tbody th { white-space: normal; }
  #shareon-detail .nsh-table tbody td:not(.nsh-table__n) { margin-top: 0.25rem; font-size: 0.88rem; }
  #shareon-detail .nsh-calc__fields { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-calc__out { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-calc__out > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.18); margin-top: 1.25rem; }
  #shareon-detail .nsh-modules { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-modules__item:nth-child(n + 2) { border-top-color: var(--nsh-line); }
  #shareon-detail .nsh-dir__row { grid-template-columns: minmax(0, 1fr); gap: 0.9rem; }
  #shareon-detail .nsh-dir__n { display: none; }
  #shareon-detail .nsh-dir__dl { grid-column: 1; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; padding-left: calc(40px + 0.9rem); }
  #shareon-detail .nsh-steps { grid-template-columns: minmax(0, 1fr); gap: 0.75rem; }
  #shareon-detail .nsh-steps__item { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); column-gap: 1rem; padding: 1.25rem; }
  #shareon-detail .nsh-steps__box { grid-row: span 2; }
  #shareon-detail .nsh-steps__title { margin-top: 0; font-size: 1.15rem; }
  #shareon-detail .nsh-steps__arrow { display: none; }
  #shareon-detail .nsh-tiles { grid-template-columns: minmax(0, 1fr); }
  #shareon-detail .nsh-tiles__top { margin-bottom: 1rem; }
  #shareon-detail .nsh-checks__item { padding: 1.1rem 1rem; }
  #shareon-detail .nsh-close__ctas { flex-direction: column; align-items: stretch; width: 100%; }
}

/* ───────── dark mode ─────────
   site-dark.css turns every .hub-page descendant black/white with !important. Keep that look; restore only the
   cues that carry meaning (point colour, status dots, selected tab, primary CTAs, timeline/track dots). */
html[data-newon-shell-theme="dark"] body #lifestage-detail.nls[data-story="shareon"] .nls-film .nls-btn:not(.nls-btn--ghost) {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
}
html[data-newon-shell-theme="dark"] body #lifestage-detail.nls[data-story="shareon"] .nls-film .nls-btn:not(.nls-btn--ghost) * { color: #000000 !important; background: transparent !important; }
html[data-newon-shell-theme="dark"] body #lifestage-detail.nls[data-story="shareon"] .nls-film :is(.nls-film__lockup, .nls-film__lockup *:not(.nls-btn):not(.nls-btn *), .nls-film__veil) {
  background: transparent !important;
}
html[data-newon-shell-theme="dark"] body #lifestage-detail.nls[data-story="shareon"] .nls-film .nls-btn--ghost {
  border-color: rgba(255, 255, 255, 0.72) !important;
}
html[data-newon-shell-theme="dark"] body #lifestage-detail.nls[data-story="shareon"] .nls-film__fallback {
  background: radial-gradient(ellipse 70% 55% at 50% 42%, #262626 0%, #111 55%, #0a0a0a 100%) !important;
}
html[data-newon-shell-theme="dark"] body #shareon-detail :is(.nsh-kicker, .nsh-rows__n, .nsh-track__n, .nsh-svc__n, .nsh-pillars__n, .nsh-cloud__k, .nsh-timeline__n, .nsh-modules__n, .nsh-statements__n, .nsh-dir__n, .nsh-table__n, .nsh-tabs__en, .nsh-matrix__axis span:first-child, .nsh-status__pilot, .nsh-now, .nsh-board__ico, .nsh-grid3__ico, .nsh-proc__ico, .nsh-tiles__ico, .nsh-catalog__ico, .nsh-dir__ico, .nsh-biz__ico, .nsh-calc__out .is-fee output),
html[data-newon-shell-theme="dark"] body #shareon-detail .nsh-tabs__tab[aria-selected="true"] .nsh-tabs__n {
  color: #b3afff !important;
}
html[data-newon-shell-theme="dark"] body #shareon-detail :is(.nsh-stats dd.is-point, .nsh-tabs__big, .nsh-chain__item:last-child .nsh-chain__n) { color: #9e99ff !important; }
html[data-newon-shell-theme="dark"] body #shareon-detail :is(.nsh-chain__n, .nsh-duo__big) { color: #2f2f3a !important; }
html[data-newon-shell-theme="dark"] body #shareon-detail :is(.nsh-badge--dev .nsh-badge__dot, .nsh-track__step:first-child .nsh-track__dot, .nsh-track__step:last-child .nsh-track__dot, .nsh-timeline__item.is-now .nsh-timeline__dot, .nsh-now__dot, .nsh-family__item.is-self .nsh-family__dot, .nsh-notice__k, .nsh-steps__item:first-child .nsh-steps__box, .nsh-duo__ico) {
  background: #7771e8 !important;
  color: #fff !important;
}
html[data-newon-shell-theme="dark"] body #shareon-detail :is(.nsh-badge--prep .nsh-badge__dot, .nsh-track__dot, .nsh-timeline__dot, .nsh-pillars__item, .nsh-family__item.is-self, .nsh-status__pilot, .nsh-now, .nsh-steps__box, .nsh-callout) {
  border-color: #7771e8 !important;
}
html[data-newon-shell-theme="dark"] body #shareon-detail :is(.nsh-rows, .nsh-catalog, .nsh-cloud, .nsh-dir, .nsh-matrix__grid, .nsh-tabs__list, .nsh-signal__item, .nsh-chain__title, .nsh-modules__item:nth-child(-n + 3)) {
  border-top-color: rgba(255, 255, 255, 0.55) !important;
}
html[data-newon-shell-theme="dark"] body #shareon-detail .nsh-signal__item { border-color: rgba(255, 255, 255, 0.4) !important; }
html[data-newon-shell-theme="dark"] body #shareon-detail :is(.nsh-signal__code, .nsh-tabs__tab[aria-selected="true"], .nsh-tiles__btn, .nsh-btn--primary, .nsh-tag) {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
}
html[data-newon-shell-theme="dark"] body #shareon-detail :is(.nsh-tabs__tab[aria-selected="true"], .nsh-tiles__btn, .nsh-btn--primary) *:not(.nsh-tabs__n) { color: #000000 !important; background: transparent !important; }
html[data-newon-shell-theme="dark"] body #shareon-detail .nsh-tabs__tab[aria-selected="true"] .nsh-tabs__n { color: #554cc8 !important; background: transparent !important; }
html[data-newon-shell-theme="dark"] body #shareon-detail :is(.nsh-sec--band, .nsh-sec--band > .nsh-wrap) { background: #0d0c16 !important; }
html[data-newon-shell-theme="dark"] body #shareon-detail .nsh-sec--band :is(.nsh-head, .nsh-head *, .nsh-split, .nsh-tabs, .nsh-tabs__list, .nsh-tabs__panel, .nsh-tabs__side, .nsh-tabs__side *, .nsh-tabs__tab:not([aria-selected="true"]), .nsh-tabs__tab:not([aria-selected="true"]) *, .nsh-biz, .nsh-pillars, .nsh-pillars *, .nsh-timeline, .nsh-timeline__item, .nsh-timeline__item > :not(.nsh-timeline__dot):not(.nsh-timeline__title), .nsh-timeline__title, .nsh-duo, .nsh-steps, .nsh-checks, .nsh-checks__ico) {
  background: transparent !important;
}
html[data-newon-shell-theme="dark"] body #shareon-detail .nsh-timeline__item.is-now .nsh-timeline__dot { box-shadow: none !important; }

@media (prefers-reduced-motion: reduce) {
  #shareon-detail * { transition: none !important; }
}
@media print {
  #shareon-detail .nsh-sec--ink { background: #fff; color: #000; }
  #shareon-detail .nsh-sec--ink :is(.nsh-title, .nsh-close__title) { color: #000; }
}
