/* ==========================================================================
   NOVAURA — Support Center

   Landing page, Help Center index, category archive, article reading
   experience and Contact Support. Reproduces the approved treatments using
   the existing design system.
   ========================================================================== */

/* ==========================================================================
   Landing — hero
   ========================================================================== */
.nva-shero { padding: var(--nva-s-40) var(--nva-s-6) var(--nva-s-16); }

.nva-shero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 48rem;
  margin-inline: auto;
  text-align: center;
}

.nva-shero__heading {
  font-family: var(--nva-font-heading);
  font-size: clamp(2.8rem, 6vw, 4.2rem);
  font-weight: var(--nva-w-medium);
  line-height: 1;
  letter-spacing: var(--nva-ls-tight);
  text-transform: uppercase;
  color: var(--nva-ink);
}

.nva-shero__rule {
  display: block;
  width: 40px;
  height: 2px;
  margin-top: var(--nva-s-6);
  border-radius: var(--nva-r-full);
  background-color: var(--nva-red);
}

.nva-shero__lead {
  margin-top: var(--nva-s-6);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-micro);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-wide);
  color: var(--nva-ink-55);
}

.nva-shero__search {
  display: flex;
  align-items: center;
  gap: var(--nva-s-3);
  width: 100%;
  max-width: 42rem;
  margin-top: var(--nva-s-10);
  padding: var(--nva-s-4) var(--nva-s-5);
  border: 1px solid var(--nva-line);
  border-radius: var(--nva-r-lg);
  background-color: var(--nva-surface);
  box-shadow: 0 2px 10px -4px rgba(0,0,0,0.06);
  transition: border-color var(--nva-d-base) var(--nva-ease);
}
.nva-shero__search:focus-within { border-color: rgba(0,0,0,0.25); }

.nva-shero__search-icon { flex-shrink: 0; color: var(--nva-ink-40); }

.nva-shero__search input {
  width: 100%;
  border: 0;
  background: transparent;
  font-family: var(--nva-font-body);
  font-size: 0.9375rem;
  color: var(--nva-ink);
}
.nva-shero__search input::placeholder { color: var(--nva-ink-40); }
.nva-shero__search input:focus { outline: none; }

/* ==========================================================================
   Landing — category cards
   ========================================================================== */
.nva-scats { padding: var(--nva-s-16) var(--nva-s-6); }

.nva-scats__inner {
  max-width: var(--nva-w-footer);
  margin-inline: auto;
}

.nva-scats__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nva-s-5);
}

.nva-scat {
  display: flex;
  flex-direction: column;
  padding: var(--nva-s-7);
  border: 1px solid var(--nva-line);
  border-radius: var(--nva-r-2xl);
  background-color: var(--nva-surface);
  box-shadow: 0 2px 10px -4px rgba(0,0,0,0.06);
  transition: transform var(--nva-d-base) var(--nva-ease),
              border-color var(--nva-d-base) var(--nva-ease),
              box-shadow var(--nva-d-base) var(--nva-ease);
}
.nva-scat:hover {
  transform: translateY(-4px);
  border-color: rgba(0,0,0,0.15);
  box-shadow: 0 16px 40px -22px rgba(0,0,0,0.22);
}

.nva-scat__icon { color: var(--nva-ink); }
.nva-scat__icon .nva-icon { width: 28px; height: 28px; stroke-width: 1.4; }

.nva-scat__title {
  margin-top: var(--nva-s-6);
  font-family: var(--nva-font-heading);
  font-size: 1.25rem;
  font-weight: var(--nva-w-medium);
  letter-spacing: var(--nva-ls-tight);
  color: var(--nva-ink);
}

.nva-scat__body {
  margin-top: 0.625rem;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-small);
  line-height: 1.65;
  color: var(--nva-ink-55);
}

.nva-scat__accent {
  display: block;
  width: 32px;
  height: 2px;
  margin-top: var(--nva-s-4);
  border-radius: var(--nva-r-full);
  background-color: var(--nva-red);
  opacity: 0.5;
  transition: width var(--nva-d-base) var(--nva-ease);
}
.nva-scat:hover .nva-scat__accent { width: 48px; }

.nva-scat__link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  align-self: flex-start;
  margin-top: var(--nva-s-5);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-button);
  color: var(--nva-ink-60);
  transition: color var(--nva-d-fast) var(--nva-ease);
}
.nva-scat:hover .nva-scat__link { color: var(--nva-ink); }
.nva-scat__link .nva-icon { transition: transform var(--nva-d-base) var(--nva-ease); }
.nva-scat:hover .nva-scat__link .nva-icon { transform: translateX(2px); }

/* ==========================================================================
   Landing — popular questions
   ========================================================================== */
.nva-sfaq { padding: var(--nva-s-16) var(--nva-s-6); }

.nva-sfaq__inner {
  max-width: 48rem;
  margin-inline: auto;
}

.nva-sfaq__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--nva-s-6);
}

.nva-sfaq__eyebrow {
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-eyebrow);
  color: var(--nva-red);
}

.nva-sfaq__heading {
  margin-top: var(--nva-s-3);
  font-family: var(--nva-font-heading);
  font-size: clamp(2rem, 3.6vw, 2.8rem);
  font-weight: var(--nva-w-medium);
  letter-spacing: var(--nva-ls-tight);
  color: var(--nva-ink);
}

.nva-sfaq__all {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  flex-shrink: 0;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-button);
  color: var(--nva-ink-60);
  transition: color var(--nva-d-fast) var(--nva-ease);
}
.nva-sfaq__all:hover { color: var(--nva-ink); }
.nva-sfaq__all--top { display: none; }
.nva-sfaq__all--bottom { margin-top: var(--nva-s-6); }

.nva-sfaq__list { margin-top: var(--nva-s-8); }
.nva-sfaq__item { border-bottom: 1px solid var(--nva-line); }
.nva-sfaq__q { margin: 0; }

.nva-sfaq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--nva-s-6);
  width: 100%;
  padding-block: var(--nva-s-5);
  text-align: left;
}

.nva-sfaq__question {
  font-family: var(--nva-font-body);
  font-size: 0.9375rem;
  font-weight: var(--nva-w-medium);
  color: var(--nva-ink);
}

.nva-sfaq__plus {
  position: relative;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  transition: transform var(--nva-d-base) var(--nva-ease);
}
.nva-sfaq__plus::before,
.nva-sfaq__plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: var(--nva-ink-55);
  transform: translate(-50%, -50%);
}
.nva-sfaq__plus::before { width: 16px; height: 1.5px; }
.nva-sfaq__plus::after  { width: 1.5px; height: 16px; }
.nva-sfaq__trigger[aria-expanded="true"] .nva-sfaq__plus { transform: rotate(45deg); }

.nva-sfaq__answer {
  padding: 0 var(--nva-s-10) var(--nva-s-5) 0;
  font-family: var(--nva-font-body);
  font-size: 0.875rem;
  line-height: 1.7;
  color: var(--nva-ink-55);
}

.nva-sfaq__read {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: var(--nva-s-3);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-button);
  color: var(--nva-ink);
}

/* ==========================================================================
   Landing — contact panel
   ========================================================================== */
.nva-scontact { padding: var(--nva-s-16) var(--nva-s-6); }

.nva-scontact__inner {
  max-width: var(--nva-w-footer);
  margin-inline: auto;
}

.nva-scontact__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--nva-line);
  border-radius: 1.5rem;
  background-color: rgba(0,0,0,0.02);
}

.nva-scontact__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--nva-s-12) var(--nva-s-8);
}

.nva-scontact__eyebrow {
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-eyebrow);
  color: var(--nva-red);
}

.nva-scontact__heading {
  margin-top: var(--nva-s-4);
  font-family: var(--nva-font-heading);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: var(--nva-w-medium);
  line-height: 1.05;
  letter-spacing: var(--nva-ls-tight);
  color: var(--nva-ink);
}

.nva-scontact__body {
  max-width: 28rem;
  margin-top: var(--nva-s-5);
  font-family: var(--nva-font-body);
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--nva-ink-60);
}

.nva-scontact__cta {
  display: inline-flex;
  align-items: center;
  gap: var(--nva-s-2);
  align-self: flex-start;
  margin-top: var(--nva-s-8);
  padding: 0.875rem var(--nva-s-7);
  border-radius: var(--nva-r-full);
  background-color: var(--nva-ink);
  color: var(--nva-on-dark);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  transition: background-color var(--nva-d-base) var(--nva-ease);
}
.nva-scontact__cta:hover { background-color: var(--nva-ink-hover); color: var(--nva-on-dark); }

.nva-scontact__media { position: relative; min-height: 320px; }
.nva-scontact__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   Landing — trust strip
   ========================================================================== */
.nva-strust {
  border-block: 1px solid var(--nva-line);
  background-color: var(--nva-surface);
}

.nva-strust__inner {
  max-width: var(--nva-w-footer);
  margin-inline: auto;
  padding: var(--nva-s-10) var(--nva-s-6);
}

.nva-strust__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--nva-s-6);
  list-style: none;
}

.nva-strust__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--nva-s-3);
  text-align: center;
}

.nva-strust__icon { width: 24px; height: 24px; stroke-width: 1.4; color: var(--nva-ink); flex-shrink: 0; }

.nva-strust__title {
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-button);
  color: var(--nva-ink);
}

.nva-strust__body {
  margin-top: 0.25rem;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-micro);
  color: var(--nva-ink-55);
}

/* ==========================================================================
   Help Center index and category archive
   ========================================================================== */
.nva-help { padding-block: var(--nva-s-8) var(--nva-s-16); }

.nva-help__back,
.nva-help__back-bottom a {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-button);
  color: var(--nva-ink-55);
  transition: color var(--nva-d-fast) var(--nva-ease);
}
.nva-help__back:hover,
.nva-help__back-bottom a:hover { color: var(--nva-ink); }
.nva-help__back-bottom { margin-top: var(--nva-s-12); }

.nva-help__heading {
  margin-top: var(--nva-s-8);
  font-family: var(--nva-font-heading);
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: var(--nva-w-medium);
  letter-spacing: var(--nva-ls-tight);
  color: var(--nva-ink);
}

.nva-help__rule {
  display: block;
  width: 40px;
  height: 2px;
  margin-top: var(--nva-s-5);
  border-radius: var(--nva-r-full);
  background-color: var(--nva-red);
}

.nva-help__lead {
  max-width: 36rem;
  margin-top: var(--nva-s-6);
  font-family: var(--nva-font-body);
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--nva-ink-55);
}

.nva-help__search {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  max-width: 28rem;
  margin-top: var(--nva-s-8);
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--nva-line);
  border-radius: var(--nva-r-md);
  background-color: var(--nva-surface);
  transition: border-color var(--nva-d-fast) var(--nva-ease);
}
.nva-help__search:focus-within { border-color: rgba(0,0,0,0.25); }
.nva-help__search-icon { flex-shrink: 0; width: 16px; height: 16px; color: var(--nva-ink-40); }
.nva-help__search input {
  width: 100%;
  border: 0;
  background: transparent;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-small);
  color: var(--nva-ink);
}
.nva-help__search input:focus { outline: none; }
.nva-help__search input::placeholder { color: var(--nva-ink-40); }

.nva-help__results,
.nva-help__categories { margin-top: var(--nva-s-10); }

.nva-help__count,
.nva-help__empty {
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-small);
  color: var(--nva-ink-55);
}
.nva-help__empty { margin-top: var(--nva-s-6); }

.nva-help__categories { display: flex; flex-direction: column; gap: var(--nva-s-12); }

.nva-help__group-title {
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-eyebrow);
  color: var(--nva-red);
}
.nva-help__group-title a { color: inherit; }

.nva-help__rows {
  display: flex;
  flex-direction: column;
  margin-top: var(--nva-s-4);
  border-top: 1px solid var(--nva-line);
}
.nva-help__rows--top { margin-top: var(--nva-s-8); }

.nva-help__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--nva-s-6);
  padding-block: var(--nva-s-5);
  border-bottom: 1px solid var(--nva-line);
  transition: background-color var(--nva-d-fast) var(--nva-ease);
}
.nva-help__row:hover { background-color: rgba(0,0,0,0.015); }

.nva-help__row-copy { min-width: 0; }

.nva-help__row-title {
  display: block;
  font-family: var(--nva-font-body);
  font-size: 0.9375rem;
  font-weight: var(--nva-w-medium);
  color: var(--nva-ink);
}

.nva-help__row-desc {
  display: block;
  margin-top: 0.25rem;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-small);
  line-height: 1.55;
  color: var(--nva-ink-50);
}

.nva-help__row-read {
  flex-shrink: 0;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-button);
  color: var(--nva-ink-40);
  transition: color var(--nva-d-fast) var(--nva-ease);
}
.nva-help__row:hover .nva-help__row-read { color: var(--nva-ink); }

/* Breadcrumb */
.nva-help__crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.375rem;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-micro);
  color: var(--nva-ink-40);
}
.nva-help__crumbs a { color: inherit; transition: color var(--nva-d-fast) var(--nva-ease); }
.nva-help__crumbs a:hover { color: var(--nva-ink); }
.nva-help__crumbs .is-current { color: var(--nva-ink-70); }
.nva-help__crumbs .nva-icon { color: var(--nva-ink-30); }

/* ==========================================================================
   Article
   ========================================================================== */
.nva-article { padding-block: var(--nva-s-8) var(--nva-s-16); }

.nva-article__hero { margin-top: var(--nva-s-8); }

.nva-article__eyebrow {
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-eyebrow);
  color: var(--nva-red);
}

.nva-article__title {
  margin-top: var(--nva-s-4);
  font-family: var(--nva-font-heading);
  font-size: clamp(2rem, 3.6vw, 2.8rem);
  font-weight: var(--nva-w-medium);
  line-height: 1.15;
  letter-spacing: var(--nva-ls-tight);
  color: var(--nva-ink);
}

.nva-article__lead {
  max-width: 42rem;
  margin-top: var(--nva-s-5);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-lead);
  line-height: 1.75;
  color: var(--nva-ink-60);
}

.nva-article__updated {
  margin-top: var(--nva-s-4);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-micro);
  color: var(--nva-ink-40);
}

.nva-article__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nva-s-12);
  margin-top: var(--nva-s-12);
}

.nva-article__main { min-width: 0; }

/* --------------------------------------------------------------------------
   Article body

   Reproduces the reference's numbered sections: each h2 is prefixed with a
   red numeral from a CSS counter, so authors just write normal headings in
   the block editor and the numbering takes care of itself.
   -------------------------------------------------------------------------- */
.nva-article__content { counter-reset: nva-section; }

.nva-article__content > h2 {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding-top: var(--nva-s-7);
  font-family: var(--nva-font-body);
  font-size: 1rem;
  font-weight: var(--nva-w-semi);
  letter-spacing: -0.005em;
  color: var(--nva-ink);
}
.nva-article__content > h2::before {
  counter-increment: nva-section;
  content: counter(nva-section) ".";
  font-family: var(--nva-font-heading);
  font-size: 1.125rem;
  font-weight: var(--nva-w-medium);
  line-height: 1;
  color: var(--nva-red);
}

.nva-article__content > h2 + p,
.nva-article__content > p {
  margin-top: var(--nva-s-3);
  font-family: var(--nva-font-body);
  font-size: 0.875rem;
  line-height: 1.75;
  color: var(--nva-ink-60);
}

/* Section divider beneath each block of content */
.nva-article__content > ul,
.nva-article__content > p:last-of-type { padding-bottom: var(--nva-s-7); }

.nva-article__content > ul {
  margin-top: var(--nva-s-4);
  padding-left: 0;
  list-style: none;
  border-bottom: 1px solid var(--nva-line);
}

.nva-article__content > ul > li {
  position: relative;
  padding-left: var(--nva-s-6);
  font-family: var(--nva-font-body);
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--nva-ink-65);
}
.nva-article__content > ul > li + li { margin-top: 0.625rem; }
.nva-article__content > ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 4px;
  height: 4px;
  border-radius: var(--nva-r-full);
  background-color: var(--nva-red);
}

/* Note box */
.nva-article__content .nva-note {
  display: block;
  margin-block: var(--nva-s-7);
  padding: var(--nva-s-4);
  border: 0;
  border-radius: var(--nva-r-md);
  background-color: rgba(0,0,0,0.03);
}
.nva-article__content .nva-note p {
  margin: 0;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-small);
  line-height: 1.65;
  color: var(--nva-ink-65);
}
.nva-article__content .nva-note cite { display: none; }

/* In-article Contact Support link */
.nva-article__content .nva-article-cta { padding-bottom: var(--nva-s-7); }
.nva-article__content .nva-article-cta a {
  display: inline-flex;
  align-items: center;
  gap: var(--nva-s-2);
  margin-top: var(--nva-s-2);
  padding: 0.75rem var(--nva-s-6);
  border-radius: var(--nva-r-full);
  background-color: var(--nva-ink);
  color: var(--nva-on-dark);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  text-decoration: none;
  transition: background-color var(--nva-d-base) var(--nva-ease);
}
.nva-article__content .nva-article-cta a:hover {
  background-color: var(--nva-ink-hover);
  color: var(--nva-on-dark);
}

/* Related + foot */
.nva-article__related { margin-top: var(--nva-s-16); }

.nva-article__related-title {
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-eyebrow);
  color: var(--nva-red);
}

.nva-article__foot {
  margin-top: var(--nva-s-16);
  padding-top: var(--nva-s-8);
  border-top: 1px solid var(--nva-line);
}

.nva-article__foot-text {
  font-family: var(--nva-font-body);
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--nva-ink-60);
}
.nva-article__foot .nva-scontact__cta { margin-top: var(--nva-s-5); }

/* ==========================================================================
   Help sidebar
   ========================================================================== */
.nva-hsidebar { display: flex; flex-direction: column; gap: var(--nva-s-8); }

.nva-hsidebar__label {
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-eyebrow);
  color: var(--nva-ink);
}

.nva-hsidebar__search {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-top: var(--nva-s-4);
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--nva-line);
  border-radius: var(--nva-r-md);
  background-color: var(--nva-surface);
  color: var(--nva-ink-40);
  transition: border-color var(--nva-d-fast) var(--nva-ease);
}
.nva-hsidebar__search:focus-within { border-color: rgba(0,0,0,0.25); }
.nva-hsidebar__search input {
  width: 100%;
  border: 0;
  background: transparent;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-small);
  color: var(--nva-ink);
}
.nva-hsidebar__search input:focus { outline: none; }

.nva-hsidebar__nav { display: flex; flex-direction: column; }
.nva-hsidebar__group { border-bottom: 1px solid var(--nva-line); }

.nva-hsidebar__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-block: 0.875rem;
  text-align: left;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-micro);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-button);
  color: var(--nva-ink-70);
  transition: color var(--nva-d-fast) var(--nva-ease);
}
.nva-hsidebar__toggle.is-active { color: var(--nva-ink); }

.nva-hsidebar__caret {
  flex-shrink: 0;
  color: var(--nva-ink-40);
  transition: transform var(--nva-d-base) var(--nva-ease);
}
.nva-hsidebar__toggle[aria-expanded="true"] .nva-hsidebar__caret { transform: rotate(180deg); }

.nva-hsidebar__panel ul { padding: 0 0 0.75rem 0.25rem; list-style: none; }

.nva-hsidebar__panel a {
  position: relative;
  display: block;
  padding: 0.375rem 0.5rem 0.375rem 0.875rem;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-small);
  color: var(--nva-ink-55);
  transition: color var(--nva-d-fast) var(--nva-ease);
}
.nva-hsidebar__panel a:hover { color: var(--nva-ink); }
.nva-hsidebar__panel a.is-current { font-weight: var(--nva-w-medium); color: var(--nva-ink); }
.nva-hsidebar__panel a.is-current::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 2px;
  height: 16px;
  border-radius: var(--nva-r-full);
  background-color: var(--nva-red);
  transform: translateY(-50%);
}

.nva-hsidebar__card {
  padding: var(--nva-s-5);
  border: 1px solid var(--nva-line);
  border-radius: 1rem;
  background-color: var(--nva-surface);
  box-shadow: 0 2px 10px -4px rgba(0,0,0,0.06);
  color: var(--nva-ink);
}

.nva-hsidebar__card-title {
  margin-top: var(--nva-s-3);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-button);
  color: var(--nva-ink);
}

.nva-hsidebar__card-body {
  margin-top: 0.375rem;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-micro);
  line-height: 1.6;
  color: var(--nva-ink-55);
}

.nva-hsidebar__card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: var(--nva-s-4);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-nano);
  font-weight: var(--nva-w-semi);
  text-transform: uppercase;
  letter-spacing: var(--nva-ls-button);
  color: var(--nva-ink);
}

/* ==========================================================================
   Contact Support
   ========================================================================== */
.nva-csupport { padding-block: var(--nva-s-8) var(--nva-s-16); }

.nva-csupport__header { margin-top: var(--nva-s-8); }

.nva-csupport__heading {
  font-family: var(--nva-font-heading);
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: var(--nva-w-medium);
  letter-spacing: var(--nva-ls-tight);
  color: var(--nva-ink);
}

.nva-csupport__lead {
  max-width: 36rem;
  margin-top: var(--nva-s-6);
  font-family: var(--nva-font-body);
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--nva-ink-55);
}

.nva-csupport__error {
  margin-top: var(--nva-s-8);
  padding: var(--nva-s-4) var(--nva-s-5);
  border: 1px solid var(--nva-line);
  border-left: 2px solid var(--nva-red);
  border-radius: var(--nva-r-sm);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-small);
}

.nva-csupport__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nva-s-10);
  margin-top: var(--nva-s-10);
}

.nva-csupport__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nva-s-4);
}

.nva-csupport__form .nva-field { margin-bottom: var(--nva-s-5); }

.nva-field__hint {
  display: block;
  margin-top: 0.375rem;
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-micro);
  color: var(--nva-ink-50);
}

.nva-csupport__files {
  width: 100%;
  padding: var(--nva-s-3) var(--nva-s-4);
  border: 1px dashed var(--nva-line);
  border-radius: var(--nva-r-md);
  background-color: var(--nva-surface);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-small);
  color: var(--nva-ink-60);
}

.nva-csupport__notice {
  padding: var(--nva-s-4);
  border-radius: var(--nva-r-md);
  background-color: rgba(0,0,0,0.03);
  font-family: var(--nva-font-body);
  font-size: var(--nva-t-micro);
  line-height: 1.65;
  color: var(--nva-ink-60);
}

.nva-csupport__actions {
  margin-top: var(--nva-s-8);
  padding-top: var(--nva-s-6);
  border-top: 1px solid var(--nva-line);
}
.nva-csupport__submit { min-width: 200px; height: 52px; }

.nva-csupport__success { padding-block: var(--nva-s-16); text-align: center; }

.nva-csupport__success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border: 1px solid var(--nva-delivered-line);
  border-radius: var(--nva-r-full);
  color: var(--nva-delivered-fg);
}

.nva-csupport__success-heading {
  margin-top: var(--nva-s-8);
  font-family: var(--nva-font-heading);
  font-size: var(--nva-t-section-sm);
  font-weight: var(--nva-w-semi);
  letter-spacing: var(--nva-ls-tight);
}

.nva-csupport__success-body {
  max-width: 34rem;
  margin: var(--nva-s-5) auto 0;
  font-family: var(--nva-font-body);
  font-size: 0.9375rem;
  line-height: 1.75;
  color: var(--nva-ink-muted);
}

.nva-csupport__success-actions { margin-top: var(--nva-s-10); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width: 640px) {
  .nva-scats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nva-sfaq__all--top { display: inline-flex; }
  .nva-sfaq__all--bottom { display: none; }
  .nva-csupport__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nva-strust__item { flex-direction: row; align-items: flex-start; gap: var(--nva-s-4); text-align: left; }
}

@media (min-width: 768px) {
  .nva-scontact__copy { padding: var(--nva-s-16) 3.5rem; }
  .nva-strust__inner { padding-inline: var(--nva-s-10); }
}

@media (min-width: 1024px) {
  .nva-shero { padding-top: var(--nva-s-40); padding-bottom: var(--nva-s-20); }
  .nva-scats { padding-block: var(--nva-s-20); }
  .nva-scats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--nva-s-6); }
  .nva-sfaq { padding-block: var(--nva-s-20); }
  .nva-scontact { padding-block: var(--nva-s-20); }
  .nva-scontact__panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nva-scontact__media { min-height: 460px; }
  .nva-strust__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--nva-s-8); }

  .nva-help { padding-block: var(--nva-s-10) var(--nva-s-20); }

  .nva-article__layout {
    grid-template-columns: 260px minmax(0, 1fr);
    gap: var(--nva-s-16);
    align-items: start;
  }
  .nva-article__sidebar { position: sticky; top: calc( var(--nva-header-h) + var(--nva-s-6) ); }
  .nva-article__content > p,
  .nva-article__content > h2 + p { font-size: 0.9375rem; }

  .nva-csupport__layout { grid-template-columns: minmax(0, 1fr) 300px; gap: var(--nva-s-16); }
}

@media (prefers-reduced-motion: reduce) {
  .nva-scat,
  .nva-scat__accent,
  .nva-sfaq__plus,
  .nva-hsidebar__caret { transition: none; }
  .nva-scat:hover { transform: none; }
}
