:root {
  --ink: #10233f;
  --accent: #d94f04;
  --accent-dark: #a73d03;
  --sky: #f2f7fb;
  --blue: #0b5ea8;
  --red: #d54b3d;
  --gold: #f0b429;
  --green: #2f9a67;
  --panel: #edf3f7;
}

html {
  font-size: 14px;
  position: relative;
  min-height: 100%;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  margin-bottom: 0;
  font-family: var(--nb-font-body);
  color: var(--ink);
  background: #fff;
}

.container-wide {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
  padding-left: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
}

@media (min-width: 576px) {
  .container-wide {
    max-width: 540px;
  }
}

@media (min-width: 768px) {
  .container-wide {
    max-width: 720px;
  }
}

@media (min-width: 992px) {
  .container-wide {
    max-width: 960px;
  }
}

@media (min-width: 1200px) {
  .container-wide {
    max-width: 1140px;
  }
}

@media (min-width: 1400px) {
  .container-wide {
    max-width: 1520px;
  }
}

/* FAQ Page */
.nb-faq-page {
    padding: 1.4rem 0 3.5rem;
    background:
        radial-gradient(circle at 7% 10%, rgba(255, 182, 64, 0.12), transparent 26%),
        radial-gradient(circle at 92% 24%, rgba(89, 141, 255, 0.12), transparent 28%),
        #fff;
}

.nb-faq-page .container {
    display: grid;
    gap: 1.55rem;
    max-width: 1480px;
}

.nb-faq-page__hero,
.nb-faq-page__popular,
.nb-faq-page__category,
.nb-faq-page__support {
    border: 1px solid rgba(17, 46, 96, 0.08);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 40px rgba(16, 35, 63, 0.08);
}

.nb-faq-page__hero,
.nb-faq-page__popular,
.nb-faq-page__support {
    border-radius: 2rem;
}

.nb-faq-page__eyebrow {
    margin: 0 0 0.9rem;
    color: #f26516;
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.nb-faq-page__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 480px);
    gap: 2rem;
    align-items: center;
    padding: 1.9rem 1.95rem;
}

.nb-faq-page__hero-copy h1 {
    margin: 0;
    color: #112d67;
    font-size: clamp(3rem, 4.5vw, 4.85rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
}

.nb-faq-page__lede {
    max-width: 33rem;
    margin: 1rem 0 0;
    color: #29436f;
    font-size: 1.26rem;
    line-height: 1.65;
}

.nb-faq-page__hero-highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.1rem;
}

.nb-faq-page__highlight {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: start;
}

.nb-faq-page__highlight strong,
.nb-faq-page__support-contact-item strong {
    display: block;
    color: #102a63;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
}

.nb-faq-page__highlight span:last-child,
.nb-faq-page__support-copy p,
.nb-faq-page__support-contact-item span,
.nb-faq-page__category-copy p,
.nb-faq-page__qa-card p,
.nb-faq-page__popular-card p {
    color: #29436f;
    font-size: 1rem;
    line-height: 1.6;
}

.nb-faq-page__icon-badge {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    flex: 0 0 auto;
}

.nb-faq-page__icon-badge--lg {
    width: 4.1rem;
    height: 4.1rem;
    font-size: 1.65rem;
}

.nb-faq-page__icon-badge--blue {
    color: #2668ee;
    background: linear-gradient(180deg, rgba(38, 104, 238, 0.12), rgba(38, 104, 238, 0.06));
}

.nb-faq-page__icon-badge--green {
    color: #2f9838;
    background: linear-gradient(180deg, rgba(47, 152, 56, 0.12), rgba(47, 152, 56, 0.06));
}

.nb-faq-page__icon-badge--purple {
    color: #8249e7;
    background: linear-gradient(180deg, rgba(130, 73, 231, 0.12), rgba(130, 73, 231, 0.06));
}

.nb-faq-page__icon-badge--orange {
    color: #f26516;
    background: linear-gradient(180deg, rgba(242, 101, 22, 0.12), rgba(242, 101, 22, 0.06));
}

.nb-faq-page__hero-media img {
    width: 100%;
    display: block;
    border-radius: 1.6rem;
    object-fit: cover;
    box-shadow: 0 22px 44px rgba(16, 35, 63, 0.14);
}

.nb-faq-page__popular {
    padding: 1.5rem 1.4rem 1.55rem;
}

.nb-faq-page__section-heading {
    text-align: center;
    margin-bottom: 1rem;
}

.nb-faq-page__section-heading h2 {
    margin: 0;
    color: #112d67;
    font-size: clamp(2rem, 3vw, 3rem);
    letter-spacing: -0.04em;
}

.nb-faq-page__popular-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.nb-faq-page__popular-card {
    min-height: 100%;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 1rem;
    padding: 1.4rem 1.35rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(17, 46, 96, 0.08);
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%);
    text-decoration: none;
    box-shadow: 0 14px 30px rgba(16, 35, 63, 0.06);
}

.nb-faq-page__popular-card h3 {
    margin: 0;
    color: #102a63;
    font-size: 1.28rem;
    font-weight: 800;
    line-height: 1.4;
}

.nb-faq-page__popular-card p {
    margin: 0;
}

.nb-faq-page__popular-card-arrow {
    justify-self: end;
    color: #2668ee;
    font-size: 1.28rem;
}

.nb-faq-page__category-list {
    display: grid;
    gap: 1rem;
}

.nb-faq-page__category {
    border-radius: 1.7rem;
    overflow: hidden;
}

.nb-faq-page__category[open] {
    box-shadow: 0 18px 36px rgba(16, 35, 63, 0.11);
}

.nb-faq-page__category-summary {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.3rem 1.5rem;
    cursor: pointer;
}

.nb-faq-page__category-summary::-webkit-details-marker {
    display: none;
}

.nb-faq-page__category-leading {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.2rem;
    align-items: center;
}

.nb-faq-page__category-copy h2 {
    margin: 0;
    color: #102a63;
    font-size: clamp(1.7rem, 2vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -0.04em;
}

.nb-faq-page__category-copy h2 span {
    margin-left: 0.35rem;
    font-size: 0.78em;
}

.nb-faq-page__category-copy p {
    margin: 0.35rem 0 0;
}

.nb-faq-page__category-caret {
    color: #1e4eb7;
    font-size: 1.55rem;
    transition: transform 0.2s ease;
}

.nb-faq-page__category[open] .nb-faq-page__category-caret {
    transform: rotate(180deg);
}

.nb-faq-page__category-body {
    padding: 0 1.5rem 1.5rem;
}

.nb-faq-page__qa-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.nb-faq-page__qa-card {
    min-height: 100%;
    padding: 1.15rem 1.2rem;
    border-radius: 1.25rem;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid rgba(17, 46, 96, 0.08);
}

.nb-faq-page__qa-card h3 {
    margin: 0;
    color: #102a63;
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.4;
}

.nb-faq-page__qa-card p {
    margin: 0.65rem 0 0;
}

.nb-faq-page__support {
    display: grid;
    grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1fr) minmax(250px, 0.86fr);
    gap: 1.7rem;
    align-items: center;
    padding: 1.7rem 1.9rem;
}

.nb-faq-page__support-illustration img {
    width: min(100%, 255px);
    display: block;
}

.nb-faq-page__support-copy h2 {
    margin: 0;
    color: #112d67;
    font-size: clamp(2rem, 2.6vw, 3rem);
    letter-spacing: -0.04em;
}

.nb-faq-page__support-copy p {
    margin: 0.7rem 0 0;
}

.nb-faq-page__support-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 1.3rem;
}

.nb-faq-page__support-actions .nb-button {
    min-width: 13rem;
    justify-content: center;
}

.nb-faq-page__support-contact {
    display: grid;
    gap: 1.15rem;
    padding-left: 1.8rem;
    border-left: 1px solid rgba(17, 46, 96, 0.12);
}

.nb-faq-page__support-contact-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.8rem;
    align-items: center;
}

.nb-faq-page__support-contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #2668ee;
    font-size: 1.45rem;
    line-height: 1;
}

.nb-faq-page__support-contact-item a {
    display: block;
    margin-top: 0.2rem;
    color: #2668ee;
    font-size: 1.3rem;
    font-weight: 800;
    text-decoration: none;
}

.nb-faq-page__support-contact-item a:hover,
.nb-faq-page__support-contact-item a:focus {
    text-decoration: underline;
}

.nb-faq-page__support-contact-item span {
    display: block;
    margin-top: 0.18rem;
}

.nb-faq-page__trust-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    color: #29436f;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    padding-bottom: 0.25rem;
}

.nb-faq-page__trust-note i {
    color: #2f9838;
}

/* FAQ Page Tablet */
@media (max-width: 991.98px) {
    .nb-faq-page__hero,
    .nb-faq-page__support {
        grid-template-columns: 1fr;
    }

    .nb-faq-page__hero {
        padding: 1.6rem;
    }

    .nb-faq-page__hero-highlights,
    .nb-faq-page__popular-grid,
    .nb-faq-page__qa-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nb-faq-page__hero-media {
        order: -1;
    }

    .nb-faq-page__support-contact {
        padding-left: 0;
        padding-top: 1.2rem;
        border-left: 0;
        border-top: 1px solid rgba(17, 46, 96, 0.12);
    }
}

/* FAQ Page Mobile */
@media (max-width: 767.98px) {
    .nb-faq-page {
        padding: 0.95rem 0 2.5rem;
    }

    .nb-faq-page__hero,
    .nb-faq-page__popular,
    .nb-faq-page__support {
        padding: 1.25rem;
        border-radius: 1.45rem;
    }

    .nb-faq-page__hero-highlights,
    .nb-faq-page__popular-grid,
    .nb-faq-page__qa-grid {
        grid-template-columns: 1fr;
    }

    .nb-faq-page__category {
        border-radius: 1.35rem;
    }

    .nb-faq-page__category-summary,
    .nb-faq-page__category-body {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .nb-faq-page__category-leading {
        align-items: start;
    }

    .nb-faq-page__category-copy h2 {
        font-size: 1.55rem;
    }

    .nb-faq-page__support-actions .nb-button {
        width: 100%;
        min-width: 0;
    }

    .nb-faq-page__support-contact-item a {
        font-size: 1.2rem;
    }

    .nb-faq-page__trust-note {
        align-items: start;
    }
}

/* State Knowledge Overview */
.nb-state-knowledge-overview {
  --nb-state-sky: #e9f5ff;
  --nb-state-sky-strong: #d4ecff;
  --nb-state-navy: #17316c;
  --nb-state-blue: #1f59e7;
  --nb-state-green: #2c9b45;
  --nb-state-orange: #f38b19;
  --nb-state-purple: #7a57d1;
  --nb-state-coral: #ea6a3c;
  --nb-state-surface: rgba(255, 255, 255, 0.95);
  --nb-state-border: rgba(23, 49, 108, 0.1);
  background:
    radial-gradient(circle at top left, rgba(244, 161, 88, 0.2), transparent 30%),
    radial-gradient(circle at top right, rgba(82, 173, 255, 0.18), transparent 26%),
    linear-gradient(180deg, #fdfdff 0%, #f5f8ff 48%, #ffffff 100%);
  color: #15305f;
  font-family: var(--nb-font-body);
  padding: 0 0 4.5rem;
}

.nb-state-knowledge-overview img {
  display: block;
  max-width: 100%;
}

.nb-state-knowledge-overview h1,
.nb-state-knowledge-overview h2,
.nb-state-knowledge-overview h3,
.nb-state-knowledge-overview strong {
  font-family: var(--nb-font-heading);
}

.nb-state-knowledge-overview__journey-card,
.nb-state-knowledge-overview__passport-card,
.nb-state-knowledge-overview__benefits {
  background: var(--nb-state-surface);
  border: 1px solid var(--nb-state-border);
  box-shadow: 0 28px 60px rgba(26, 55, 113, 0.12);
}

.nb-state-knowledge-overview__hero {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 20%, rgba(255, 255, 255, 0.54) 38%, rgba(255, 255, 255, 0.06) 56%, rgba(255, 255, 255, 0) 72%),
    url("/images/home/school-home/state-knowledge/hero-map-scene.png");
  background-position: left top, center center;
  background-repeat: no-repeat;
  background-size: cover, cover;
  min-height: 52rem;
  overflow: hidden;
  padding: 1.4rem 0 2.8rem;
  position: relative;
}

.nb-state-knowledge-overview__hero .container {
  align-items: flex-start;
  display: flex;
  min-height: 48rem;
}

.nb-state-knowledge-overview__hero-copy {
  max-width: 32rem;
  padding: 3.65rem 0 2rem;
  position: relative;
  z-index: 1;
}

.nb-state-knowledge-overview__hero-copy h1 {
  color: #19325d;
  font-size: clamp(3rem, 6vw, 5.35rem);
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 0.95;
  margin: 0.35rem 0 1rem;
}

.nb-state-knowledge-overview__hero-copy h1 span {
  color: var(--nb-state-blue);
  display: block;
}

.nb-state-knowledge-overview__lede {
  color: #1d386e;
  font-size: 1.23rem;
  line-height: 1.75;
  margin: 0;
  max-width: 35rem;
}

.nb-state-knowledge-overview__hero-points {
  display: grid;
  gap: 1.1rem;
  list-style: none;
  margin: 1.7rem 0 0;
  padding: 0;
}

.nb-state-knowledge-overview__hero-points li {
  align-items: flex-start;
  display: grid;
  gap: 0.95rem;
  grid-template-columns: auto 1fr;
}

.nb-state-knowledge-overview__hero-points strong {
  color: var(--nb-state-blue);
  display: block;
  font-size: 1.45rem;
  font-weight: 800;
  margin-bottom: 0.18rem;
}

.nb-state-knowledge-overview__hero-points li:nth-child(2) strong {
  color: var(--nb-state-green);
}

.nb-state-knowledge-overview__hero-points li:nth-child(3) strong {
  color: var(--nb-state-purple);
}

.nb-state-knowledge-overview__hero-points p {
  color: #24436d;
  font-size: 1rem;
  line-height: 1.55;
  margin: 0;
}

.nb-state-knowledge-overview__hero-point-icon {
  align-items: center;
  border-radius: 1.25rem;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.75);
  color: #fff;
  display: inline-flex;
  font-size: 1.15rem;
  height: 3.2rem;
  justify-content: center;
  width: 3.2rem;
}

.nb-state-knowledge-overview__hero-point-icon--blue {
  background: linear-gradient(180deg, #2f69f4 0%, #1d4ed9 100%);
}

.nb-state-knowledge-overview__hero-point-icon--green {
  background: linear-gradient(180deg, #45b35d 0%, #22863c 100%);
}

.nb-state-knowledge-overview__hero-point-icon--purple {
  background: linear-gradient(180deg, #8e68e7 0%, #6d43c7 100%);
}

.nb-state-knowledge-overview__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.95rem;
  margin-top: 1.9rem;
}

.nb-state-knowledge-overview__section {
  margin-top: 2.15rem;
}

.nb-state-knowledge-overview__section-heading {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(2.5rem, 1fr) auto minmax(2.5rem, 1fr);
  margin-bottom: 1.6rem;
  text-align: center;
}

.nb-state-knowledge-overview__section-heading > span {
  background: linear-gradient(90deg, transparent, rgba(235, 91, 28, 0.78), transparent);
  border-radius: 999px;
  display: block;
  height: 2px;
}

.nb-state-knowledge-overview__section-heading h2 {
  color: #173165;
  font-size: clamp(2rem, 3vw, 3.05rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  margin: 0;
}

.nb-state-knowledge-overview__section-heading p {
  color: #36517e;
  font-size: 1.05rem;
  margin: 0.4rem 0 0;
}

.nb-state-knowledge-overview__path-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nb-state-knowledge-overview__path-card {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid rgba(23, 49, 108, 0.1);
  border-radius: 1.45rem;
  box-shadow: 0 18px 38px rgba(28, 62, 124, 0.09);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
}

.nb-state-knowledge-overview__path-card--sky {
  background: linear-gradient(180deg, rgba(232, 242, 255, 0.96) 0%, rgba(249, 251, 255, 1) 100%);
}

.nb-state-knowledge-overview__path-card--meadow {
  background: linear-gradient(180deg, rgba(238, 248, 236, 0.96) 0%, rgba(252, 255, 252, 1) 100%);
}

.nb-state-knowledge-overview__path-card--sun {
  background: linear-gradient(180deg, rgba(255, 248, 230, 0.96) 0%, rgba(255, 252, 245, 1) 100%);
}

.nb-state-knowledge-overview__path-card--violet {
  background: linear-gradient(180deg, rgba(245, 241, 255, 0.96) 0%, rgba(252, 250, 255, 1) 100%);
}

.nb-state-knowledge-overview__path-card--coral {
  background: linear-gradient(180deg, rgba(255, 239, 234, 0.96) 0%, rgba(255, 251, 249, 1) 100%);
}

.nb-state-knowledge-overview__path-card-image {
  align-items: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.55));
  display: flex;
  height: 10.7rem;
  justify-content: center;
  padding: 0.85rem 0.9rem 0;
}

.nb-state-knowledge-overview__path-card-image img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.nb-state-knowledge-overview__path-card-copy {
  flex: 1;
  padding: 0.4rem 1.25rem 0;
}

.nb-state-knowledge-overview__path-card-copy h3 {
  color: #173165;
  font-size: 1.52rem;
  font-weight: 800;
  line-height: 1.1;
  margin: 0;
}

.nb-state-knowledge-overview__path-card-copy p {
  color: #2e4b7d;
  font-size: 1rem;
  line-height: 1.55;
  margin: 0.75rem 0 0;
}

.nb-state-knowledge-overview__path-card-progress {
  padding: 1rem 1.25rem 1.2rem;
}

.nb-state-knowledge-overview__path-card-progress span {
  color: #173165;
  display: block;
  font-size: 0.98rem;
  font-weight: 700;
}

.nb-state-knowledge-overview__path-card-progress-bar {
  background: rgba(22, 49, 101, 0.12);
  border-radius: 999px;
  height: 0.42rem;
  margin-top: 0.65rem;
  overflow: hidden;
}

.nb-state-knowledge-overview__path-card-progress-bar i {
  background: linear-gradient(90deg, #2d74f8 0%, #8f56ea 100%);
  border-radius: inherit;
  display: block;
  height: 100%;
  width: var(--nb-state-path-progress);
}

.nb-state-knowledge-overview__path-card--meadow .nb-state-knowledge-overview__path-card-progress-bar i {
  background: linear-gradient(90deg, #45b35d 0%, #22863c 100%);
}

.nb-state-knowledge-overview__path-card--sun .nb-state-knowledge-overview__path-card-progress-bar i {
  background: linear-gradient(90deg, #f8b02d 0%, #f38b19 100%);
}

.nb-state-knowledge-overview__path-card--violet .nb-state-knowledge-overview__path-card-progress-bar i {
  background: linear-gradient(90deg, #8e68e7 0%, #6d43c7 100%);
}

.nb-state-knowledge-overview__path-card--coral .nb-state-knowledge-overview__path-card-progress-bar i {
  background: linear-gradient(90deg, #ff8d56 0%, #ea6a3c 100%);
}

.nb-state-knowledge-overview__journey-card {
  border-radius: 1.9rem;
  padding: 1.7rem 1.55rem 1.55rem;
}

.nb-state-knowledge-overview__journey-track {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  position: relative;
}

.nb-state-knowledge-overview__journey-line {
  background: linear-gradient(90deg, #1b9a38 0%, #8fb6ff 74%, rgba(128, 140, 160, 0.55) 100%);
  height: 0.28rem;
  left: 8%;
  position: absolute;
  right: 8%;
  top: 3rem;
  z-index: 0;
}

.nb-state-knowledge-overview__journey-stop {
  align-items: center;
  display: flex;
  flex-direction: column;
  position: relative;
  text-align: center;
  z-index: 1;
}

.nb-state-knowledge-overview__journey-seal,
.nb-state-knowledge-overview__journey-lock {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 12px 28px rgba(22, 58, 118, 0.14);
  display: inline-flex;
  height: 6.1rem;
  justify-content: center;
  margin-bottom: 0.75rem;
  padding: 0.45rem;
  width: 6.1rem;
}

.nb-state-knowledge-overview__journey-seal img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.nb-state-knowledge-overview__journey-stop h3 {
  color: #173165;
  font-size: 1.35rem;
  font-weight: 800;
  margin: 0;
}

.nb-state-knowledge-overview__journey-stop p {
  color: #20863a;
  font-size: 1.03rem;
  font-weight: 700;
  margin: 0.35rem 0 0;
}

.nb-state-knowledge-overview__journey-stop p i {
  margin-left: 0.22rem;
}

.nb-state-knowledge-overview__journey-stop--locked h3 {
  max-width: 8rem;
}

.nb-state-knowledge-overview__journey-stop--locked p {
  color: #566a8c;
}

.nb-state-knowledge-overview__journey-lock {
  border: 2px dashed rgba(64, 88, 135, 0.28);
  color: #314d82;
  font-size: 1.7rem;
}

.nb-state-knowledge-overview__journey-actions {
  display: flex;
  justify-content: center;
  margin-top: 1.7rem;
}

.nb-state-knowledge-overview__section--passport {
  margin-top: 2.35rem;
}

.nb-state-knowledge-overview__passport-card {
  align-items: center;
  border-radius: 2rem;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.92fr) minmax(15rem, 0.58fr);
  overflow: hidden;
  padding: 1.45rem 1.5rem;
}

.nb-state-knowledge-overview__passport-media img {
  margin-left: -1rem;
}

.nb-state-knowledge-overview__passport-copy h2 {
  color: #173165;
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 900;
  line-height: 1.14;
  margin: 0;
}

.nb-state-knowledge-overview__passport-copy p {
  color: #284372;
  font-size: 1.08rem;
  line-height: 1.75;
  margin: 0.95rem 0 1.3rem;
}

.nb-state-knowledge-overview__passport-badge {
  display: flex;
  justify-content: center;
}

.nb-state-knowledge-overview__passport-badge img {
  filter: drop-shadow(0 20px 35px rgba(15, 37, 80, 0.22));
  max-width: 19rem;
  width: 100%;
}

.nb-state-knowledge-overview__benefits {
  border-radius: 1.55rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 1.9rem;
  padding: 1rem 1.3rem;
  background: linear-gradient(135deg, #0e2c64 0%, #173d7d 50%, #0a295d 100%);
}

.nb-state-knowledge-overview__benefit {
  align-items: center;
  color: #fff;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: auto 1fr;
  padding: 0.5rem 0.35rem;
}

.nb-state-knowledge-overview__benefit:not(:first-child) {
  border-left: 1px solid rgba(255, 255, 255, 0.16);
  padding-left: 1.2rem;
}

.nb-state-knowledge-overview__benefit-icon {
  align-items: center;
  color: #fefefe;
  display: inline-flex;
  font-size: 1.9rem;
  height: 2.4rem;
  justify-content: center;
  width: 2.4rem;
}

.nb-state-knowledge-overview__benefit h3 {
  color: #fff;
  font-size: 1.18rem;
  font-weight: 800;
  margin: 0;
}

.nb-state-knowledge-overview__benefit p {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.96rem;
  line-height: 1.5;
  margin: 0.15rem 0 0;
}

/* State Knowledge Overview - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-state-knowledge-overview {
    padding: 0 0 3.8rem;
  }

  .nb-state-knowledge-overview__passport-card {
    grid-template-columns: 1fr;
  }

  .nb-state-knowledge-overview__hero-copy {
    max-width: 31rem;
    padding: 2.8rem 0 2rem;
  }

  .nb-state-knowledge-overview__hero-copy h1 {
    font-size: clamp(3rem, 9vw, 4.8rem);
    max-width: 11ch;
  }

  .nb-state-knowledge-overview__hero {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.68) 28%, rgba(255, 255, 255, 0.1) 54%, rgba(255, 255, 255, 0) 78%),
      url("/images/home/school-home/state-knowledge/hero-map-scene.png");
    background-position: left top, 72% center;
    background-size: cover, cover;
    min-height: 44rem;
    padding-bottom: 2rem;
  }

  .nb-state-knowledge-overview__hero .container {
    min-height: 40rem;
  }

  .nb-state-knowledge-overview__path-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-state-knowledge-overview__path-card:last-child {
    grid-column: span 2;
  }

  .nb-state-knowledge-overview__journey-track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 1.6rem;
  }

  .nb-state-knowledge-overview__journey-line {
    left: 11%;
    right: 11%;
    top: 3rem;
  }

  .nb-state-knowledge-overview__passport-badge {
    max-width: 18rem;
    width: 100%;
  }

  .nb-state-knowledge-overview__benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-state-knowledge-overview__benefit:nth-child(3) {
    border-left: none;
    padding-left: 0.35rem;
  }
}

/* State Knowledge Overview - Mobile */
@media (max-width: 767.98px) {
  .nb-state-knowledge-overview {
    padding: 0 0 3rem;
  }

  .nb-state-knowledge-overview__hero {
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.78) 33%, rgba(255, 255, 255, 0.32) 56%, rgba(255, 255, 255, 0.08) 72%, rgba(255, 255, 255, 0) 100%),
      url("/images/home/school-home/state-knowledge/hero-map-scene.png");
    background-position: left top, 68% center;
    background-size: cover, cover;
    min-height: 40rem;
    padding: 0.95rem 0 1.4rem;
  }

  .nb-state-knowledge-overview__hero .container {
    min-height: 36rem;
  }

  .nb-state-knowledge-overview__hero-copy,
  .nb-state-knowledge-overview__passport-card,
  .nb-state-knowledge-overview__benefits {
    max-width: none;
  }

  .nb-state-knowledge-overview__passport-card,
  .nb-state-knowledge-overview__benefits {
    grid-template-columns: 1fr;
  }

  .nb-state-knowledge-overview__hero-copy h1 {
    font-size: clamp(2.6rem, 14vw, 4rem);
    line-height: 0.98;
    max-width: 8ch;
  }

  .nb-state-knowledge-overview__hero-copy {
    padding: 1.85rem 0 1.5rem;
  }

  .nb-state-knowledge-overview__lede {
    font-size: 1.03rem;
    line-height: 1.65;
  }

  .nb-state-knowledge-overview__hero-points strong {
    font-size: 1.24rem;
  }

  .nb-state-knowledge-overview__hero-actions,
  .nb-state-knowledge-overview__journey-actions {
    flex-direction: column;
  }

  .nb-state-knowledge-overview__hero-actions .nb-school-home__cta-btn,
  .nb-state-knowledge-overview__journey-actions .nb-school-home__cta-btn,
  .nb-state-knowledge-overview__passport-copy .nb-school-home__cta-btn {
    width: 100%;
  }

  .nb-state-knowledge-overview__section {
    margin-top: 1.7rem;
  }

  .nb-state-knowledge-overview__section-heading {
    gap: 0.7rem;
    grid-template-columns: 1fr;
  }

  .nb-state-knowledge-overview__section-heading > span {
    justify-self: center;
    width: 5.5rem;
  }

  .nb-state-knowledge-overview__section-heading h2 {
    font-size: 2rem;
  }

  .nb-state-knowledge-overview__section-heading p {
    font-size: 0.97rem;
  }

  .nb-state-knowledge-overview__path-grid,
  .nb-state-knowledge-overview__journey-track {
    grid-template-columns: 1fr;
  }

  .nb-state-knowledge-overview__path-card-image {
    height: 11.5rem;
  }

  .nb-state-knowledge-overview__journey-card {
    padding: 1.2rem 1rem 1.1rem;
  }

  .nb-state-knowledge-overview__journey-line {
    display: none;
  }

  .nb-state-knowledge-overview__journey-stop {
    border-bottom: 1px solid rgba(23, 49, 108, 0.08);
    padding-bottom: 1rem;
  }

  .nb-state-knowledge-overview__journey-stop:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  .nb-state-knowledge-overview__journey-seal,
  .nb-state-knowledge-overview__journey-lock {
    height: 5.2rem;
    width: 5.2rem;
  }

  .nb-state-knowledge-overview__passport-card {
    border-radius: 1.6rem;
    padding: 1.2rem 1rem;
  }

  .nb-state-knowledge-overview__passport-media img {
    margin-left: 0;
  }

  .nb-state-knowledge-overview__passport-copy h2 {
    font-size: 2rem;
  }

  .nb-state-knowledge-overview__passport-copy p {
    font-size: 1rem;
  }

  .nb-state-knowledge-overview__passport-badge {
    max-width: 16rem;
  }

  .nb-state-knowledge-overview__benefits {
    border-radius: 1.25rem;
    padding: 0.9rem 1rem;
  }

  .nb-state-knowledge-overview__benefit {
    grid-template-columns: auto 1fr;
    padding: 0.35rem 0;
  }

  .nb-state-knowledge-overview__benefit:not(:first-child) {
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    padding-left: 0;
    padding-top: 0.9rem;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(217, 79, 4, 0.35);
}

.navbar-brand,
.hero h1 {
  font-family: var(--nb-font-heading);
}

.nb-topbar {
  background: #0f0f11;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.nb-topbar__inner,
.nb-footer__sub-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 0;
}

.nb-topbar__left,
.nb-topbar__right,
.nb-footer__sub-inner > div {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.nb-topbar a,
.nb-footer a {
  color: inherit;
  text-decoration: none;
}

.nb-topbar__logout {
  margin: 0;
}

.nb-topbar__button {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-transform: inherit;
  letter-spacing: inherit;
}

.nb-topbar__button:hover {
  color: #fff;
}

.nb-topbar--app {
  background: #0c1830;
}

.nb-topbar a:hover,
.nb-footer a:hover {
  color: #fff;
}

.nb-topbar__sep {
  opacity: 0.5;
}

.nb-impersonation-banner {
  background: linear-gradient(135deg, #7b1113, #c52d1f);
  color: #fff5ed;
}

.nb-impersonation-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 0;
}

.nb-impersonation-banner__copy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  font-size: 0.95rem;
}

.nb-impersonation-banner__copy strong {
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nb-impersonation-banner__form {
  margin: 0;
}

.nb-impersonation-banner__button {
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-weight: 700;
  padding: 0.65rem 1.1rem;
}

.nb-impersonation-banner__button:hover,
.nb-impersonation-banner__button:focus {
  background: rgba(255, 255, 255, 0.22);
}

.nb-mainnav {
  position: relative;
  z-index: 1000;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.nb-mainnav-spacer {
  display: none;
}

.nb-mainnav.is-stuck {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1040;
  box-shadow: 0 16px 32px rgba(16, 35, 63, 0.14);
  animation: nb-slide-down 180ms ease-out;
}

.nb-mainnav-spacer.is-active {
  display: block;
}

.nb-mainnav .nav-link {
  font-size: 0.94rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ink);
}

.nb-mainnav .dropdown-menu {
  border: 0;
  border-top: 3px solid var(--accent);
  border-radius: 0.9rem;
  box-shadow: 0 18px 38px rgba(16, 35, 63, 0.12);
  padding: 0.75rem;
}

.nb-mainnav__cta {
  margin-left: 1.5rem;
}

.nb-mainnav__products {
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: linear-gradient(135deg, var(--accent) 0%, #ff8b2b 100%);
  box-shadow: 0 14px 28px rgba(217, 79, 4, 0.28);
  border: 0;
}

.nb-mainnav__products:hover,
.nb-mainnav__products:focus {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(217, 79, 4, 0.34);
}

.nb-mainnav--app {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.nb-mainnav--app .nav-link {
  font-size: 0.88rem;
}

.nb-mainnav--app .dropdown-menu {
  min-width: 18rem;
}

.nb-hero {
  position: relative;
  min-height: 78vh;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background: #0d2036;
}

.nb-hero--slider {
  min-height: 84vh;
}

.nb-hero-swiper,
.nb-hero-slide {
  min-height: 84vh;
}

.nb-hero__image,
.nb-hero__overlay {
  position: absolute;
  inset: 0;
}

.nb-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nb-hero__overlay {
  background: linear-gradient(90deg, rgba(8, 17, 29, 0.85) 0%, rgba(8, 17, 29, 0.45) 45%, rgba(8, 17, 29, 0.2) 100%);
}

.nb-hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  min-height: 78vh;
}

.nb-hero-slide__bg,
.nb-hero-slide__overlay {
  position: absolute;
  inset: 0;
}

.nb-hero-slide__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
}

.nb-hero-slide__overlay {
  background:
    linear-gradient(90deg, rgba(6, 14, 25, 0.88) 0%, rgba(6, 14, 25, 0.56) 42%, rgba(6, 14, 25, 0.24) 100%),
    radial-gradient(circle at 78% 30%, rgba(247, 183, 49, 0.28), transparent 28%);
}

.nb-hero-swiper__controls {
  position: absolute;
  inset: auto 0 1.75rem 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 2rem;
  pointer-events: none;
}

.nb-hero-swiper__pagination {
  position: static !important;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  width: auto !important;
  pointer-events: auto;
}

.nb-hero-swiper__pagination .swiper-pagination-bullet {
  width: 0.9rem;
  height: 0.9rem;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.38);
  opacity: 1;
  transition: transform 180ms ease, background-color 180ms ease;
}

.nb-hero-swiper__pagination .swiper-pagination-bullet-active {
  background: var(--accent);
  transform: scale(1.14);
}

.nb-hero-swiper__nav {
  display: flex;
  gap: 0.75rem;
  pointer-events: auto;
}

.nb-hero-swiper__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: rgba(8, 17, 29, 0.28);
  color: #fff;
  font-size: 1rem;
  backdrop-filter: blur(10px);
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.nb-hero-swiper__button:hover,
.nb-hero-swiper__button:focus-visible {
  background: rgba(247, 183, 49, 0.92);
  border-color: rgba(247, 183, 49, 0.92);
  color: #12213e;
  transform: translateY(-1px);
}

.nb-hero__copy {
  max-width: 42rem;
  color: #fff;
  padding: 4rem 0;
}

.nb-eyebrow {
  margin-bottom: 0.75rem;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

.nb-eyebrow--light {
  color: #ffd38a;
}

.nb-hero h1,
.nb-stats h2,
.nb-panel h2,
.nb-gradebook h2,
.nb-testimonials h2 {
  margin-bottom: 1rem;
  font-size: clamp(2.4rem, 5vw, 4.5rem);
  line-height: 1.05;
}

.nb-lede {
  font-size: 1.15rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.92);
}

.nb-hero__actions {
  display: flex;
  gap: 1rem;
  margin: 2rem 0 1rem;
  flex-wrap: wrap;
}

.btn-primary {
  background-color: var(--accent);
  border-color: var(--accent);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--accent-dark);
  border-color: var(--accent-dark);
}

.nb-stats {
    padding: 5rem 0;
    background: #fff;
}

.top-blue-divider,
.bottom-blue-divider {
    height: 100px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100px;
    line-height: 0;
}

.top-blue-divider {
    margin-top: -1px;
    background-image: url('/images/svg/top_divider.svg');
}

.bottom-blue-divider {
    margin-bottom: -1px;
    background-image: url('/images/svg/bottom_divider.svg');
    transform: rotateY(180deg);
}

.nb-stat {
  padding: 1.8rem;
  border-radius: 1.2rem;
  color: #fff;
  box-shadow: 0 24px 40px rgba(16, 35, 63, 0.12);
}

.nb-stat__value {
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
}

.nb-stat__label {
  margin-top: 0.5rem;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.nb-stat--blue { background: var(--blue); }
.nb-stat--red { background: var(--red); }
.nb-stat--gold { background: var(--gold); }
.nb-stat--green { background: var(--green); }

.nb-stats__copy {
    padding-left: 5rem;
}

.nb-stats__copy h2 {
    font-size: clamp(2rem, 3vw, 3.2rem);
}

.nb-home-sketch {
    font-family: var(--nb-font-display);
    letter-spacing: 0.02em;
}

.nb-home-sketch--heading {
    text-transform: uppercase;
    line-height: 1;
}

.nb-home-sketch--subheading {
    line-height: 1.05;
}

.nb-feature {
    padding: 5rem 0;
}

.nb-feature--blue {
    background: #0c71c3;
}

.nb-feature--orange {
    position: relative;
    overflow: hidden;
    background:
      radial-gradient(circle at 14% 18%, rgba(255, 196, 88, 0.45) 0%, rgba(255, 196, 88, 0) 30%),
      radial-gradient(circle at 82% 22%, rgba(255, 118, 76, 0.35) 0%, rgba(255, 118, 76, 0) 28%),
      radial-gradient(circle at 76% 78%, rgba(255, 214, 122, 0.28) 0%, rgba(255, 214, 122, 0) 26%),
      linear-gradient(135deg, #fff0d6 0%, #ffd29e 52%, #ffc076 100%);
}

.nb-feature--orange::before,
.nb-feature--orange::after {
    content: "";
    position: absolute;
    inset: auto;
    border-radius: 999px;
    pointer-events: none;
}

.nb-feature--orange::before {
    top: -6rem;
    right: -5rem;
    width: 22rem;
    height: 22rem;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0) 72%);
}

.nb-feature--orange::after {
    bottom: -7rem;
    left: -4rem;
    width: 24rem;
    height: 24rem;
    background: radial-gradient(circle, rgba(247, 98, 57, 0.24) 0%, rgba(247, 98, 57, 0) 70%);
}

.nb-feature--orange .container {
    position: relative;
    z-index: 1;
}

.nb-panel {
  background: rgba(255, 255, 255, 0.82);
  border-radius: 1.5rem;
  padding: 2.25rem;
  box-shadow: 0 28px 50px rgba(16, 35, 63, 0.1);
}

.nb-panel h2 {
  font-size: clamp(2rem, 3vw, 3rem);
}

.nb-panel ul,
.nb-gradebook ul {
  padding-left: 1.25rem;
  line-height: 1.8;
}

.nb-device-shot {
  max-width: 92%;
  filter: drop-shadow(0 20px 40px rgba(16, 35, 63, 0.18));
}

.nb-device-shot--phone {
  max-height: 34rem;
}

.nb-screenshots {
  padding: 4.5rem 0;
  background: #fff;
}

.nb-shot {
  text-align: center;
}

.nb-shot img {
  border-radius: 1rem;
  box-shadow: 0 22px 42px rgba(16, 35, 63, 0.12);
}

.nb-shot p {
  margin-top: 1.25rem;
  font-weight: 600;
}

.nb-gradebook {
  padding: 6rem 0;
  background: url('/images/home/StudentsHandsRaised.png') center/cover no-repeat;
}

.nb-gradebook__card {
  background: rgba(9, 27, 49, 0.88);
  color: #fff;
  border-radius: 1.75rem;
  padding: 2.5rem;
  box-shadow: 0 30px 60px rgba(6, 18, 34, 0.3);
}

.nb-gradebook h2 {
  color: #fff;
  font-size: clamp(2rem, 3vw, 3.25rem);
}

.nb-gradebook h3 {
  margin-top: 1.75rem;
  font-size: 1.5rem;
  color: #ffd38a;
}

.nb-testimonials {
  position: relative;
  padding: 5rem 0 6rem;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at top center, rgba(72, 145, 230, 0.22), transparent 42%),
    linear-gradient(180deg, #22395d 0%, #182a46 100%);
}

.nb-testimonials__parallax {
  position: absolute;
  inset: -10% 0;
  background:
    url('/images/home/ShapesBackground.png') center top / 980px auto repeat,
    url('/images/home/ShapesBackground.png') 490px 280px / 980px auto repeat;
  opacity: 0.96;
  filter: contrast(1.9) brightness(1.42) saturate(1.08);
  mix-blend-mode: screen;
  transform: translate3d(0, 0, 0) scale(1.08);
  will-change: transform;
  pointer-events: none;
}

.nb-testimonials .container {
  position: relative;
  z-index: 1;
}

.nb-testimonials__heading {
  text-align: center;
  margin-bottom: 2.5rem;
}

.nb-testimonials h2 {
  color: #fff;
  font-size: clamp(2rem, 3vw, 3.2rem);
}

.nb-testimonial {
  height: 100%;
  padding: 1.75rem;
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.96);
  color: var(--ink);
  border-top: 0.45rem solid transparent;
  box-shadow: 0 20px 40px rgba(4, 13, 24, 0.18);
}

.nb-testimonial p {
  line-height: 1.75;
}

.nb-testimonial h3 {
  margin: 1.5rem 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
}

.nb-testimonial span {
  color: #5f6f84;
  font-size: 0.92rem;
}

.nb-testimonial--blue { border-top-color: var(--blue); }
.nb-testimonial--orange { border-top-color: var(--accent); }
.nb-testimonial--red { border-top-color: var(--red); }

.nb-footer {
  color: rgba(255, 255, 255, 0.84);
}

.nb-footer__main {
  background: #121418;
  padding: 4.5rem 0;
}

.nb-footer--app .nb-footer__main {
  background: linear-gradient(180deg, #111927 0%, #0d1421 100%);
}

.nb-footer__logo {
  width: 180px;
  max-width: 100%;
  margin-bottom: 1rem;
}

.nb-footer h2 {
  margin-bottom: 1rem;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nb-footer p,
.nb-footer address {
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.74);
}

.nb-footer address {
  font-style: normal;
}

.nb-footer__label {
  color: #fff;
  font-weight: 800;
}

.nb-footer__contact {
  display: grid;
  gap: 0.85rem;
}

.nb-footer__contact-row {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  align-items: start;
  gap: 0.9rem;
  margin: 0;
}

.nb-footer__contact-row--address {
  padding: 1rem 1rem 1rem 0;
  background: url('/images/home/map2.png') right center / 190px auto no-repeat;
}

.nb-footer__contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #ffd38a;
  font-size: 1rem;
}

.nb-footer__contact-row a,
.nb-footer__contact-row span,
.nb-footer__contact-row address {
  align-self: center;
}

.nb-footer__sub {
  background: #1b2128;
  font-size: 0.92rem;
}

.nb-footer__social a + a {
  margin-left: 1rem;
}

.nb-footer__social {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.nb-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 1rem;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.nb-footer__social a:hover,
.nb-footer__social a:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.28);
  transform: translateY(-1px);
}

.nb-help-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--blue);
  font-size: 0.95rem;
  line-height: 1;
}

.nb-help-icon:hover,
.nb-help-icon:focus-visible {
  color: var(--gold);
}

.nb-icon-field .input-group-text {
  border-color: rgba(20, 57, 107, 0.14);
  background: linear-gradient(180deg, rgba(237, 244, 255, 0.96), rgba(229, 239, 255, 0.96));
  color: var(--blue);
  min-width: 3rem;
  justify-content: center;
  font-size: 1rem;
}

.nb-icon-field .form-control,
.nb-icon-field .form-select {
  border-left: 0;
}

.nb-icon-field .form-control:focus,
.nb-icon-field .form-select:focus {
  box-shadow: none;
}

.nb-icon-field:focus-within .input-group-text {
  border-color: rgba(13, 110, 253, 0.45);
  background: linear-gradient(180deg, rgba(226, 238, 255, 0.98), rgba(215, 231, 255, 0.98));
}

.nb-students-speak-footer h2 {
  margin-bottom: 1rem;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nb-students-speak-footer__item {
  padding: 1rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.nb-students-speak-footer__item:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.nb-students-speak-footer__trigger {
  align-items: start;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  display: grid;
  gap: 1rem;
  grid-template-columns: 72px 1fr;
  padding: 0;
  text-align: left;
  width: 100%;
}

.nb-students-speak-footer__icon {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.06);
}

.nb-students-speak-footer__icon img {
  width: 54px;
  height: auto;
}

.nb-students-speak-footer__body {
  display: block;
}

.nb-students-speak-footer__body h3 {
  margin: 0 0 0.45rem;
  font-size: 1rem;
  color: #fff;
}

.nb-students-speak-footer__body p {
  margin-bottom: 0.45rem;
  color: rgba(255, 255, 255, 0.76);
  line-height: 1.6;
}

.nb-students-speak-footer__body h5 {
  margin: 0.2rem 0 0;
  font-size: 0.85rem;
  font-weight: 700;
  color: #c9d5e6;
}

.nb-students-speak-footer__empty {
  color: rgba(255, 255, 255, 0.72);
}

.nb-students-speak-footer__modal {
  border: 0;
  border-radius: 1.25rem;
  overflow: hidden;
}

.nb-students-speak-footer__modal-header {
  align-items: start;
  border-bottom: 1px solid rgba(16, 51, 95, 0.08);
  padding: 1.25rem 1.35rem 1rem;
}

.nb-students-speak-footer__modal-eyebrow {
  color: #da5c18;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin: 0 0 0.35rem;
  text-transform: uppercase;
}

.nb-students-speak-footer__modal-header .modal-title {
  color: #102d5b;
  font-size: 1.6rem;
  line-height: 1.2;
  margin: 0;
}

.nb-students-speak-footer__modal-body {
  display: grid;
  gap: 1rem;
  padding: 1.2rem 1.35rem 1.35rem;
}

.nb-students-speak-footer__modal-section {
  display: grid;
  gap: 0.45rem;
}

.nb-students-speak-footer__modal-section h3 {
  color: #102d5b;
  font-size: 1rem;
  margin: 0;
}

.nb-students-speak-footer__modal-section p {
  color: #233f67;
  line-height: 1.75;
  margin: 0;
  white-space: pre-wrap;
}

.nb-students-speak-footer__modal-meta {
  border-top: 1px solid rgba(16, 51, 95, 0.08);
  color: #60748d;
  display: grid;
  gap: 0.18rem;
  padding-top: 1rem;
}

.nb-students-speak-footer__modal-meta strong {
  color: #102d5b;
}

@keyframes nb-slide-down {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}

.nb-contact {
  padding: 4rem 0 5rem;
  background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.nb-contact__card,
.nb-contact__aside {
  background: #fff;
  border-radius: 1.5rem;
  padding: 2rem;
  box-shadow: 0 24px 48px rgba(16, 35, 63, 0.1);
}

.nb-contact__header h1,
.nb-contact__aside h2,
.nb-contact__card--centered h1 {
  font-family: var(--nb-font-heading);
}

.nb-contact__card--centered {
  max-width: 44rem;
  margin: 0 auto;
  text-align: center;
}

.nb-contact__image {
  margin-top: 1.5rem;
  max-width: 14rem;
}

.nb-contact__card--compact {
  max-width: 48rem;
  margin: 0 auto;
}

/* Contact page */
.nb-contact-page {
  padding: 2rem 0 3rem;
  background:
    radial-gradient(circle at 18% 6%, rgba(42, 99, 234, 0.08), transparent 22%),
    linear-gradient(180deg, #f6f9ff 0%, #ffffff 100%);
}

.nb-contact-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.95fr) minmax(310px, 0.9fr);
  gap: 1.9rem;
  align-items: start;
}

.nb-contact-page__main,
.nb-contact-page__sidebar {
  display: grid;
  gap: 1.55rem;
}

.nb-contact-page__panel,
.nb-contact-page__support-card,
.nb-contact-page__privacy-card {
  border: 1px solid rgba(20, 54, 106, 0.1);
  border-radius: 2rem;
  box-shadow: 0 24px 52px rgba(16, 35, 63, 0.08);
}

.nb-contact-page__panel {
  padding: 2.15rem 2.3rem 1.55rem;
}

.nb-contact-page__header {
  display: grid;
  gap: 0.85rem;
}

.nb-contact-page__header h1 {
  margin: 0;
  color: #122758;
  font-family: var(--nb-font-heading);
  font-size: clamp(2rem, 3.15vw, 3.3rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1;
}

.nb-contact-page__header p:last-child {
  max-width: 42rem;
  margin: 0;
  color: #314b75;
  font-size: 1.1rem;
  line-height: 1.6;
}

.nb-contact-page__response-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  margin: 1.4rem 0 1.65rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(20, 54, 106, 0.1);
}

.nb-contact-page__response-icon,
.nb-contact-page__support-icon,
.nb-contact-page__privacy-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-shrink: 0;
}

.nb-contact-page__response-icon {
  width: 4rem;
  height: 4rem;
  background: linear-gradient(180deg, rgba(42, 99, 234, 0.14), rgba(42, 99, 234, 0.07));
  color: #2354ef;
  font-size: 1.65rem;
}

.nb-contact-page__response-note strong {
  display: block;
  color: #1b315f;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.35;
}

.nb-contact-page__response-note p {
  margin: 0.18rem 0 0;
  color: #39527d;
  font-size: 1rem;
  line-height: 1.55;
}

.nb-contact-page__form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.15rem;
}

.nb-contact-page__field {
  min-width: 0;
}

.nb-contact-page__field--full {
  grid-column: 1 / -1;
}

.nb-contact-page .form-label {
  margin-bottom: 0.5rem;
  color: #182e59;
  font-size: 0.98rem;
  font-weight: 800;
}

.nb-contact-page .form-control,
.nb-contact-page .form-select {
  min-height: 3.45rem;
  border: 1px solid rgba(20, 54, 106, 0.14);
  border-radius: 0.95rem;
  padding: 0.9rem 1rem;
  color: #183054;
  font-size: 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

.nb-contact-page .form-control:focus,
.nb-contact-page .form-select:focus {
  border-color: rgba(42, 99, 234, 0.4);
  box-shadow: 0 0 0 0.2rem rgba(42, 99, 234, 0.12);
}

.nb-contact-page textarea.form-control {
  min-height: 7rem;
  resize: vertical;
}

.nb-contact-page__required {
  color: #ff6c1a;
}

.nb-contact-page__optional {
  color: #6d7e98;
  font-weight: 600;
}

.nb-contact-page__actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.6rem;
  padding-top: 0.2rem;
}

.nb-contact-page__submit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  min-height: 3.55rem;
  padding: 0.95rem 1.55rem;
  border: 0;
  border-radius: 1rem;
  background: linear-gradient(135deg, #2354ef, #1148e3);
  color: #fff;
  font-size: 1.03rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 18px 30px rgba(35, 84, 239, 0.22);
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.nb-contact-page__submit-button:hover,
.nb-contact-page__submit-button:focus-visible {
  color: #fff;
  transform: translateY(-1px);
  filter: brightness(1.02);
}

.nb-contact-page__submit-button:disabled {
  background: #d3dced;
  color: #6c7c94;
  box-shadow: none;
}

.nb-contact-page__security-inline,
.nb-contact-page__captcha-note {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: #4e6486;
}

.nb-contact-page__security-inline {
  max-width: 20rem;
}

.nb-contact-page__security-inline span,
.nb-contact-page__captcha-note span[aria-hidden="true"] {
  color: #1f57db;
}

.nb-contact-page__security-inline p,
.nb-contact-page__captcha-note {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.45;
}

.nb-contact-page__captcha-note {
  justify-content: center;
  padding: 0 1rem;
  text-align: center;
}

.nb-contact-page__support-card {
  display: grid;
  gap: 1.35rem;
  padding: 1.85rem 1.9rem;
}

.nb-contact-page__support-heading,
.nb-contact-page__privacy-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
}

.nb-contact-page__support-icon {
  width: 4rem;
  height: 4rem;
  background: linear-gradient(180deg, rgba(42, 99, 234, 0.15), rgba(42, 99, 234, 0.06));
  color: #2354ef;
  font-size: 1.7rem;
}

.nb-contact-page__support-heading h2,
.nb-contact-page__privacy-heading h2 {
  margin: 0;
  color: #142a58;
  font-family: var(--nb-font-heading);
  font-weight: 700;
  letter-spacing: -0.03em;
}

.nb-contact-page__support-heading h2,
.nb-contact-page__privacy-heading h2 {
  font-size: 1.85rem;
}

.nb-contact-page__support-heading p,
.nb-contact-page__privacy-heading p {
  margin: 0.38rem 0 0;
  color: #385178;
  font-size: 1rem;
  line-height: 1.55;
}

.nb-contact-page__support-list {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nb-contact-page__support-list li {
  position: relative;
  padding-left: 2rem;
  color: #17305f;
  font-size: 1.03rem;
  font-weight: 700;
  line-height: 1.45;
}

.nb-contact-page__support-list li::before {
  content: "\f058";
  position: absolute;
  top: 0.05rem;
  left: 0;
  color: #2354ef;
  font-family: "Font Awesome 6 Free";
  font-size: 1.15rem;
  font-weight: 900;
}

.nb-contact-page__contact-lines {
  display: grid;
  gap: 0.9rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(20, 54, 106, 0.1);
}

.nb-contact-page__contact-lines a,
.nb-contact-page__contact-lines div {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  color: #1d3d73;
  font-size: 1.03rem;
  font-weight: 600;
  text-decoration: none;
}

.nb-contact-page__contact-lines a:hover {
  color: #1148e3;
}

.nb-contact-page__contact-lines i {
  color: #2354ef;
}

.nb-contact-page__privacy-card {
  padding: 1.65rem 1.9rem;
}

.nb-contact-page__privacy-icon {
  width: 4rem;
  height: 4rem;
  background: linear-gradient(180deg, rgba(46, 157, 89, 0.16), rgba(46, 157, 89, 0.07));
  color: #259257;
  font-size: 1.7rem;
}

.nb-contact-page__privacy-note {
  margin: 0.9rem 0 0;
  color: #24915b;
  font-size: 1.06rem;
  font-weight: 700;
}

/* Contact page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-contact-page__layout {
    grid-template-columns: 1fr;
  }

  .nb-contact-page__sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .nb-contact-page__support-card {
    grid-column: 1 / -1;
  }
}

/* Contact page - Mobile */
@media (max-width: 767.98px) {
  .nb-contact-page {
    padding: 1.2rem 0 2rem;
  }

  .nb-contact-page__layout,
  .nb-contact-page__form,
  .nb-contact-page__sidebar {
    grid-template-columns: 1fr;
  }

  .nb-contact-page__panel,
  .nb-contact-page__support-card,
  .nb-contact-page__privacy-card {
    padding: 1.35rem;
    border-radius: 1.5rem;
  }

  .nb-contact-page__header h1 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .nb-contact-page__response-note,
  .nb-contact-page__support-heading,
  .nb-contact-page__privacy-heading {
    grid-template-columns: 1fr;
  }

  .nb-contact-page__actions {
    align-items: stretch;
  }

  .nb-contact-page__submit-button {
    width: 100%;
  }

  .nb-contact-page__security-inline {
    max-width: none;
  }
}

.nb-trial__aside {
  height: 100%;
}

.nb-trial__list {
  padding-left: 1.15rem;
  margin-bottom: 1.5rem;
}

.nb-trial__list li + li {
  margin-top: 0.5rem;
}

.nb-trial__honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.nb-form-errors.validation-summary-valid {
    display: none;
}

.nb-form-errors.validation-summary-errors {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(193, 39, 45, 0.18);
    border-radius: 1rem;
    background: rgba(193, 39, 45, 0.08);
    color: #8f1f24;
    font-weight: 600;
}

.nb-form-errors ul {
    margin: 0;
    padding-left: 1.1rem;
}

.nb-admin-school-trial-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(21, 73, 145, 0.12);
    border-radius: 0.85rem;
    background: rgba(21, 73, 145, 0.04);
    font-size: 0.95rem;
}

.nb-static-page {
  padding: 4rem 0 5rem;
  background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.nb-static-page__card {
  background: #fff;
  border-radius: 1.5rem;
  padding: 2.5rem;
  box-shadow: 0 24px 48px rgba(16, 35, 63, 0.1);
}

.nb-static-page__card h1 {
  margin-bottom: 1.25rem;
  font-family: var(--nb-font-heading);
  font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.nb-static-page__card p,
.nb-static-page__bullets,
.nb-static-page__list {
  font-size: 1.05rem;
  line-height: 1.9;
}

.nb-static-page__list,
.nb-static-page__bullets {
  padding-left: 1.5rem;
}

.nb-static-page__list li,
.nb-static-page__bullets li {
  margin-bottom: 1rem;
}

.nb-static-page__closing {
  margin-top: 2rem;
  font-weight: 700;
  color: var(--blue);
}

.nb-static-page__hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
}

.nb-static-page__hero > :first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.nb-static-page__lede {
  max-width: none;
}

.nb-static-page__graphic {
  width: min(100%, 240px);
  height: auto;
  flex: 0 0 auto;
}

/* Philosophy Page */
.nb-philosophy-page {
  background:
    radial-gradient(circle at top left, rgba(242, 101, 18, 0.08), transparent 18%),
    radial-gradient(circle at top right, rgba(24, 73, 200, 0.08), transparent 20%),
    linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
  color: #16305f;
  padding: 3.5rem 0 5rem;
}

.nb-philosophy-page h1,
.nb-philosophy-page h2,
.nb-philosophy-page h3,
.nb-philosophy-page strong {
  font-family: var(--nb-font-heading);
}

.nb-philosophy-page__hero,
.nb-philosophy-page__origin-card,
.nb-philosophy-page__beliefs,
.nb-philosophy-page__principles,
.nb-philosophy-page__closing-bar {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(24, 49, 98, 0.08);
  border-radius: 2rem;
  box-shadow: 0 24px 60px rgba(17, 35, 73, 0.08);
}

.nb-philosophy-page__hero {
  align-items: center;
  display: grid;
  gap: 2.6rem;
  grid-template-columns: minmax(0, 1.02fr) minmax(24rem, 0.98fr);
  margin-bottom: 1.3rem;
  padding: 1.6rem 1.5rem 1.3rem;
}

.nb-philosophy-page__hero-copy {
  padding: 0.4rem 0.1rem 0.4rem 0.35rem;
}

.nb-philosophy-page__hero-copy h1 {
  color: #183162;
  font-size: clamp(3.1rem, 5.2vw, 4.6rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.94;
  margin: 0;
}

.nb-philosophy-page__hero-highlight {
  color: #1c55c3;
  font-size: clamp(1.55rem, 2.6vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.16;
  margin: 1.15rem 0 1.3rem;
  max-width: 15ch;
}

.nb-philosophy-page__hero-copy p {
  color: #183162;
  font-size: 1.14rem;
  line-height: 1.8;
  margin: 0 0 0.7rem;
  max-width: 34rem;
}

.nb-philosophy-page__hero-media img {
  border-radius: 1.6rem;
  display: block;
  height: auto;
  width: 100%;
}

.nb-philosophy-page__origin-card {
  align-items: start;
  display: grid;
  gap: 1.75rem;
  grid-template-columns: 10rem minmax(0, 1fr);
  margin-bottom: 1.5rem;
  padding: 1.6rem 1.8rem;
}

.nb-philosophy-page__origin-icon {
  align-items: center;
  background: linear-gradient(180deg, #f6fbff 0%, #eef5ff 100%);
  border: 1px solid rgba(24, 73, 200, 0.08);
  border-radius: 50%;
  color: #2b67df;
  display: inline-flex;
  font-size: 3.9rem;
  height: 8.4rem;
  justify-content: center;
  width: 8.4rem;
}

.nb-philosophy-page__origin-copy h2,
.nb-philosophy-page__section-head h2,
.nb-philosophy-page__closing-item h2 {
  color: #183162;
  font-size: clamp(2.1rem, 3.1vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.04;
  margin: 0 0 0.75rem;
}

.nb-philosophy-page__origin-copy p,
.nb-philosophy-page__section-head p,
.nb-philosophy-page__belief-card p,
.nb-philosophy-page__principle-card p,
.nb-philosophy-page__closing-item p {
  color: #183162;
  font-size: 1.08rem;
  line-height: 1.85;
  margin: 0 0 0.55rem;
}

.nb-philosophy-page__beliefs,
.nb-philosophy-page__principles {
  margin-bottom: 1.5rem;
  padding: 1.85rem 1.8rem 2rem;
}

.nb-philosophy-page__section-head {
  margin-bottom: 1.45rem;
  text-align: center;
}

.nb-philosophy-page__section-head p {
  margin-bottom: 0;
}

.nb-philosophy-page__belief-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.nb-philosophy-page__belief-card {
  align-items: center;
  border-right: 1px solid rgba(24, 49, 98, 0.08);
  display: grid;
  gap: 0.95rem;
  justify-items: center;
  padding: 1rem 1rem 0.25rem;
  text-align: center;
}

.nb-philosophy-page__belief-card:last-child {
  border-right: none;
}

.nb-philosophy-page__belief-icon {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  font-size: 1.85rem;
  height: 4.9rem;
  justify-content: center;
  width: 4.9rem;
}

.nb-philosophy-page__belief-card h3 {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
  margin: 0;
  min-height: 2.85em;
}

.nb-philosophy-page__belief-card p {
  font-size: 0.98rem;
  line-height: 1.7;
  margin: 0;
}

.nb-philosophy-page__belief-card--green { color: #1f8f63; }
.nb-philosophy-page__belief-card--green .nb-philosophy-page__belief-icon { background: rgba(31, 143, 99, 0.1); }
.nb-philosophy-page__belief-card--purple { color: #7b43d1; }
.nb-philosophy-page__belief-card--purple .nb-philosophy-page__belief-icon { background: rgba(123, 67, 209, 0.1); }
.nb-philosophy-page__belief-card--orange { color: #f26512; }
.nb-philosophy-page__belief-card--orange .nb-philosophy-page__belief-icon { background: rgba(242, 101, 18, 0.1); }
.nb-philosophy-page__belief-card--blue { color: #1f5fd3; }
.nb-philosophy-page__belief-card--blue .nb-philosophy-page__belief-icon { background: rgba(31, 95, 211, 0.1); }
.nb-philosophy-page__belief-card--sky { color: #1c7fbf; }
.nb-philosophy-page__belief-card--sky .nb-philosophy-page__belief-icon { background: rgba(28, 127, 191, 0.1); }
.nb-philosophy-page__belief-card--pink { color: #ef3a7d; }
.nb-philosophy-page__belief-card--pink .nb-philosophy-page__belief-icon { background: rgba(239, 58, 125, 0.1); }
.nb-philosophy-page__belief-card--teal { color: #128070; }
.nb-philosophy-page__belief-card--teal .nb-philosophy-page__belief-icon { background: rgba(18, 128, 112, 0.1); }

.nb-philosophy-page__principle-grid {
  column-gap: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  row-gap: 1.35rem;
}

.nb-philosophy-page__principle-card {
  align-items: start;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: auto minmax(0, 1fr);
}

.nb-philosophy-page__principle-number {
  align-items: center;
  background: #1f5fd3;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 0.95rem;
  font-weight: 800;
  height: 1.75rem;
  justify-content: center;
  margin-top: 0.35rem;
  width: 1.75rem;
}

.nb-philosophy-page__principle-card p {
  font-size: 1.04rem;
  line-height: 1.82;
  margin: 0;
}

.nb-philosophy-page__closing-bar {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
}

.nb-philosophy-page__closing-item {
  align-items: center;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 1.45rem 1.7rem;
}

.nb-philosophy-page__closing-item + .nb-philosophy-page__closing-item {
  border-left: 1px solid rgba(24, 49, 98, 0.08);
}

.nb-philosophy-page__closing-icon {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 2rem;
  height: 5.15rem;
  justify-content: center;
  width: 5.15rem;
}

.nb-philosophy-page__closing-icon--blue {
  background: linear-gradient(180deg, #1f5fd3 0%, #1849c8 100%);
  color: #fff;
}

.nb-philosophy-page__closing-icon--outline {
  background: linear-gradient(180deg, #f6fbff 0%, #eef5ff 100%);
  border: 1px solid rgba(24, 73, 200, 0.12);
  color: #1f5fd3;
}

.nb-philosophy-page__closing-item h2 {
  font-size: 1.7rem;
  margin-bottom: 0.35rem;
}

.nb-philosophy-page__closing-item p {
  font-size: 1.02rem;
  margin-bottom: 0;
}

/* Educational Standards Page */
.nb-standards-page {
  background:
    radial-gradient(circle at top left, rgba(242, 101, 18, 0.08), transparent 18%),
    linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
  color: #17315f;
  padding: 0 0 4.5rem;
}

.nb-standards-page h1,
.nb-standards-page h2,
.nb-standards-page h3,
.nb-standards-page strong {
  font-family: var(--nb-font-heading);
}

.nb-standards-page__hero-shell {
  overflow: hidden;
  position: relative;
  padding: 2rem 0 3.1rem;
}

.nb-standards-page__hero-shell::before {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.93) 23%, rgba(255, 255, 255, 0.72) 40%, rgba(255, 255, 255, 0.22) 58%, rgba(255, 255, 255, 0) 72%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 28%, rgba(255, 255, 255, 0.28) 72%, rgba(255, 255, 255, 0.82) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.nb-standards-page__hero-art,
.nb-standards-page__hero-art img {
  inset: 0;
  position: absolute;
}

.nb-standards-page__hero-art {
  pointer-events: none;
}

.nb-standards-page__hero-art img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  width: 100%;
}

.nb-standards-page__hero {
  align-items: center;
  display: grid;
  min-height: clamp(18rem, 25vw, 22rem);
  position: relative;
  z-index: 2;
}

.nb-standards-page__hero-copy {
  max-width: 43rem;
  padding: 1rem 0 1.1rem;
}

.nb-standards-page__hero-copy h1 {
  color: #132d5f;
  font-size: clamp(3rem, 5vw, 4.9rem);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 0.94;
  margin: 0;
}

.nb-standards-page__hero-lede {
  color: #233f74;
  font-size: 1.24rem;
  line-height: 1.62;
  margin: 1.25rem 0 0;
  max-width: 38rem;
}

.nb-standards-page__grid {
  display: grid;
  gap: 1.45rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 0.55rem;
}

.nb-standards-page__standard-card,
.nb-standards-page__closing {
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(24, 49, 98, 0.08);
  border-radius: 1.8rem;
  box-shadow: 0 24px 60px rgba(17, 35, 73, 0.08);
}

.nb-standards-page__standard-card {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: 1fr;
  min-height: 15rem;
  overflow: hidden;
  padding: 1.5rem 1.45rem 1.35rem;
  position: relative;
}

.nb-standards-page__standard-card::before {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.72) 42%, rgba(255, 255, 255, 0) 100%),
    radial-gradient(circle at top center, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0) 68%);
  content: "";
  inset: 0 0 auto;
  height: 7.25rem;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

.nb-standards-page__standard-head,
.nb-standards-page__standard-body {
  position: relative;
  z-index: 1;
}

.nb-standards-page__standard-head {
  align-items: start;
  display: grid;
  gap: 1.05rem;
  grid-template-columns: auto minmax(0, 1fr);
}

.nb-standards-page__standard-icon {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  font-size: 2.05rem;
  height: 5rem;
  justify-content: center;
  width: 5rem;
}

.nb-standards-page__standard-copy h2 {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.12;
  margin: 0;
  max-width: 9ch;
}

.nb-standards-page__standard-rule {
  border-radius: 999px;
  display: block;
  height: 2px;
  margin: 0.9rem 0 1rem;
  width: 3rem;
}

.nb-standards-page__standard-copy p {
  color: #17315f;
  font-size: 1.08rem;
  line-height: 1.72;
  margin: 0;
}

.nb-standards-page__standard-body p {
  color: #17315f;
  font-size: 1.08rem;
  line-height: 1.78;
  margin: 0;
}

.nb-standards-page__standard-card--green { color: #13834b; }
.nb-standards-page__standard-card--green .nb-standards-page__standard-icon { background: rgba(19, 131, 75, 0.1); }
.nb-standards-page__standard-card--green .nb-standards-page__standard-rule { background: rgba(19, 131, 75, 0.9); }

.nb-standards-page__standard-card--purple { color: #6e34c4; }
.nb-standards-page__standard-card--purple .nb-standards-page__standard-icon { background: rgba(110, 52, 196, 0.1); }
.nb-standards-page__standard-card--purple .nb-standards-page__standard-rule { background: rgba(110, 52, 196, 0.9); }

.nb-standards-page__standard-card--blue { color: #1e57c8; }
.nb-standards-page__standard-card--blue .nb-standards-page__standard-icon { background: rgba(30, 87, 200, 0.1); }
.nb-standards-page__standard-card--blue .nb-standards-page__standard-rule { background: rgba(30, 87, 200, 0.9); }

.nb-standards-page__standard-card--orange { color: #ef6b1a; }
.nb-standards-page__standard-card--orange .nb-standards-page__standard-icon { background: rgba(239, 107, 26, 0.1); }
.nb-standards-page__standard-card--orange .nb-standards-page__standard-rule { background: rgba(239, 107, 26, 0.9); }

.nb-standards-page__standard-card--teal { color: #1591a8; }
.nb-standards-page__standard-card--teal .nb-standards-page__standard-icon { background: rgba(21, 145, 168, 0.1); }
.nb-standards-page__standard-card--teal .nb-standards-page__standard-rule { background: rgba(21, 145, 168, 0.9); }

.nb-standards-page__standard-card--pink { color: #df4d8d; }
.nb-standards-page__standard-card--pink .nb-standards-page__standard-icon { background: rgba(223, 77, 141, 0.1); }
.nb-standards-page__standard-card--pink .nb-standards-page__standard-rule { background: rgba(223, 77, 141, 0.9); }

.nb-standards-page__standard-card--lime { color: #4a9936; }
.nb-standards-page__standard-card--lime .nb-standards-page__standard-icon { background: rgba(74, 153, 54, 0.1); }
.nb-standards-page__standard-card--lime .nb-standards-page__standard-rule { background: rgba(74, 153, 54, 0.9); }

.nb-standards-page__standard-card--royal { color: #2464d8; }
.nb-standards-page__standard-card--royal .nb-standards-page__standard-icon { background: rgba(36, 100, 216, 0.1); }
.nb-standards-page__standard-card--royal .nb-standards-page__standard-rule { background: rgba(36, 100, 216, 0.9); }

.nb-standards-page__closing {
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 1fr);
  margin-top: 1.55rem;
  overflow: hidden;
}

.nb-standards-page__closing-intro,
.nb-standards-page__closing-quote {
  align-items: center;
  display: grid;
  gap: 1.25rem;
  padding: 1.55rem 1.65rem;
}

.nb-standards-page__closing-intro {
  grid-template-columns: auto minmax(0, 1fr);
}

.nb-standards-page__closing-quote {
  border-left: 1px solid rgba(24, 49, 98, 0.08);
  grid-template-columns: auto minmax(0, 1fr);
}

.nb-standards-page__closing-icon {
  align-items: center;
  background: linear-gradient(180deg, #eaf2ff 0%, #dfeaff 100%);
  border-radius: 50%;
  color: #2464d8;
  display: inline-flex;
  font-size: 2.15rem;
  height: 5.25rem;
  justify-content: center;
  width: 5.25rem;
}

.nb-standards-page__closing-intro h2 {
  color: #183162;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.08;
  margin: 0 0 0.45rem;
}

.nb-standards-page__closing-intro p,
.nb-standards-page__closing-quote p,
.nb-standards-page__closing-quote footer {
  color: #183162;
  font-size: 1.08rem;
  line-height: 1.74;
  margin: 0;
}

.nb-standards-page__quote-mark {
  align-self: start;
  color: #2464d8;
  font-size: 2.35rem;
}

.nb-standards-page__closing-quote blockquote {
  margin: 0;
}

.nb-standards-page__closing-quote p {
  font-style: italic;
}

.nb-standards-page__closing-quote footer {
  font-style: italic;
  margin-top: 0.55rem;
}

/* Educational Standards Page - Tablet */
@media (max-width: 991.98px) {
  .nb-standards-page {
    padding-bottom: 4rem;
  }

  .nb-standards-page__hero-shell {
    padding: 1.7rem 0 2.35rem;
  }

  .nb-standards-page__hero {
    min-height: 16.5rem;
  }

  .nb-standards-page__hero-copy {
    max-width: 34rem;
  }

  .nb-standards-page__hero-lede {
    max-width: 31rem;
  }

  .nb-standards-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-standards-page__standard-card {
    min-height: 13.8rem;
  }

  .nb-standards-page__closing {
    grid-template-columns: 1fr;
  }

  .nb-standards-page__closing-quote {
    border-left: none;
    border-top: 1px solid rgba(24, 49, 98, 0.08);
  }
}

/* Educational Standards Page - Mobile */
@media (max-width: 767.98px) {
  .nb-standards-page {
    padding-bottom: 3.5rem;
  }

  .nb-standards-page__hero-shell {
    padding: 1.35rem 0 1.85rem;
  }

  .nb-standards-page__hero {
    min-height: 17rem;
  }

  .nb-standards-page__hero-art img {
    object-position: 72% center;
  }

  .nb-standards-page__hero-copy {
    max-width: 20rem;
    padding: 0.35rem 0 0.55rem;
  }

  .nb-standards-page__hero-copy h1 {
    font-size: clamp(2.5rem, 12vw, 4rem);
    max-width: 9ch;
  }

  .nb-standards-page__hero-lede {
    font-size: 1.05rem;
    line-height: 1.6;
    max-width: 18rem;
  }

  .nb-standards-page__grid {
    gap: 1rem;
    grid-template-columns: 1fr;
  }

  .nb-standards-page__standard-card {
    gap: 1rem;
    min-height: 0;
    padding: 1.2rem 1.1rem 1.1rem;
  }

  .nb-standards-page__standard-card::before {
    height: 6.2rem;
  }

  .nb-standards-page__standard-icon {
    height: 4.4rem;
    width: 4.4rem;
  }

  .nb-standards-page__standard-copy h2 {
    font-size: 1.28rem;
  }

  .nb-standards-page__standard-body p,
  .nb-standards-page__closing-intro p,
  .nb-standards-page__closing-quote p,
  .nb-standards-page__closing-quote footer {
    font-size: 1rem;
    line-height: 1.68;
  }

  .nb-standards-page__closing-intro,
  .nb-standards-page__closing-quote {
    grid-template-columns: 1fr;
    padding: 1.25rem 1.15rem;
  }

  .nb-standards-page__closing-icon {
    height: 4.65rem;
    width: 4.65rem;
  }

  .nb-standards-page__closing-intro h2 {
    font-size: 1.6rem;
  }
}

/* Philosophy Page - Tablet */
@media (max-width: 991.98px) {
  .nb-philosophy-page {
    padding: 3rem 0 4rem;
  }

  .nb-philosophy-page__hero,
  .nb-philosophy-page__origin-card,
  .nb-philosophy-page__closing-bar {
    grid-template-columns: 1fr;
  }

  .nb-philosophy-page__hero {
    gap: 1.85rem;
    padding: 1.35rem;
  }

  .nb-philosophy-page__hero-copy {
    padding: 0.1rem 0 0;
  }

  .nb-philosophy-page__hero-highlight,
  .nb-philosophy-page__hero-copy p {
    max-width: none;
  }

  .nb-philosophy-page__origin-card {
    gap: 1.15rem;
  }

  .nb-philosophy-page__origin-icon {
    height: 7rem;
    width: 7rem;
  }

  .nb-philosophy-page__belief-grid {
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nb-philosophy-page__belief-card {
    border: 1px solid rgba(24, 49, 98, 0.08);
    border-radius: 1.35rem;
    padding: 1.1rem 0.95rem 1rem;
  }

  .nb-philosophy-page__belief-card:last-child {
    border-right: 1px solid rgba(24, 49, 98, 0.08);
  }

  .nb-philosophy-page__principle-grid {
    column-gap: 1.5rem;
  }

  .nb-philosophy-page__closing-item + .nb-philosophy-page__closing-item {
    border-left: none;
    border-top: 1px solid rgba(24, 49, 98, 0.08);
  }
}

/* Philosophy Page - Mobile */
@media (max-width: 767.98px) {
  .nb-philosophy-page {
    padding: 2.35rem 0 3.5rem;
  }

  .nb-philosophy-page__hero,
  .nb-philosophy-page__origin-card,
  .nb-philosophy-page__beliefs,
  .nb-philosophy-page__principles,
  .nb-philosophy-page__closing-item {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }

  .nb-philosophy-page__hero {
    gap: 1.35rem;
    margin-bottom: 1rem;
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
  }

  .nb-philosophy-page__hero-highlight {
    font-size: 1.45rem;
    line-height: 1.22;
    margin-top: 0.95rem;
  }

  .nb-philosophy-page__hero-copy p,
  .nb-philosophy-page__origin-copy p,
  .nb-philosophy-page__section-head p,
  .nb-philosophy-page__belief-card p,
  .nb-philosophy-page__principle-card p,
  .nb-philosophy-page__closing-item p {
    font-size: 1rem;
    line-height: 1.72;
  }

  .nb-philosophy-page__hero-media img {
    border-radius: 1.25rem;
  }

  .nb-philosophy-page__origin-card,
  .nb-philosophy-page__beliefs,
  .nb-philosophy-page__principles {
    margin-bottom: 1rem;
  }

  .nb-philosophy-page__origin-icon {
    font-size: 3.2rem;
    height: 6rem;
    width: 6rem;
  }

  .nb-philosophy-page__belief-grid,
  .nb-philosophy-page__principle-grid,
  .nb-philosophy-page__closing-bar {
    grid-template-columns: 1fr;
  }

  .nb-philosophy-page__belief-card {
    justify-items: start;
    text-align: left;
  }

  .nb-philosophy-page__belief-card h3 {
    min-height: 0;
  }

  .nb-philosophy-page__principle-card {
    gap: 0.7rem;
  }

  .nb-philosophy-page__closing-item {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .nb-philosophy-page__closing-icon {
    height: 4.5rem;
    width: 4.5rem;
  }

  .nb-philosophy-page__closing-item h2 {
    font-size: 1.45rem;
  }
}

.nb-testimonials-page .nb-static-page__card {
  padding-bottom: 3rem;
}

.nb-testimonial-card {
  height: 100%;
  padding: 1.75rem;
  border-radius: 1.25rem;
  background: #fff;
  border-top: 0.45rem solid var(--blue);
  box-shadow: 0 20px 40px rgba(16, 35, 63, 0.1);
}

.nb-testimonial-card p {
  margin-bottom: 1.5rem;
  line-height: 1.8;
}

.nb-testimonial-card h2 {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 700;
}

.nb-testimonial-card span {
  color: #5f6f84;
  font-size: 0.95rem;
}

.nb-testimonial-card--blue { border-top-color: var(--blue); }
.nb-testimonial-card--green { border-top-color: var(--green); }
.nb-testimonial-card--orange { border-top-color: var(--accent); }
.nb-testimonial-card--aqua { border-top-color: #28a7b5; }
.nb-testimonial-card--red { border-top-color: var(--red); }
.nb-testimonial-card--indigo { border-top-color: #4957c8; }
.nb-testimonial-card--gold { border-top-color: var(--gold); }
.nb-testimonial-card--slate { border-top-color: #5f6f84; }
.nb-testimonial-card--purple { border-top-color: #7c4dff; }
.nb-testimonial-card--pink { border-top-color: #e05aa3; }
.nb-testimonial-card--coral { border-top-color: #ff7a59; }
.nb-testimonial-card--teal { border-top-color: #1f9d8a; }

.nb-legal-page h2,
.nb-faq-page h2,
.nb-side-card h2 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  font-weight: 800;
}

.nb-legal-page h2:first-of-type,
.nb-faq-page h2:first-of-type {
  margin-top: 0;
}

.nb-legal-page__date {
  color: var(--red);
}

.nb-faq-blocks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 2rem 0 2.5rem;
}

.nb-faq-block,
.nb-side-card {
  padding: 1.5rem;
  border-radius: 1.15rem;
  background: var(--panel);
}

.nb-static-page__section-title {
  margin-top: 2rem;
}

.nb-faq-item {
  border: 1px solid rgba(16, 35, 63, 0.1);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 14px 26px rgba(16, 35, 63, 0.06);
}

.nb-faq-item + .nb-faq-item {
  margin-top: 1rem;
}

.nb-faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 1.25rem;
  font-weight: 700;
}

.nb-faq-item summary::-webkit-details-marker {
  display: none;
}

.nb-faq-item__body {
  padding: 0 1.25rem 1.25rem;
}

.nb-faq-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.nb-faq-gallery img {
  width: 100%;
  border-radius: 0.85rem;
  box-shadow: 0 16px 32px rgba(16, 35, 63, 0.12);
}

.nb-faq-shell {
  overflow: visible;
}

.nb-faq-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 2rem;
  align-items: stretch;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  margin: -0.75rem -0.75rem 2rem;
  border-radius: 2rem;
  background:
    radial-gradient(circle at 12% 8%, rgba(252, 182, 38, 0.34), transparent 34%),
    linear-gradient(135deg, #eef7ff 0%, #ffffff 48%, #fff4df 100%);
  border: 1px solid rgba(23, 51, 86, 0.08);
}

.nb-faq-hero h1 {
  max-width: 780px;
}

.nb-faq-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.5rem;
}

.nb-faq-hero__panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
  padding: 1.5rem;
  border-radius: 1.6rem;
  color: #fff;
  background:
    linear-gradient(155deg, rgba(7, 36, 86, 0.94), rgba(0, 111, 180, 0.88)),
    url("../images/home/bgStudents.jpg") center/cover;
  box-shadow: 0 24px 50px rgba(13, 28, 66, 0.22);
}

.nb-faq-hero__panel span,
.nb-faq-answer-grid span {
  color: var(--gold);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.nb-faq-hero__panel strong {
  display: block;
  margin: 0.45rem 0 0.6rem;
  font-size: 1.45rem;
  line-height: 1.15;
}

.nb-faq-hero__panel p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.9);
}

.nb-faq-answer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 2.25rem;
}

.nb-faq-answer-grid article {
  min-height: 100%;
  padding: 1.25rem;
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid rgba(23, 51, 86, 0.08);
  box-shadow: 0 16px 36px rgba(16, 35, 63, 0.08);
}

.nb-faq-answer-grid strong {
  display: block;
  margin: 0.45rem 0;
  color: var(--navy);
  font-size: 1.05rem;
}

.nb-faq-answer-grid p {
  margin-bottom: 0;
  font-size: 0.95rem;
}

.nb-faq-layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}

.nb-faq-nav {
  position: sticky;
  top: calc(var(--mainnav-height, 76px) + 1rem);
  display: grid;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 1.25rem;
  background: #f6f9fc;
  border: 1px solid rgba(23, 51, 86, 0.08);
}

.nb-faq-nav h2 {
  margin: 0 0 0.35rem;
  font-size: 1rem;
}

.nb-faq-nav a {
  display: block;
  padding: 0.65rem 0.75rem;
  border-radius: 999px;
  color: var(--navy);
  font-weight: 800;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(23, 51, 86, 0.08);
}

.nb-faq-nav a:hover,
.nb-faq-nav a:focus {
  color: #fff;
  background: var(--blue);
}

.nb-faq-section {
  scroll-margin-top: calc(var(--mainnav-height, 76px) + 1.5rem);
  padding: 1.5rem;
  border-radius: 1.5rem;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  border: 1px solid rgba(23, 51, 86, 0.08);
}

.nb-faq-section + .nb-faq-section {
  margin-top: 1.5rem;
}

.nb-faq-section > h2 {
  margin-top: 0;
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.nb-faq-page .nb-faq-section .nb-eyebrow {
  margin-bottom: 0.3rem;
}

.nb-faq-page .nb-faq-item {
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.nb-faq-page .nb-faq-item[open] {
  border-color: rgba(0, 96, 168, 0.22);
  box-shadow: 0 18px 34px rgba(16, 35, 63, 0.1);
}

.nb-faq-page .nb-faq-item summary {
  position: relative;
  padding-right: 3rem;
}

.nb-faq-page .nb-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--blue);
  font-weight: 900;
}

.nb-faq-page .nb-faq-item[open] summary::after {
  content: "-";
  background: var(--accent);
}

.nb-faq-site-map {
  scroll-margin-top: calc(var(--mainnav-height, 76px) + 1.5rem);
  margin-top: 2.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 1.75rem;
  background: #10233f;
  color: #fff;
}

.nb-faq-site-map h2,
.nb-faq-site-map p {
  color: #fff;
}

.nb-faq-map-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.nb-faq-map-grid article {
  display: grid;
  align-content: start;
  gap: 0.45rem;
  padding: 1rem;
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.nb-faq-map-grid h3 {
  margin: 0 0 0.35rem;
  color: var(--gold);
  font-size: 1rem;
}

.nb-faq-map-grid a,
.nb-faq-map-grid span {
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.95rem;
}

.nb-faq-map-grid a:hover,
.nb-faq-map-grid a:focus {
  color: #fff;
}

@media (max-width: 1199.98px) {
  .nb-faq-answer-grid,
  .nb-faq-map-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .nb-faq-hero,
  .nb-faq-layout {
    grid-template-columns: 1fr;
  }

  .nb-faq-nav {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .nb-faq-hero {
    margin-left: 0;
    margin-right: 0;
    border-radius: 1.4rem;
  }

  .nb-faq-answer-grid,
  .nb-faq-map-grid,
  .nb-faq-nav {
    grid-template-columns: 1fr;
  }

  .nb-faq-section,
  .nb-faq-site-map {
    padding: 1rem;
    border-radius: 1.2rem;
  }
}

.nb-static-page__graphic--student {
  width: min(100%, 280px);
}

.nb-student-page__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 2rem 0 1.5rem;
}

.nb-student-page__highlight {
  font-weight: 700;
  color: var(--blue);
}

.nb-student-feature {
  height: 100%;
  padding: 1.5rem;
  border-radius: 1.2rem;
  background: var(--panel);
}

.nb-student-feature img {
  max-width: 100%;
  border-radius: 1rem;
  box-shadow: 0 18px 32px rgba(16, 35, 63, 0.12);
}

.nb-student-feature h3 {
  margin: 1rem 0 0.75rem;
  font-size: 1.15rem;
  font-weight: 800;
}

.nb-student-page__question {
  font-size: 1.2rem;
  font-weight: 700;
}

.nb-student-page__response {
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 1rem;
  background: #edf7ee;
  border-left: 0.45rem solid var(--green);
}

.nb-student-page__byline {
  color: #5f6f84;
  font-weight: 600;
}

.nb-student-dashboard__callout {
  background: linear-gradient(135deg, #f5fbff, #eef6ff);
  border: 1px solid #cfe0f4;
  border-radius: 1.5rem;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.nb-student-dashboard__code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 10rem;
  padding: 0.75rem 1.25rem;
  border-radius: 999px;
  background: #0d6efd;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.nb-student-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

.nb-student-dashboard__panel {
  border-radius: 1.5rem;
  border: 1px solid #dbe7f3;
  background: #fff;
  padding: 1.5rem;
  box-shadow: 0 16px 40px rgba(13, 53, 102, 0.08);
}

.nb-student-dashboard__panel-image {
  display: block;
  max-width: 180px;
  margin-bottom: 1rem;
}

.nb-student-page__intro {
  margin-bottom: 1.5rem;
}

.nb-student-speak__accordion {
  margin-top: 1rem;
}

.nb-student-speak__item {
  border: 1px solid #d7e3f2;
  border-radius: 1.25rem;
  overflow: hidden;
  margin-bottom: 1rem;
}

.nb-student-speak__item .accordion-button {
  font-weight: 700;
  color: #16325c;
  background: linear-gradient(135deg, #f4f9ff, #ecf5ff);
}

.nb-student-speak__item .accordion-button:not(.collapsed) {
  color: #16325c;
  background: linear-gradient(135deg, #eaf4ff, #e2f0ff);
  box-shadow: none;
}

.nb-student-speak__textarea {
  min-height: 10rem;
}

.nb-student-speak__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.nb-student-newzstory__summary {
  min-height: 18rem;
}

.nb-student-newzstory__lede {
  max-width: none;
}

.nb-student-newzstory__table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.nb-student-stateknowledge__lede {
  max-width: none;
}

.nb-student-stateknowledge__gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}

.nb-student-stateknowledge__tile {
  border-radius: 1.5rem;
  border: 1px solid #dbe7f3;
  background: linear-gradient(135deg, #f7fbff, #eef6ff);
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 16px 40px rgba(13, 53, 102, 0.08);
}

.nb-student-stateknowledge__tile img {
  max-width: 100%;
  max-height: 220px;
  object-fit: contain;
}

.nb-student-stateknowledge__official-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.nb-student-stateknowledge__stack {
  display: grid;
  gap: 1rem;
}

.nb-student-stateknowledge__representative-row {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
}

.nb-student-stateknowledge__representative-actions {
  display: flex;
  justify-content: flex-end;
}

.nb-student-stateknowledge__facts-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.nb-student-stateknowledge__symbol-row {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}

.nb-certificates-callout {
  padding: 1.75rem;
  margin-bottom: 2rem;
  border-radius: 1.25rem;
  background: #eef6ff;
}

.nb-certificate-link img {
  width: 100%;
  border-radius: 1rem;
  box-shadow: 0 18px 30px rgba(16, 35, 63, 0.12);
}

.nb-certificate-card {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 1.5rem;
  align-items: center;
  height: 100%;
  padding: 1.5rem;
  border-radius: 1.2rem;
  background: #fff;
  box-shadow: 0 18px 32px rgba(16, 35, 63, 0.1);
  border-top: 0.45rem solid var(--blue);
}

.nb-certificate-card img {
  width: 100%;
  border-radius: 0.85rem;
}

.nb-certificate-card h2 {
  margin-top: 0;
}

.nb-certificate-card--blue { border-top-color: var(--blue); }
.nb-certificate-card--green { border-top-color: var(--green); }
.nb-certificate-card--red { border-top-color: var(--red); }
.nb-certificate-card--gold { border-top-color: var(--gold); }
.nb-certificate-card--teal { border-top-color: #1f9d8a; }

.nb-rankings-header {
  margin: 1rem 0 1.5rem;
  border-radius: 1rem;
  box-shadow: 0 18px 30px rgba(16, 35, 63, 0.12);
}

.nb-rankings-table thead th {
  background: var(--ink);
  color: #fff;
  border: 0;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.nb-rankings-table tbody td {
  vertical-align: middle;
}

.nb-rankings-table tbody tr {
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.nb-rankings-table tbody tr:hover {
  transform: translateY(-1px);
}

.nb-rankings-throbber {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  margin: 0 0 1.25rem;
  padding: 0.85rem 1.15rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(20, 57, 107, 0.08), rgba(34, 116, 205, 0.14));
  border: 1px solid rgba(34, 116, 205, 0.12);
  color: var(--ink);
  font-weight: 700;
}

.nb-rankings-throbber__spinner {
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  border: 3px solid rgba(34, 116, 205, 0.2);
  border-top-color: #1d5fae;
  animation: nb-rankings-spin 0.85s linear infinite;
}

@keyframes nb-rankings-spin {
  to {
    transform: rotate(360deg);
  }
}

.nb-rankings-row--grade-3 td {
  background: linear-gradient(90deg, rgba(255, 120, 156, 0.28), rgba(255, 214, 226, 0.88));
  border-color: rgba(214, 51, 108, 0.3);
}

.nb-rankings-row--grade-4 td {
  background: linear-gradient(90deg, rgba(255, 166, 77, 0.32), rgba(255, 233, 203, 0.9));
  border-color: rgba(245, 139, 28, 0.32);
}

.nb-rankings-row--grade-5 td {
  background: linear-gradient(90deg, rgba(255, 210, 58, 0.36), rgba(255, 245, 196, 0.9));
  border-color: rgba(210, 167, 0, 0.34);
}

.nb-rankings-row--grade-6 td {
  background: linear-gradient(90deg, rgba(124, 214, 72, 0.32), rgba(224, 248, 206, 0.9));
  border-color: rgba(88, 167, 43, 0.3);
}

.nb-rankings-row--grade-7 td {
  background: linear-gradient(90deg, rgba(45, 202, 164, 0.32), rgba(213, 247, 239, 0.9));
  border-color: rgba(25, 148, 124, 0.3);
}

.nb-rankings-row--grade-8 td {
  background: linear-gradient(90deg, rgba(86, 162, 255, 0.34), rgba(220, 238, 255, 0.9));
  border-color: rgba(48, 107, 196, 0.32);
}

.nb-rankings-row--grade-9 td {
  background: linear-gradient(90deg, rgba(122, 104, 255, 0.34), rgba(229, 224, 255, 0.9));
  border-color: rgba(96, 72, 194, 0.32);
}

.nb-rankings-row--grade-10 td {
  background: linear-gradient(90deg, rgba(206, 96, 255, 0.32), rgba(243, 223, 255, 0.9));
  border-color: rgba(156, 71, 191, 0.3);
}

.nb-rankings-row--grade-default td {
  background: linear-gradient(90deg, rgba(245, 248, 252, 0.96), rgba(252, 253, 255, 0.96));
}

.nb-rankings-row--college td {
  background: linear-gradient(90deg, rgba(227, 242, 255, 0.94), rgba(248, 251, 255, 0.94));
  border-color: rgba(33, 98, 190, 0.16);
}

.nb-college-rankings-logo {
  width: 86px;
  max-width: 100%;
  max-height: 64px;
  object-fit: contain;
  border-radius: 0.85rem;
  background: #fff;
  padding: 0.45rem;
  box-shadow: 0 12px 22px rgba(16, 35, 63, 0.08);
}

.nb-rankings-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.4rem;
  border-radius: 1.3rem;
  border: 1px solid rgba(16, 35, 63, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 253, 0.98));
  box-shadow: 0 18px 32px rgba(16, 35, 63, 0.08);
  color: inherit;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.nb-rankings-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 36px rgba(16, 35, 63, 0.12);
  border-color: rgba(25, 60, 110, 0.16);
  color: inherit;
}

.nb-rankings-card__image {
  margin-bottom: 1rem;
  border-radius: 1rem;
  box-shadow: 0 18px 30px rgba(16, 35, 63, 0.12);
}

.nb-rankings-card__eyebrow {
  margin-bottom: 0.55rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

.nb-rankings-card h2 {
  margin-bottom: 0.8rem;
  font-size: 1.5rem;
}

.nb-rankings-card p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.75;
}

.nb-rankings-preview {
  display: grid;
  gap: 0.6rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(16, 35, 63, 0.08);
}

.nb-rankings-preview__stage {
  display: grid;
  gap: 0.6rem;
}

.nb-rankings-preview__loading,
.nb-rankings-preview__empty {
  color: var(--muted);
  font-size: 0.95rem;
}

.nb-rankings-preview__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem;
  align-items: center;
  padding: 0.7rem 0.8rem;
  border-radius: 0.95rem;
  background: rgba(248, 251, 255, 0.96);
  border: 1px solid rgba(16, 35, 63, 0.08);
}

.nb-rankings-preview__item--logo {
  grid-template-columns: auto auto 1fr;
}

.nb-rankings-preview__rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  height: 2.2rem;
  padding: 0 0.55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #14396b, #1d5fae);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.03em;
}

.nb-rankings-preview__copy {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.nb-rankings-preview__copy strong {
  color: var(--ink);
  font-size: 0.98rem;
  line-height: 1.25;
}

.nb-rankings-preview__copy span {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.35;
}

.nb-rankings-preview__logo {
  width: 2.7rem;
  height: 2.7rem;
  object-fit: contain;
  border-radius: 0.7rem;
  background: #fff;
  padding: 0.25rem;
  box-shadow: 0 8px 16px rgba(16, 35, 63, 0.08);
}

.nb-rankings-preview__dots {
  display: flex;
  justify-content: center;
  gap: 0.35rem;
  margin-top: 0.15rem;
}

.nb-rankings-preview__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(20, 57, 107, 0.18);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.nb-rankings-preview__dot.is-active {
  background: #1d5fae;
  transform: scale(1.1);
}

.nb-rankings-card__hero {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 188px;
  margin-bottom: 1rem;
  padding: 1.25rem;
  border-radius: 1rem;
  text-align: center;
  box-shadow: 0 18px 30px rgba(16, 35, 63, 0.12);
}

.nb-rankings-card__hero span {
  font-family: var(--nb-font-heading);
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  line-height: 1.2;
  color: #fff;
}

.nb-rankings-card__hero--monthly {
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, 0.18), transparent 38%),
    linear-gradient(135deg, #0f335f, #1c5ca8 55%, #e39b2b 100%);
}

.nb-rankings-card__hero--page {
  min-height: 220px;
  margin: 1rem 0 1.5rem;
}

.nb-player-filters {
  margin: 1rem 0 1.5rem;
}

.nb-login-page {
  min-height: 60vh;
}

.nb-login-card {
  max-width: 36rem;
  margin: 0 auto;
  padding: 2.5rem;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 24px 48px rgba(16, 35, 63, 0.1);
}

.nb-register-card {
  max-width: 50rem;
  margin: 0 auto;
  padding: 2.5rem;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 24px 48px rgba(16, 35, 63, 0.1);
}

.nb-login-card h1 {
  margin-bottom: 1rem;
  font-family: var(--nb-font-heading);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
}

.nb-register-card h1 {
  margin-bottom: 1rem;
  font-family: var(--nb-font-heading);
  font-size: clamp(2.2rem, 4vw, 3.2rem);
}

.nb-register-tip,
.nb-register-callout {
  padding: 1rem 1.15rem;
  border-radius: 1rem;
  background: #f5f8fc;
  border: 1px solid rgba(10, 77, 140, 0.08);
}

.nb-register-tip {
  height: 100%;
  display: grid;
  align-content: center;
  color: var(--muted);
}

.nb-register-callout {
  margin-top: 1.5rem;
}

.nb-button--small {
  padding: 0.65rem 1rem;
  font-size: 0.82rem;
  white-space: nowrap;
}

.nb-school-teacher-list {
  display: grid;
  gap: 1rem;
}

.nb-school-teacher-item {
  padding: 1rem 1.1rem;
  border-radius: 0.95rem;
  background: #ffffff;
  border: 1px solid rgba(10, 77, 140, 0.1);
  box-shadow: 0 8px 20px rgba(20, 57, 107, 0.06);
}

.nb-school-teacher-item__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.55rem;
}

.nb-school-teacher-item__remove-form {
  margin: 0;
}

.nb-account-settings-stack {
  display: grid;
  gap: 1.25rem;
}

.nb-account-settings-field {
  display: grid;
  gap: 0.55rem;
}

.nb-account-settings-field h3 {
  margin-bottom: 0;
  font-size: 1.1rem;
}

.nb-account-settings-field--divider {
  padding-top: 1.1rem;
  border-top: 1px solid rgba(10, 77, 140, 0.12);
}

.nb-account-settings-readonly {
  min-height: 3.4rem;
  display: flex;
  align-items: center;
  padding: 0.85rem 1rem;
  border-radius: 0.9rem;
  background: #ffffff;
  border: 1px solid rgba(10, 77, 140, 0.12);
  color: #163052;
  font-weight: 600;
}

.nb-account-settings-help {
  margin-bottom: 0;
  color: var(--muted);
  font-size: 0.94rem;
}

@media (max-width: 768px) {
  .nb-school-teacher-item__header {
    flex-direction: column;
    align-items: flex-start;
  }
}

.nb-college-picker {
  display: grid;
  gap: 1rem;
}

.nb-college-picker__intro {
  padding: 1.1rem 1.2rem;
  border-radius: 1.15rem;
  border: 1px solid rgba(10, 77, 140, 0.08);
  background: linear-gradient(180deg, #fbfdff 0%, #f3f8ff 100%);
}

.nb-college-picker__title {
  margin-bottom: 0.9rem;
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--ink);
}

.nb-college-picker__link {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent);
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.2rem;
}

.nb-college-picker__selected {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 1.1rem;
  align-items: center;
  padding: 1.2rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(10, 77, 140, 0.08);
  background: linear-gradient(180deg, #ffffff 0%, #f5f9ff 100%);
  box-shadow: 0 16px 28px rgba(16, 35, 63, 0.06);
}

.nb-college-picker__selected.is-empty {
  opacity: 0.86;
}

.nb-college-picker__selected-logo-wrap {
  display: grid;
  place-items: center;
  width: 120px;
  height: 120px;
  padding: 0.8rem;
  border-radius: 1.25rem;
  background: linear-gradient(180deg, #f9fbff, #edf4fc);
}

.nb-college-picker__selected-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nb-college-picker__selected-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  font-size: 2rem;
  font-weight: 800;
  color: var(--blue);
  background: rgba(10, 77, 140, 0.08);
}

.nb-college-picker__selected-copy h3 {
  margin: 0 0 0.5rem;
  font-size: 1.35rem;
}

.nb-college-picker__selected-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.nb-college-picker__selected-label {
  display: inline-block;
  margin-bottom: 0.35rem;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

.nb-college-picker__selected-copy p {
  margin-bottom: 0.4rem;
  color: #46576c;
}

.nb-college-picker__modal {
  border: 0;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 28px 60px rgba(16, 35, 63, 0.16);
}

.nb-college-picker__conference + .nb-college-picker__conference {
  margin-top: 2rem;
}

.nb-college-picker__conference-head {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
}

.nb-college-picker__conference-head h3 {
  margin: 0;
  font-size: 1.35rem;
}

.nb-college-picker__conference-head p {
  margin: 0.2rem 0 0;
  color: #5f6f84;
}

.nb-college-picker__conference-logo {
  width: 72px;
  height: 72px;
  object-fit: contain;
  padding: 0.45rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff, #f3f7fd);
  box-shadow: 0 14px 28px rgba(16, 35, 63, 0.08);
}

.nb-college-picker__teams {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.9rem;
}

.nb-college-picker__team {
  display: grid;
  gap: 0.7rem;
  align-content: start;
  justify-items: center;
  padding: 1rem 0.9rem;
  border: 1px solid rgba(10, 77, 140, 0.1);
  border-radius: 1.25rem;
  background: #fff;
  text-align: center;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.nb-college-picker__team:hover,
.nb-college-picker__team:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(217, 79, 4, 0.35);
  box-shadow: 0 16px 28px rgba(16, 35, 63, 0.1);
}

.nb-college-picker__team.is-selected {
  border-color: rgba(217, 79, 4, 0.45);
  background: linear-gradient(180deg, #fff7ef 0%, #ffffff 100%);
  box-shadow: 0 18px 32px rgba(217, 79, 4, 0.14);
}

.nb-college-picker__team-logo-wrap {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  padding: 0.5rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #f9fbff, #edf4fc);
}

.nb-college-picker__team-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nb-college-picker__team-fallback {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: 0.85rem;
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--blue);
  background: rgba(10, 77, 140, 0.08);
}

.nb-college-picker__team-name {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.35;
}

.nb-products-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-bottom: 2rem;
}

.nb-products-summary > div {
  padding: 1.25rem 1.5rem;
  border-radius: 1.15rem;
  background: var(--panel);
}

.nb-products-summary strong,
.nb-products-summary span {
  display: block;
}

.nb-products-summary__label {
  margin-bottom: 0.45rem;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

.nb-products-summary__roles {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.nb-role-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: #fff;
  font-size: 0.85rem;
  font-weight: 700;
}

.nb-products-alert {
  margin-bottom: 2rem;
}

.nb-static-page__graphic--teacher {
  max-width: 320px;
}

.nb-weekly-interactive-page .nb-static-page__graphic--teacher,
.nb-primer-interactive-page .nb-static-page__graphic--teacher {
  padding: 0.85rem;
  border-radius: 26px;
  background:
    radial-gradient(circle at top left, rgba(255, 196, 92, 0.34) 0%, rgba(255, 196, 92, 0) 38%),
    linear-gradient(145deg, #10234e 0%, #1f3f8b 38%, #0d1c42 100%);
  border: 1px solid rgba(255, 204, 118, 0.45);
  box-shadow:
    0 22px 48px rgba(13, 28, 66, 0.28),
    0 0 0 8px rgba(255, 255, 255, 0.72),
    0 0 26px rgba(71, 142, 255, 0.18);
  transform: translateY(-2px) rotate(-1.2deg);
}

.nb-static-page__graphic--print {
  max-width: 240px;
}

.nb-teacher-offer {
    display: grid;
    grid-template-columns: minmax(220px, 260px) 1fr;
    gap: 1.5rem;
    height: 100%;
    padding: 1.5rem;
    border: 1px solid rgba(23, 51, 86, 0.12);
    border-radius: 24px;
    background: linear-gradient(180deg, #f9fbff 0%, #eef5ff 100%);
  }
  
.nb-teacher-offer__media {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    align-self: start;
}

.nb-teacher-offer__media-link {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding: 0.75rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(23, 51, 86, 0.1);
    box-shadow: 0 16px 32px rgba(16, 35, 63, 0.08);
    color: var(--navy);
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.nb-teacher-offer__media-link:hover,
.nb-teacher-offer__media-link:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(12, 113, 195, 0.35);
    box-shadow: 0 18px 34px rgba(12, 113, 195, 0.16);
    color: var(--navy);
}

.nb-teacher-offer__media-link img {
    width: 100%;
    height: 170px;
    object-fit: contain;
    align-self: center;
    justify-self: center;
}

.nb-teacher-offer__media-link span {
    display: block;
    font-weight: 800;
    font-size: 0.92rem;
    text-align: center;
}

.nb-teacher-offer h3 {
  margin-bottom: 0.75rem;
  font-size: 1.3rem;
}

.nb-teacher-offer p {
  margin-bottom: 1rem;
}

.nb-weekly-interactive-page .nb-teacher-offer {
  grid-template-columns: 180px 1fr;
  gap: 1.25rem;
  padding: 1.35rem;
  border-radius: 18px;
  background: radial-gradient(circle at top, #f5f9ff 0%, #e8f1fb 100%);
  box-shadow: none;
}

.nb-weekly-interactive-page .nb-teacher-offer img {
  width: auto;
  max-width: 100%;
  max-height: 170px;
  align-self: center;
  justify-self: center;
}

.nb-weekly-interactive-page .nb-teacher-offer img,
.nb-primer-interactive-page .nb-static-page__graphic--teacher {
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.nb-weekly-interactive-page .nb-teacher-offer img {
  padding: 0.7rem;
  border-radius: 22px;
  background:
    radial-gradient(circle at top left, rgba(255, 197, 108, 0.34) 0%, rgba(255, 197, 108, 0) 42%),
    linear-gradient(150deg, #10224d 0%, #193875 48%, #0d1c42 100%);
  border: 1px solid rgba(255, 205, 126, 0.42);
  box-shadow:
    0 18px 38px rgba(13, 28, 66, 0.18),
    0 0 0 6px rgba(255, 255, 255, 0.72),
    0 0 22px rgba(71, 142, 255, 0.14);
}

.nb-weekly-interactive-page .nb-static-page__graphic--teacher:hover,
.nb-primer-interactive-page .nb-static-page__graphic--teacher:hover,
.nb-weekly-interactive-page .nb-teacher-offer img:hover {
  transform: translateY(-5px) rotate(-1.2deg) scale(1.02);
  box-shadow:
    0 28px 56px rgba(13, 28, 66, 0.34),
    0 0 0 8px rgba(255, 255, 255, 0.82),
    0 0 30px rgba(255, 184, 76, 0.2);
}

.nb-weekly-interactive-page .nb-teacher-offer__actions {
  margin-top: 1rem;
}

.nb-teacher-offer__actions,
.nb-teacher-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.25rem;
}

.nb-teacher-demo-section {
  margin-top: 1.5rem;
}

.nb-teacher-demo-section__title {
  margin-bottom: 1.25rem;
  font-size: 1.45rem;
}

.nb-teacher-demo-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.nb-teacher-demo-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
}

.nb-teacher-demo-tile img {
  width: 100%;
  max-width: 340px;
  height: 170px;
  object-fit: contain;
  border: 0;
}

.nb-teacher-demo-divider {
  margin: 2rem 0;
  border-top-color: rgba(23, 51, 86, 0.12);
}

.nb-teacher-rules details {
  border: 1px solid rgba(23, 51, 86, 0.14);
  border-radius: 20px;
  background: #f8fbff;
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}

.nb-teacher-rules summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--navy);
  list-style: none;
}

.nb-teacher-rules summary::-webkit-details-marker {
  display: none;
}

.nb-teacher-upgrade-disclosure {
  padding: 1.25rem 1.5rem;
}

.nb-teacher-upgrade-disclosure summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--navy);
}

.nb-teacher-upgrade-disclosure summary::-webkit-details-marker {
  display: none;
}

.nb-teacher-upgrade-disclosure summary::after {
  content: "+";
  flex: 0 0 auto;
  margin-left: 1rem;
  font-size: 1.8rem;
  line-height: 1;
  color: var(--accent);
}

.nb-teacher-upgrade-disclosure[open] summary::after {
  content: "-";
}

.nb-teacher-upgrade-disclosure__body {
  margin-top: 1rem;
}

.nb-teacher-rule__body {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 1.25rem;
  margin-top: 1rem;
  align-items: start;
}

.nb-teacher-rule__body img {
  width: 100%;
  border-radius: 18px;
  box-shadow: 0 20px 40px rgba(23, 51, 86, 0.12);
}

.nb-interactive-rules .nb-register-callout {
  margin: 1.5rem 0;
}

.nb-demo-body {
  margin: 0;
  background: #0c1f3f;
}

.nb-product-card {
  height: 100%;
  padding: 1.6rem;
  border-radius: 1.2rem;
  background: #fff;
  border-top: 0.45rem solid var(--blue);
  box-shadow: 0 18px 34px rgba(16, 35, 63, 0.1);
}

.nb-product-card h2 {
  margin-bottom: 0.85rem;
  font-size: 1.25rem;
  font-weight: 800;
}

.nb-product-card p {
  margin-bottom: 1.25rem;
}

.nb-product-card__actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.nb-product-card--disabled {
  opacity: 0.58;
  filter: saturate(0.72);
}

.nb-product-card__actions--disabled {
  pointer-events: none;
}

.nb-product-card__actions--disabled .nb-button {
  opacity: 0.82;
  box-shadow: none;
}

.nb-teacher-dashboard__card--disabled {
  position: relative;
}

.nb-teacher-dashboard__card--disabled::after {
  content: "Access Paused";
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(15, 34, 66, 0.08);
  color: #233a63;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nb-teacher-dashboard__disabled-note {
  margin: 0.85rem 0 0;
  color: var(--muted);
  font-size: 0.95rem;
}

.nb-teacher-code--masked {
  letter-spacing: 0.16em;
  user-select: none;
}

.nb-quizbowl-unavailable__copy,
.nb-quizbowl-unavailable__copy .nb-static-page__lede {
  max-width: none;
}

.nb-quizbowl-unavailable__dates {
  display: grid;
  gap: 0.65rem;
}

.nb-quizbowl-unavailable__date-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(25, 60, 110, 0.12);
  border-radius: 0.95rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.96));
  color: var(--ink);
}

.nb-quizbowl-unavailable__date-copy {
  min-width: 0;
}

.nb-quizbowl-unavailable__date-copy strong {
  display: block;
  font-size: 1rem;
  line-height: 1.35;
}

.nb-quizbowl-unavailable__date-status {
  flex-shrink: 0;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  background: rgba(15, 34, 66, 0.08);
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.nb-quizbowl-unavailable__date-item--past {
  opacity: 0.6;
  background: linear-gradient(180deg, rgba(248, 249, 252, 0.96), rgba(241, 244, 248, 0.94));
}

.nb-quizbowl-unavailable__date-item--past .nb-quizbowl-unavailable__date-copy strong {
  text-decoration: line-through;
  text-decoration-thickness: 2px;
}

.nb-quizbowl-unavailable__date-item--active {
  border-color: rgba(22, 163, 74, 0.24);
  background: linear-gradient(180deg, rgba(241, 253, 246, 0.98), rgba(233, 249, 241, 0.96));
}

.nb-quizbowl-unavailable__date-item--active .nb-quizbowl-unavailable__date-status {
  background: rgba(22, 163, 74, 0.12);
  color: #16703a;
}

.nb-quizbowl-unavailable__date-item--upcoming .nb-quizbowl-unavailable__date-status {
  background: rgba(37, 99, 235, 0.1);
  color: #244f9f;
}

@media (max-width: 767.98px) {
  .nb-quizbowl-unavailable__date-item {
    align-items: flex-start;
    flex-direction: column;
  }

  .nb-quizbowl-unavailable__date-status {
    align-self: flex-start;
  }
}

.nb-product-card--blue { border-top-color: var(--blue); }
.nb-product-card--orange { border-top-color: var(--accent); }
.nb-product-card--green { border-top-color: var(--green); }
.nb-product-card--slate { border-top-color: #5f6f84; }
.nb-product-card--purple { border-top-color: #7c4dff; }
.nb-product-card--gold { border-top-color: var(--gold); }
.nb-product-card--red { border-top-color: var(--red); }

.nb-certificate-sticker {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  height: 100%;
  padding: 1.2rem;
  border-radius: 1.15rem;
  background: linear-gradient(180deg, #ffffff 0%, #f4f8ff 100%);
  border: 1px solid rgba(25, 60, 110, 0.12);
  box-shadow: 0 14px 30px rgba(25, 60, 110, 0.08);
  color: var(--ink);
  text-decoration: none;
  text-align: center;
}

.nb-certificate-sticker:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(25, 60, 110, 0.12);
  color: var(--ink);
}

.nb-certificate-sticker img {
  max-width: 100%;
  max-height: 160px;
  object-fit: contain;
}

.nb-certificate-sticker span {
  font-weight: 700;
}

.nb-quizbowl-certificates {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(25, 118, 210, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(242, 247, 255, 0.98));
}

.nb-quizbowl-certificates::after {
  content: "";
  position: absolute;
  inset: auto -2rem -2rem auto;
  width: 9rem;
  height: 9rem;
  background: radial-gradient(circle, rgba(25, 118, 210, 0.12), transparent 65%);
  pointer-events: none;
}

.nb-quizbowl-certificates__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.nb-quizbowl-certificates__header h2 {
  margin-bottom: 0.35rem;
}

.nb-certificate-link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--ink);
  font-weight: 700;
  text-decoration: none;
}

.nb-certificate-link:hover {
  color: var(--blue);
}

.nb-certificate-link img {
  width: 180px;
  max-width: 100%;
  border-radius: 0.9rem;
  border: 1px solid rgba(25, 60, 110, 0.12);
  box-shadow: 0 12px 24px rgba(25, 60, 110, 0.08);
}

.nb-certificate-link--list {
  justify-content: space-between;
  width: 100%;
}

.nb-certificate-link__copy {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.nb-certificate-link__title {
  font-size: 1.12rem;
  font-weight: 800;
}

.nb-certificate-tier {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.38rem 0.9rem;
    border-radius: 999px;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.18), 0 10px 18px -14px rgba(15, 23, 42, 0.7);
}

.nb-certificate-tier--newzbrain {
    background: #0b72b8;
    color: #ffffff;
}

.nb-certificate-tier--freedom {
    background: #00819b;
    color: #ffffff;
}

.nb-certificate-tier--patriotism {
    background: #d04b28;
    color: #ffffff;
}

.nb-certificate-tier--president {
    background: #e0b437;
    color: #432d00;
}

.nb-certificate-tier--perfect {
    background: linear-gradient(135deg, #e0b437, #0b72b8);
    color: #ffffff;
}

.nb-certificate-legend {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.9rem;
}

.nb-certificate-legend__item {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.18), 0 10px 18px -14px rgba(15, 23, 42, 0.7);
    font-weight: 700;
}

.nb-certificate-legend__title,
.nb-certificate-legend__range {
    color: inherit;
}

.nb-certificate-legend__range {
    font-size: 0.96rem;
}

.nb-certificate-legend__item--newzbrain {
    background: #0b72b8;
    color: #ffffff;
}

.nb-certificate-legend__item--freedom {
    background: #00819b;
    color: #ffffff;
}

.nb-certificate-legend__item--patriotism {
    background: #d04b28;
    color: #ffffff;
}

.nb-certificate-legend__item--president {
    background: #e0b437;
    color: #432d00;
}

.nb-certificate-legend__item--perfect {
    background: linear-gradient(135deg, #e0b437, #0b72b8);
    color: #ffffff;
}

.nb-answer-stack {
  display: grid;
  gap: 0.6rem;
}

.nb-quizbowl-selected-answer {
  margin-bottom: 0.9rem;
  color: var(--muted);
  font-size: 0.96rem;
}

.nb-quizbowl-selected-answer strong {
  color: var(--ink);
}

.nb-answer-pill {
  display: block;
  padding: 0.7rem 0.9rem;
  border-radius: 0.85rem;
  background: #f5f8fc;
  border: 1px solid rgba(25, 60, 110, 0.08);
}

.nb-answer-pill--correct {
  background: #e7f7ea;
  border-color: rgba(24, 124, 55, 0.28);
  color: #17643a;
  font-weight: 700;
}

.nb-answer-pill--incorrect {
  background: #fdecea;
  border-color: rgba(183, 40, 40, 0.22);
  color: #9f1f1f;
  font-weight: 700;
}

.nb-award-chip {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  height: 100%;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(25, 60, 110, 0.08);
  font-weight: 700;
}

.nb-award-chip img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.nb-award-chip--newzbrain {
  background: #0b72b8;
  color: #ffffff;
}

.nb-award-chip--freedom {
  background: #00819b;
  color: #ffffff;
}

.nb-award-chip--patriotism {
  background: #d04b28;
  color: #ffffff;
}

.nb-award-chip--president {
    background: #e0b437;
    color: #432d00;
}

.nb-award-chip--perfect {
    background: linear-gradient(135deg, #e0b437, #0b72b8);
    color: #ffffff;
}

.nb-award-chip--earned {
  box-shadow: 0 16px 28px rgba(25, 60, 110, 0.12);
  border-color: rgba(25, 60, 110, 0.18);
}

.nb-quizbowl-card {
  overflow: hidden;
}

.nb-quizbowl-page {
  padding: 2rem 0 3rem;
}

.nb-quizbowl-page[data-quizbowl-shell],
.nb-quizbowl-card[data-quizbowl-surface] {
  transition: opacity 0.24s ease, transform 0.24s ease;
}

.nb-quizbowl-page.is-transitioning-out,
.nb-quizbowl-card.is-transitioning-out {
  opacity: 0;
  transform: translateY(-0.32rem);
}

.nb-quizbowl-page.is-transitioning-in,
.nb-quizbowl-card.is-transitioning-in {
  opacity: 0;
  transform: translateY(0.38rem);
}

.nb-quizbowl-page .nb-quizbowl-card {
  padding: 1.35rem;
}

.nb-quizbowl-hero-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.nb-quizbowl-lede {
  max-width: none;
}

.nb-quizbowl-reportcard__lede {
  max-width: none;
}

.nb-quizbowl-hero-image-wrap {
  flex: 0 0 min(360px, 32vw);
  max-width: 360px;
  align-self: flex-start;
  border-radius: 1.5rem;
  background: linear-gradient(180deg, rgba(245, 247, 252, 0.98), rgba(232, 238, 248, 0.96));
  border: 1px solid rgba(25, 60, 110, 0.08);
  padding: 1.15rem;
  box-shadow: 0 18px 32px rgba(25, 60, 110, 0.08);
}

.nb-quizbowl-hero-image {
  width: 100%;
  max-height: 260px;
  object-fit: contain;
  border-radius: 1rem;
}

.nb-quizbowl-rules {
  display: grid;
  gap: 0.85rem;
  padding-left: 1.2rem;
  margin: 0;
}

.nb-quizbowl-rules li {
  padding-left: 0.15rem;
}

.nb-quizbowl-awards-table {
  margin-bottom: 0;
}

.nb-teacher-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 9rem;
  padding: 0.85rem 1.1rem;
  border-radius: 0.95rem;
  background: linear-gradient(135deg, #123b72, #1b5cab);
  color: #fff;
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  box-shadow: 0 12px 24px rgba(18, 59, 114, 0.2);
}

.nb-teacher-dashboard__rankings-week {
  margin-bottom: 1rem;
  color: #415570;
  font-weight: 600;
}

.nb-teacher-dashboard__rankings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.nb-teacher-dashboard__ranking-card {
  display: grid;
  gap: 0.6rem;
  border-radius: 20px;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(16, 42, 76, 0.12);
  background: linear-gradient(180deg, #f7fbff 0%, #edf5ff 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.nb-teacher-dashboard__ranking-card--gold {
  background: linear-gradient(135deg, #fff4bf 0%, #ffe08a 100%);
  border-color: rgba(185, 134, 11, 0.35);
}

.nb-teacher-dashboard__ranking-card--silver {
  background: linear-gradient(135deg, #f3f6fa 0%, #dbe3ee 100%);
  border-color: rgba(126, 143, 166, 0.28);
}

.nb-teacher-dashboard__ranking-card--bronze {
  background: linear-gradient(135deg, #f6d7bf 0%, #e8b186 100%);
  border-color: rgba(165, 92, 42, 0.28);
}

.nb-teacher-dashboard__ranking-label {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #415570;
}

.nb-teacher-dashboard__ranking-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.nb-teacher-dashboard__ranking-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  font-size: 1rem;
  box-shadow: 0 10px 20px rgba(16, 42, 76, 0.12);
}

.nb-teacher-dashboard__ranking-icon--gold {
  background: linear-gradient(135deg, #fff7cf 0%, #ffc93f 100%);
  color: #9b6a00;
}

.nb-teacher-dashboard__ranking-icon--silver {
  background: linear-gradient(135deg, #ffffff 0%, #d4dce8 100%);
  color: #5d6d82;
}

.nb-teacher-dashboard__ranking-icon--bronze {
  background: linear-gradient(135deg, #ffe4d2 0%, #d98a52 100%);
  color: #7e3f1d;
}

.nb-teacher-dashboard__ranking-value {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.nb-teacher-dashboard__ranking-number {
  font-size: clamp(1.5rem, 2vw, 2rem);
  font-weight: 800;
  color: #102a4c;
  line-height: 1;
}

.nb-teacher-dashboard__ranking-count {
  font-size: 0.96rem;
  color: #526983;
  font-weight: 700;
}

.nb-teacher-dashboard__rankings-empty {
  padding: 1rem 1.1rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px dashed rgba(16, 42, 76, 0.18);
  color: #415570;
  font-weight: 600;
}

.nb-dashboard-rankings-host {
  position: relative;
}

.nb-dashboard-rankings-host__throbber {
  position: absolute;
  top: 1rem;
  right: 1rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
  z-index: 2;
}

.nb-dashboard-rankings-host.is-loading .nb-dashboard-rankings-host__throbber {
  opacity: 1;
}

.nb-dashboard-rankings-host__throbber-image {
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    object-fit: contain;
}

.nb-pending-certificates-host {
    min-height: 14rem;
}

.nb-pending-certificates-filter {
    position: relative;
}

.nb-pending-certificates-filter__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.nb-pending-certificates-filter__header h2 {
    margin-bottom: 0;
}

.nb-pending-certificates-filter__throbber {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
    flex: 0 0 auto;
}

[data-pending-certificates-host].is-loading .nb-pending-certificates-filter__throbber {
    opacity: 1;
}

@media (max-width: 991.98px) {
  .nb-teacher-dashboard__rankings {
    grid-template-columns: 1fr;
  }
}

.nb-quizbowl-topic-image {
  width: min(280px, 100%);
  max-height: 220px;
  object-fit: contain;
  border-radius: 1.25rem;
  background: linear-gradient(180deg, rgba(245, 247, 252, 0.98), rgba(232, 238, 248, 0.96));
  border: 1px solid rgba(25, 60, 110, 0.08);
  padding: 1rem;
  box-shadow: 0 18px 35px rgba(25, 60, 110, 0.08);
}

.nb-quizbowl-status-strip {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1.15rem;
  margin-bottom: 1rem;
  padding: 0.95rem 1.05rem;
  border-radius: 1.15rem;
  background:
    radial-gradient(circle at 10% 0%, rgba(var(--quiz-accent-rgb), 0.08), transparent 18rem),
    linear-gradient(135deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(25, 60, 110, 0.08);
}

.nb-quizbowl-status-main {
  display: grid;
  align-content: center;
  gap: 0.35rem;
  min-width: 0;
}

.nb-quizbowl-status-main .nb-eyebrow {
  margin: 0;
}

.nb-quizbowl-status-line {
  display: grid;
  gap: 0.28rem;
}

.nb-quizbowl-status-main h1 {
  margin: 0;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1;
}

.nb-quizbowl-status-line span {
  color: var(--muted);
  font-size: 0.95rem;
  font-weight: 800;
}

.nb-quizbowl-status-score {
  display: grid;
  align-content: center;
  gap: 0.35rem;
  min-width: 210px;
  padding: 0.65rem 0.75rem;
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(var(--quiz-accent-rgb), 0.14);
  box-shadow: 0 12px 24px rgba(25, 60, 110, 0.06);
}

.nb-quizbowl-status-score--strong,
.nb-quizbowl-status-score--almost,
.nb-quizbowl-status-score--perfect {
  box-shadow: 0 14px 30px rgba(234, 154, 24, 0.18), 0 0 0 1px rgba(234, 154, 24, 0.12);
}

.nb-quizbowl-status-score--almost,
.nb-quizbowl-status-score--perfect {
  animation: nb-quizbowl-score-pulse 1.5s ease-in-out infinite;
}

.nb-quizbowl-status-score > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.nb-quizbowl-status-score strong {
  color: var(--ink);
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
}

.nb-quizbowl-status-score p {
  margin: 0;
  color: #a35a05;
  font-size: 0.82rem;
  font-weight: 900;
}

.nb-quizbowl-streak {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3rem 0.55rem;
  padding-top: 0.15rem;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.nb-quizbowl-streak strong {
  color: var(--quiz-accent);
  font-size: 0.9rem;
  text-transform: none;
}

.nb-quizbowl-streak em {
  flex: 1 1 100%;
  color: #a35a05;
  font-style: normal;
  opacity: 0;
  transform: translateY(0.2rem);
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.nb-quizbowl-streak.is-active {
  animation: nb-quizbowl-streak-pop 0.38s ease;
}

.nb-quizbowl-streak.is-reset strong {
  color: #8f1d2c;
}

.nb-quizbowl-streak.has-message em {
  opacity: 1;
  transform: translateY(0);
}

@keyframes nb-quizbowl-streak-pop {
  50% {
    transform: scale(1.045);
  }
}

@keyframes nb-quizbowl-score-pulse {
  50% {
    transform: translateY(-1px);
  }
}

.nb-quizbowl-timer {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  background: rgba(var(--quiz-accent-rgb), 0.1);
  color: var(--quiz-accent);
  border: 1px solid rgba(var(--quiz-accent-rgb), 0.22);
  box-shadow: none;
  flex: 0 0 auto;
}

.nb-quizbowl-timer__label {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.84;
  white-space: nowrap;
}

.nb-quizbowl-timer__value {
  min-width: 2ch;
  font-size: 1.08rem;
  line-height: 1;
}

.nb-quizbowl-timer--warning {
  background: linear-gradient(135deg, #b45309, #d97706);
  color: #fff;
  border-color: transparent;
}

.nb-quizbowl-timer--expired {
  background: linear-gradient(135deg, #8f1d2c, #b42318);
  color: #fff;
  border-color: transparent;
  animation: nb-quizbowl-timer-pulse 0.75s ease-in-out infinite;
}

.nb-quizbowl-timer--urgent {
  background: linear-gradient(135deg, #8f1d2c, #b42318);
  color: #fff;
  border-color: transparent;
  animation: nb-quizbowl-timer-pulse 0.75s ease-in-out infinite;
}

@keyframes nb-quizbowl-timer-pulse {
  50% {
    transform: scale(1.035);
  }
}

.nb-quizbowl-running-score {
  display: grid;
  gap: 0.15rem;
  min-width: 160px;
  text-align: right;
  color: var(--muted);
  font-size: 0.95rem;
}

.nb-quizbowl-running-score strong {
  color: var(--ink);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  line-height: 1;
}

.nb-quizbowl-theme {
  --quiz-accent: #1b5cab;
  --quiz-accent-rgb: 27, 92, 171;
  --quiz-banner: linear-gradient(135deg, rgba(18, 59, 114, 0.92), rgba(27, 92, 171, 0.74));
}

.nb-quizbowl-theme--world {
  --quiz-accent: #1b6fd6;
  --quiz-accent-rgb: 27, 111, 214;
  --quiz-banner: radial-gradient(circle at 22% 35%, rgba(116, 185, 255, 0.38), transparent 18rem), linear-gradient(135deg, #123b72, #1b6fd6);
}

.nb-quizbowl-theme--national {
  --quiz-accent: #0f3d73;
  --quiz-accent-rgb: 15, 61, 115;
  --quiz-banner: linear-gradient(135deg, #10233f, #0f5fa8 58%, #b42318);
}

.nb-quizbowl-theme--science {
  --quiz-accent: #23875a;
  --quiz-accent-rgb: 35, 135, 90;
  --quiz-banner: radial-gradient(circle at 72% 28%, rgba(130, 221, 178, 0.38), transparent 16rem), linear-gradient(135deg, #123b35, #23875a);
}

.nb-quizbowl-theme--civics {
  --quiz-accent: #17304d;
  --quiz-accent-rgb: 23, 48, 77;
  --quiz-banner: linear-gradient(135deg, #10233f, #284d78);
}

.nb-quizbowl-theme--geography {
  --quiz-accent: #0f8f90;
  --quiz-accent-rgb: 15, 143, 144;
  --quiz-banner: radial-gradient(circle at 25% 28%, rgba(112, 224, 214, 0.34), transparent 16rem), linear-gradient(135deg, #123b55, #0f8f90);
}

.nb-quizbowl-theme--culture {
  --quiz-accent: #c45a14;
  --quiz-accent-rgb: 196, 90, 20;
  --quiz-banner: radial-gradient(circle at 78% 32%, rgba(255, 196, 112, 0.36), transparent 16rem), linear-gradient(135deg, #5b2d70, #c45a14);
}

.nb-quizbowl-theme--sports {
  --quiz-accent: #2f9a67;
  --quiz-accent-rgb: 47, 154, 103;
  --quiz-banner: linear-gradient(135deg, #143c2d, #2f9a67);
}

.nb-quizbowl-score-panel {
  display: grid;
  gap: 0.65rem;
  margin-bottom: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 1.1rem;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(25, 60, 110, 0.08);
}

.nb-quizbowl-score-panel > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  color: var(--muted);
  font-weight: 800;
}

.nb-quizbowl-score-panel strong {
  color: var(--ink);
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1;
}

.nb-quizbowl-score-track {
  height: 0.38rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(25, 60, 110, 0.08);
}

.nb-quizbowl-score-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8ea1b8 0%, #1b6fd6 32%, #0f8f90 62%, #e58f24 86%, #f6c945 100%);
  box-shadow: 0 0 14px rgba(var(--quiz-accent-rgb), 0.2);
  transition: width 0.55s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.nb-quizbowl-status-score--starting .nb-quizbowl-score-track span {
  background: linear-gradient(90deg, #9aa9bb, #6f87a4);
}

.nb-quizbowl-status-score--building .nb-quizbowl-score-track span {
  background: linear-gradient(90deg, #1b6fd6, #0f8f90);
}

.nb-quizbowl-status-score--climbing .nb-quizbowl-score-track span {
  background: linear-gradient(90deg, #0f8f90, #e58f24);
}

.nb-quizbowl-status-score--strong .nb-quizbowl-score-track span,
.nb-quizbowl-status-score--almost .nb-quizbowl-score-track span,
.nb-quizbowl-status-score--perfect .nb-quizbowl-score-track span {
  background: linear-gradient(90deg, #e58f24, #f6c945);
  box-shadow: 0 0 16px rgba(246, 201, 69, 0.52);
}

.nb-quizbowl-status-score.is-scoring {
  animation: nb-quizbowl-score-pop 0.52s ease;
}

.nb-quizbowl-score-track span.is-scoring {
  box-shadow: 0 0 0 5px rgba(246, 201, 69, 0.18), 0 0 18px rgba(246, 201, 69, 0.58);
}

@keyframes nb-quizbowl-score-pop {
  42% {
    transform: translateY(-2px) scale(1.018);
  }
}

.nb-quizbowl-question-block {
  padding: 1.1rem;
  border-radius: 1.3rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 253, 0.98));
  border: 1px solid rgba(25, 60, 110, 0.08);
  box-shadow: 0 18px 30px rgba(25, 60, 110, 0.06);
}

.nb-quizbowl-category-banner {
  position: relative;
  display: flex;
  align-items: flex-start;
  min-height: clamp(56px, 7vw, 72px);
  margin-bottom: 0.65rem;
  padding: 0.65rem 0.9rem;
  overflow: hidden;
  border-radius: 1.05rem;
  background: var(--quiz-banner);
  background-position: center;
  background-size: cover;
  color: #fff;
  isolation: isolate;
}

.nb-quizbowl-category-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: 0.28;
}

.nb-quizbowl-category-banner-label {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.42rem 0.65rem;
  border-radius: 999px;
  background: rgba(7, 18, 34, 0.64);
  backdrop-filter: blur(4px);
  font-size: 0.9rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.32);
}

.nb-quizbowl-category-banner .nb-quizbowl-category-icon {
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  text-shadow: none;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.nb-quizbowl-category-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin-bottom: 1rem;
  padding: 0.55rem 0.65rem;
  border-radius: 0.9rem;
  background: rgba(248, 251, 255, 0.9);
  border: 1px solid rgba(25, 60, 110, 0.07);
}

.nb-quizbowl-category-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-width: 0;
  color: var(--ink);
}

.nb-quizbowl-category-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0.7rem;
  background: rgba(var(--quiz-accent-rgb), 0.12);
  color: var(--quiz-accent);
}

.nb-quizbowl-category-name {
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  font-weight: 900;
}

.nb-quizbowl-point-value {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.48rem 0.85rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(var(--quiz-accent-rgb), 0.96), rgba(var(--quiz-accent-rgb), 0.78));
  border: 1px solid rgba(var(--quiz-accent-rgb), 0.25);
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 18px rgba(var(--quiz-accent-rgb), 0.14);
}

.nb-quizbowl-point-value::before {
  content: "";
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.7;
}

.nb-quizbowl-question-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.nb-quizbowl-question-header-main {
    flex: 1 1 auto;
    min-width: 0;
}

.nb-quizbowl-question-header-side {
    display: grid;
    justify-items: end;
    gap: 1rem;
    flex: 0 0 auto;
}

.nb-quizbowl-question-title {
    font-size: clamp(1.55rem, 2.35vw, 2.1rem);
    line-height: 1.32;
    margin: 0.15rem 0 1rem;
    flex: 1 1 auto;
}

.nb-quizbowl-answer-grid {
  display: grid;
  gap: 0.55rem;
}

.nb-quizbowl-answer-option {
  position: relative;
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.72rem 0.9rem;
  border-radius: 0.85rem;
  background: #f5f8fc;
  border: 1px solid rgba(25, 60, 110, 0.08);
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.nb-quizbowl-answer-option:hover {
  transform: translateY(-1px);
  border-color: rgba(var(--quiz-accent-rgb), 0.28);
  box-shadow: 0 10px 18px rgba(var(--quiz-accent-rgb), 0.1);
  background: rgba(var(--quiz-accent-rgb), 0.045);
}

.nb-quizbowl-answer-option input {
  margin-top: 0.25rem;
  accent-color: var(--quiz-accent);
}

.nb-quizbowl-answer-option:has(input:checked) {
  border-color: rgba(var(--quiz-accent-rgb), 0.5);
  background: rgba(var(--quiz-accent-rgb), 0.1);
  box-shadow: 0 12px 22px rgba(var(--quiz-accent-rgb), 0.12);
}

.nb-quizbowl-answer-option.is-answer-locked:has(input:checked) {
  border-color: rgba(var(--quiz-accent-rgb), 0.68);
  background:
    linear-gradient(90deg, rgba(var(--quiz-accent-rgb), 0.12), rgba(255, 255, 255, 0.82)),
    rgba(var(--quiz-accent-rgb), 0.08);
}

.nb-quizbowl-answer-option.is-answer-locked:has(input:checked)::before {
  content: "Locked";
  position: absolute;
  top: 0.45rem;
  right: 0.7rem;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: rgba(var(--quiz-accent-rgb), 0.12);
  color: var(--quiz-accent);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nb-quizbowl-answer-option.is-answer-locked.is-correct:has(input:checked)::before,
.nb-quizbowl-answer-option.is-answer-locked.is-incorrect:has(input:checked)::before {
  content: none;
}

.nb-quizbowl-answer-option.is-correct {
  border-color: rgba(22, 163, 74, 0.55);
  background: rgba(22, 163, 74, 0.12);
  box-shadow: 0 12px 22px rgba(22, 163, 74, 0.12);
  animation: nb-quizbowl-answer-confirm 0.34s ease;
}

.nb-quizbowl-answer-option.is-correct::after {
  content: "\2713";
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  margin-left: auto;
  border-radius: 999px;
  background: #16a34a;
  color: #fff;
  font-weight: 900;
}

.nb-quizbowl-answer-option.is-incorrect {
  border-color: rgba(220, 38, 38, 0.55);
  background: rgba(220, 38, 38, 0.1);
  box-shadow: 0 12px 22px rgba(220, 38, 38, 0.1);
}

.nb-quizbowl-answer-option.is-locked {
  pointer-events: none;
}

.nb-quizbowl-form.has-feedback .nb-quizbowl-actions {
  opacity: 0.72;
}

.nb-quizbowl-actions .nb-button.is-locked {
  cursor: default;
  opacity: 0.82;
}

@keyframes nb-quizbowl-answer-confirm {
  45% {
    transform: translateY(-1px) scale(1.006);
  }
}

.nb-quizbowl-feedback {
  min-height: 0;
  margin-top: 0;
  opacity: 0;
  transform: translateY(-0.25rem);
  transition: opacity 0.22s ease, transform 0.22s ease, margin-top 0.22s ease;
}

.nb-quizbowl-feedback.is-visible {
  margin-top: 0.75rem;
  opacity: 1;
  transform: translateY(0);
}

.nb-quizbowl-feedback__panel {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.9rem;
  font-weight: 900;
  animation: nb-quizbowl-feedback-pop 0.28s ease;
}

.nb-quizbowl-feedback__panel i {
  display: inline-grid;
  place-items: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 999px;
  color: #fff;
  font-size: 0.8rem;
}

.nb-quizbowl-feedback__panel--correct {
  background: rgba(22, 163, 74, 0.12);
  color: #126c35;
  border: 1px solid rgba(22, 163, 74, 0.24);
}

.nb-quizbowl-feedback__panel--correct i {
  background: #16a34a;
}

.nb-quizbowl-feedback__panel--incorrect {
  background: rgba(220, 38, 38, 0.1);
  color: #991b1b;
  border: 1px solid rgba(220, 38, 38, 0.22);
}

.nb-quizbowl-feedback__panel--incorrect i,
.nb-quizbowl-feedback__panel--timeout i {
  background: #b42318;
}

.nb-quizbowl-feedback__panel--timeout {
  background: rgba(180, 83, 9, 0.12);
  color: #8a4b08;
  border: 1px solid rgba(180, 83, 9, 0.24);
}

@keyframes nb-quizbowl-feedback-pop {
  from {
    opacity: 0;
    transform: translateY(-0.28rem);
  }
}

.nb-quizbowl-actions {
  margin-top: 0.85rem;
}

@media (prefers-reduced-motion: reduce) {
  .nb-quizbowl-page[data-quizbowl-shell],
  .nb-quizbowl-card[data-quizbowl-surface],
  .nb-quizbowl-feedback,
  .nb-quizbowl-streak em,
  .nb-quizbowl-answer-option,
  .nb-quizbowl-score-track span {
    transition: none;
  }

  .nb-quizbowl-page.is-transitioning-out,
  .nb-quizbowl-page.is-transitioning-in,
  .nb-quizbowl-card.is-transitioning-out,
  .nb-quizbowl-card.is-transitioning-in {
    opacity: 1;
    transform: none;
  }

  .nb-quizbowl-status-score--almost,
  .nb-quizbowl-status-score--perfect,
  .nb-quizbowl-status-score.is-scoring,
  .nb-quizbowl-streak.is-active,
  .nb-quizbowl-answer-option.is-correct,
  .nb-quizbowl-feedback__panel,
  .nb-quizbowl-timer--expired,
  .nb-quizbowl-timer--urgent {
    animation: none;
  }
}

@media (max-width: 767.98px) {
  .nb-quizbowl-status-strip {
      align-items: stretch;
      flex-direction: column;
    }

    .nb-quizbowl-status-score {
        min-width: 0;
    }

  .nb-quizbowl-category-row {
      align-items: stretch;
      flex-direction: column;
    }

  .nb-quizbowl-question-header {
      flex-direction: column;
      align-items: stretch;
    }

    .nb-quizbowl-question-header-side {
        flex: none;
        justify-items: start;
    }

    .nb-quizbowl-timer {
      align-self: flex-start;
    }

    .nb-quizbowl-hero-image-wrap {
      flex: none;
      width: 100%;
      max-width: 100%;
    }
  }

.nb-quizbowl-score {
  font-size: clamp(2.5rem, 6vw, 4rem);
  line-height: 1;
  font-weight: 800;
  color: var(--blue);
  display: flex;
  align-items: flex-end;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.nb-quizbowl-score__value {
  font-size: clamp(2.05rem, 4.5vw, 3.1rem);
  line-height: 1;
  font-weight: 900;
}

.nb-quizbowl-score__total {
  font-size: clamp(0.95rem, 1.9vw, 1.35rem);
  font-weight: 600;
  color: rgba(20, 57, 107, 0.58);
  line-height: 1.2;
}

.nb-register-callout--award {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(255, 214, 102, 0.45), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 255, 0.98));
  border: 1px solid rgba(234, 178, 64, 0.28);
  box-shadow: 0 18px 34px rgba(20, 57, 107, 0.12);
}

.nb-register-callout--award::after {
    content: "";
    position: absolute;
    inset: auto -2rem -2rem auto;
  width: 10rem;
  height: 10rem;
    background: radial-gradient(circle, rgba(255, 214, 102, 0.28), transparent 65%);
    pointer-events: none;
}

.nb-register-callout--school-code {
  background:
    radial-gradient(circle at top right, rgba(247, 183, 49, 0.18), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.99), rgba(240, 247, 255, 0.98));
  border: 1px solid rgba(10, 77, 140, 0.16);
  box-shadow: 0 18px 34px rgba(20, 57, 107, 0.1);
}

.nb-register-callout--school-code__label {
  color: #0c2654;
  font-size: 1.05rem;
  font-weight: 800;
}

.nb-register-callout--school-code__input {
  max-width: 24rem;
  border-width: 2px;
  border-color: rgba(10, 77, 140, 0.22);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: #ffffff;
}

.nb-register-callout--school-code__input:focus {
  border-color: rgba(217, 79, 4, 0.42);
}

.nb-quizbowl-award {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.nb-quizbowl-award img {
  width: 132px;
  max-width: 30%;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(20, 57, 107, 0.18));
}

.nb-quizbowl-award__eyebrow {
  display: inline-flex;
  margin-bottom: 0.45rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #f7b731, #ffd86f);
  color: #5f3c00;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nb-monthlychallenge-form {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(20, 39, 72, 0.08);
  border-radius: 24px;
  padding: 1.5rem;
}

.nb-monthlychallenge-result {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.nb-monthlychallenge-result img {
  width: 140px;
  max-width: 100%;
  border-radius: 18px;
  box-shadow: 0 18px 36px rgba(18, 35, 66, 0.16);
  background: #fff;
  padding: 0.5rem;
}

.nb-monthlychallenge-team-card {
  display: flex;
  flex-direction: column;
}

.nb-monthlychallenge-team-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.nb-teacher-gradebook-page {
  padding: 1.5rem 0 3.5rem;
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 187, 74, 0.12), transparent 24%),
    radial-gradient(circle at 88% 22%, rgba(118, 143, 255, 0.12), transparent 27%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 36%);
}

.nb-teacher-gradebook-page__stack {
  display: grid;
  gap: 1.3rem;
}

.nb-teacher-gradebook-page__hero-card,
.nb-teacher-gradebook-page__filters-card,
.nb-teacher-gradebook-page__awards-card,
.nb-teacher-gradebook-page__results-card {
  border: 1px solid rgba(17, 46, 96, 0.08);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 42px rgba(17, 31, 61, 0.08);
}

.nb-teacher-gradebook-page__hero-card,
.nb-teacher-gradebook-page__filters-card,
.nb-teacher-gradebook-page__awards-card {
  border-radius: 2rem;
}

.nb-teacher-gradebook-page__results-card {
  overflow: hidden;
  border-radius: 1.75rem;
}

.nb-teacher-gradebook-page__hero-card {
  padding: 1.9rem 1.95rem 1.75rem;
}

.nb-teacher-gradebook-page__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 1.5rem;
  align-items: center;
}

.nb-teacher-gradebook-page__hero-copy {
  display: grid;
  gap: 1.3rem;
}

.nb-teacher-gradebook-page__title-lockup {
  display: block;
}

.nb-teacher-gradebook-page__title-lockup h1 {
  margin: 0.15rem 0 0;
  color: #082252;
  font-size: clamp(2.6rem, 4vw, 4.4rem);
  line-height: 0.98;
}

.nb-teacher-gradebook-page__hero-lede {
  max-width: 42rem;
  margin-bottom: 0;
  color: #41557a;
  font-size: 1.18rem;
  line-height: 1.65;
}

.nb-teacher-gradebook-page__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem 1.5rem;
  align-items: stretch;
}

.nb-teacher-gradebook-page__stat-card {
  display: flex;
  align-items: center;
  min-width: 10.5rem;
}

.nb-teacher-gradebook-page__stat-card strong,
.nb-teacher-gradebook-page__stat-label {
  display: block;
}

.nb-teacher-gradebook-page__stat-card strong {
  color: #10233f;
  font-size: 1.6rem;
  line-height: 1;
}

.nb-teacher-gradebook-page__stat-body {
  min-width: 0;
}

.nb-teacher-gradebook-page__stat-topline {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.nb-teacher-gradebook-page__stat-label {
  margin-top: 0.18rem;
  color: #5b6c89;
  font-size: 0.94rem;
  font-weight: 600;
  white-space: nowrap;
}

.nb-teacher-gradebook-page__stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  line-height: 1;
  flex: 0 0 1.65rem;
}

.nb-teacher-gradebook-page__stat-icon i {
  display: block;
  line-height: 1;
  font-size: 1.42rem;
  transform: translateY(-0.02em);
  color: #3259db;
}

.nb-teacher-gradebook-page__stat-icon--blue i {
  color: #3259db;
  filter: drop-shadow(0 3px 8px rgba(50, 89, 219, 0.2));
}

.nb-teacher-gradebook-page__stat-icon--green i {
  color: #1e9a5b;
  filter: drop-shadow(0 3px 8px rgba(30, 154, 91, 0.2));
}

.nb-teacher-gradebook-page__stat-icon--gold i {
  color: #d3940f;
  filter: drop-shadow(0 3px 8px rgba(211, 148, 15, 0.18));
}

.nb-teacher-gradebook-page__stat-icon--violet i {
  color: #7a4ed4;
  filter: drop-shadow(0 3px 8px rgba(122, 78, 212, 0.2));
}

.nb-teacher-gradebook-page__hero-art {
  display: flex;
  justify-content: flex-end;
}

.nb-teacher-gradebook-page__hero-art img {
  width: min(100%, 31rem);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 20px 34px rgba(47, 76, 129, 0.12));
}

.nb-teacher-gradebook-page__filters-card {
  padding: 1.45rem 1.55rem 1.55rem;
}

.nb-teacher-gradebook-page__filters-form {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.45fr) minmax(0, 0.92fr) minmax(280px, 1.35fr) minmax(220px, 0.9fr);
  gap: 1rem;
  align-items: end;
}

.nb-teacher-gradebook-page__field {
  display: grid;
  gap: 0.45rem;
}

.nb-teacher-gradebook-page__field .form-label,
.nb-gradebook-dependent-filter .form-label {
  margin-bottom: 0;
  color: #21395f;
  font-size: 0.94rem;
  font-weight: 800;
}

.nb-teacher-gradebook-page__control-wrap {
  position: relative;
}

.nb-teacher-gradebook-page__control-icon {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  color: #607393;
  font-size: 1rem;
  pointer-events: none;
}

.nb-teacher-gradebook-page__input,
.nb-teacher-gradebook-page__select {
  min-height: 3.65rem;
  border-radius: 1rem;
  border-color: rgba(10, 77, 140, 0.16);
  color: #10233f;
  box-shadow: none;
}

.nb-teacher-gradebook-page__input {
  padding-left: 2.9rem;
}

.nb-teacher-gradebook-page__control-wrap .nb-teacher-gradebook-page__select {
  padding-left: 2.7rem;
}

.nb-teacher-gradebook-page__input:focus,
.nb-teacher-gradebook-page__select:focus {
  border-color: rgba(55, 100, 207, 0.42);
  box-shadow: 0 0 0 0.22rem rgba(55, 100, 207, 0.12);
}

.nb-gradebook-filter-toggle {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  min-height: 3.65rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(10, 77, 140, 0.16);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(238, 244, 255, 0.94));
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.nb-gradebook-filter-toggle__input {
  flex: 0 0 auto;
  width: 1.2rem;
  height: 1.2rem;
  margin-top: 0.2rem;
  accent-color: #355ed8;
  cursor: pointer;
}

.nb-gradebook-filter-toggle__label {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0;
  cursor: pointer;
}

.nb-gradebook-filter-toggle__title {
  color: #0c2654;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}

.nb-gradebook-filter-toggle__copy {
  color: #526786;
  font-size: 0.92rem;
  line-height: 1.4;
}

.nb-gradebook-filter-toggle:focus-within {
  border-color: rgba(57, 98, 206, 0.34);
  box-shadow: 0 0 0 0.2rem rgba(57, 98, 206, 0.1), 0 10px 24px rgba(15, 23, 42, 0.06);
}

.nb-gradebook-dependent-filter {
  display: grid;
  align-content: center;
  gap: 0.45rem;
  min-height: 3.65rem;
  padding: 0.75rem 1rem;
  border-radius: 1rem;
  background: rgba(10, 77, 140, 0.04);
  border: 1px solid rgba(10, 77, 140, 0.08);
  opacity: 0.72;
  transition: opacity 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.nb-gradebook-dependent-filter.is-enabled {
  opacity: 1;
  background: #f5f8fc;
  border-color: rgba(10, 77, 140, 0.14);
}

.nb-teacher-gradebook-page__actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 0.2rem;
}

.nb-teacher-gradebook-page__awards-card {
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.nb-teacher-gradebook-page__awards-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.9rem;
}

.nb-teacher-gradebook-page .nb-award-chip {
  gap: 0.9rem;
  min-height: 5rem;
  padding: 0.85rem 1rem;
  border-radius: 1.15rem;
  box-shadow: 0 12px 28px rgba(17, 31, 61, 0.08);
}

.nb-teacher-gradebook-page .nb-award-chip span {
  display: grid;
  gap: 0.1rem;
}

.nb-teacher-gradebook-page .nb-award-chip strong {
  font-size: 1.06rem;
  line-height: 1.15;
}

.nb-teacher-gradebook-page .nb-award-chip small {
  font-size: 0.98rem;
  font-weight: 700;
}

.nb-teacher-gradebook-page .nb-award-chip--newzbrain {
  background: linear-gradient(135deg, #1aaf58, #198a49);
  color: #ffffff;
}

.nb-teacher-gradebook-page .nb-award-chip--freedom {
  background: linear-gradient(135deg, #1298be, #0a7b9b);
  color: #ffffff;
}

.nb-teacher-gradebook-page .nb-award-chip--patriotism {
  background: linear-gradient(135deg, #f1682a, #d94820);
  color: #ffffff;
}

.nb-teacher-gradebook-page .nb-award-chip--president {
  background: linear-gradient(135deg, #f6c835, #e3b322);
  color: #432d00;
}

.nb-teacher-gradebook-page .nb-award-chip--perfect {
  background: linear-gradient(135deg, #fdf6de, #dfeaf3);
  color: #46556f;
}

.nb-teacher-gradebook-page__results-card {
  padding: 1rem 0 0;
}

.nb-gradebook-summary {
  padding: 0 1.2rem;
  color: #475569;
  font-size: 1rem;
}

.nb-gradebook-table-wrap {
  position: relative;
  overflow-x: auto;
}

[data-gradebook-results].is-loading {
  opacity: 0.55;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

[data-manage-students-results].is-loading {
  opacity: 0.55;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.nb-gradebook-floating-scrollbar {
  position: fixed;
  bottom: 1rem;
  z-index: 5;
  display: none;
  overflow-x: auto;
  overflow-y: hidden;
  height: 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(148, 163, 184, 0.28);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(8px);
}

.nb-gradebook-floating-scrollbar.is-visible {
  display: block;
}

.nb-gradebook-floating-scrollbar__track {
  height: 1px;
}

.nb-gradebook-sort-link,
.nb-manage-students-sort-link {
  color: inherit;
  text-decoration: none;
  font-weight: 800;
}

.nb-gradebook-sort-link:hover,
.nb-gradebook-sort-link:focus,
.nb-manage-students-sort-link:hover,
.nb-manage-students-sort-link:focus {
  text-decoration: underline;
}

.nb-gradebook-table {
  margin-bottom: 0;
  border-color: rgba(214, 224, 236, 0.92);
}

.nb-gradebook-table thead th {
  padding: 0.72rem 0.45rem;
  border-bottom-width: 1px;
  color: #1c3358;
  font-size: 0.92rem;
  font-weight: 800;
  text-align: center;
  background: #ffffff;
  min-width: 3.45rem;
}

.nb-gradebook-table thead th:first-child {
  text-align: left;
}

.nb-gradebook-table th,
.nb-gradebook-table td {
  white-space: nowrap;
  vertical-align: middle;
}

.nb-gradebook-table td {
  padding: 0.44rem 0.34rem;
  text-align: center;
  background: #ffffff;
}

.nb-gradebook-table th:first-child,
.nb-gradebook-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: #ffffff;
}

.nb-gradebook-table th:first-child {
  z-index: 3;
  min-width: 15rem;
  box-shadow: 12px 0 22px -16px rgba(15, 23, 42, 0.38);
}

.nb-gradebook-table td:first-child {
  z-index: 2;
  min-width: 15rem;
  text-align: left;
  box-shadow: 12px 0 22px -16px rgba(15, 23, 42, 0.2);
}

.nb-gradebook-table__empty {
  padding: 1.4rem 1.2rem;
  text-align: center;
  color: #64748b;
  font-weight: 600;
}

.nb-gradebook-student {
  display: flex;
  align-items: center;
  gap: 0.68rem;
}

.nb-gradebook-student__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.98rem;
  height: 1.98rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.nb-gradebook-student__avatar--blue {
  background: rgba(68, 118, 255, 0.14);
  color: #355fd8;
}

.nb-gradebook-student__avatar--teal {
  background: rgba(19, 164, 179, 0.14);
  color: #0b8794;
}

.nb-gradebook-student__avatar--violet {
  background: rgba(122, 78, 212, 0.14);
  color: #6e42d1;
}

.nb-gradebook-student__avatar--orange {
  background: rgba(241, 104, 42, 0.14);
  color: #da5a20;
}

.nb-gradebook-student__avatar--gold {
  background: rgba(232, 181, 36, 0.18);
  color: #a87800;
}

.nb-gradebook-student__copy {
  display: grid;
  gap: 0.06rem;
}

.nb-gradebook-student__link {
  color: #2055cd;
  font-size: 0.93rem;
  font-weight: 800;
  text-decoration: none;
  line-height: 1.15;
}

.nb-gradebook-student__link:hover,
.nb-gradebook-student__link:focus {
  text-decoration: underline;
}

.nb-gradebook-student__meta {
  color: #7a889d;
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.1;
}

.nb-gradebook-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.72rem;
  padding: 0.32rem 0.42rem;
  border-radius: 0.68rem;
  background: #6f8194;
  color: #ffffff;
  font-size: 0.87rem;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.18), 0 10px 18px -14px rgba(15, 23, 42, 0.7);
}

.nb-gradebook-score:hover {
  color: #ffffff;
  transform: translateY(-1px);
}

.nb-gradebook-score--newzbrain {
  background: #1d9e55;
  color: #ffffff;
}

.nb-gradebook-score--freedom {
  background: #00819b;
  color: #ffffff;
}

.nb-gradebook-score--patriotism {
  background: #df5a26;
  color: #ffffff;
}

.nb-gradebook-score--president {
  background: #e0b437;
  color: #432d00;
}

.nb-gradebook-score--perfect {
  background: linear-gradient(135deg, #e0b437, #0b72b8);
  color: #ffffff;
}

.nb-gradebook-score--na {
  background: #eef2f6;
  color: #8a97aa;
  font-weight: 500;
  box-shadow: none;
}

.nb-gradebook-floating-header {
  position: fixed;
  top: 4.35rem;
  z-index: 1030;
  display: none;
  overflow: hidden;
}

.nb-gradebook-floating-header.is-visible {
  display: block;
}

.nb-gradebook-floating-header__viewport {
  overflow: hidden;
}

.nb-gradebook-floating-header__viewport table {
  margin-bottom: 0;
  background: #ffffff;
}

.nb-gradebook-floating-header__viewport th,
.nb-gradebook-floating-header__viewport td {
  white-space: nowrap;
  vertical-align: middle;
}

.nb-gradebook-floating-header__viewport th {
  background: #ffffff;
  box-shadow: inset 0 -1px 0 rgba(148, 163, 184, 0.28);
}

.nb-gradebook-floating-header__viewport th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #ffffff;
  box-shadow: 12px 0 22px -16px rgba(15, 23, 42, 0.35);
}

.nb-manage-classrooms-page {
  padding: 1.5rem 0 3.5rem;
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 196, 86, 0.1), transparent 24%),
    radial-gradient(circle at 88% 18%, rgba(116, 146, 255, 0.1), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 38%);
}

.nb-manage-classrooms-page__stack {
  display: grid;
  gap: 1.15rem;
}

.nb-manage-classrooms-page__hero-card,
.nb-manage-classrooms-page__list-card {
  border: 1px solid rgba(17, 46, 96, 0.08);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 18px 42px rgba(17, 31, 61, 0.08);
}

.nb-manage-classrooms-page__hero-card {
  padding: 1.7rem 1.85rem;
  border-radius: 2rem;
}

.nb-manage-classrooms-page__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.95fr);
  gap: 1.35rem;
  align-items: center;
}

.nb-manage-classrooms-page__hero-copy h1 {
  margin-bottom: 0.5rem;
  color: #082252;
  font-size: clamp(2.5rem, 4vw, 4.2rem);
  line-height: 0.98;
}

.nb-manage-classrooms-page__hero-lede {
  max-width: 45rem;
  margin-bottom: 0;
  color: #41557a;
  font-size: 1.16rem;
  line-height: 1.6;
}

.nb-manage-classrooms-page__summary-card {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(26, 62, 114, 0.1);
  border-radius: 1.3rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  overflow: hidden;
}

.nb-manage-classrooms-page__summary-item {
  display: flex;
  align-items: center;
  padding: 1.15rem 1.2rem;
}

.nb-manage-classrooms-page__summary-item + .nb-manage-classrooms-page__summary-item {
  border-left: 1px solid rgba(26, 62, 114, 0.08);
}

.nb-manage-classrooms-page__summary-item strong,
.nb-manage-classrooms-page__summary-label {
  display: block;
}

.nb-manage-classrooms-page__summary-item strong {
  color: #10233f;
  font-size: 2rem;
  line-height: 1;
}

.nb-manage-classrooms-page__summary-body {
  min-width: 0;
}

.nb-manage-classrooms-page__summary-topline {
  display: flex;
  align-items: center;
  gap: 0.7rem;
}

.nb-manage-classrooms-page__summary-label {
  margin-top: 0.15rem;
  color: #4f6280;
  font-size: 0.92rem;
  font-weight: 600;
  white-space: nowrap;
}

.nb-manage-classrooms-page__summary-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  flex: 0 0 1.7rem;
  line-height: 1;
}

.nb-manage-classrooms-page__summary-icon i {
  font-size: 1.5rem;
  line-height: 1;
  color: #2f62e3;
}

.nb-manage-classrooms-page__summary-icon--blue i {
  color: #2f62e3;
  filter: drop-shadow(0 3px 8px rgba(47, 98, 227, 0.2));
}

.nb-manage-classrooms-page__summary-icon--green i {
  color: #2ea54f;
  filter: drop-shadow(0 3px 8px rgba(46, 165, 79, 0.2));
}

.nb-manage-classrooms-page__summary-icon--violet i {
  color: #6d46d7;
  filter: drop-shadow(0 3px 8px rgba(109, 70, 215, 0.2));
}

.nb-manage-classrooms-page__summary-icon--orange i {
  color: #f07d15;
  filter: drop-shadow(0 3px 8px rgba(240, 125, 21, 0.18));
}

.nb-manage-classrooms-page__notice {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.95rem 1.1rem;
  border-radius: 1rem;
  border: 1px solid rgba(95, 139, 226, 0.18);
  background: rgba(238, 246, 255, 0.92);
  color: #2a59b9;
  font-size: 1rem;
}

.nb-manage-classrooms-page__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.nb-manage-classrooms-page__list-card {
  padding: 0.95rem 0 0;
  border-radius: 1.8rem;
  overflow: hidden;
}

.nb-manage-classrooms-page__list-head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.9fr) minmax(260px, 1fr) minmax(230px, 0.92fr);
  gap: 1rem;
  padding: 0 1.55rem 0.9rem;
  color: #334e7d;
  font-size: 0.94rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.nb-manage-classrooms-page__rows {
  display: grid;
}

.nb-manage-classrooms-page__row {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.9fr) minmax(260px, 1fr) minmax(230px, 0.92fr);
  gap: 1rem;
  align-items: center;
  padding: 1.15rem 1.55rem;
  border-top: 1px solid rgba(219, 227, 239, 0.9);
}

.nb-manage-classrooms-page__classroom {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nb-manage-classrooms-page__classroom-badge {
  display: inline-grid;
  place-items: center;
  width: 3.55rem;
  height: 3.55rem;
  flex: 0 0 3.55rem;
  border-radius: 999px;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.nb-manage-classrooms-page__classroom-badge--blue { background: rgba(95, 153, 255, 0.24); color: #204caa; }
.nb-manage-classrooms-page__classroom-badge--green { background: rgba(132, 224, 141, 0.24); color: #1f7a34; }
.nb-manage-classrooms-page__classroom-badge--violet { background: rgba(184, 156, 255, 0.26); color: #5d37be; }
.nb-manage-classrooms-page__classroom-badge--gold { background: rgba(250, 220, 118, 0.3); color: #8f6800; }
.nb-manage-classrooms-page__classroom-badge--teal { background: rgba(167, 231, 240, 0.36); color: #15697f; }
.nb-manage-classrooms-page__classroom-badge--coral { background: rgba(255, 196, 196, 0.34); color: #be4335; }

.nb-manage-classrooms-page__classroom-copy {
  display: grid;
  gap: 0.3rem;
}

.nb-manage-classrooms-page__classroom-title-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.nb-manage-classrooms-page__classroom-link {
  color: #112a5a;
  font-size: 1.45rem;
  font-weight: 800;
  text-decoration: none;
}

.nb-manage-classrooms-page__classroom-link:hover,
.nb-manage-classrooms-page__classroom-link:focus {
  text-decoration: underline;
}

.nb-manage-classrooms-page__edit-link {
  color: #2055cd;
  text-decoration: none;
}

.nb-manage-classrooms-page__classroom-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
  color: #556882;
  font-size: 1rem;
}

.nb-manage-classrooms-page__classroom-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  background: #eef2f8;
  color: #4b5d79;
  font-size: 0.9rem;
  font-weight: 700;
}

.nb-manage-classrooms-page__students,
.nb-manage-classrooms-page__activity,
.nb-manage-classrooms-page__actions {
  display: grid;
  gap: 0.55rem;
}

.nb-manage-classrooms-page__students-count,
.nb-manage-classrooms-page__activity-item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  color: #455b7a;
  font-size: 0.98rem;
}

.nb-manage-classrooms-page__students-count strong,
.nb-manage-classrooms-page__activity-item strong {
  color: #10233f;
}

.nb-manage-classrooms-page__students-count i,
.nb-manage-classrooms-page__activity-item i {
  width: 1rem;
  text-align: center;
}

.nb-manage-classrooms-page__activity-item:nth-child(1) i { color: #2055cd; }
.nb-manage-classrooms-page__activity-item:nth-child(2) i { color: #2ea54f; }
.nb-manage-classrooms-page__activity-item:nth-child(3) i { color: #ff8a12; }

.nb-manage-classrooms-page__students-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.nb-manage-classrooms-page__student-pill {
  display: inline-grid;
  place-items: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.45rem;
  border-radius: 999px;
  font-size: 0.83rem;
  font-weight: 800;
}

.nb-manage-classrooms-page__student-pill--violet { background: rgba(215, 193, 247, 0.52); color: #55408f; }
.nb-manage-classrooms-page__student-pill--blue { background: rgba(190, 213, 255, 0.55); color: #3154aa; }
.nb-manage-classrooms-page__student-pill--peach { background: rgba(255, 224, 211, 0.7); color: #9a5a42; }
.nb-manage-classrooms-page__student-pill--mint { background: rgba(220, 239, 228, 0.74); color: #3b6d5a; }
.nb-manage-classrooms-page__student-pill--sand { background: rgba(247, 236, 203, 0.75); color: #7e6742; }
.nb-manage-classrooms-page__student-pill--more {
  border: 1px solid rgba(182, 195, 215, 0.8);
  background: #ffffff;
  color: #51637d;
}

.nb-manage-classrooms-page__actions {
  justify-items: start;
}

.nb-manage-classrooms-page__action-button {
  min-width: 9.5rem;
  justify-content: center;
}

.nb-manage-classrooms-page__more {
  position: relative;
}

.nb-manage-classrooms-page__more[open] {
  z-index: 3;
}

.nb-manage-classrooms-page__more-toggle {
  display: inline-grid;
  place-items: center;
  width: 2.55rem;
  height: 2.55rem;
  border: 1px solid rgba(190, 200, 215, 0.9);
  border-radius: 0.9rem;
  background: #ffffff;
  color: #4e6180;
  cursor: pointer;
  list-style: none;
  box-shadow: 0 8px 18px rgba(20, 34, 61, 0.06);
}

.nb-manage-classrooms-page__more-toggle::-webkit-details-marker {
  display: none;
}

.nb-manage-classrooms-page__more-menu {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  min-width: 12.5rem;
  padding: 0.65rem;
  border-radius: 1rem;
  border: 1px solid rgba(215, 223, 236, 0.9);
  background: #ffffff;
  box-shadow: 0 18px 32px rgba(17, 31, 61, 0.14);
}

.nb-manage-classrooms-page__delete-button {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.85rem 0.95rem;
  border: none;
  border-radius: 0.9rem;
  background: rgba(255, 243, 243, 0.95);
  color: #db3a2b;
  font-size: 0.98rem;
  font-weight: 700;
  text-align: left;
}

.nb-manage-classrooms-page__delete-button:hover,
.nb-manage-classrooms-page__delete-button:focus {
  background: rgba(255, 234, 234, 0.98);
}

.nb-manage-classrooms-page__tip {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 1rem 1.55rem 1.1rem;
  color: #5a6d88;
  font-size: 0.98rem;
}

.nb-manage-classrooms-page__empty {
  padding: 3rem 1.6rem 2.6rem;
  text-align: center;
}

.nb-manage-classrooms-page__empty h2 {
  color: #10233f;
  font-size: 1.55rem;
  font-weight: 800;
}

.nb-manage-classrooms-page__empty p {
  max-width: 34rem;
  margin: 0.8rem auto 0;
  color: #556882;
  font-size: 1.02rem;
}

.nb-manage-classrooms-page__modal-content {
  border: 1px solid rgba(148, 175, 214, 0.22);
  border-radius: 1.45rem;
  box-shadow: 0 28px 70px rgba(17, 42, 84, 0.18);
}

.nb-manage-classrooms-page__modal-header,
.nb-manage-classrooms-page__modal-footer {
  border: none;
  padding-left: 1.6rem;
  padding-right: 1.6rem;
}

.nb-manage-classrooms-page__modal-header {
  padding-top: 1.5rem;
  padding-bottom: 0.85rem;
}

.nb-manage-classrooms-page__modal-body {
  padding: 0.35rem 1.6rem 1.15rem;
}

.nb-manage-classrooms-page__modal-footer {
  padding-top: 0.85rem;
  padding-bottom: 1.5rem;
}

.nb-manage-classrooms-page__modal-loading .modal-dialog {
  opacity: 0.7;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-manage-classrooms-page__hero-grid,
  .nb-manage-classrooms-page__list-head,
  .nb-manage-classrooms-page__row {
    grid-template-columns: 1fr;
  }

  .nb-manage-classrooms-page__summary-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-manage-classrooms-page__summary-item:nth-child(3) {
    border-left: none;
    border-top: 1px solid rgba(26, 62, 114, 0.08);
  }

  .nb-manage-classrooms-page__summary-item:nth-child(4) {
    border-top: 1px solid rgba(26, 62, 114, 0.08);
  }

  .nb-manage-classrooms-page__list-head {
    display: none;
  }

  .nb-manage-classrooms-page__row {
    gap: 1rem;
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .nb-manage-classrooms-page {
    padding-top: 1rem;
  }

  .nb-manage-classrooms-page__hero-card,
  .nb-manage-classrooms-page__list-card {
    border-radius: 1.4rem;
  }

  .nb-manage-classrooms-page__hero-card {
    padding: 1.3rem 1rem;
  }

  .nb-manage-classrooms-page__hero-grid,
  .nb-manage-classrooms-page__summary-card,
  .nb-manage-classrooms-page__row {
    grid-template-columns: 1fr;
  }

  .nb-manage-classrooms-page__summary-item + .nb-manage-classrooms-page__summary-item {
    border-left: none;
    border-top: 1px solid rgba(26, 62, 114, 0.08);
  }

  .nb-manage-classrooms-page__notice,
  .nb-manage-classrooms-page__toolbar {
    align-items: flex-start;
  }

  .nb-manage-classrooms-page__list-head {
    display: none;
  }

  .nb-manage-classrooms-page__row {
    padding: 1rem;
  }

  .nb-manage-classrooms-page__classroom-link {
    font-size: 1.22rem;
  }

  .nb-manage-classrooms-page__tip {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.nb-teacher-gradebook-page__footer-actions {
  display: flex;
  justify-content: flex-start;
}

/* Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-teacher-gradebook-page__hero-grid {
    grid-template-columns: 1fr;
  }

  .nb-teacher-gradebook-page__hero-art {
    justify-content: center;
  }

  .nb-teacher-gradebook-page__hero-art img {
    width: min(100%, 28rem);
  }

  .nb-teacher-gradebook-page__filters-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-teacher-gradebook-page__awards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .nb-teacher-gradebook-page {
    padding-top: 1.1rem;
  }

  .nb-teacher-gradebook-page__hero-card,
  .nb-teacher-gradebook-page__filters-card {
    padding: 1.3rem 1rem;
    border-radius: 1.4rem;
  }

  .nb-teacher-gradebook-page__results-card {
    border-radius: 1.35rem;
  }

  .nb-teacher-gradebook-page__hero-grid,
  .nb-teacher-gradebook-page__filters-form {
    grid-template-columns: 1fr;
  }

  .nb-teacher-gradebook-page__title-lockup {
    display: block;
  }

  .nb-teacher-gradebook-page__hero-lede {
    font-size: 1.04rem;
  }

  .nb-teacher-gradebook-page__stats {
    gap: 0.85rem;
  }

  .nb-teacher-gradebook-page__stat-card {
    min-width: calc(50% - 0.5rem);
  }

  .nb-teacher-gradebook-page__hero-art {
    justify-content: center;
  }

  .nb-teacher-gradebook-page__hero-art img {
    width: min(100%, 22rem);
  }

  .nb-teacher-gradebook-page__awards-grid {
    grid-template-columns: 1fr;
  }

  .nb-gradebook-summary {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .nb-gradebook-table th:first-child,
  .nb-gradebook-table td:first-child {
    min-width: 13rem;
  }
}

.nb-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 1.35rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease, background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.nb-button:hover {
  transform: translateY(-1px);
  text-decoration: none;
}

.nb-button:disabled,
.nb-button[disabled],
.nb-button.is-disabled {
  background: #d9e1ec !important;
  border-color: #c3cedd !important;
  box-shadow: none !important;
  color: #6d7c90 !important;
  cursor: not-allowed;
  filter: none !important;
  opacity: 1;
  pointer-events: none;
  transform: none !important;
}

.nb-button--sm {
  padding: 0.7rem 1rem;
  font-size: 0.84rem;
  white-space: nowrap;
}

.nb-button--primary {
  background: linear-gradient(135deg, #0f6ec6, #0a4d8c);
  border-color: #0a4d8c;
  color: #fff;
  box-shadow: 0 12px 24px rgba(10, 77, 140, 0.18);
}

.nb-button--primary:hover {
  color: #fff;
  filter: brightness(1.03);
}

.nb-button--secondary {
  background: #fff;
  border-color: rgba(10, 77, 140, 0.18);
  color: var(--blue);
  box-shadow: 0 10px 22px rgba(26, 39, 68, 0.08);
}

.nb-button--secondary:hover {
  color: var(--blue);
  background: #f8fbff;
}

.nb-order {
  display: grid;
  gap: 2rem;
}

.nb-manage-students-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.42rem;
}

.nb-manage-students-actions .nb-button--sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-width: 6rem;
  padding: 0.56rem 0.82rem;
  font-size: 0.78rem;
  white-space: nowrap;
}

.nb-manage-students-password-cell {
  min-width: 20.5rem;
}

.nb-manage-students-page__helper,
.nb-manage-students-page__filters {
  margin-top: 1rem;
}

.nb-manage-students-page__helper {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.9rem;
  align-items: flex-start;
  padding: 1rem 1.1rem;
}

.nb-manage-students-page__helper-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  color: #0f63d7;
  font-size: 1rem;
  background: rgba(15, 99, 215, 0.08);
}

.nb-manage-students-page__helper-body {
  min-width: 0;
}

.nb-manage-students-page__helper-copy {
  color: #10335f;
  font-weight: 600;
  line-height: 1.45;
}

.nb-manage-students-page__helper-tip {
  color: #5d7188;
  font-size: 0.92rem;
  line-height: 1.45;
}

.nb-manage-students-page__filters {
  padding: 1rem 1.1rem 1.05rem;
}

.nb-manage-students-page__filters-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 0.95rem 1rem;
  align-items: end;
}

.nb-manage-students-page__field {
  display: grid;
  gap: 0.4rem;
}

.nb-manage-students-page__field .form-label {
  margin-bottom: 0;
  color: #21395f;
  font-size: 0.94rem;
  font-weight: 800;
}

.nb-manage-students-page__control-wrap {
  position: relative;
}

.nb-manage-students-page__control-icon {
  position: absolute;
  top: 50%;
  left: 0.95rem;
  transform: translateY(-50%);
  color: #607393;
  font-size: 0.98rem;
  pointer-events: none;
}

.nb-manage-students-page__input,
.nb-manage-students-page__select {
  min-height: 2.9rem;
  border-radius: 0.9rem;
  border-color: rgba(10, 77, 140, 0.16);
  color: #10233f;
  box-shadow: none;
}

.nb-manage-students-page__input {
  padding-left: 2.65rem;
}

.nb-manage-students-page__control-wrap .nb-manage-students-page__select {
  padding-left: 2.5rem;
}

.nb-manage-students-page__input:focus,
.nb-manage-students-page__select:focus {
  border-color: rgba(55, 100, 207, 0.42);
  box-shadow: 0 0 0 0.22rem rgba(55, 100, 207, 0.12);
}

.nb-manage-students-page__filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  grid-column: 1 / -1;
}

.nb-manage-students-page__button-icon {
  font-size: 0.95em;
}

.nb-manage-students-page__actions {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.nb-manage-students-page__primary-action {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.nb-manage-students-page__primary-action .nb-button,
.nb-manage-students-page__utility-actions .nb-button,
.nb-manage-students-page__filter-actions .nb-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
}

.nb-manage-students-page__utility-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.nb-manage-students-page__floating-save-status {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 1050;
  box-shadow: 0 8px 20px rgba(19, 42, 77, 0.08);
}

@media (max-width: 767.98px) {
  .nb-manage-students-page__floating-save-status {
    right: 1rem;
    bottom: 1rem;
  }
}

.nb-manage-students-table > :not(caption) > * > * {
  padding: 0.54rem 0.72rem;
}

.nb-manage-students-table thead th {
  padding-top: 0.62rem;
  padding-bottom: 0.62rem;
  font-size: 0.94rem;
}

.nb-manage-students-table tbody td {
  vertical-align: middle;
  font-size: 0.95rem;
}

.nb-manage-students-table .form-select {
  min-height: calc(2.35rem + 2px);
  padding-top: 0.34rem;
  padding-bottom: 0.34rem;
}

.nb-manage-students-delete-button {
  border-color: rgba(189, 44, 50, 0.34);
  color: #b42318;
  background: #fff;
}

.nb-manage-students-delete-button:hover,
.nb-manage-students-delete-button:focus {
  background: #fff5f5;
  border-color: rgba(189, 44, 50, 0.5);
  color: #9f1f15;
}

.nb-button--danger {
  background: linear-gradient(135deg, #bd2c32, #d94841);
  border-color: transparent;
  color: #fff;
}

.nb-button--danger:hover,
.nb-button--danger:focus {
  color: #fff;
  background: linear-gradient(135deg, #aa232a, #c83932);
}

.nb-manage-students-actions__icon {
  font-size: 0.84rem;
  line-height: 1;
}

.nb-manage-students-name-link {
  font-weight: 700;
  text-decoration: none;
}

.nb-manage-students-name-link:hover,
.nb-manage-students-name-link:focus {
  text-decoration: underline;
}

@media (max-width: 767.98px) {
  .nb-manage-students-page__actions {
    gap: 0.7rem;
  }

  .nb-manage-students-page__helper {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .nb-manage-students-page__filters-form {
    grid-template-columns: 1fr;
  }

  .nb-manage-students-page__primary-action .nb-button,
  .nb-manage-students-page__utility-actions .nb-button,
  .nb-manage-students-page__filter-actions .nb-button {
    width: 100%;
    justify-content: center;
  }

  .nb-manage-students-table > :not(caption) > * > * {
    padding: 0.6rem 0.65rem;
  }
}

.nb-teacher-dashboard {
  display: grid;
  gap: 1.5rem;
}

.nb-teacher-dashboard__hero {
  align-items: center;
}

.nb-teacher-dashboard__hero-copy {
  max-width: 48rem;
}

.nb-teacher-dashboard__lede,
.nb-teacher-dashboard__section-lede {
  max-width: none;
}

.nb-teacher-dashboard__status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.nb-teacher-dashboard__status-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.85rem;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.nb-teacher-dashboard__status-pill--premium {
  background: rgba(14, 110, 198, 0.12);
  color: #0a4d8c;
}

.nb-teacher-dashboard__status-pill--core {
  background: rgba(226, 104, 12, 0.12);
  color: #a14808;
}

.nb-teacher-dashboard__status-pill--family {
  background: rgba(34, 139, 34, 0.12);
  color: #1f6c1f;
}

.nb-teacher-dashboard__status-pill--nebraska {
  background: rgba(166, 32, 32, 0.12);
  color: #8a1e1e;
}

.nb-teacher-dashboard__status-pill--trial {
  background: rgba(92, 72, 191, 0.12);
  color: #4d34b6;
}

.nb-teacher-dashboard__status-pill--school {
  background: rgba(12, 38, 84, 0.08);
  color: #33557f;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.92rem;
}

.nb-teacher-dashboard__grid {
  display: grid;
  gap: 1.5rem;
}

.nb-teacher-dashboard__panel,
.nb-teacher-dashboard__card {
  height: 100%;
}

.nb-teacher-dashboard__highlight {
  background:
    radial-gradient(circle at top right, rgba(15, 110, 198, 0.12), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 249, 255, 0.98));
}

.nb-teacher-dashboard__section {
  display: grid;
  gap: 1rem;
}

.nb-teacher-dashboard__pending {
  display: grid;
  gap: 0.7rem;
}

.nb-dashboard-pending-host {
  position: relative;
}

.nb-dashboard-pending-host__throbber {
  display: none;
  position: absolute;
  right: 0.75rem;
  top: 0.25rem;
  z-index: 2;
}

.nb-dashboard-pending-host.is-loading .nb-dashboard-pending-host__throbber {
  display: block;
}

.nb-dashboard-pending-host__throbber-image {
  display: block;
  height: 42px;
  width: 42px;
}

.nb-teacher-dashboard__pending-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nb-teacher-dashboard__pending-card {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-top-width: 4px;
  border-radius: 18px;
  color: inherit;
  display: grid;
  gap: 0.7rem;
  grid-template-columns: auto 1fr;
  min-height: 0;
  padding: 0.75rem 0.9rem;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.nb-teacher-dashboard__pending-card.is-loading {
  opacity: 0.75;
  pointer-events: none;
}

.nb-teacher-dashboard__pending-card:hover {
  border-color: rgba(16, 51, 95, 0.18);
  box-shadow: 0 14px 28px rgba(17, 35, 67, 0.08);
  transform: translateY(-1px);
}

.nb-teacher-dashboard__pending-card--blue { border-top-color: var(--blue); }
.nb-teacher-dashboard__pending-card--gold { border-top-color: var(--gold); }
.nb-teacher-dashboard__pending-card--green { border-top-color: var(--green); }
.nb-teacher-dashboard__pending-card--red { border-top-color: var(--red); }

.nb-teacher-dashboard__pending-count {
  align-items: center;
  background: #f3f7fd;
  border-radius: 16px;
  color: #10335f;
  display: inline-flex;
  font-size: 1.25rem;
  font-weight: 800;
  justify-content: center;
  min-width: 3rem;
  padding: 0.55rem 0.7rem;
}

.nb-teacher-dashboard__pending-copy h3 {
  color: #10335f;
  font-size: 0.98rem;
  margin: 0 0 0.12rem;
}

.nb-teacher-dashboard__pending-copy p {
  color: #60748d;
  font-size: 0.84rem;
  margin: 0;
}

/* Teacher Dashboard Page */
.nb-teacher-dashboard-page {
  padding-top: 1.25rem;
  padding-bottom: 3rem;
}

.nb-teacher-dashboard-page__stack {
  display: grid;
  gap: 1.5rem;
}

.nb-teacher-dashboard-page__hero-card,
.nb-teacher-dashboard-page__section-card,
.nb-teacher-dashboard-page__utility-bar,
.nb-teacher-dashboard-page__guide-shell {
  background:
    radial-gradient(circle at top left, rgba(242, 138, 37, 0.06), transparent 28%),
    radial-gradient(circle at top right, rgba(15, 110, 198, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 251, 255, 0.98));
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 1.55rem;
  box-shadow: 0 18px 40px rgba(18, 36, 68, 0.07);
}

.nb-teacher-dashboard-page__hero-card,
.nb-teacher-dashboard-page__section-card,
.nb-teacher-dashboard-page__guide-shell {
  padding: 1.55rem;
}

.nb-teacher-dashboard-page__notice {
  margin: 0;
}

.nb-teacher-dashboard-page__hero-grid {
  display: grid;
  gap: 1.05rem;
  grid-template-columns: minmax(0, 1.42fr) minmax(308px, 0.76fr) minmax(216px, 0.58fr);
  align-items: stretch;
}

.nb-teacher-dashboard-page__hero-copy {
  padding: 0.45rem 0.2rem 0.2rem;
}

.nb-teacher-dashboard-page__hero-copy h1 {
  color: #102d5b;
  font-size: 2.8rem;
  line-height: 1.08;
  margin-bottom: 0.8rem;
  max-width: 42ch;
}

.nb-teacher-dashboard-page__hero-lede {
  color: #233f67;
  font-size: 1.08rem;
  line-height: 1.72;
  max-width: 31rem;
  margin-bottom: 0;
}

.nb-teacher-dashboard-page__snapshot-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 1.2rem;
  display: grid;
  gap: 0.85rem;
  padding: 1.1rem 1rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.nb-teacher-dashboard-page__snapshot-head {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: auto 1fr;
  align-items: start;
}

.nb-teacher-dashboard-page__snapshot-head h2 {
  color: #102d5b;
  font-size: 1.08rem;
  margin: 0 0 0.2rem;
}

.nb-teacher-dashboard-page__snapshot-head p {
  color: #465f84;
  margin: 0;
}

.nb-teacher-dashboard-page__snapshot-icon,
.nb-teacher-dashboard-page__guide-icon,
.nb-teacher-dashboard-page__utility-icon,
.nb-teacher-dashboard-page__launch-icon,
.nb-teacher-dashboard-page__task-icon,
.nb-teacher-dashboard-page__tool-icon {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
}

.nb-teacher-dashboard-page__snapshot-icon {
  width: 2.85rem;
  height: 2.85rem;
  background: rgba(15, 110, 198, 0.1);
  color: #0a4d8c;
  font-size: 1.15rem;
}

.nb-teacher-dashboard-page__snapshot-list {
  display: grid;
  gap: 0.55rem;
}

.nb-teacher-dashboard-page__snapshot-item {
  align-items: center;
  color: inherit;
  display: grid;
  gap: 0.6rem;
  grid-template-columns: auto 1fr auto auto;
  padding: 0.14rem 0;
  text-decoration: none;
}

.nb-teacher-dashboard-page__snapshot-item-icon {
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
}

.nb-teacher-dashboard-page__snapshot-item-icon--blue,
.nb-teacher-dashboard-page__task-card--blue .nb-teacher-dashboard-page__task-icon {
  background: rgba(36, 112, 220, 0.12);
  color: #2263c8;
}

.nb-teacher-dashboard-page__snapshot-item-icon--gold,
.nb-teacher-dashboard-page__task-card--gold .nb-teacher-dashboard-page__task-icon {
  background: rgba(245, 168, 0, 0.14);
  color: #c88a00;
}

.nb-teacher-dashboard-page__snapshot-item-icon--green,
.nb-teacher-dashboard-page__task-card--green .nb-teacher-dashboard-page__task-icon {
  background: rgba(54, 170, 88, 0.14);
  color: #278548;
}

.nb-teacher-dashboard-page__snapshot-item-icon--red,
.nb-teacher-dashboard-page__task-card--red .nb-teacher-dashboard-page__task-icon {
  background: rgba(255, 109, 34, 0.14);
  color: #da5c18;
}

.nb-teacher-dashboard-page__snapshot-item-label {
  color: #102d5b;
  font-weight: 800;
  font-size: 0.98rem;
}

.nb-teacher-dashboard-page__snapshot-item-count {
  font-size: 1rem;
  font-weight: 900;
}

.nb-teacher-dashboard-page__snapshot-item-count--blue { color: #2263c8; }
.nb-teacher-dashboard-page__snapshot-item-count--gold { color: #c88a00; }
.nb-teacher-dashboard-page__snapshot-item-count--green { color: #278548; }
.nb-teacher-dashboard-page__snapshot-item-count--red { color: #da5c18; }

.nb-teacher-dashboard-page__snapshot-item-status {
  color: #60748d;
  font-size: 0.84rem;
  white-space: nowrap;
}

.nb-teacher-dashboard-page__snapshot-empty {
  display: grid;
  gap: 0.85rem;
}

.nb-teacher-dashboard-page__snapshot-empty div {
  align-items: center;
  border-top: 1px solid rgba(16, 51, 95, 0.08);
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  padding-top: 0.85rem;
}

.nb-teacher-dashboard-page__snapshot-empty div:first-child {
  border-top: 0;
  padding-top: 0;
}

.nb-teacher-dashboard-page__snapshot-empty span {
  color: #60748d;
  font-size: 0.92rem;
}

.nb-teacher-dashboard-page__snapshot-empty strong {
  color: #102d5b;
  font-size: 0.96rem;
  text-align: right;
}

.nb-teacher-dashboard-page__support-column {
  display: grid;
  gap: 0.7rem;
}

.nb-teacher-dashboard-page__hero-visual {
  min-height: 0;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid rgba(16, 51, 95, 0.08);
  background: linear-gradient(135deg, rgba(255, 184, 120, 0.18), rgba(255, 255, 255, 0.92));
}

.nb-teacher-dashboard-page__hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 156px;
  object-fit: cover;
}

.nb-teacher-dashboard-page__guide-card {
  background: #fff;
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 1.25rem;
  color: inherit;
  display: block;
  padding: 1.1rem 1rem;
  text-decoration: none;
}

.nb-teacher-dashboard-page__guide-card--hero {
  align-items: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 255, 0.98));
  border-color: rgba(16, 51, 95, 0.08);
  border-radius: 1.15rem;
  display: grid;
  gap: 0.95rem;
  grid-template-columns: auto 1fr;
  padding: 0.95rem 1.05rem;
}

.nb-teacher-dashboard-page__guide-icon {
  width: 2.6rem;
  height: 2.6rem;
  background: rgba(36, 112, 220, 0.12);
  color: #2263c8;
}

.nb-teacher-dashboard-page__guide-icon-wrap {
  background: #fff;
  border: 1px solid rgba(36, 112, 220, 0.12);
  border-radius: 0.9rem;
  box-shadow: 0 8px 18px rgba(18, 36, 68, 0.05);
  display: grid;
  height: 2.75rem;
  place-items: center;
  width: 2.75rem;
}

.nb-teacher-dashboard-page__guide-icon--hero {
  background: transparent;
  border-radius: 0;
  color: #2263c8;
  display: block;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
}

.nb-teacher-dashboard-page__guide-icon--hero i {
  display: block;
  line-height: 1;
  transform: translateY(3px);
}

.nb-teacher-dashboard-page__guide-copy {
  display: grid;
  gap: 0.18rem;
}

.nb-teacher-dashboard-page__guide-card--hero strong,
.nb-teacher-dashboard-page__guide-card--hero span {
  display: block;
}

.nb-teacher-dashboard-page__guide-card--hero strong {
  color: #102d5b;
  margin-bottom: 0.2rem;
}

.nb-teacher-dashboard-page__guide-card--hero span {
  color: #2263c8;
  font-weight: 700;
}

.nb-teacher-dashboard-page__guide-card--hero strong {
  color: #102d5b;
  font-size: 1.08rem;
  line-height: 1.3;
  margin: 0;
}

.nb-teacher-dashboard-page__guide-cta {
  align-items: center;
  color: #2263c8;
  display: inline-flex !important;
  gap: 0.4rem;
  font-size: 0.95rem;
  font-weight: 800;
}

.nb-teacher-dashboard-page__section-heading {
  margin-bottom: 1.15rem;
}

.nb-teacher-dashboard-page__section-title-group {
  display: grid;
  gap: 0.3rem;
}

.nb-teacher-dashboard-page__section-kicker {
  align-items: center;
  display: flex;
  gap: 0.7rem;
}

.nb-teacher-dashboard-page__section-badge {
  align-items: center;
  background: rgba(36, 112, 220, 0.08);
  border-radius: 0.8rem;
  color: #2263c8;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.nb-teacher-dashboard-page__section-badge--launch {
  background: rgba(36, 112, 220, 0.08);
  color: #2263c8;
}

.nb-teacher-dashboard-page__section-badge--tasks {
  background: rgba(246, 163, 47, 0.12);
  color: #c47d00;
}

.nb-teacher-dashboard-page__section-badge--tools {
  background: rgba(36, 112, 220, 0.1);
  color: #2263c8;
}

.nb-teacher-dashboard-page__section-heading .nb-eyebrow {
  margin: 0;
}

.nb-teacher-dashboard-page__section-heading h2 {
  color: #233f67;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.6;
  margin: 0;
}

.nb-teacher-dashboard-page__section-heading--split {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.nb-teacher-dashboard-page__showcase-section {
  position: relative;
  overflow: hidden;
}

.nb-teacher-dashboard-page__showcase-section--classroom {
  background:
    radial-gradient(circle at top left, rgba(180, 214, 255, 0.26), transparent 34%),
    radial-gradient(circle at top right, rgba(123, 178, 255, 0.2), transparent 30%),
    linear-gradient(180deg, rgba(250, 253, 255, 0.99), rgba(240, 247, 255, 0.98));
}

.nb-teacher-dashboard-page__showcase-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top left, rgba(34, 99, 200, 0.07), transparent 32%),
    radial-gradient(circle at top right, rgba(143, 90, 255, 0.07), transparent 28%);
  pointer-events: none;
}

.nb-teacher-dashboard-page__showcase-section--classroom::before {
  background:
    radial-gradient(circle at top left, rgba(34, 99, 200, 0.14), transparent 34%),
    radial-gradient(circle at top right, rgba(108, 165, 255, 0.12), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0));
}

.nb-teacher-dashboard-page__showcase-section--engagement::before {
  background:
    radial-gradient(circle at top left, rgba(143, 90, 255, 0.08), transparent 34%),
    radial-gradient(circle at top right, rgba(255, 171, 79, 0.07), transparent 28%);
}

.nb-teacher-dashboard-page__showcase-heading,
.nb-teacher-dashboard-page__showcase-grid {
  position: relative;
  z-index: 1;
}

.nb-teacher-dashboard-page__showcase-heading {
  align-items: start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.nb-teacher-dashboard-page__showcase-title-group {
  display: grid;
  gap: 0.35rem;
}

.nb-teacher-dashboard-page__showcase-title-row {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.nb-teacher-dashboard-page__showcase-badge {
  align-items: center;
  background: rgba(34, 99, 200, 0.12);
  border: 1px solid rgba(34, 99, 200, 0.14);
  border-radius: 0.95rem;
  color: #2263c8;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1.15rem;
  height: 3rem;
  justify-content: center;
  width: 3rem;
}

.nb-teacher-dashboard-page__showcase-badge--purple {
  background: rgba(143, 90, 255, 0.12);
  border-color: rgba(143, 90, 255, 0.14);
  color: #7a42f4;
}

.nb-teacher-dashboard-page__showcase-badge--number {
  background: linear-gradient(135deg, #7f43f2, #5d2fd4);
  border: 0;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 900;
}

.nb-teacher-dashboard-page__showcase-heading h2 {
  color: #102d5b;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.05;
  margin: 0 0 0.35rem;
}

.nb-teacher-dashboard-page__showcase-heading p {
  color: #29466f;
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
}

.nb-teacher-dashboard-page__showcase-pill {
  align-items: center;
  background: linear-gradient(135deg, #1d62c8, #2352c2);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  min-height: 2rem;
  padding: 0.35rem 0.95rem;
  text-transform: uppercase;
  white-space: nowrap;
}

.nb-teacher-dashboard-page__showcase-pill--purple {
  background: linear-gradient(135deg, #8b55ff, #6d3fe7);
}

.nb-teacher-dashboard-page__showcase-grid {
  display: grid;
  gap: 1rem;
}

.nb-teacher-dashboard-page__showcase-grid--classroom {
  grid-template-columns: repeat(auto-fit, minmax(198px, 1fr));
}

.nb-teacher-dashboard-page__showcase-grid--engagement {
  grid-template-columns: repeat(auto-fit, minmax(172px, 1fr));
}

.nb-teacher-dashboard-page__engagement-setup-card {
  align-items: start;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 245, 255, 0.96));
  border: 1px solid rgba(125, 73, 255, 0.12);
  border-radius: 1.2rem;
  box-shadow: 0 14px 32px rgba(18, 36, 68, 0.05);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1.1fr) auto minmax(0, 1.7fr) auto minmax(0, 1.05fr);
  margin-bottom: 1rem;
  padding: 0.75rem;
}

.nb-teacher-dashboard-page__engagement-setup-step {
  align-items: start;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(125, 73, 255, 0.1);
  border-radius: 1rem;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 0.75rem 0.9rem;
}

.nb-teacher-dashboard-page__engagement-setup-step--wide {
  grid-template-columns: auto minmax(0, 1fr);
}

.nb-teacher-dashboard-page__engagement-setup-arrow {
  align-items: center;
  color: #7a42f4;
  display: inline-flex;
  font-size: 1.2rem;
  justify-content: center;
}

.nb-teacher-dashboard-page__engagement-step-number {
  align-items: center;
  background: linear-gradient(135deg, #8b55ff, #6d3fe7);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 900;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}

.nb-teacher-dashboard-page__engagement-step-copy {
  display: grid;
  gap: 0.15rem;
}

.nb-teacher-dashboard-page__engagement-step-copy h3 {
  color: #102d5b;
  font-size: 1rem;
  line-height: 1.25;
  margin: 0;
}

.nb-teacher-dashboard-page__engagement-step-copy p {
  color: #415b7d;
  font-size: 0.82rem;
  line-height: 1.4;
  margin: 0;
}

.nb-teacher-dashboard-page__engagement-step-action {
  grid-column: 2;
  justify-self: start;
}

.nb-teacher-dashboard-page__engagement-step-note {
  color: #7a42f4;
  font-size: 0.82rem;
  font-weight: 800;
}

.nb-teacher-dashboard-page__engagement-step-copy--wide {
  padding-right: 0.5rem;
}

.nb-teacher-dashboard-page__engagement-step-detail-grid {
  display: grid;
  gap: 0.55rem;
  grid-column: 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-teacher-dashboard-page__engagement-step-detail-card {
  background: #fbf9ff;
  border: 1px solid rgba(125, 73, 255, 0.1);
  border-radius: 0.9rem;
  display: grid;
  gap: 0.35rem;
  padding: 0.6rem 0.75rem;
}

.nb-teacher-dashboard-page__engagement-step-detail-card strong {
  color: #102d5b;
  font-size: 0.84rem;
  line-height: 1.3;
}

.nb-teacher-dashboard-page__engagement-step-detail-card ul {
  display: grid;
  gap: 0.24rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nb-teacher-dashboard-page__engagement-step-detail-card li {
  color: #415b7d;
  font-size: 0.79rem;
  font-weight: 600;
  padding-left: 1rem;
  position: relative;
}

.nb-teacher-dashboard-page__engagement-step-detail-card li::before {
  color: #2ba84a;
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-size: 0.66rem;
  font-weight: 900;
  left: 0;
  position: absolute;
  top: 0.18rem;
}

.nb-teacher-dashboard-page__engagement-step-detail-card--privacy {
  background: linear-gradient(180deg, rgba(255, 249, 252, 0.96), rgba(255, 255, 255, 0.96));
}

.nb-teacher-dashboard-page__engagement-step-detail-head {
  align-items: center;
  display: flex;
  gap: 0.45rem;
}

.nb-teacher-dashboard-page__engagement-step-detail-head span {
  align-items: center;
  background: #fff2e8;
  border-radius: 999px;
  color: #ef6d17;
  display: inline-flex;
  height: 1.85rem;
  justify-content: center;
  width: 1.85rem;
}

.nb-teacher-dashboard-page__engagement-step-action--wide {
  margin-top: 0.1rem;
}

.nb-teacher-dashboard-page__engagement-step-link {
  align-items: center;
  background: rgba(125, 73, 255, 0.09);
  border-radius: 999px;
  color: #6d3fe7;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  gap: 0.35rem;
  min-height: 2rem;
  padding: 0.36rem 0.72rem;
  text-decoration: none;
  white-space: nowrap;
}

.nb-teacher-dashboard-page__engagement-step-link:hover,
.nb-teacher-dashboard-page__engagement-step-link:focus {
  color: #6d3fe7;
  text-decoration: none;
}

.nb-teacher-dashboard-page__engagement-step-celebration {
  align-items: center;
  color: #ff9f2a;
  display: inline-flex;
  font-size: 1.35rem;
  justify-content: center;
  min-width: 2rem;
}

.nb-teacher-dashboard-page__showcase-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 251, 255, 0.97));
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 1.2rem;
  box-shadow: 0 14px 32px rgba(18, 36, 68, 0.06);
  display: grid;
  gap: 0.9rem;
  grid-template-rows: auto 1fr auto;
  padding: 1rem;
}

.nb-teacher-dashboard-page__showcase-card--blue {
  border-color: rgba(34, 99, 200, 0.16);
}

.nb-teacher-dashboard-page__showcase-card--orange {
  border-color: rgba(242, 123, 33, 0.2);
}

.nb-teacher-dashboard-page__showcase-card--green {
  border-color: rgba(31, 159, 92, 0.17);
}

.nb-teacher-dashboard-page__showcase-card--purple,
.nb-teacher-dashboard-page__showcase-card--violet,
.nb-teacher-dashboard-page__showcase-card--indigo {
  border-color: rgba(125, 73, 255, 0.16);
}

.nb-teacher-dashboard-page__showcase-card--teal {
  border-color: rgba(17, 151, 177, 0.16);
}

.nb-teacher-dashboard-page__showcase-card--gold {
  border-color: rgba(229, 161, 0, 0.18);
}

.nb-teacher-dashboard-page__showcase-media-shell {
  position: relative;
  padding-top: 0.25rem;
}

.nb-teacher-dashboard-page__showcase-icon {
  align-items: center;
  background: #eef5ff;
  border-radius: 50%;
  box-shadow: 0 10px 20px rgba(18, 36, 68, 0.12);
  color: #fff;
  display: inline-flex;
  font-size: 0.95rem;
  height: 3rem;
  justify-content: center;
  left: 0.55rem;
  overflow: hidden;
  position: absolute;
  top: -0.4rem;
  width: 3rem;
  z-index: 2;
}

.nb-teacher-dashboard-page__showcase-icon::before {
  content: "";
  position: absolute;
  inset: 0.5rem;
  border-radius: 50%;
  background: #2263c8;
}

.nb-teacher-dashboard-page__showcase-icon i {
  position: relative;
  z-index: 1;
}

.nb-teacher-dashboard-page__showcase-card--blue .nb-teacher-dashboard-page__showcase-icon {
  background: #dfeeff;
}

.nb-teacher-dashboard-page__showcase-card--blue .nb-teacher-dashboard-page__showcase-icon::before {
  background: #2263c8;
}

.nb-teacher-dashboard-page__showcase-icon--feature {
  background: transparent !important;
  border-radius: 0;
  bottom: -0.6rem;
  box-shadow: none;
  height: 4rem;
  left: 0.2rem;
  top: auto;
  width: 4rem;
}

.nb-teacher-dashboard-page__showcase-icon--feature::before {
  display: none;
}

.nb-teacher-dashboard-page__showcase-icon--feature i {
  align-items: center;
  background: linear-gradient(180deg, #2e76ec, #1f58c7);
  border-radius: 50%;
  box-shadow: 0 12px 22px rgba(18, 36, 68, 0.2);
  display: inline-flex;
  font-size: 1.35rem;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.nb-teacher-dashboard-page__showcase-card--orange .nb-teacher-dashboard-page__showcase-icon {
  background: #ffe9d3;
}

.nb-teacher-dashboard-page__showcase-card--orange .nb-teacher-dashboard-page__showcase-icon::before {
  background: #f07a00;
}

.nb-teacher-dashboard-page__showcase-card--green .nb-teacher-dashboard-page__showcase-icon {
  background: #ddf7e7;
}

.nb-teacher-dashboard-page__showcase-card--green .nb-teacher-dashboard-page__showcase-icon::before {
  background: #1f9f5c;
}

.nb-teacher-dashboard-page__showcase-card--purple .nb-teacher-dashboard-page__showcase-icon,
.nb-teacher-dashboard-page__showcase-card--violet .nb-teacher-dashboard-page__showcase-icon,
.nb-teacher-dashboard-page__showcase-card--indigo .nb-teacher-dashboard-page__showcase-icon {
  background: #ebe1ff;
}

.nb-teacher-dashboard-page__showcase-card--purple .nb-teacher-dashboard-page__showcase-icon::before,
.nb-teacher-dashboard-page__showcase-card--violet .nb-teacher-dashboard-page__showcase-icon::before,
.nb-teacher-dashboard-page__showcase-card--indigo .nb-teacher-dashboard-page__showcase-icon::before {
  background: #7d49ff;
}

.nb-teacher-dashboard-page__showcase-card--teal .nb-teacher-dashboard-page__showcase-icon {
  background: #d8f4f8;
}

.nb-teacher-dashboard-page__showcase-card--teal .nb-teacher-dashboard-page__showcase-icon::before {
  background: #1197b1;
}

.nb-teacher-dashboard-page__showcase-card--gold .nb-teacher-dashboard-page__showcase-icon {
  background: #fff0c9;
}

.nb-teacher-dashboard-page__showcase-card--gold .nb-teacher-dashboard-page__showcase-icon::before {
  background: #d09000;
}

.nb-teacher-dashboard-page__showcase-flag {
  background: linear-gradient(135deg, #1b58bd, #2772df);
  border-radius: 999px;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
  left: 50%;
  letter-spacing: 0.04em;
  padding: 0.28rem 0.7rem;
  position: absolute;
  text-transform: uppercase;
  top: -0.2rem;
  transform: translateX(-50%);
  z-index: 2;
}

.nb-teacher-dashboard-page__showcase-media,
.nb-teacher-dashboard-page__showcase-sheet {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 255, 0.96));
  border: 1px solid rgba(16, 51, 95, 0.08);
  border-radius: 1rem;
  min-height: 11rem;
}

.nb-teacher-dashboard-page__showcase-media {
  height: 11rem;
  overflow: hidden;
}

.nb-teacher-dashboard-page__showcase-media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.nb-teacher-dashboard-page__showcase-media--contain {
  align-items: center;
  display: grid;
  padding: 0.7rem;
}

.nb-teacher-dashboard-page__showcase-media--contain img {
  object-fit: contain;
}

.nb-teacher-dashboard-page__showcase-sheet {
  display: grid;
  gap: 0.7rem;
  padding: 1.15rem 1rem 1rem;
}

.nb-teacher-dashboard-page__showcase-sheet strong {
  color: #102d5b;
  display: block;
  font-size: 0.96rem;
}

.nb-teacher-dashboard-page__showcase-sheet--quickplay {
  align-content: start;
}

.nb-teacher-dashboard-page__quickplay-head {
  display: grid;
  gap: 0.2rem;
}

.nb-teacher-dashboard-page__quickplay-head span {
  color: #6f4bc4;
  font-size: 0.8rem;
  font-weight: 800;
  text-transform: uppercase;
}

.nb-teacher-dashboard-page__quickplay-points {
  display: grid;
  gap: 0.45rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nb-teacher-dashboard-page__quickplay-points span {
  align-items: center;
  border: 1px solid rgba(111, 75, 196, 0.18);
  border-radius: 0.65rem;
  color: #6f4bc4;
  display: inline-flex;
  font-size: 0.74rem;
  font-weight: 900;
  justify-content: center;
  min-height: 2rem;
  text-transform: uppercase;
}

.nb-teacher-dashboard-page__showcase-sheet--quickplay p {
  color: #415b7d;
  font-size: 0.82rem;
  line-height: 1.5;
  margin: 0;
}

.nb-teacher-dashboard-page__showcase-sheet ul {
  display: grid;
  gap: 0.45rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nb-teacher-dashboard-page__showcase-sheet li {
  color: #415b7d;
  font-size: 0.84rem;
  font-weight: 600;
  padding-left: 1.2rem;
  position: relative;
}

.nb-teacher-dashboard-page__showcase-sheet li::before {
  color: #1f9f5c;
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-size: 0.72rem;
  font-weight: 900;
  left: 0;
  position: absolute;
  top: 0.15rem;
}

.nb-teacher-dashboard-page__showcase-copy {
  display: grid;
  gap: 0.45rem;
}

.nb-teacher-dashboard-page__showcase-copy h3 {
  color: #102d5b;
  font-size: 1.18rem;
  line-height: 1.35;
  margin: 0;
}

.nb-teacher-dashboard-page__showcase-grid--classroom .nb-teacher-dashboard-page__showcase-copy h3 {
  text-align: center;
}

.nb-teacher-dashboard-page__showcase-copy p {
  color: #415b7d;
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0;
}

.nb-teacher-dashboard-page__showcase-actions {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: auto;
  width: 100%;
}

.nb-teacher-dashboard-page__showcase-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 0.86rem;
  font-weight: 800;
  justify-content: center;
  min-height: 2.55rem;
  padding: 0.55rem 0.95rem;
  text-decoration: none;
  width: 100%;
}

.nb-teacher-dashboard-page__showcase-button:hover,
.nb-teacher-dashboard-page__showcase-button:focus {
  color: #fff;
  text-decoration: none;
}

.nb-teacher-dashboard-page__showcase-button--blue {
  background: linear-gradient(135deg, #1d62c8, #245fcf);
}

.nb-teacher-dashboard-page__showcase-button--orange {
  background: linear-gradient(135deg, #f07a00, #ff8e1f);
}

.nb-teacher-dashboard-page__showcase-button--outline-orange {
  background: #fff;
  border-color: rgba(240, 122, 0, 0.38);
  color: #ea6d00;
}

.nb-teacher-dashboard-page__showcase-button--outline-orange:hover,
.nb-teacher-dashboard-page__showcase-button--outline-orange:focus {
  color: #ea6d00;
}

.nb-teacher-dashboard-page__showcase-button--green {
  background: linear-gradient(135deg, #149a45, #26b35d);
}

.nb-teacher-dashboard-page__showcase-button--purple,
.nb-teacher-dashboard-page__showcase-button--violet {
  background: linear-gradient(135deg, #8c52ff, #6b44ea);
}

.nb-teacher-dashboard-page__showcase-button--teal {
  background: linear-gradient(135deg, #1197b1, #17a9c7);
}

.nb-teacher-dashboard-page__showcase-link {
  color: #2263c8;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 800;
  gap: 0.35rem;
  justify-content: center;
  text-align: center;
  text-decoration: none;
}

.nb-teacher-dashboard-page__showcase-link:hover,
.nb-teacher-dashboard-page__showcase-link:focus {
  text-decoration: underline;
}

.nb-teacher-dashboard-page__section-link,
.nb-teacher-dashboard-page__section-footer a,
.nb-teacher-dashboard-page__tool-link,
.nb-teacher-dashboard-page__utility-link {
  color: #2263c8;
  font-weight: 800;
  text-decoration: none;
}

.nb-teacher-dashboard-page__section-link:hover,
.nb-teacher-dashboard-page__section-footer a:hover,
.nb-teacher-dashboard-page__tool-link:hover,
.nb-teacher-dashboard-page__utility-link:hover {
  text-decoration: underline;
}

.nb-teacher-dashboard-page__launch-grid {
  display: grid;
  gap: 1.05rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nb-teacher-dashboard-page__launch-card,
.nb-teacher-dashboard-page__task-card,
.nb-teacher-dashboard-page__tool-card,
.nb-teacher-dashboard-page__guide-card {
  height: 100%;
}

.nb-teacher-dashboard-page__launch-card {
  background: #fff;
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-top: 4px solid #2263c8;
  border-radius: 1.2rem;
  box-shadow: 0 14px 32px rgba(18, 36, 68, 0.06);
  display: grid;
  gap: 0.85rem;
  grid-template-rows: auto auto 1fr auto;
  justify-items: center;
  padding: 1.35rem 1rem 1.1rem;
  text-align: center;
}

.nb-teacher-dashboard-page__launch-card--orange { border-top-color: #f39a00; }
.nb-teacher-dashboard-page__launch-card--red { border-top-color: #e44f2f; }
.nb-teacher-dashboard-page__launch-card--green { border-top-color: #1f9f5c; }
.nb-teacher-dashboard-page__launch-card--purple { border-top-color: #7d49ff; }
.nb-teacher-dashboard-page__launch-card--gold { border-top-color: #e5a100; }

.nb-teacher-dashboard-page__launch-icon {
  width: 3.25rem;
  height: 3.25rem;
  background: #f3f7fd;
  color: #102d5b;
  font-size: 1.4rem;
}

.nb-teacher-dashboard-page__launch-card--orange .nb-teacher-dashboard-page__launch-icon {
  background: rgba(243, 154, 0, 0.12);
  color: #d58300;
}

.nb-teacher-dashboard-page__launch-card--red .nb-teacher-dashboard-page__launch-icon {
  background: rgba(228, 79, 47, 0.12);
  color: #d94828;
}

.nb-teacher-dashboard-page__launch-card--green .nb-teacher-dashboard-page__launch-icon {
  background: rgba(31, 159, 92, 0.13);
  color: #1f9f5c;
}

.nb-teacher-dashboard-page__launch-card--purple .nb-teacher-dashboard-page__launch-icon {
  background: rgba(125, 73, 255, 0.12);
  color: #7d49ff;
}

.nb-teacher-dashboard-page__launch-card--gold .nb-teacher-dashboard-page__launch-icon {
  background: rgba(229, 161, 0, 0.13);
  color: #d09000;
}

.nb-teacher-dashboard-page__launch-card h3 {
  color: #102d5b;
  align-self: end;
  display: flex;
  font-size: 1.18rem;
  line-height: 1.35;
  margin: 0;
  min-height: 3.1rem;
}

.nb-teacher-dashboard-page__launch-card p {
  color: #415b7d;
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0;
}

.nb-teacher-dashboard-page__launch-card .nb-product-card__actions {
  align-self: end;
  gap: 0.55rem;
  justify-content: center;
  width: 100%;
}

.nb-teacher-dashboard-page__launch-card .nb-button {
  font-size: 0.82rem;
  min-width: 0;
  padding: 0.55rem 0.85rem;
}

.nb-teacher-dashboard-page__tasks-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nb-teacher-dashboard-page__task-card {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 1.25rem;
  box-shadow: 0 12px 26px rgba(18, 36, 68, 0.05);
  color: inherit;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto 1fr;
  padding: 1rem 1.1rem;
  text-decoration: none;
}

.nb-teacher-dashboard-page__task-icon,
.nb-teacher-dashboard-page__tool-icon {
  width: 2.55rem;
  height: 2.55rem;
  font-size: 1rem;
}

.nb-teacher-dashboard-page__task-copy h3,
.nb-teacher-dashboard-page__tool-card h3,
.nb-teacher-dashboard-page__guide-grid h3 {
  color: #102d5b;
  margin: 0;
}

.nb-teacher-dashboard-page__tool-card h3 {
  font-size: 1rem;
  line-height: 1.25;
}

.nb-teacher-dashboard-page__task-copy strong {
  color: #102d5b;
  display: block;
  font-size: 2.1rem;
  line-height: 1;
  margin: 0.3rem 0;
}

.nb-teacher-dashboard-page__task-copy p,
.nb-teacher-dashboard-page__tool-card p,
.nb-teacher-dashboard-page__guide-grid p {
  color: #60748d;
  margin: 0;
}

.nb-teacher-dashboard-page__tool-card p {
  font-size: 0.82rem;
  line-height: 1.35;
}

.nb-teacher-dashboard-page__section-footer {
  margin-top: 0.9rem;
}

.nb-teacher-dashboard-page__tools-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.nb-teacher-dashboard-page__tool-card {
  background: #fff;
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 1.25rem;
  box-shadow: 0 12px 26px rgba(18, 36, 68, 0.05);
  display: grid;
  gap: 0.45rem;
  padding: 0.85rem 0.85rem 0.8rem;
  align-content: start;
}

.nb-teacher-dashboard-page__tool-card-head {
  align-items: center;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: auto 1fr;
}

.nb-teacher-dashboard-page__tool-icon {
  background: rgba(36, 112, 220, 0.12);
  color: #2263c8;
}

.nb-teacher-dashboard-page__team-chip {
  align-items: center;
  background: #f7faff;
  border: 1px solid rgba(36, 112, 220, 0.1);
  border-radius: 1rem;
  display: grid;
  gap: 0.6rem;
  grid-template-columns: auto 1fr;
  min-height: 3.45rem;
  padding: 0.6rem 0.75rem;
}

.nb-teacher-dashboard-page__team-chip--empty {
  background: #fbfcff;
}

.nb-teacher-dashboard-page__team-logo,
.nb-teacher-dashboard-page__team-logo-placeholder {
  align-items: center;
  background: #fff;
  border-radius: 0.85rem;
  display: inline-flex;
  height: 2.35rem;
  justify-content: center;
  width: 2.35rem;
}

.nb-teacher-dashboard-page__team-logo {
  object-fit: contain;
  padding: 0.25rem;
}

.nb-teacher-dashboard-page__team-logo-placeholder {
  color: #2263c8;
  font-size: 0.9rem;
}

.nb-teacher-dashboard-page__team-chip span {
  color: #102d5b;
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.3;
}

.nb-teacher-dashboard-page__tool-link-button {
  justify-self: start;
  border: 0;
  background: transparent;
  color: #2263c8;
  font-weight: 800;
  padding: 0;
  font-size: 0.88rem;
  text-decoration: none;
}

.nb-teacher-dashboard-page__tool-link-button:hover,
.nb-teacher-dashboard-page__tool-link-button:focus {
  text-decoration: underline;
}

.nb-teacher-dashboard-page__picker-host {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.nb-teacher-dashboard-page__picker-host .nb-college-picker__intro,
.nb-teacher-dashboard-page__picker-host .nb-college-picker__selected {
  display: none !important;
}

.nb-teacher-dashboard-page__signup-code-row {
  align-items: center;
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.nb-teacher-dashboard-page__signup-code {
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  padding: 0.45rem 0.75rem;
  border-radius: 0.9rem;
  background: #f5f8ff;
  color: #102d5b;
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.06em;
}

.nb-teacher-dashboard-page__copy-button {
  align-items: center;
  border: 1px solid rgba(36, 112, 220, 0.16);
  border-radius: 0.8rem;
  background: #fff;
  color: #2263c8;
  display: inline-flex;
  font-size: 0.92rem;
  height: 2.2rem;
  justify-content: center;
  padding: 0;
  width: 2.2rem;
}

.nb-teacher-dashboard-page__copy-button:hover,
.nb-teacher-dashboard-page__copy-button:focus {
  background: #eef4ff;
}

.nb-college-picker__modal-footer {
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.nb-teacher-dashboard-page__utility-bar {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.95rem 1.25rem;
}

.nb-teacher-dashboard-page__utility-copy {
  align-items: center;
  display: flex;
  gap: 0.85rem;
}

.nb-teacher-dashboard-page__utility-icon {
  width: 2.35rem;
  height: 2.35rem;
  background: rgba(36, 112, 220, 0.1);
  color: #2263c8;
}

.nb-teacher-dashboard-page__utility-copy strong {
  color: #2263c8;
  font-size: 1rem;
  white-space: nowrap;
}

.nb-teacher-dashboard-page__utility-copy p {
  color: #233f67;
  margin: 0;
}

.nb-teacher-dashboard-page__guide-shell {
  overflow: hidden;
}

.nb-teacher-dashboard-page__guide-summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  list-style: none;
}

.nb-teacher-dashboard-page__guide-summary::-webkit-details-marker {
  display: none;
}

.nb-teacher-dashboard-page__guide-toggle {
  color: #2263c8;
  font-weight: 800;
  white-space: nowrap;
}

.nb-teacher-dashboard-page__guide-toggle-open {
  display: none;
}

.nb-teacher-dashboard-page__guide-shell[open] .nb-teacher-dashboard-page__guide-toggle-closed {
  display: none;
}

.nb-teacher-dashboard-page__guide-shell[open] .nb-teacher-dashboard-page__guide-toggle-open {
  display: inline;
}

.nb-teacher-dashboard-page__guide-grid {
  border-top: 1px solid rgba(16, 51, 95, 0.08);
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 1.1rem;
  padding-top: 1.1rem;
}

/* Teacher Dashboard Page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-teacher-dashboard-page__hero-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-teacher-dashboard-page__support-column {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  }

  .nb-teacher-dashboard-page__hero-copy h1 {
    font-size: 2.45rem;
  }

  .nb-teacher-dashboard-page__showcase-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .nb-teacher-dashboard-page__showcase-grid--classroom {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-teacher-dashboard-page__engagement-setup-card {
    grid-template-columns: 1fr;
  }

  .nb-teacher-dashboard-page__engagement-setup-arrow {
    display: none;
  }

  .nb-teacher-dashboard-page__engagement-step-detail-grid {
    grid-template-columns: 1fr 1fr;
  }

  .nb-teacher-dashboard-page__showcase-grid--engagement {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nb-teacher-dashboard-page__tasks-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-teacher-dashboard-page__tools-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nb-teacher-dashboard-page__guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Teacher Dashboard Page - Mobile */
@media (max-width: 767.98px) {
  .nb-teacher-dashboard-page {
    padding-top: 1rem;
    padding-bottom: 2rem;
  }

  .nb-teacher-dashboard-page__hero-card,
  .nb-teacher-dashboard-page__section-card,
  .nb-teacher-dashboard-page__guide-shell {
    padding: 1.2rem;
  }

  .nb-teacher-dashboard-page__hero-grid,
  .nb-teacher-dashboard-page__engagement-setup-card,
  .nb-teacher-dashboard-page__showcase-grid--classroom,
  .nb-teacher-dashboard-page__showcase-grid--engagement,
  .nb-teacher-dashboard-page__tasks-grid,
  .nb-teacher-dashboard-page__tools-grid,
  .nb-teacher-dashboard-page__guide-grid {
    grid-template-columns: 1fr;
  }

  .nb-teacher-dashboard-page__hero-copy {
    padding: 0;
  }

  .nb-teacher-dashboard-page__hero-copy h1 {
    font-size: 2.1rem;
  }

  .nb-teacher-dashboard-page__hero-lede {
    font-size: 1rem;
  }

  .nb-teacher-dashboard-page__snapshot-item {
    grid-template-columns: auto 1fr auto;
  }

  .nb-teacher-dashboard-page__snapshot-item-status {
    grid-column: 2 / -1;
    white-space: normal;
  }

  .nb-teacher-dashboard-page__section-heading--split,
  .nb-teacher-dashboard-page__showcase-heading,
  .nb-teacher-dashboard-page__utility-bar,
  .nb-teacher-dashboard-page__guide-summary,
  .nb-teacher-dashboard-page__utility-copy {
    align-items: flex-start;
    flex-direction: column;
  }

  .nb-teacher-dashboard-page__showcase-title-row {
    align-items: flex-start;
  }

  .nb-teacher-dashboard-page__engagement-setup-step {
    grid-template-columns: auto 1fr;
  }

  .nb-teacher-dashboard-page__engagement-step-action,
  .nb-teacher-dashboard-page__engagement-step-celebration {
    grid-column: 2;
    justify-self: start;
  }

  .nb-teacher-dashboard-page__engagement-step-detail-grid {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .nb-teacher-dashboard-page__showcase-heading h2 {
    font-size: 1.72rem;
  }

  .nb-teacher-dashboard-page__showcase-media,
  .nb-teacher-dashboard-page__showcase-sheet {
    min-height: 10rem;
  }

  .nb-teacher-dashboard-page__showcase-media {
    height: 10rem;
  }

  .nb-teacher-dashboard-page__section-kicker {
    gap: 0.55rem;
  }

  .nb-teacher-dashboard-page__section-badge {
    height: 1.85rem;
    width: 1.85rem;
  }

  .nb-teacher-dashboard-page__support-column {
    grid-template-columns: 1fr;
  }
}

.nb-teacher-pending-page__hero {
  padding-bottom: 0.5rem;
}

.nb-teacher-pending-page__actions {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.nb-teacher-pending-page__summary {
  color: #60748d;
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 0.65rem;
}

.nb-teacher-pending-page__action-form {
  display: flex;
  margin: 0;
}

.nb-teacher-pending-page__actions .nb-button,
.nb-teacher-pending-page__action-form .nb-button {
  min-width: 220px;
}

.nb-teacher-pending-page__back-button {
  min-width: 0 !important;
}

.nb-teacher-pending-page__empty {
  margin-top: 1rem;
}

.nb-students-speak-overview {
  display: grid;
  gap: 1rem;
}

.nb-students-speak-overview__item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  border: 1px solid rgba(10, 77, 140, 0.12);
  border-radius: 1.25rem;
  padding: 1.2rem 1.3rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 253, 0.96));
}

.nb-students-speak-overview__main {
  min-width: 0;
}

.nb-students-speak-overview__header {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.nb-students-speak-overview__header h2 {
  margin: 0;
  font-size: 1.25rem;
}

.nb-students-speak-overview__question {
  margin: 0.45rem 0 0;
  font-weight: 700;
  color: var(--ink);
}

.nb-students-speak-overview__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin: 0.55rem 0 0;
  color: #60748d;
  font-weight: 600;
}

.nb-students-speak-overview__status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.32rem 0.8rem;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.nb-students-speak-overview__status--needs-approval {
  background: rgba(8, 116, 191, 0.12);
  color: #0a4d8c;
}

.nb-students-speak-overview__status--approved {
  background: rgba(36, 128, 62, 0.14);
  color: #1d6f36;
}

.nb-students-speak-overview__status--submitted {
  background: rgba(8, 116, 191, 0.12);
  color: #0a4d8c;
}

.nb-students-speak-overview__status--returned {
  background: rgba(220, 87, 31, 0.14);
  color: #b14c1e;
}

.nb-students-speak-overview__actions {
  flex: 0 0 auto;
}

@media (max-width: 767.98px) {
  .nb-students-speak-overview__item {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Students Speak page - Desktop */
.nb-teacher-students-speak-page {
  --nb-students-speak-blue: #215fdd;
  --nb-students-speak-blue-deep: #1649b4;
  --nb-students-speak-navy: #0f234f;
  --nb-students-speak-ink: #1f335b;
  --nb-students-speak-soft: #64748b;
  --nb-students-speak-line: rgba(54, 93, 164, 0.14);
  --nb-students-speak-panel: rgba(255, 255, 255, 0.94);
  --nb-students-speak-shadow: 0 20px 48px rgba(17, 37, 78, 0.08);
}

.nb-teacher-students-speak-page .container-wide {
  max-width: 1500px;
}

.nb-teacher-students-speak-page__shell {
  padding: 1.55rem 0 2.2rem;
  border: 1px solid rgba(89, 119, 185, 0.08);
  border-radius: 1.9rem;
  background:
    radial-gradient(circle at 14% 0%, rgba(115, 171, 255, 0.12), transparent 24%),
    linear-gradient(180deg, rgba(250, 252, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 24px 64px rgba(15, 34, 78, 0.08);
}

.nb-teacher-students-speak-page__hero,
.nb-teacher-students-speak-page__filters-card,
.nb-teacher-students-speak-page__results-bar,
.nb-teacher-students-speak-page__list,
.nb-teacher-students-speak-page__empty {
  margin-right: 2rem;
  margin-left: 2rem;
}

.nb-teacher-students-speak-page__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 1.75rem;
  align-items: center;
}

.nb-teacher-students-speak-page__title-lockup {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.25rem;
  align-items: center;
}

.nb-teacher-students-speak-page__title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.7rem;
  height: 4.7rem;
  border-radius: 1.2rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(238, 243, 255, 0.96));
  border: 1px solid rgba(124, 98, 255, 0.16);
  box-shadow: inset 0 0 0 1px rgba(124, 98, 255, 0.06);
  color: #7f5cf6;
  font-size: 2.05rem;
}

.nb-teacher-students-speak-page__title-lockup .nb-eyebrow {
  margin: 0 0 0.55rem;
}

.nb-teacher-students-speak-page__title-lockup h1 {
  margin: 0;
  color: var(--nb-students-speak-navy);
  font-family: var(--nb-font-heading);
  font-size: clamp(3rem, 4.6vw, 4.15rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.nb-teacher-students-speak-page__lede {
  max-width: 42rem;
  margin: 1.35rem 0 0;
  color: var(--nb-students-speak-ink);
  font-size: 1.14rem;
  line-height: 1.58;
}

.nb-teacher-students-speak-page__hero-art {
  display: flex;
  justify-content: flex-end;
}

.nb-teacher-students-speak-page__hero-art img {
  width: min(100%, 29rem);
  height: auto;
}

.nb-teacher-students-speak-page__filters-card {
  margin-top: 1.2rem;
  padding: 1.2rem 1.35rem 1.35rem;
  border: 1px solid var(--nb-students-speak-line);
  border-radius: 1.35rem;
  background: var(--nb-students-speak-panel);
  box-shadow: var(--nb-students-speak-shadow);
}

.nb-teacher-students-speak-page__filters-form {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1.4fr 0.7fr;
  gap: 1rem 1.15rem;
  align-items: end;
}

.nb-teacher-students-speak-page__field {
  min-width: 0;
}

.nb-teacher-students-speak-page__field .form-label {
  margin-bottom: 0.45rem;
  color: #365178;
  font-size: 0.98rem;
  font-weight: 700;
}

.nb-teacher-students-speak-page__control-wrap {
  position: relative;
}

.nb-teacher-students-speak-page__control-icon {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  color: #5d6f91;
  font-size: 1rem;
  pointer-events: none;
}

.nb-teacher-students-speak-page__select,
.nb-teacher-students-speak-page__input,
.nb-teacher-students-speak-page__sort-chip {
  min-height: 3.35rem;
  border: 1px solid rgba(62, 101, 177, 0.18);
  border-radius: 0.95rem;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.nb-teacher-students-speak-page__select,
.nb-teacher-students-speak-page__input {
  color: var(--nb-students-speak-navy);
  font-size: 0.98rem;
}

.nb-teacher-students-speak-page__select {
  padding-left: 2.8rem;
}

.nb-teacher-students-speak-page__input {
  padding-left: 2.8rem;
}

.nb-teacher-students-speak-page__sort-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  width: 100%;
  padding: 0.85rem 1rem;
  color: var(--nb-students-speak-navy);
  font-weight: 600;
}

.nb-teacher-students-speak-page__sort-chip i {
  color: var(--nb-students-speak-blue);
}

.nb-teacher-students-speak-page__filter-actions {
  display: flex;
  gap: 0.85rem;
  grid-column: 1 / -1;
  margin-top: 0.15rem;
}

.nb-teacher-students-speak-page__filter-button,
.nb-teacher-students-speak-page__clear-button,
.nb-teacher-students-speak-page__open-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3rem;
  border-radius: 0.95rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.nb-teacher-students-speak-page__filter-button:hover,
.nb-teacher-students-speak-page__clear-button:hover,
.nb-teacher-students-speak-page__open-button:hover,
.nb-teacher-students-speak-page__filter-button:focus-visible,
.nb-teacher-students-speak-page__clear-button:focus-visible,
.nb-teacher-students-speak-page__open-button:focus-visible {
  transform: translateY(-1px);
  text-decoration: none;
}

.nb-teacher-students-speak-page__filter-button {
  border: 0;
  padding: 0.9rem 1.25rem;
  background: linear-gradient(135deg, var(--nb-students-speak-blue), var(--nb-students-speak-blue-deep));
  color: #fff;
}

.nb-teacher-students-speak-page__filter-button:hover,
.nb-teacher-students-speak-page__filter-button:focus-visible {
  color: #fff;
}

.nb-teacher-students-speak-page__clear-button,
.nb-teacher-students-speak-page__open-button {
  padding: 0.86rem 1.15rem;
  border: 1px solid rgba(60, 103, 182, 0.2);
  background: #fff;
  color: var(--nb-students-speak-blue);
}

.nb-teacher-students-speak-page__clear-button:hover,
.nb-teacher-students-speak-page__clear-button:focus-visible,
.nb-teacher-students-speak-page__open-button:hover,
.nb-teacher-students-speak-page__open-button:focus-visible {
  color: var(--nb-students-speak-blue-deep);
}

.nb-teacher-students-speak-page__results-bar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-top: 1.2rem;
}

.nb-teacher-students-speak-page__results-bar p {
  margin: 0;
  color: #324e7a;
  font-size: 1.02rem;
  font-weight: 700;
}

.nb-teacher-students-speak-page__view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
}

.nb-teacher-students-speak-page__view-toggle-item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.2rem 0;
  color: #7b8da9;
  font-weight: 600;
}

.nb-teacher-students-speak-page__view-toggle-item--active {
  color: var(--nb-students-speak-blue);
  border-bottom: 3px solid var(--nb-students-speak-blue);
}

.nb-teacher-students-speak-page__list {
  display: grid;
  gap: 1rem;
  margin-top: 0.55rem;
}

.nb-teacher-students-speak-page__response-card {
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) minmax(0, 1.85fr) minmax(220px, 0.65fr);
  gap: 1.25rem;
  align-items: center;
  padding: 1rem 1rem 1rem 1.05rem;
  border: 1px solid var(--nb-students-speak-line);
  border-radius: 1.25rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 255, 0.96));
  box-shadow: 0 12px 30px rgba(15, 34, 78, 0.06);
}

.nb-teacher-students-speak-page__student,
.nb-teacher-students-speak-page__response {
  min-width: 0;
}

.nb-teacher-students-speak-page__student {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
}

.nb-teacher-students-speak-page__avatar-stack {
  position: relative;
  width: 5.2rem;
  height: 5.2rem;
  flex: 0 0 auto;
}

.nb-teacher-students-speak-page__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.2rem;
  height: 5.2rem;
  border-radius: 50%;
  font-family: var(--nb-font-heading);
  font-size: 1.85rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.nb-teacher-students-speak-page__avatar--violet,
.nb-teacher-students-speak-page__quote-icon--violet,
.nb-teacher-students-speak-page__classroom-pill--violet,
.nb-teacher-students-speak-page__classroom-badge--violet {
  background: linear-gradient(180deg, #f1e9ff, #e5d9ff);
  color: #5d36d6;
}

.nb-teacher-students-speak-page__avatar--green,
.nb-teacher-students-speak-page__quote-icon--green,
.nb-teacher-students-speak-page__classroom-pill--green,
.nb-teacher-students-speak-page__classroom-badge--green {
  background: linear-gradient(180deg, #e7f8eb, #d6f0dd);
  color: #188441;
}

.nb-teacher-students-speak-page__avatar--orange,
.nb-teacher-students-speak-page__quote-icon--orange,
.nb-teacher-students-speak-page__classroom-pill--orange,
.nb-teacher-students-speak-page__classroom-badge--orange {
  background: linear-gradient(180deg, #fff0e5, #ffe2cf);
  color: #ed6a1b;
}

.nb-teacher-students-speak-page__avatar--blue,
.nb-teacher-students-speak-page__quote-icon--blue,
.nb-teacher-students-speak-page__classroom-pill--blue,
.nb-teacher-students-speak-page__classroom-badge--blue {
  background: linear-gradient(180deg, #e8f2ff, #d8e8ff);
  color: #2563eb;
}

.nb-teacher-students-speak-page__classroom-badge {
  position: absolute;
  right: -0.2rem;
  bottom: -0.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.45rem;
  border: 3px solid #fff;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(15, 34, 78, 0.1);
}

.nb-teacher-students-speak-page__student-meta h2,
.nb-teacher-students-speak-page__response-copy h3 {
  margin: 0;
  color: var(--nb-students-speak-navy);
}

.nb-teacher-students-speak-page__student-meta h2 {
  font-size: 1.18rem;
  font-weight: 700;
}

.nb-teacher-students-speak-page__student-meta p {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.35rem 0 0;
  color: var(--nb-students-speak-soft);
  font-size: 0.98rem;
}

.nb-teacher-students-speak-page__classroom-pill {
  display: inline-flex;
  margin-top: 0.65rem;
  padding: 0.42rem 0.82rem;
  border-radius: 999px;
  font-size: 0.9rem;
  font-weight: 700;
}

.nb-teacher-students-speak-page__response {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.95rem;
  align-items: start;
  padding: 0 0.4rem 0 0.1rem;
  border-left: 1px solid rgba(54, 93, 164, 0.12);
}

.nb-teacher-students-speak-page__quote-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  font-size: 1.1rem;
}

.nb-teacher-students-speak-page__response-copy h3 {
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.35;
}

.nb-teacher-students-speak-page__response-copy p {
  display: -webkit-box;
  margin: 0.48rem 0 0;
  overflow: hidden;
  color: var(--nb-students-speak-ink);
  font-size: 1rem;
  line-height: 1.55;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.nb-teacher-students-speak-page__actions {
  display: grid;
  justify-items: end;
  gap: 0.85rem;
}

.nb-teacher-students-speak-page__status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2rem;
  padding: 0.32rem 0.95rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.nb-teacher-students-speak-page__status--needs-approval {
  background: rgba(255, 148, 21, 0.16);
  color: #d97706;
}

.nb-teacher-students-speak-page__status--approved {
  background: rgba(34, 197, 94, 0.14);
  color: #188441;
}

.nb-teacher-students-speak-page__status--returned {
  background: rgba(59, 130, 246, 0.14);
  color: #2563eb;
}

.nb-teacher-students-speak-page__open-button {
  min-width: 12.25rem;
}

.nb-teacher-students-speak-page__empty {
  margin-top: 0.75rem;
  padding: 2.2rem 1.5rem;
  border: 1px dashed rgba(54, 93, 164, 0.24);
  border-radius: 1.3rem;
  background: rgba(255, 255, 255, 0.86);
  text-align: center;
}

.nb-teacher-students-speak-page__empty h2 {
  margin: 0;
  color: var(--nb-students-speak-navy);
  font-size: 1.4rem;
}

.nb-teacher-students-speak-page__empty p {
  margin: 0.55rem auto 0;
  max-width: 34rem;
  color: var(--nb-students-speak-ink);
}

/* Students Speak page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-teacher-students-speak-page__hero,
  .nb-teacher-students-speak-page__filters-form,
  .nb-teacher-students-speak-page__response-card {
    grid-template-columns: 1fr;
  }

  .nb-teacher-students-speak-page__hero,
  .nb-teacher-students-speak-page__filters-card,
  .nb-teacher-students-speak-page__results-bar,
  .nb-teacher-students-speak-page__list,
  .nb-teacher-students-speak-page__empty {
    margin-right: 1.4rem;
    margin-left: 1.4rem;
  }

  .nb-teacher-students-speak-page__hero-art {
    justify-content: center;
  }

  .nb-teacher-students-speak-page__hero-art img {
    width: min(100%, 25rem);
  }

  .nb-teacher-students-speak-page__response {
    padding: 0;
    border-left: 0;
    border-top: 1px solid rgba(54, 93, 164, 0.12);
    padding-top: 1rem;
  }

  .nb-teacher-students-speak-page__actions {
    justify-items: start;
  }
}

/* Students Speak page - Mobile */
@media (max-width: 767.98px) {
  .nb-teacher-students-speak-page__shell {
    padding-top: 1.15rem;
    border-radius: 1.4rem;
  }

  .nb-teacher-students-speak-page__hero,
  .nb-teacher-students-speak-page__filters-card,
  .nb-teacher-students-speak-page__results-bar,
  .nb-teacher-students-speak-page__list,
  .nb-teacher-students-speak-page__empty {
    margin-right: 1rem;
    margin-left: 1rem;
  }

  .nb-teacher-students-speak-page__hero,
  .nb-teacher-students-speak-page__filters-form,
  .nb-teacher-students-speak-page__response-card {
    grid-template-columns: 1fr;
  }

  .nb-teacher-students-speak-page__title-lockup {
    grid-template-columns: 1fr;
  }

  .nb-teacher-students-speak-page__title-icon {
    width: 4rem;
    height: 4rem;
    font-size: 1.8rem;
  }

  .nb-teacher-students-speak-page__title-lockup h1 {
    font-size: clamp(2.4rem, 12vw, 3.3rem);
  }

  .nb-teacher-students-speak-page__lede {
    font-size: 1.02rem;
  }

  .nb-teacher-students-speak-page__hero-art {
    justify-content: center;
  }

  .nb-teacher-students-speak-page__hero-art img {
    width: 100%;
  }

  .nb-teacher-students-speak-page__filters-card {
    padding: 1rem;
  }

  .nb-teacher-students-speak-page__filter-actions,
  .nb-teacher-students-speak-page__results-bar,
  .nb-teacher-students-speak-page__student,
  .nb-teacher-students-speak-page__response {
    grid-template-columns: 1fr;
  }

  .nb-teacher-students-speak-page__filter-actions,
  .nb-teacher-students-speak-page__results-bar {
    display: grid;
  }

  .nb-teacher-students-speak-page__view-toggle {
    justify-content: flex-start;
  }

  .nb-teacher-students-speak-page__response-card {
    padding: 1rem;
  }

  .nb-teacher-students-speak-page__response {
    border-left: 0;
    border-top: 1px solid rgba(54, 93, 164, 0.12);
    padding: 1rem 0 0;
  }

  .nb-teacher-students-speak-page__actions {
    justify-items: stretch;
  }

  .nb-teacher-students-speak-page__open-button {
    width: 100%;
  }
}

/* Newz Stories page - Desktop */
.nb-teacher-newz-stories-page {
  --nb-newz-stories-purple: #6d3df2;
  --nb-newz-stories-purple-deep: #5727dd;
  --nb-newz-stories-navy: #112458;
  --nb-newz-stories-ink: #334a73;
  --nb-newz-stories-soft: #70819c;
  --nb-newz-stories-line: rgba(76, 89, 176, 0.14);
  --nb-newz-stories-panel: rgba(255, 255, 255, 0.95);
  --nb-newz-stories-shadow: 0 20px 48px rgba(17, 36, 88, 0.08);
}

.nb-teacher-newz-stories-page .container-wide {
  max-width: 1500px;
}

.nb-teacher-newz-stories-page__shell {
  padding: 1.55rem 0 2.2rem;
  border: 1px solid rgba(76, 89, 176, 0.08);
  border-radius: 1.9rem;
  background:
    radial-gradient(circle at 16% 0%, rgba(175, 155, 255, 0.12), transparent 25%),
    linear-gradient(180deg, rgba(251, 251, 255, 0.98), rgba(255, 255, 255, 0.98));
  box-shadow: 0 24px 64px rgba(17, 36, 88, 0.08);
}

.nb-teacher-newz-stories-page__hero,
.nb-teacher-newz-stories-page__filters-card,
.nb-teacher-newz-stories-page__results-bar,
.nb-teacher-newz-stories-page__list,
.nb-teacher-newz-stories-page__empty {
  margin-right: 2rem;
  margin-left: 2rem;
}

.nb-teacher-newz-stories-page__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 1.6rem;
  align-items: center;
}

.nb-teacher-newz-stories-page__title-lockup {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.2rem;
  align-items: center;
}

.nb-teacher-newz-stories-page__title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 1.2rem;
  background: linear-gradient(180deg, #7c54f7, #5a2bdf);
  box-shadow: 0 16px 30px rgba(90, 43, 223, 0.22);
  color: #fff;
  font-size: 2rem;
}

.nb-teacher-newz-stories-page__title-lockup .nb-eyebrow {
  margin: 0 0 0.55rem;
}

.nb-teacher-newz-stories-page__title-lockup h1 {
  margin: 0;
  color: var(--nb-newz-stories-navy);
  font-family: var(--nb-font-heading);
  font-size: clamp(3rem, 4.6vw, 4.15rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.nb-teacher-newz-stories-page__lede {
  max-width: 41rem;
  margin: 1.35rem 0 0;
  color: var(--nb-newz-stories-ink);
  font-size: 1.14rem;
  line-height: 1.58;
}

.nb-teacher-newz-stories-page__hero-art {
  display: flex;
  justify-content: flex-end;
}

.nb-teacher-newz-stories-page__hero-art img {
  width: min(100%, 34rem);
  height: auto;
}

.nb-teacher-newz-stories-page__filters-card {
  margin-top: 1.15rem;
  padding: 1.2rem 1.35rem 1.35rem;
  border: 1px solid var(--nb-newz-stories-line);
  border-radius: 1.35rem;
  background: var(--nb-newz-stories-panel);
  box-shadow: var(--nb-newz-stories-shadow);
}

.nb-teacher-newz-stories-page__filters-form {
  display: grid;
  grid-template-columns: 1.1fr 0.85fr 1.45fr 0.75fr;
  gap: 1rem 1.15rem;
  align-items: end;
}

.nb-teacher-newz-stories-page__field {
  min-width: 0;
}

.nb-teacher-newz-stories-page__field .form-label {
  margin-bottom: 0.45rem;
  color: #384e83;
  font-size: 0.98rem;
  font-weight: 700;
}

.nb-teacher-newz-stories-page__control-wrap {
  position: relative;
}

.nb-teacher-newz-stories-page__control-icon {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  color: #687b9f;
  font-size: 1rem;
  pointer-events: none;
}

.nb-teacher-newz-stories-page__select,
.nb-teacher-newz-stories-page__input,
.nb-teacher-newz-stories-page__sort-chip {
  min-height: 3.35rem;
  border: 1px solid rgba(95, 107, 184, 0.18);
  border-radius: 0.95rem;
  background: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.nb-teacher-newz-stories-page__select,
.nb-teacher-newz-stories-page__input {
  color: var(--nb-newz-stories-navy);
  font-size: 0.98rem;
}

.nb-teacher-newz-stories-page__select {
  padding-left: 2.8rem;
}

.nb-teacher-newz-stories-page__input {
  padding-left: 2.8rem;
}

.nb-teacher-newz-stories-page__sort-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  width: 100%;
  padding: 0.85rem 1rem;
  color: var(--nb-newz-stories-navy);
  font-weight: 600;
}

.nb-teacher-newz-stories-page__sort-chip i {
  color: var(--nb-newz-stories-purple);
}

.nb-teacher-newz-stories-page__filter-actions {
  display: flex;
  gap: 0.85rem;
  grid-column: 1 / -1;
  margin-top: 0.15rem;
}

.nb-teacher-newz-stories-page__filter-button,
.nb-teacher-newz-stories-page__clear-button,
.nb-teacher-newz-stories-page__open-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3rem;
  border-radius: 0.95rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.nb-teacher-newz-stories-page__filter-button:hover,
.nb-teacher-newz-stories-page__clear-button:hover,
.nb-teacher-newz-stories-page__open-button:hover,
.nb-teacher-newz-stories-page__filter-button:focus-visible,
.nb-teacher-newz-stories-page__clear-button:focus-visible,
.nb-teacher-newz-stories-page__open-button:focus-visible {
  transform: translateY(-1px);
  text-decoration: none;
}

.nb-teacher-newz-stories-page__filter-button {
  border: 0;
  padding: 0.9rem 1.25rem;
  background: linear-gradient(135deg, var(--nb-newz-stories-purple), var(--nb-newz-stories-purple-deep));
  color: #fff;
}

.nb-teacher-newz-stories-page__filter-button:hover,
.nb-teacher-newz-stories-page__filter-button:focus-visible {
  color: #fff;
}

.nb-teacher-newz-stories-page__clear-button,
.nb-teacher-newz-stories-page__open-button {
  padding: 0.86rem 1.15rem;
  border: 1px solid rgba(109, 61, 242, 0.28);
  background: #fff;
  color: var(--nb-newz-stories-purple);
}

.nb-teacher-newz-stories-page__clear-button:hover,
.nb-teacher-newz-stories-page__clear-button:focus-visible,
.nb-teacher-newz-stories-page__open-button:hover,
.nb-teacher-newz-stories-page__open-button:focus-visible {
  color: var(--nb-newz-stories-purple-deep);
}

.nb-teacher-newz-stories-page__results-bar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-top: 1.15rem;
}

.nb-teacher-newz-stories-page__results-bar p {
  margin: 0;
  color: #344a79;
  font-size: 1.02rem;
  font-weight: 700;
}

.nb-teacher-newz-stories-page__view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}

.nb-teacher-newz-stories-page__view-toggle-item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.2rem 0;
  color: #7d86a8;
  font-weight: 600;
}

.nb-teacher-newz-stories-page__view-toggle-item--active {
  color: var(--nb-newz-stories-purple);
  border-bottom: 3px solid var(--nb-newz-stories-purple);
}

.nb-teacher-newz-stories-page__list {
  display: grid;
  gap: 0.95rem;
  margin-top: 0.55rem;
}

.nb-teacher-newz-stories-page__story-card {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(220px, 0.65fr);
  gap: 1.25rem;
  align-items: center;
  padding: 1.1rem 1rem 1.1rem 1.2rem;
  border: 1px solid var(--nb-newz-stories-line);
  border-radius: 1.25rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 249, 255, 0.96));
  box-shadow: 0 12px 30px rgba(17, 36, 88, 0.06);
}

.nb-teacher-newz-stories-page__story-main,
.nb-teacher-newz-stories-page__story-actions {
  min-width: 0;
}

.nb-teacher-newz-stories-page__story-main h2 {
  margin: 0;
  color: var(--nb-newz-stories-navy);
  font-family: var(--nb-font-heading);
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.24;
}

.nb-teacher-newz-stories-page__story-summary {
  display: -webkit-box;
  margin: 0.48rem 0 0;
  overflow: hidden;
  color: var(--nb-newz-stories-ink);
  font-size: 1rem;
  line-height: 1.56;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.nb-teacher-newz-stories-page__meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  align-items: center;
  margin-top: 0.8rem;
  color: var(--nb-newz-stories-soft);
  font-size: 0.95rem;
}

.nb-teacher-newz-stories-page__author {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.nb-teacher-newz-stories-page__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 50%;
  font-size: 0.82rem;
  font-weight: 800;
}

.nb-teacher-newz-stories-page__avatar--violet,
.nb-teacher-newz-stories-page__subject-pill--violet,
.nb-teacher-newz-stories-page__classroom-code--violet {
  background: linear-gradient(180deg, #efe8ff, #e4d8ff);
  color: #6436dd;
}

.nb-teacher-newz-stories-page__avatar--green,
.nb-teacher-newz-stories-page__subject-pill--green,
.nb-teacher-newz-stories-page__classroom-code--green {
  background: linear-gradient(180deg, #e7f8eb, #d6f0dd);
  color: #188441;
}

.nb-teacher-newz-stories-page__avatar--orange,
.nb-teacher-newz-stories-page__subject-pill--orange,
.nb-teacher-newz-stories-page__classroom-code--orange {
  background: linear-gradient(180deg, #fff0e5, #ffe2cf);
  color: #ed6a1b;
}

.nb-teacher-newz-stories-page__avatar--blue,
.nb-teacher-newz-stories-page__subject-pill--blue,
.nb-teacher-newz-stories-page__classroom-code--blue {
  background: linear-gradient(180deg, #e8f2ff, #d8e8ff);
  color: #2563eb;
}

.nb-teacher-newz-stories-page__student-name {
  color: var(--nb-newz-stories-navy);
  font-weight: 700;
}

.nb-teacher-newz-stories-page__classroom-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 1.7rem;
  padding: 0 0.45rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 800;
}

.nb-teacher-newz-stories-page__meta-separator {
  color: #98a5bd;
}

.nb-teacher-newz-stories-page__subject-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 700;
}

.nb-teacher-newz-stories-page__story-actions {
  display: grid;
  justify-items: end;
  gap: 0.8rem;
  padding-left: 1.25rem;
  border-left: 1px solid rgba(95, 107, 184, 0.12);
}

.nb-teacher-newz-stories-page__status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2rem;
  padding: 0.32rem 0.95rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.nb-teacher-newz-stories-page__status--submitted {
  background: rgba(255, 148, 21, 0.16);
  color: #d97706;
}

.nb-teacher-newz-stories-page__status--approved {
  background: rgba(34, 197, 94, 0.14);
  color: #188441;
}

.nb-teacher-newz-stories-page__status--draft {
  background: rgba(37, 99, 235, 0.14);
  color: #2563eb;
}

.nb-teacher-newz-stories-page__open-button {
  min-width: 12.25rem;
}

.nb-teacher-newz-stories-page__status-note {
  margin: 0;
  color: var(--nb-newz-stories-soft);
  font-size: 0.94rem;
}

.nb-teacher-newz-stories-page__empty {
  margin-top: 0.75rem;
  padding: 2.2rem 1.5rem;
  border: 1px dashed rgba(95, 107, 184, 0.24);
  border-radius: 1.3rem;
  background: rgba(255, 255, 255, 0.86);
  text-align: center;
}

.nb-teacher-newz-stories-page__empty h2 {
  margin: 0;
  color: var(--nb-newz-stories-navy);
  font-size: 1.4rem;
}

.nb-teacher-newz-stories-page__empty p {
  margin: 0.55rem auto 0;
  max-width: 34rem;
  color: var(--nb-newz-stories-ink);
}

/* Newz Stories page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-teacher-newz-stories-page__hero,
  .nb-teacher-newz-stories-page__filters-form,
  .nb-teacher-newz-stories-page__story-card {
    grid-template-columns: 1fr;
  }

  .nb-teacher-newz-stories-page__hero,
  .nb-teacher-newz-stories-page__filters-card,
  .nb-teacher-newz-stories-page__results-bar,
  .nb-teacher-newz-stories-page__list,
  .nb-teacher-newz-stories-page__empty {
    margin-right: 1.4rem;
    margin-left: 1.4rem;
  }

  .nb-teacher-newz-stories-page__hero-art {
    justify-content: center;
  }

  .nb-teacher-newz-stories-page__hero-art img {
    width: min(100%, 28rem);
  }

  .nb-teacher-newz-stories-page__story-actions {
    justify-items: start;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(95, 107, 184, 0.12);
    padding-top: 1rem;
  }
}

/* Newz Stories page - Mobile */
@media (max-width: 767.98px) {
  .nb-teacher-newz-stories-page__shell {
    padding-top: 1.15rem;
    border-radius: 1.4rem;
  }

  .nb-teacher-newz-stories-page__hero,
  .nb-teacher-newz-stories-page__filters-card,
  .nb-teacher-newz-stories-page__results-bar,
  .nb-teacher-newz-stories-page__list,
  .nb-teacher-newz-stories-page__empty {
    margin-right: 1rem;
    margin-left: 1rem;
  }

  .nb-teacher-newz-stories-page__hero,
  .nb-teacher-newz-stories-page__filters-form,
  .nb-teacher-newz-stories-page__story-card {
    grid-template-columns: 1fr;
  }

  .nb-teacher-newz-stories-page__title-lockup {
    grid-template-columns: 1fr;
  }

  .nb-teacher-newz-stories-page__title-icon {
    width: 4rem;
    height: 4rem;
    font-size: 1.8rem;
  }

  .nb-teacher-newz-stories-page__title-lockup h1 {
    font-size: clamp(2.4rem, 12vw, 3.3rem);
  }

  .nb-teacher-newz-stories-page__lede {
    font-size: 1.02rem;
  }

  .nb-teacher-newz-stories-page__hero-art {
    justify-content: center;
  }

  .nb-teacher-newz-stories-page__hero-art img {
    width: 100%;
  }

  .nb-teacher-newz-stories-page__filters-card {
    padding: 1rem;
  }

  .nb-teacher-newz-stories-page__filter-actions,
  .nb-teacher-newz-stories-page__results-bar {
    display: grid;
  }

  .nb-teacher-newz-stories-page__view-toggle {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .nb-teacher-newz-stories-page__story-card {
    padding: 1rem;
  }

  .nb-teacher-newz-stories-page__story-actions {
    justify-items: stretch;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(95, 107, 184, 0.12);
    padding-top: 1rem;
  }

  .nb-teacher-newz-stories-page__open-button {
    width: 100%;
  }
}

.nb-teacher-pending-page__list {
  display: grid;
  gap: 0.9rem;
}

.nb-teacher-pending-page__item {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-left: 5px solid var(--blue);
  border-radius: 20px;
  box-shadow: 0 14px 30px rgba(15, 32, 70, 0.06);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 1rem 1.1rem;
}

.nb-teacher-pending-page__item--blue { border-left-color: var(--blue); }
.nb-teacher-pending-page__item--gold { border-left-color: var(--gold); }
.nb-teacher-pending-page__item--green { border-left-color: var(--green); }
.nb-teacher-pending-page__item--red { border-left-color: var(--red); }

.nb-teacher-pending-page__item-main {
  flex: 1 1 auto;
  min-width: 0;
}

.nb-teacher-pending-page__item-header {
  align-items: baseline;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 0.2rem;
}

.nb-teacher-pending-page__item-header h2 {
  font-size: 1.15rem;
  margin: 0;
}

.nb-teacher-pending-page__meta {
  color: var(--navy-60);
  font-size: 0.92rem;
  white-space: nowrap;
}

.nb-teacher-pending-page__subtitle,
.nb-teacher-pending-page__description {
  margin: 0.15rem 0 0;
}

.nb-teacher-pending-page__subtitle {
  color: var(--navy);
  font-weight: 600;
}

.nb-teacher-pending-page__description {
  color: var(--navy-70);
  font-size: 0.95rem;
}

.nb-teacher-pending-page__item-actions {
  flex: 0 0 auto;
}

.nb-teacher-upgrade-preview {
  display: grid;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.nb-teacher-upgrade-preview__media {
  display: grid;
  gap: 1rem;
}

.nb-teacher-upgrade-preview__tile {
  display: grid;
  grid-template-columns: minmax(96px, 128px) 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(15, 110, 198, 0.08);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.05);
}

.nb-teacher-upgrade-preview__tile img {
  width: 100%;
  max-height: 108px;
  object-fit: contain;
  border-radius: 1rem;
  background: #fff;
  padding: 0.5rem;
}

.nb-teacher-upgrade-preview__tile h3,
.nb-teacher-upgrade-preview__benefits h3 {
  margin-bottom: 0.4rem;
  font-size: 1.08rem;
}

.nb-teacher-upgrade-preview__tile p,
.nb-teacher-upgrade-preview__benefits li {
  margin: 0;
  font-size: 0.97rem;
  line-height: 1.6;
}

.nb-teacher-upgrade-preview__benefits {
  padding: 1.1rem 1.2rem;
  border-radius: 1.25rem;
  background: rgba(15, 110, 198, 0.06);
  border: 1px solid rgba(15, 110, 198, 0.08);
}

.nb-teacher-upgrade-preview__benefits ul {
  margin: 0;
  padding-left: 1.25rem;
}

.nb-teacher-upgrade-price {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  color: #163a63;
}

.nb-teacher-upgrade-price strong {
  font-size: 1.25rem;
  color: #0a4d8c;
}

@media (min-width: 992px) {
  .nb-teacher-upgrade-preview {
    grid-template-columns: 1.4fr 1fr;
    align-items: start;
  }
}

.nb-order-container {
  padding-top: 2rem;
  padding-bottom: 3rem;
}

.nb-order__hero {
  padding: 2.25rem;
  border-radius: 2rem;
  background:
    radial-gradient(circle at top right, rgba(255, 196, 65, 0.2), transparent 28%),
    linear-gradient(135deg, rgba(10, 77, 140, 0.06), rgba(255, 255, 255, 0.98));
  border: 1px solid rgba(10, 77, 140, 0.08);
}

.nb-order__hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 1.25rem 0 0;
}

.nb-order__hero-points span,
.nb-order__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.nb-order__hero-points span {
  background: rgba(10, 77, 140, 0.08);
  color: var(--blue);
}

.nb-order__heading {
  max-width: 52rem;
}

.nb-order__heading--full {
  max-width: none;
}

.nb-order__heading--compact {
  margin-top: -0.25rem;
}

.nb-order__banner {
  background: linear-gradient(135deg, #fff7df, #fff);
  border: 1px solid rgba(10, 77, 140, 0.08);
  border-radius: 2rem;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(26, 39, 68, 0.06);
}

.nb-order__promo-image {
  display: block;
  width: 100%;
}

.nb-order__source-card {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 160px 1fr 160px;
  align-items: center;
  padding: 2rem;
  background: linear-gradient(135deg, #0a4d8c, #0f6ec6);
  color: #fff;
  border-radius: 2rem;
  box-shadow: 0 18px 40px rgba(10, 77, 140, 0.18);
}

.nb-order__source-card img {
  width: 100%;
  max-width: 160px;
  justify-self: center;
  padding: 0.85rem;
  background: linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.08));
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 1.35rem;
  box-shadow: 0 14px 28px rgba(8, 32, 61, 0.18);
}

.nb-order__source-card--single {
  grid-template-columns: 1fr 160px;
}

.nb-order__source-card h2 {
  margin: 0 0 0.75rem;
  font-size: 1.45rem;
}

.nb-order__source-card p:last-child {
  margin-bottom: 0;
}

.nb-order__payment-copy {
  font-weight: 700;
  color: #ffe9a6;
}

.nb-order__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.nb-order__product-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}

.nb-order__tile,
.nb-order__product-card,
.nb-order-thankyou__card,
.nb-order-checkout__card,
.nb-order-checkout__visual {
  background: #fff;
  border: 1px solid rgba(10, 77, 140, 0.1);
  border-radius: 1.75rem;
  box-shadow: 0 18px 40px rgba(26, 39, 68, 0.08);
}

.nb-order__tile,
.nb-order__product-card {
  padding: 1.75rem;
}

.nb-order__product-card {
  flex: 0 1 calc((100% - 3rem) / 3);
  max-width: calc((100% - 3rem) / 3);
}

.nb-order__tile {
  position: relative;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.nb-order__tile:hover,
.nb-order__product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(26, 39, 68, 0.12);
}

.nb-order__tile--featured {
  border-color: rgba(224, 160, 29, 0.45);
  background: linear-gradient(180deg, rgba(255, 248, 226, 0.94), #fff 22rem);
}

.nb-order__tile-head,
.nb-order__product-head {
  display: grid;
  gap: 1rem;
}

.nb-order__tile-link {
  display: grid;
  gap: 1rem;
  color: inherit;
  text-decoration: none;
}

.nb-order__tile-link:hover {
  color: inherit;
}

.nb-order__tile-media {
  display: grid;
  place-items: center;
  min-height: 260px;
  padding: 1.5rem;
  background: linear-gradient(180deg, #fff, #f3f7fb);
  border-radius: 1.2rem;
  border: 1px solid rgba(10, 77, 140, 0.07);
  overflow: hidden;
}

.nb-order__tile-head img {
    width: 100%;
    max-width: 100%;
    max-height: 260px;
    object-fit: contain;
    justify-self: center;
}

.nb-order__badge {
  justify-self: start;
  background: rgba(224, 160, 29, 0.14);
  color: #9b6400;
}

.nb-order__badge--muted {
  background: rgba(10, 77, 140, 0.08);
  color: var(--blue);
}

.nb-order__tile-copy {
  color: var(--muted);
  margin: 0;
}

.nb-order__tile-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 800;
  color: var(--blue);
}

.nb-order__tile-cta::after {
  content: "->";
  font-size: 0.95rem;
}

.nb-order__feature-list {
  margin: 1rem 0 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.55rem;
}

.nb-order__price {
  font-size: 2rem;
  font-weight: 800;
  color: var(--blue);
}

.nb-order__price-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.nb-order__price-note,
.nb-order__product-kicker {
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
}

.nb-order__product-kicker {
  color: var(--blue);
}

.nb-order__price-note {
  color: var(--muted);
  max-width: 14rem;
  text-align: right;
}

.nb-order__product-head h3 span {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--muted);
  margin-top: 0.4rem;
}

.nb-order__product-copy {
  display: grid;
  gap: 0.85rem;
  color: var(--muted);
}

.nb-order__lead {
  color: var(--ink);
}

.nb-order__lead p,
.nb-order__detail-copy p {
  margin-bottom: 0.75rem;
}

.nb-order__lead p:last-child,
.nb-order__detail-copy p:last-child {
  margin-bottom: 0;
}

.nb-order__lead ul,
.nb-order__lead ol,
.nb-order__detail-copy ul,
.nb-order__detail-copy ol {
  margin: 0.75rem 0 0;
  padding-left: 1.2rem;
}

.nb-order__lead li,
.nb-order__detail-copy li {
  margin-bottom: 0.35rem;
}

.nb-order__actions {
  display: flex;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin-top: 1.25rem;
}

.nb-order .nb-button {
  min-height: 3rem;
}

.nb-order__action-button {
  width: 100%;
  justify-content: center;
}

.nb-order__product-button {
  flex: 1 1 100%;
  justify-content: center;
  text-align: center;
  font-weight: 800;
  border-radius: 999px;
  padding: 0.95rem 1.25rem;
  box-shadow: 0 12px 24px rgba(26, 39, 68, 0.12);
}

.nb-order__product-button--primary {
  background: linear-gradient(135deg, #0f6ec6, #0a4d8c);
  border-color: #0a4d8c;
  color: #fff;
}

.nb-order__product-button--primary:hover {
  color: #fff;
  filter: brightness(1.03);
}

.nb-order__product-button--secondary {
  background: linear-gradient(135deg, #f7b731, #e09f1d);
  border-color: #d69212;
  color: #1f2937;
}

.nb-order__product-button--secondary:hover {
  color: #111827;
  filter: brightness(1.02);
}

/* Free Trial Page */
.nb-trial-page {
  --nb-trial-blue: #2266da;
  --nb-trial-deep: #162d5f;
  --nb-trial-orange: #f26512;
  --nb-trial-green: #2d9b55;
  --nb-trial-purple: #713ed2;
  --nb-trial-red: #e64a5e;
  --nb-trial-cyan: #2f92dd;
  background:
    radial-gradient(circle at top left, rgba(242, 101, 18, 0.1), transparent 23%),
    radial-gradient(circle at top right, rgba(34, 102, 218, 0.08), transparent 28%),
    linear-gradient(180deg, #fbfdff 0%, #f4f8ff 52%, #ffffff 100%);
  color: var(--nb-trial-deep);
  padding: 2rem 0 4rem;
}

.nb-trial-page h1,
.nb-trial-page h2,
.nb-trial-page h3,
.nb-trial-page strong {
  font-family: var(--nb-font-heading);
}

.nb-trial-page__shell {
  align-items: start;
  display: grid;
  gap: 1.4rem;
  grid-template-columns: minmax(0, 1.6fr) minmax(21rem, 1fr);
}

.nb-trial-page__form-card,
.nb-trial-page__info-card {
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(20, 49, 93, 0.09);
  border-radius: 1.75rem;
  box-shadow: 0 24px 54px rgba(17, 38, 76, 0.08);
}

.nb-trial-page__form-card {
  padding: 1.9rem 2rem 1.75rem;
}

.nb-trial-page__aside {
  display: grid;
  gap: 1.4rem;
}

.nb-trial-page__info-card {
  padding: 1.4rem 1.55rem;
}

.nb-trial-page__header {
  margin-bottom: 1.7rem;
}

.nb-trial-page__eyebrow {
  color: var(--nb-trial-orange);
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  margin: 0 0 0.85rem;
  text-transform: uppercase;
}

.nb-trial-page__header h1,
.nb-trial-page__info-card h2 {
  color: var(--nb-trial-deep);
  font-size: clamp(2.35rem, 4vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 0.98;
  margin: 0;
}

.nb-trial-page__info-card h2 {
  font-size: clamp(1.9rem, 2.6vw, 2.8rem);
}

.nb-trial-page__lede,
.nb-trial-page__aside-intro {
  color: #2f4778;
  font-size: 1.14rem;
  line-height: 1.65;
  margin: 1rem 0 0;
}

.nb-trial-page__form {
  display: grid;
  gap: 1.15rem 1.3rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-trial-page__field {
  min-width: 0;
}

.nb-trial-page__field--full,
.nb-trial-page__actions {
  grid-column: 1 / -1;
}

.nb-trial-page__field .form-label {
  color: var(--nb-trial-deep);
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.45rem;
}

.nb-trial-page__field .form-label span {
  color: #667a9f;
  font-size: 0.92rem;
  font-weight: 600;
}

.nb-trial-page__field .form-control,
.nb-trial-page__field .form-select {
  background: #fff;
  border: 1px solid rgba(22, 45, 95, 0.16);
  border-radius: 0.8rem;
  color: var(--nb-trial-deep);
  min-height: 3rem;
  padding: 0.8rem 1rem;
}

.nb-trial-page__field .form-control::placeholder {
  color: #7587a8;
}

.nb-trial-page__field .form-control:focus,
.nb-trial-page__field .form-select:focus {
  border-color: rgba(34, 102, 218, 0.42);
  box-shadow: 0 0 0 0.25rem rgba(34, 102, 218, 0.11);
}

.nb-trial-page__field textarea.form-control {
  min-height: 5.7rem;
  resize: vertical;
}

.nb-trial-page__field .form-text,
.nb-trial-page__security-note {
  color: #617593;
  font-size: 0.95rem;
  line-height: 1.5;
}

.nb-trial-page__password-wrap {
  position: relative;
}

.nb-trial-page__password-wrap .form-control {
  padding-right: 3rem;
}

.nb-trial-page__password-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  color: #7184a4;
  display: inline-flex;
  height: 100%;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 0.95rem;
  top: 0;
  width: 1.5rem;
}

.nb-trial-page__password-toggle:hover,
.nb-trial-page__password-toggle:focus-visible {
  color: var(--nb-trial-blue);
  outline: none;
}

.nb-trial-page__actions {
  padding-top: 0.15rem;
}

.nb-trial-page__submit {
  align-items: center;
  display: inline-flex;
  gap: 0.7rem;
  justify-content: center;
  min-width: 16.5rem;
}

.nb-trial-page__submit:disabled {
  cursor: wait;
  opacity: 0.82;
}

.nb-trial-page__security-note {
  margin: 0.9rem 0 0;
}

.nb-trial-page__security-note i {
  margin-right: 0.45rem;
}

.nb-trial-page__steps {
  margin-top: 1.25rem;
}

.nb-trial-page__step {
  column-gap: 0.95rem;
  display: grid;
  grid-template-columns: 1.35rem 4.4rem minmax(0, 1fr);
  padding: 0.55rem 0 1.1rem;
  position: relative;
}

.nb-trial-page__step--linked::after {
  background: linear-gradient(180deg, rgba(34, 102, 218, 0.18), rgba(34, 102, 218, 0.04));
  content: "";
  left: 0.63rem;
  position: absolute;
  top: 2.35rem;
  bottom: -0.1rem;
  width: 1px;
}

.nb-trial-page__step-marker {
  align-items: center;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 800;
  height: 1.35rem;
  justify-content: center;
  position: relative;
  width: 1.35rem;
  z-index: 1;
}

.nb-trial-page__step-marker--blue {
  background: var(--nb-trial-blue);
}

.nb-trial-page__step-marker--green {
  background: var(--nb-trial-green);
}

.nb-trial-page__step-marker--purple {
  background: var(--nb-trial-purple);
}

.nb-trial-page__step-marker--orange {
  background: var(--nb-trial-orange);
}

.nb-trial-page__step-icon {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  font-size: 1.65rem;
  height: 4.1rem;
  justify-content: center;
  width: 4.1rem;
}

.nb-trial-page__step-icon--blue {
  background: rgba(34, 102, 218, 0.09);
  color: var(--nb-trial-blue);
}

.nb-trial-page__step-icon--green {
  background: rgba(45, 155, 85, 0.1);
  color: var(--nb-trial-green);
}

.nb-trial-page__step-icon--purple {
  background: rgba(113, 62, 210, 0.1);
  color: var(--nb-trial-purple);
}

.nb-trial-page__step-icon--orange {
  background: rgba(242, 101, 18, 0.1);
  color: var(--nb-trial-orange);
}

.nb-trial-page__step-copy {
  border-bottom: 1px solid rgba(20, 49, 93, 0.08);
  padding-bottom: 1rem;
}

.nb-trial-page__step-copy h3 {
  color: var(--nb-trial-deep);
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin: 0;
}

.nb-trial-page__step-copy p {
  color: #29436f;
  font-size: 1.03rem;
  line-height: 1.55;
  margin: 0.55rem 0 0;
}

.nb-trial-page__includes {
  display: grid;
  gap: 1rem 1.1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.35rem;
}

.nb-trial-page__include-item {
  align-items: center;
  column-gap: 0.75rem;
  display: grid;
  grid-template-columns: auto 1fr;
}

.nb-trial-page__include-item span:last-child {
  color: var(--nb-trial-deep);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.35;
}

.nb-trial-page__include-icon {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  font-size: 1.25rem;
  height: 2.75rem;
  justify-content: center;
  width: 2.75rem;
}

.nb-trial-page__include-icon--blue {
  background: rgba(34, 102, 218, 0.09);
  color: var(--nb-trial-blue);
}

.nb-trial-page__include-icon--red {
  background: rgba(230, 74, 94, 0.09);
  color: var(--nb-trial-red);
}

.nb-trial-page__include-icon--purple {
  background: rgba(113, 62, 210, 0.09);
  color: var(--nb-trial-purple);
}

.nb-trial-page__include-icon--green {
  background: rgba(45, 155, 85, 0.09);
  color: var(--nb-trial-green);
}

.nb-trial-page__include-icon--orange {
  background: rgba(242, 101, 18, 0.09);
  color: var(--nb-trial-orange);
}

.nb-trial-page__include-icon--cyan {
  background: rgba(47, 146, 221, 0.09);
  color: var(--nb-trial-cyan);
}

.nb-trial-page__support-box {
  align-items: start;
  background: linear-gradient(180deg, rgba(240, 246, 255, 0.95), rgba(247, 250, 255, 0.98));
  border-radius: 1.1rem;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto 1fr;
  margin-top: 1.7rem;
  padding: 1.2rem 1.25rem;
}

.nb-trial-page__support-icon {
  align-items: center;
  color: var(--nb-trial-blue);
  display: inline-flex;
  font-size: 2.75rem;
  height: 3.2rem;
  justify-content: center;
  width: 3.2rem;
}

.nb-trial-page__support-box h3 {
  color: var(--nb-trial-deep);
  font-size: 1.34rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  margin: 0;
}

.nb-trial-page__support-box p {
  color: #334b77;
  font-size: 1rem;
  line-height: 1.55;
  margin: 0.45rem 0 0;
}

.nb-trial-page__support-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.4rem;
  margin-top: 0.85rem;
}

.nb-trial-page__support-links a {
  color: var(--nb-trial-blue);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
}

.nb-trial-page__support-links a:hover,
.nb-trial-page__support-links a:focus-visible {
  text-decoration: underline;
}

.nb-trial-page__support-links i {
  margin-right: 0.45rem;
}

/* Free Trial Page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-trial-page__shell {
    grid-template-columns: 1fr;
  }

  .nb-trial-page__form-card {
    padding: 1.65rem 1.55rem;
  }

  .nb-trial-page__info-card {
    padding: 1.35rem 1.4rem;
  }

  .nb-trial-page__includes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Free Trial Page - Mobile */
@media (max-width: 767.98px) {
  .nb-trial-page {
    padding: 1.25rem 0 3rem;
  }

  .nb-trial-page__shell,
  .nb-trial-page__form,
  .nb-trial-page__includes,
  .nb-trial-page__support-box {
    grid-template-columns: 1fr;
  }

  .nb-trial-page__form-card,
  .nb-trial-page__info-card {
    border-radius: 1.35rem;
  }

  .nb-trial-page__form-card {
    padding: 1.35rem 1rem 1.15rem;
  }

  .nb-trial-page__info-card {
    padding: 1.2rem 1rem;
  }

  .nb-trial-page__header {
    margin-bottom: 1.35rem;
  }

  .nb-trial-page__header h1,
  .nb-trial-page__info-card h2 {
    font-size: clamp(2rem, 9vw, 3rem);
  }

  .nb-trial-page__lede,
  .nb-trial-page__aside-intro {
    font-size: 1rem;
  }

  .nb-trial-page__submit {
    width: 100%;
  }

  .nb-trial-page__step {
    grid-template-columns: 1.2rem 3.6rem minmax(0, 1fr);
  }

  .nb-trial-page__step-icon {
    font-size: 1.35rem;
    height: 3.4rem;
    width: 3.4rem;
  }

  .nb-trial-page__step-copy h3 {
    font-size: 1.3rem;
  }

  .nb-trial-page__step-copy p,
  .nb-trial-page__include-item span:last-child,
  .nb-trial-page__support-box p,
  .nb-trial-page__support-links a {
    font-size: 0.95rem;
  }

  .nb-trial-page__support-box h3 {
    font-size: 1.2rem;
  }
}

/* School License Page */
.nb-school-license-page {
  --nb-school-license-blue: #1849c8;
  --nb-school-license-deep: #183162;
  --nb-school-license-orange: #f26512;
  --nb-school-license-green: #22824c;
  --nb-school-license-purple: #7b43d1;
  --nb-school-license-surface: rgba(255, 255, 255, 0.96);
  --nb-school-license-border: rgba(24, 49, 98, 0.1);
  background:
    radial-gradient(circle at top left, rgba(242, 101, 18, 0.06), transparent 24%),
    linear-gradient(180deg, #fbfcff 0%, #f7faff 40%, #ffffff 100%);
  color: #15305f;
  padding: 0 0 4rem;
}

.nb-school-license-page h1,
.nb-school-license-page h2,
.nb-school-license-page h3,
.nb-school-license-page strong {
  font-family: var(--nb-font-heading);
}

.nb-school-license-page__hero-shell {
  align-items: center;
  display: flex;
  overflow: hidden;
  padding: 0 0 0.45rem;
  position: relative;
}

.nb-school-license-page__hero-background,
.nb-school-license-page__hero-background img {
  inset: 0;
  position: absolute;
}

.nb-school-license-page__hero-background {
  background:
    radial-gradient(circle at 86% 70%, rgba(86, 155, 244, 0.18), transparent 18%),
    radial-gradient(circle at 78% 18%, rgba(64, 151, 255, 0.2), transparent 18%),
    radial-gradient(circle at 70% 30%, rgba(34, 111, 224, 0.14), transparent 22%),
    linear-gradient(90deg, #f8fbff 0%, #eef5ff 34%, #dfeeff 58%, #d2e5ff 76%, #c8dfff 100%);
  pointer-events: none;
}

.nb-school-license-page__hero-background img {
  display: block;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  width: 100%;
}

.nb-school-license-page__container {
  display: grid;
  gap: 1.55rem;
}

.nb-school-license-page__path-card,
.nb-school-license-page__trust-strip,
.nb-school-license-page__support-card,
.nb-school-license-page__bottom-card {
  background: var(--nb-school-license-surface);
  border: 1px solid var(--nb-school-license-border);
  box-shadow: 0 24px 55px rgba(22, 48, 95, 0.08);
}

.nb-school-license-page__hero {
  display: block;
  min-height: 36.5rem;
  padding: 1.25rem 0 1rem;
  position: relative;
  z-index: 1;
}

.nb-school-license-page__hero-copy {
  max-width: 34rem;
  padding: 2.3rem 0 1rem 0.1rem;
}

@media (min-width: 1200px) {
  .nb-school-license-page__hero-shell {
    min-height: clamp(34rem, 41vw, 42rem);
  }

  .nb-school-license-page__hero {
    min-height: clamp(34rem, 41vw, 42rem);
    padding-bottom: 1.5rem;
  }

  .nb-school-license-page__hero-background img {
    object-position: center top;
  }
}

.nb-school-license-page__eyebrow {
  color: var(--nb-school-license-orange);
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.nb-school-license-page__hero-copy h1 {
  color: var(--nb-school-license-deep);
  font-size: clamp(2.85rem, 5vw, 4.65rem);
  font-weight: 800;
  letter-spacing: -0.05em;
  line-height: 0.94;
  margin: 0;
  max-width: 9ch;
}

.nb-school-license-page__hero-lede {
  color: #233f74;
  font-size: 1.18rem;
  line-height: 1.7;
  margin: 1.35rem 0 0;
  max-width: 32rem;
}

.nb-school-license-page__hero-highlights {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 1.8rem;
}

.nb-school-license-page__highlight {
  display: grid;
  gap: 0.4rem;
  justify-items: start;
}

.nb-school-license-page__highlight-icon {
  align-items: center;
  border-radius: 1rem;
  display: inline-flex;
  font-size: 1.5rem;
  height: 3rem;
  justify-content: center;
  width: 3rem;
}

.nb-school-license-page__highlight-icon--blue {
  background: rgba(24, 73, 200, 0.08);
  color: var(--nb-school-license-blue);
}

.nb-school-license-page__highlight-icon--green {
  background: rgba(34, 130, 76, 0.08);
  color: var(--nb-school-license-green);
}

.nb-school-license-page__highlight-icon--purple {
  background: rgba(123, 67, 209, 0.08);
  color: var(--nb-school-license-purple);
}

.nb-school-license-page__highlight-icon--orange {
  background: rgba(242, 101, 18, 0.08);
  color: var(--nb-school-license-orange);
}

.nb-school-license-page__highlight strong,
.nb-school-license-page__highlight span {
  color: var(--nb-school-license-deep);
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.3;
}

.nb-school-license-page__highlight span {
  color: #233f74;
  font-size: 0.95rem;
  font-weight: 700;
}

.nb-school-license-page__path-grid,
.nb-school-license-page__bottom-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-school-license-page__path-card {
  border-radius: 1.8rem;
  display: grid;
  gap: 1.3rem;
  padding: 1.55rem 1.55rem 1.25rem;
}

.nb-school-license-page__path-card--new {
  background: linear-gradient(180deg, rgba(255, 248, 237, 0.98), rgba(255, 255, 255, 0.98) 78%);
  border-color: rgba(242, 101, 18, 0.16);
}

.nb-school-license-page__path-card--renew {
  background: linear-gradient(180deg, rgba(244, 248, 255, 0.98), rgba(255, 255, 255, 0.98) 78%);
  border-color: rgba(24, 73, 200, 0.14);
}

.nb-school-license-page__path-card-header {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.nb-school-license-page__path-card-title {
  align-items: start;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto 1fr;
}

.nb-school-license-page__path-card-symbol {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  font-size: 1.65rem;
  height: 4.8rem;
  justify-content: center;
  width: 4.8rem;
}

.nb-school-license-page__path-card-symbol--orange {
  background: rgba(242, 101, 18, 0.08);
  color: var(--nb-school-license-orange);
}

.nb-school-license-page__path-card-symbol--blue {
  background: rgba(24, 73, 200, 0.09);
  color: var(--nb-school-license-blue);
}

.nb-school-license-page__pill {
  background: rgba(242, 101, 18, 0.12);
  border-radius: 999px;
  color: var(--nb-school-license-orange);
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  margin-bottom: 0.75rem;
  padding: 0.4rem 0.75rem;
  text-transform: uppercase;
}

.nb-school-license-page__path-card-title h2 {
  color: var(--nb-school-license-deep);
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1;
  margin: 0;
}

.nb-school-license-page__path-card-title p {
  color: var(--nb-school-license-blue);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.45;
  margin: 0.8rem 0 0;
  max-width: 18rem;
}

.nb-school-license-page__path-card--new .nb-school-license-page__path-card-title p {
  color: var(--nb-school-license-orange);
}

.nb-school-license-page__price-badge {
  align-self: center;
  background: radial-gradient(circle at top, rgba(255, 248, 235, 0.98), rgba(255, 247, 228, 0.92));
  border-radius: 50%;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  color: var(--nb-school-license-deep);
  display: grid;
  gap: 0.2rem;
  height: 11.3rem;
  justify-items: center;
  padding: 2rem 1.55rem 1.5rem;
  text-align: center;
  width: 11.3rem;
}

.nb-school-license-page__price-badge span,
.nb-school-license-page__price-badge em {
  color: #31486f;
  font-size: 0.95rem;
  font-style: normal;
  line-height: 1.35;
}

.nb-school-license-page__price-badge strong {
  color: var(--nb-school-license-orange);
  font-size: 3.45rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1;
}

.nb-school-license-page__renew-visual {
  align-items: center;
  background: radial-gradient(circle at center, rgba(24, 73, 200, 0.12), rgba(24, 73, 200, 0.05));
  border-radius: 50%;
  color: var(--nb-school-license-blue);
  display: inline-flex;
  height: 8.1rem;
  justify-content: center;
  position: relative;
  width: 8.1rem;
}

.nb-school-license-page__renew-visual-school {
  align-items: center;
  color: #235fda;
  display: inline-flex;
  font-size: 3rem;
  justify-content: center;
}

.nb-school-license-page__renew-visual-refresh {
  align-items: center;
  background: linear-gradient(135deg, #2f7cf8, #1b55d6);
  border: 3px solid rgba(255, 255, 255, 0.94);
  border-radius: 50%;
  bottom: 0.35rem;
  box-shadow: 0 10px 22px rgba(24, 73, 200, 0.22);
  color: #fff;
  display: inline-flex;
  font-size: 1.15rem;
  height: 2.4rem;
  justify-content: center;
  position: absolute;
  right: 0.35rem;
  width: 2.4rem;
}

.nb-school-license-page__path-card-body > p {
  color: #31486f;
  font-size: 1.04rem;
  line-height: 1.65;
  margin: 0;
  max-width: 29rem;
}

.nb-school-license-page__feature-list {
  display: grid;
  gap: 0.8rem;
  list-style: none;
  margin: 1.3rem 0 0;
  padding: 0;
}

.nb-school-license-page__feature-list li {
  align-items: center;
  color: var(--nb-school-license-deep);
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  gap: 0.7rem;
}

.nb-school-license-page__feature-list li::before {
  align-items: center;
  background: rgba(242, 101, 18, 0.1);
  border-radius: 50%;
  color: var(--nb-school-license-orange);
  content: "\f058";
  display: inline-flex;
  font-family: var(--nb-font-icon);
  font-size: 0.92rem;
  font-weight: 900;
  height: 1.55rem;
  justify-content: center;
  width: 1.55rem;
}

.nb-school-license-page__feature-list--blue li::before {
  background: rgba(24, 73, 200, 0.1);
  color: var(--nb-school-license-blue);
}

.nb-school-license-page__path-action {
  justify-content: center;
  width: 100%;
}

.nb-school-license-page__path-note {
  color: #4f6487;
  font-size: 0.95rem;
  margin: -0.15rem 0 0;
  text-align: center;
}

.nb-school-license-page__trust-strip {
  border-radius: 1.55rem;
  display: grid;
  gap: 0.6rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0.8rem 1.35rem;
}

.nb-school-license-page__trust-item {
  align-items: start;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: auto 1fr;
  padding: 0.85rem 0.35rem;
}

.nb-school-license-page__trust-item:not(:first-child) {
  border-left: 1px solid rgba(24, 49, 98, 0.1);
  padding-left: 1.2rem;
}

.nb-school-license-page__trust-icon {
  align-items: center;
  display: inline-flex;
  font-size: 1.8rem;
  height: 2.4rem;
  justify-content: center;
  width: 2.4rem;
}

.nb-school-license-page__trust-icon--green {
  color: var(--nb-school-license-green);
}

.nb-school-license-page__trust-icon--purple {
  color: var(--nb-school-license-purple);
}

.nb-school-license-page__trust-icon--orange {
  color: var(--nb-school-license-orange);
}

.nb-school-license-page__trust-icon--blue {
  color: var(--nb-school-license-blue);
}

.nb-school-license-page__trust-item h3 {
  color: var(--nb-school-license-deep);
  font-size: 1.16rem;
  font-weight: 800;
  margin: 0;
}

.nb-school-license-page__trust-item p {
  color: #36517d;
  font-size: 0.98rem;
  line-height: 1.5;
  margin: 0.15rem 0 0;
}

.nb-school-license-page__support-card {
  align-items: center;
  border-radius: 1.7rem;
  display: grid;
  gap: 1.4rem;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  padding: 1.35rem 1.5rem;
}

.nb-school-license-page__support-copy {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto 1fr;
}

.nb-school-license-page__support-icon {
  align-items: center;
  background: linear-gradient(135deg, #2b79ff, #1849c8);
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 1.8rem;
  height: 4.9rem;
  justify-content: center;
  width: 4.9rem;
}

.nb-school-license-page__support-copy h2 {
  color: var(--nb-school-license-deep);
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  margin: 0;
}

.nb-school-license-page__support-copy p,
.nb-school-license-page__support-actions p {
  color: #31486f;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0.45rem 0 0;
}

.nb-school-license-page__support-actions {
  border-left: 1px solid rgba(24, 49, 98, 0.12);
  display: grid;
  gap: 1rem;
  padding-left: 1.5rem;
}

.nb-school-license-page__bottom-card {
  align-items: center;
  border-radius: 1.7rem;
  display: grid;
  gap: 1.4rem;
  grid-template-columns: auto 1fr;
  overflow: hidden;
  padding: 1.25rem 1.35rem;
}

.nb-school-license-page__bottom-card--demo {
  background: linear-gradient(135deg, rgba(248, 243, 255, 0.96), rgba(255, 255, 255, 0.98));
}

.nb-school-license-page__bottom-card--contact {
  background: linear-gradient(135deg, rgba(244, 252, 243, 0.96), rgba(255, 255, 255, 0.98));
}

.nb-school-license-page__bottom-media {
  align-items: center;
  display: flex;
  justify-content: center;
  min-width: 13rem;
}

.nb-school-license-page__bottom-media img {
  max-height: 12rem;
  object-fit: contain;
}

.nb-school-license-page__bottom-copy h2 {
  color: var(--nb-school-license-deep);
  font-size: 1.95rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  margin: 0;
}

.nb-school-license-page__bottom-copy p {
  color: #31486f;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0.55rem 0 1rem;
}

.nb-school-license-page__bottom-action {
  align-items: center;
  backdrop-filter: none;
  border-width: 1px;
  box-shadow: 0 14px 28px rgba(22, 48, 95, 0.08);
  display: inline-flex;
  gap: 0.65rem;
  justify-content: center;
  min-width: 15rem;
  padding-inline: 1.5rem;
}

.nb-school-license-page__bottom-card--demo .nb-school-license-page__bottom-action {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(123, 67, 209, 0.2);
  color: #5b35a5;
}

.nb-school-license-page__bottom-card--demo .nb-school-license-page__bottom-action:hover,
.nb-school-license-page__bottom-card--demo .nb-school-license-page__bottom-action:focus-visible,
.nb-school-license-page__bottom-card--demo .nb-school-license-page__bottom-action:active {
  background: #ffffff;
  border-color: rgba(123, 67, 209, 0.32);
  color: #4b278f;
}

.nb-school-license-page__bottom-card--contact .nb-school-license-page__bottom-action {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(34, 130, 76, 0.22);
  color: #1f7f43;
}

.nb-school-license-page__bottom-card--contact .nb-school-license-page__bottom-action:hover,
.nb-school-license-page__bottom-card--contact .nb-school-license-page__bottom-action:focus-visible,
.nb-school-license-page__bottom-card--contact .nb-school-license-page__bottom-action:active {
  background: #ffffff;
  border-color: rgba(34, 130, 76, 0.34);
  color: #166635;
}

.nb-school-license-page__bottom-copy > span {
  color: #4f6487;
  display: block;
  font-size: 0.96rem;
  margin-top: 0.85rem;
}

.nb-school-license-page__contact-badge {
  align-items: center;
  background: radial-gradient(circle at center, rgba(34, 130, 76, 0.16), rgba(34, 130, 76, 0.06));
  border-radius: 50%;
  color: var(--nb-school-license-green);
  display: inline-flex;
  font-size: 2.45rem;
  height: 7rem;
  justify-content: center;
  width: 7rem;
}

.nb-school-license-page__contact-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1rem 1.35rem;
  margin-top: 1rem;
}

.nb-school-license-page__contact-meta a {
  color: #1d6a34;
  font-size: 0.98rem;
  font-weight: 700;
  text-decoration: none;
}

.nb-school-license-page__contact-meta a:hover,
.nb-school-license-page__contact-meta a:focus-visible {
  text-decoration: underline;
}

.nb-school-license-page__contact-meta i {
  margin-right: 0.45rem;
}

/* School License Page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-school-license-page__hero-background img {
    object-fit: cover;
    object-position: 62% top;
  }

  .nb-school-license-page__hero,
  .nb-school-license-page__support-card,
  .nb-school-license-page__bottom-grid {
    grid-template-columns: 1fr;
  }

  .nb-school-license-page__hero {
    min-height: 28rem;
    padding: 0.7rem 0 0.55rem;
  }

  .nb-school-license-page__hero-copy h1 {
    max-width: 10ch;
  }

  .nb-school-license-page__hero-copy {
    max-width: 31rem;
    padding: 1.5rem 0 0.8rem 0.1rem;
  }

  .nb-school-license-page__hero-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-school-license-page__path-grid,
  .nb-school-license-page__trust-strip {
    grid-template-columns: 1fr;
  }

  .nb-school-license-page__path-card-header,
  .nb-school-license-page__support-card,
  .nb-school-license-page__bottom-card {
    grid-template-columns: 1fr;
  }

  .nb-school-license-page__price-badge,
  .nb-school-license-page__renew-visual {
    justify-self: start;
  }

  .nb-school-license-page__trust-item:not(:first-child),
  .nb-school-license-page__support-actions {
    border-left: none;
    padding-left: 0;
  }

  .nb-school-license-page__trust-item:not(:first-child),
  .nb-school-license-page__support-actions {
    border-top: 1px solid rgba(24, 49, 98, 0.1);
    padding-top: 1rem;
  }

  .nb-school-license-page__bottom-media {
    justify-content: flex-start;
  }
}

/* School License Page - Mobile */
@media (max-width: 767.98px) {
  .nb-school-license-page__hero-background img {
    object-fit: cover;
    object-position: 68% top;
  }

  .nb-school-license-page {
    padding: 0 0 3rem;
  }

  .nb-school-license-page__hero,
  .nb-school-license-page__path-grid,
  .nb-school-license-page__trust-strip,
  .nb-school-license-page__support-card,
  .nb-school-license-page__bottom-grid,
  .nb-school-license-page__bottom-card {
    grid-template-columns: 1fr;
  }

  .nb-school-license-page__hero {
    min-height: auto;
    padding: 0.45rem 0 0.35rem;
  }

  .nb-school-license-page__hero-copy {
    max-width: 26rem;
    padding: 0.75rem 0 0.45rem;
    padding-left: 0;
  }

  .nb-school-license-page__hero-copy h1 {
    font-size: clamp(2.6rem, 13vw, 4rem);
    max-width: 8ch;
  }

  .nb-school-license-page__hero-lede {
    font-size: 1.03rem;
    line-height: 1.65;
    max-width: none;
  }

  .nb-school-license-page__hero-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-school-license-page__highlight {
    gap: 0.3rem;
  }

  .nb-school-license-page__highlight strong,
  .nb-school-license-page__highlight span {
    font-size: 0.88rem;
  }

  .nb-school-license-page__path-card {
    border-radius: 1.45rem;
    padding: 1.2rem 1rem 1rem;
  }

  .nb-school-license-page__path-card-header,
  .nb-school-license-page__path-card-title,
  .nb-school-license-page__support-card {
    grid-template-columns: 1fr;
  }

  .nb-school-license-page__path-card-symbol,
  .nb-school-license-page__price-badge,
  .nb-school-license-page__renew-visual {
    justify-self: start;
  }

  .nb-school-license-page__price-badge {
    height: 9.8rem;
    padding: 1.55rem 1.2rem 1.2rem;
    width: 9.8rem;
  }

  .nb-school-license-page__price-badge strong {
    font-size: 2.9rem;
  }

  .nb-school-license-page__renew-visual {
    height: 6.6rem;
    width: 6.6rem;
  }

  .nb-school-license-page__renew-visual-school {
    font-size: 2.35rem;
  }

  .nb-school-license-page__renew-visual-refresh {
    font-size: 0.98rem;
    height: 2.1rem;
    width: 2.1rem;
  }

  .nb-school-license-page__path-card-title h2,
  .nb-school-license-page__support-copy h2,
  .nb-school-license-page__bottom-copy h2 {
    font-size: 2rem;
  }

  .nb-school-license-page__path-card-title p,
  .nb-school-license-page__path-card-body > p,
  .nb-school-license-page__support-copy p,
  .nb-school-license-page__support-actions p,
  .nb-school-license-page__bottom-copy p {
    font-size: 0.98rem;
  }

  .nb-school-license-page__path-action,
  .nb-school-license-page__support-actions .nb-school-home__cta-btn,
  .nb-school-license-page__bottom-copy .nb-school-home__cta-btn {
    width: 100%;
  }

  .nb-school-license-page__trust-strip,
  .nb-school-license-page__support-card,
  .nb-school-license-page__bottom-card {
    border-radius: 1.35rem;
    padding: 1rem;
  }

  .nb-school-license-page__trust-item:not(:first-child),
  .nb-school-license-page__support-actions {
    border-left: none;
    border-top: 1px solid rgba(24, 49, 98, 0.1);
    padding-left: 0;
    padding-top: 1rem;
  }

  .nb-school-license-page__bottom-media {
    justify-content: flex-start;
    min-width: 0;
  }

  .nb-school-license-page__bottom-media img {
    max-height: 8.5rem;
  }

  .nb-school-license-page__contact-badge {
    font-size: 2rem;
    height: 5.6rem;
    width: 5.6rem;
  }

  .nb-school-license-page__contact-meta {
    flex-direction: column;
    gap: 0.7rem;
  }
}

.nb-order-checkout {
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) 280px;
  align-items: start;
}

.nb-order-checkout__card {
  padding: 2rem;
}

.nb-order-checkout__card > h1 {
  margin-bottom: 1.5rem;
}

.nb-order-checkout__card h2 {
  font-size: 1.15rem;
  margin-bottom: 0.85rem;
}

.nb-order-checkout__visual {
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
  position: sticky;
  top: 120px;
  background: linear-gradient(180deg, #f7fbff, #eef5fc);
}

.nb-order-checkout__visual-frame {
  display: grid;
  place-items: center;
  padding: 1rem;
  background: linear-gradient(180deg, #fff, #f3f8fd);
  border: 1px solid rgba(10, 77, 140, 0.08);
  border-radius: 1.35rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
}

.nb-order-checkout__visual img {
  width: 100%;
  max-width: 220px;
  padding: 0.5rem;
  border-radius: 1rem;
}

.nb-order-form,
.nb-order-form__section,
.nb-order-totals,
.nb-order-thankyou,
.nb-order-thankyou__lines {
  display: grid;
  gap: 1.25rem;
}

.nb-order-form__section {
  padding-top: 1.5rem;
  border-top: 1px solid rgba(10, 77, 140, 0.1);
}

.nb-order-form label {
  display: inline-block;
  margin-bottom: 0.45rem;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ink);
}

.nb-order-form__grid,
.nb-order-thankyou__columns {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-order-summary,
.nb-order-totals > div,
.nb-order-thankyou__lines > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.nb-order-summary {
  font-size: 1.1rem;
  padding: 1rem 1.15rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 77, 140, 0.08);
  border-radius: 1rem;
}

.nb-order-summary--product-card {
  align-items: stretch;
  gap: 1.5rem;
  padding: 1.4rem 1.45rem;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border-color: rgba(10, 77, 140, 0.12);
}

.nb-order-summary__title {
  color: #102a63;
  font-size: 1.65rem;
  font-weight: 800;
  line-height: 1.15;
}

.nb-order-summary__subtitle,
.nb-order__product-subtitle {
  margin-top: 0.35rem;
  color: #1e9d48;
  font-size: 1.02rem;
  font-weight: 800;
}

.nb-order-summary__summary {
  margin: 0.85rem 0 0;
  color: #30445f;
  font-size: 0.98rem;
  line-height: 1.6;
}

.nb-order-summary__features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem 1rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(10, 77, 140, 0.08);
}

.nb-order-summary__feature {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: #102a63;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.35;
}

.nb-order-summary__feature i {
  font-size: 1.05rem;
}

.nb-order-summary__feature--blue i {
  color: #1f6fff;
}

.nb-order-summary__feature--red i {
  color: #e24747;
}

.nb-order-summary__feature--purple i {
  color: #7b35ff;
}

.nb-order-summary__feature--orange i {
  color: #f97316;
}

.nb-order-summary__feature--green i {
  color: #2f9838;
}

.nb-order-summary__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1rem;
  color: #42556f;
  font-size: 0.92rem;
  font-weight: 700;
}

.nb-order-summary__meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.nb-order-summary__meta span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2f9838;
  flex: 0 0 auto;
}

.nb-order-summary__note {
  margin-top: 0.65rem;
  color: #506581;
  font-size: 0.9rem;
  line-height: 1.45;
}

.nb-order-summary__price-shell {
  display: grid;
  gap: 0.35rem;
  min-width: 170px;
  padding-left: 1.25rem;
  border-left: 1px solid rgba(10, 77, 140, 0.08);
  text-align: right;
}

.nb-order-summary__price-label {
  color: #42556f;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.nb-order-summary__price {
  font-size: 1.5rem;
  font-weight: 800;
}

.nb-order-summary--muted {
  color: var(--muted);
}

.nb-order-addon {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 1rem 1.1rem;
  background: #f5f8fc;
  border-radius: 1rem;
  border: 1px solid transparent;
  transition: border-color 160ms ease, background 160ms ease;
}

.nb-order-addon:hover {
  background: #eef5fc;
  border-color: rgba(10, 77, 140, 0.12);
}

.nb-order-addon input {
  margin-top: 0.25rem;
}

.nb-order-promo__row {
  display: flex;
  gap: 0.75rem;
  align-items: stretch;
}

.nb-order-totals {
  padding: 1.25rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 77, 140, 0.08);
  border-radius: 1.25rem;
}

.nb-order-totals__final {
  padding-top: 1rem;
  border-top: 1px solid rgba(10, 77, 140, 0.12);
  font-size: 1.15rem;
}

.nb-order-payment-panel {
  display: grid;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 77, 140, 0.08);
  border-radius: 1rem;
}

.nb-order-payment-panel--credit-card {
  background: #fff;
  border-left: 4px solid var(--blue);
}

.nb-order-payment-panel__content {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr auto;
  align-items: center;
}

.nb-order-payment-note {
  color: #a03d18;
  font-weight: 700;
  margin-bottom: 0;
}

.nb-order-payment-badge {
  display: block;
  max-width: 140px;
  width: 100%;
}

.nb-order-checkout .nb-button {
  min-width: 190px;
  justify-content: center;
}

.nb-order-form__copy-row {
  margin-bottom: 0.35rem;
}

/* Order confirmation */
.nb-order-thankyou {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-order-thankyou__card {
  padding: 1.9rem;
}

.nb-order-confirmation-page {
  gap: 1.6rem;
}

.nb-order-confirmation__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(255px, 275px);
  gap: 2rem;
  align-items: center;
  padding: 1.75rem 1.9rem;
  background:
    radial-gradient(circle at 10% 22%, rgba(47, 154, 103, 0.11), transparent 20%),
    radial-gradient(circle at 86% 14%, rgba(11, 94, 168, 0.08), transparent 24%),
    linear-gradient(135deg, #fbfefb 0%, #f4faf6 38%, #f4f9fe 100%);
  border: 1px solid rgba(47, 154, 103, 0.14);
  border-radius: 1.75rem;
  box-shadow: 0 18px 42px rgba(16, 35, 63, 0.06);
}

.nb-order-confirmation__hero-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.6rem;
  align-items: center;
}

.nb-order-confirmation__status-mark {
  position: relative;
  width: 160px;
  min-height: 150px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.nb-order-confirmation__status-badge {
  width: 118px;
  height: 118px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #67db56 0%, #2fa63f 100%);
  box-shadow: 0 20px 34px rgba(47, 166, 63, 0.24);
}

.nb-order-confirmation__status-badge svg {
  width: 58px;
  height: 58px;
  fill: #fff;
}

.nb-order-confirmation__status-spark {
  position: absolute;
  width: 12px;
  height: 12px;
  color: rgba(47, 154, 103, 0.88);
}

.nb-order-confirmation__status-spark::before,
.nb-order-confirmation__status-spark::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 999px;
  background: currentColor;
  transform: translate(-50%, -50%);
}

.nb-order-confirmation__status-spark::before {
  width: 12px;
  height: 3px;
}

.nb-order-confirmation__status-spark::after {
  width: 3px;
  height: 12px;
}

.nb-order-confirmation__status-spark--1 { top: 16px; left: 20px; }
.nb-order-confirmation__status-spark--2 { top: 42px; left: 8px; transform: scale(0.7); opacity: 0.68; }
.nb-order-confirmation__status-spark--3 { top: 122px; left: 18px; }
.nb-order-confirmation__status-spark--4 { top: 32px; right: 24px; transform: rotate(25deg); }
.nb-order-confirmation__status-spark--5 { top: 116px; right: 20px; transform: scale(0.78); opacity: 0.68; }
.nb-order-confirmation__status-spark--6 { top: 68px; right: 2px; }
.nb-order-confirmation__status-spark--7 { bottom: 18px; left: 48px; transform: rotate(32deg); opacity: 0.68; }
.nb-order-confirmation__status-spark--8 { top: 8px; right: 62px; transform: scale(0.72); }

.nb-order-confirmation__hero-copy h1 {
  margin-bottom: 0.8rem;
  font-size: clamp(2.15rem, 4vw, 3.05rem);
  line-height: 1.04;
  letter-spacing: -0.03em;
}

.nb-order-confirmation__logo {
  display: none;
  width: 150px;
  max-width: 100%;
  margin-bottom: 0.65rem;
}

.nb-order-confirmation__hero-copy p {
  margin-bottom: 0;
  max-width: 34rem;
  font-size: 1.12rem;
  line-height: 1.55;
  color: rgba(16, 35, 63, 0.86);
}

.nb-order-confirmation__eyebrow {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0.8rem !important;
  padding: 0.55rem 1.2rem;
  border-radius: 999px;
  background: rgba(103, 219, 86, 0.16);
  color: #2d9645;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nb-order-confirmation__hero-side {
  display: grid;
  gap: 1rem;
  align-content: start;
}

.nb-order-confirmation__hero-meta {
  display: grid;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(10, 77, 140, 0.12);
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 16px 28px rgba(16, 35, 63, 0.07);
}

.nb-order-confirmation__hero-meta > div {
  padding: 1.15rem 1.25rem;
}

.nb-order-confirmation__hero-meta > div + div {
  border-top: 1px solid rgba(10, 77, 140, 0.1);
}

.nb-order-confirmation__print-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  border: 0;
  border-radius: 999px;
  padding: 1rem 1.2rem;
  background: #102b62;
  color: #fff;
  font-weight: 800;
  line-height: 1.1;
  width: 100%;
  box-shadow: 0 16px 28px rgba(16, 35, 63, 0.18);
}

.nb-order-confirmation__print-button svg,
.nb-order-confirmation__support-links svg,
.nb-order-confirmation__support-actions svg,
.nb-order-confirmation__security-note svg,
.nb-order-confirmation__section-icon svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: currentColor;
  flex-shrink: 0;
}

.nb-order-confirmation__hero-meta span,
.nb-order-confirmation__summary span {
  display: block;
  margin-bottom: 0.38rem;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #445b78;
}

.nb-order-confirmation__hero-meta strong,
.nb-order-confirmation__summary strong {
  font-size: 1.2rem;
  color: var(--ink);
}

.nb-order-confirmation__hero-meta strong {
  font-size: 1.9rem;
  line-height: 1.05;
}

.nb-order-confirmation {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(320px, 0.88fr);
  gap: 1.45rem;
  align-items: start;
}

.nb-order-confirmation__stack {
  display: grid;
  gap: 1.45rem;
  align-content: start;
}

.nb-order-confirmation__card {
  display: grid;
  gap: 1.3rem;
}

.nb-order-confirmation__card-heading {
  display: grid;
  gap: 0.35rem;
}

.nb-order-confirmation__card-heading h2,
.nb-order-confirmation__section-header h2 {
  margin-bottom: 0;
}

.nb-order-confirmation__card-heading p,
.nb-order-confirmation__next-note {
  margin-bottom: 0;
  color: var(--muted);
}

.nb-order-confirmation__section-header {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.nb-order-confirmation__section-icon {
  width: 3.45rem;
  height: 3.45rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  flex-shrink: 0;
}

.nb-order-confirmation__section-icon--school,
.nb-order-confirmation__section-icon--billing {
  color: #2a6de0;
  background: linear-gradient(145deg, rgba(42, 109, 224, 0.16), rgba(42, 109, 224, 0.08));
}

.nb-order-confirmation__section-icon--next {
  color: #2d9b4f;
  background: linear-gradient(145deg, rgba(45, 155, 79, 0.16), rgba(45, 155, 79, 0.08));
}

.nb-order-confirmation__summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 1rem;
  padding: 1.2rem 1.25rem;
  background: linear-gradient(180deg, #f8fbff 0%, #f6fafe 100%);
  border: 1px solid rgba(10, 77, 140, 0.08);
  border-radius: 1.15rem;
}

.nb-order-confirmation__lines {
  display: grid;
  gap: 0.9rem;
}

.nb-order-confirmation__lines-head,
.nb-order-confirmation__line {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.nb-order-confirmation__lines-head {
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(10, 77, 140, 0.12);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #384f6b;
}

.nb-order-confirmation__line {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(10, 77, 140, 0.08);
}

.nb-order-confirmation__line strong {
  white-space: nowrap;
}

.nb-order-confirmation__line--total {
  padding-top: 1.25rem;
  border-bottom: none;
  font-size: 1.08rem;
  font-weight: 800;
}

.nb-order-confirmation__address-grid {
  display: grid;
  gap: 0.35rem;
  color: var(--ink);
  line-height: 1.65;
}

.nb-order-confirmation__next-steps {
  display: grid;
  gap: 1rem;
}

.nb-order-confirmation__next-list {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nb-order-confirmation__next-list li {
  position: relative;
  padding-left: 1.9rem;
  color: var(--ink);
  line-height: 1.55;
}

.nb-order-confirmation__next-list li::before {
  content: "";
  position: absolute;
  top: 0.18rem;
  left: 0;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  background: rgba(45, 155, 79, 0.15);
}

.nb-order-confirmation__next-list li::after {
  content: "";
  position: absolute;
  top: 0.52rem;
  left: 0.33rem;
  width: 0.42rem;
  height: 0.22rem;
  border-left: 2px solid #2d9b4f;
  border-bottom: 2px solid #2d9b4f;
  transform: rotate(-45deg);
}

.nb-order-confirmation__next-note {
  padding-top: 1rem;
  border-top: 1px solid rgba(10, 77, 140, 0.1);
  line-height: 1.6;
}

.nb-order-confirmation__card--support {
  gap: 1.5rem;
}

.nb-order-confirmation__support-shell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.1rem;
  align-items: start;
}

.nb-order-confirmation__support-icon {
  width: 4rem;
  height: 4rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #1f71e9, #0a4d8c);
  color: #fff;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 16px 30px rgba(10, 77, 140, 0.24);
}

.nb-order-confirmation__support-copy {
  display: grid;
  gap: 1rem;
}

.nb-order-confirmation__support-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.6rem;
}

.nb-order-confirmation__support-links a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--blue);
  font-weight: 700;
  text-decoration: none;
}

.nb-order-confirmation__support-links a:hover {
  color: #0a4d8c;
}

.nb-order-confirmation__support-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.nb-order-confirmation__support-actions .nb-button {
  min-width: 190px;
  justify-content: center;
}

.nb-order-confirmation__security-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  margin: 0;
  color: #6a7d95;
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
}

/* Order confirmation mobile */
@media (max-width: 767.98px) {
  .nb-order-thankyou__card {
    padding: 1.35rem;
  }

  .nb-order-confirmation__hero {
    padding: 1.35rem;
    gap: 1.35rem;
  }

  .nb-order-confirmation__hero-main,
  .nb-order-confirmation__support-shell {
    grid-template-columns: 1fr;
  }

  .nb-order-confirmation__status-mark {
    width: 100%;
    min-height: 0;
    justify-self: start;
  }

  .nb-order-confirmation__status-badge {
    width: 96px;
    height: 96px;
  }

  .nb-order-confirmation__status-badge svg {
    width: 46px;
    height: 46px;
  }

  .nb-order-confirmation__hero-copy h1 {
    font-size: 2rem;
  }

  .nb-order-confirmation__hero-copy p {
    font-size: 1rem;
  }

  .nb-order-confirmation__summary {
    grid-template-columns: 1fr;
  }

  .nb-order-confirmation__section-header {
    align-items: flex-start;
  }

  .nb-order-confirmation__support-links {
    display: grid;
  }

  .nb-order-confirmation__support-actions .nb-button {
    width: 100%;
  }

  .nb-order-confirmation__security-note {
    align-items: flex-start;
  }
}

@media print {
  body {
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  header,
  footer,
  .nb-topbar,
  .nb-topbar--app,
  .nb-mainnav,
  .nb-mainnav--app,
  #nbMainnav,
  .navbar,
  .nb-site-footer,
  .nb-order-confirmation__print-button,
  .nb-order-confirmation__support-actions,
  .nb-order-confirmation__card--support {
    display: none !important;
  }

  .container.nb-order-container,
  .nb-order-confirmation-page,
  .nb-order-confirmation,
  .nb-order-confirmation__stack {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .nb-order-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .nb-order-confirmation-page {
    box-shadow: none !important;
    border: 0 !important;
  }

  .nb-order-confirmation__hero {
    grid-template-columns: 1fr auto !important;
    gap: 0.75rem !important;
    margin-bottom: 0.55rem;
    padding: 0.85rem 0.95rem !important;
    border: 2px solid rgba(10, 77, 140, 0.35) !important;
    border-radius: 0.85rem !important;
    background: #fff !important;
  }

  .nb-order-confirmation__hero-main {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 0.75rem !important;
    align-items: center !important;
  }

  .nb-order-confirmation__status-mark {
    width: 88px !important;
    min-height: 88px !important;
  }

  .nb-order-confirmation__status-badge {
    width: 72px !important;
    height: 72px !important;
    box-shadow: none !important;
  }

  .nb-order-confirmation__status-badge svg {
    width: 34px !important;
    height: 34px !important;
  }

  .nb-order-confirmation__status-spark {
    display: none !important;
  }

  .nb-order-confirmation__hero-copy h1 {
    font-size: 1.45rem;
    margin-bottom: 0.25rem;
  }

  .nb-order-confirmation__hero-copy p {
    font-size: 0.88rem;
  }

  .nb-order-confirmation__logo {
    display: block !important;
    width: 132px !important;
    margin-bottom: 0.4rem !important;
  }

  .nb-order-confirmation__hero-meta {
    min-width: 165px;
  }

  .nb-order-thankyou__card,
  .nb-order-confirmation__summary,
  .nb-order-confirmation__hero-meta {
    border: 2px solid rgba(10, 77, 140, 0.35) !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  .nb-order-confirmation__line,
  .nb-order-confirmation__lines-head {
    border-color: rgba(10, 77, 140, 0.28) !important;
  }

  .nb-order-confirmation {
    gap: 0.7rem !important;
  }

  .nb-order-confirmation__stack,
  .nb-order-confirmation__card,
  .nb-order-confirmation__lines {
    gap: 0.55rem !important;
  }

  .nb-order-confirmation__stack {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .nb-order-confirmation__stack:not(.nb-order-confirmation__stack--primary) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .nb-order-confirmation__stack:not(.nb-order-confirmation__stack--primary) > :last-child {
    grid-column: 1 / -1;
  }

  .nb-order-thankyou__card {
    padding: 0.85rem !important;
    border-radius: 0.85rem !important;
  }

  .nb-order-confirmation__card-heading {
    gap: 0.1rem !important;
  }

  .nb-order-confirmation__card-heading h2 {
    font-size: 1rem;
  }

  .nb-order-confirmation__summary {
    gap: 0.45rem !important;
    padding: 0.6rem 0.7rem !important;
    border-radius: 0.75rem !important;
  }

  .nb-order-confirmation__hero-meta > div {
    padding: 0.55rem 0.7rem !important;
  }

  .nb-order-confirmation__hero-meta span,
  .nb-order-confirmation__summary span {
    margin-bottom: 0.15rem !important;
    font-size: 0.7rem !important;
  }

  .nb-order-confirmation__hero-meta strong,
  .nb-order-confirmation__summary strong {
    font-size: 0.92rem !important;
  }

  .nb-order-confirmation__section-header,
  .nb-order-confirmation__support-shell {
    gap: 0.6rem !important;
  }

  .nb-order-confirmation__section-icon,
  .nb-order-confirmation__support-icon {
    width: 2.2rem !important;
    height: 2.2rem !important;
  }

  .nb-order-confirmation__support-icon {
    font-size: 1.2rem !important;
    box-shadow: none !important;
  }

  .nb-order-confirmation__lines-head {
    padding-bottom: 0.35rem !important;
    font-size: 0.72rem !important;
  }

  .nb-order-confirmation__line {
    padding: 0.42rem 0 !important;
    font-size: 0.88rem !important;
  }

  .nb-order-confirmation__line--total {
    padding-top: 0.55rem !important;
    font-size: 0.94rem !important;
  }

  .nb-order-confirmation__address-grid,
  .nb-order-confirmation__next-steps {
    gap: 0.18rem !important;
    font-size: 0.84rem !important;
  }
}

.is-hidden {
  display: none !important;
}

@media (max-width: 991.98px) {
  .nb-hero,
  .nb-hero__content {
    min-height: 60vh;
  }

  .nb-hero--slider,
  .nb-hero-swiper,
  .nb-hero-slide {
    min-height: 68vh;
  }

  .nb-stats__copy {
      padding-left: 0;
  }

  .nb-gradebook__card {
    padding: 1.5rem;
  }

  .nb-mainnav__cta {
    margin-left: 0;
    margin-top: 1rem;
  }

  .nb-static-page__hero {
    flex-direction: column;
  }

  .nb-faq-blocks {
    grid-template-columns: 1fr;
  }

  .nb-certificate-card {
    grid-template-columns: 1fr;
  }

  .nb-products-summary {
    grid-template-columns: 1fr;
  }

  .nb-college-picker__selected {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .nb-college-picker__selected-logo-wrap {
    margin: 0 auto;
  }

  .nb-college-picker__selected-head {
    flex-direction: column;
    align-items: center;
  }

    .nb-teacher-offer,
    .nb-teacher-rule__body {
      grid-template-columns: 1fr;
    }

    .nb-teacher-offer__media {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nb-teacher-demo-row {
      grid-template-columns: 1fr;
    }

  .nb-static-page__graphic--teacher,
  .nb-static-page__graphic--print {
    max-width: 100%;
  }

  .nb-order__source-card,
  .nb-order__source-card--single,
  .nb-order-checkout,
  .nb-order-form__grid,
  .nb-order-confirmation,
  .nb-order-thankyou,
  .nb-order-thankyou__columns,
  .nb-order-payment-panel__content {
    grid-template-columns: 1fr;
  }

  .nb-order-confirmation__hero,
  .nb-order-confirmation__summary {
    grid-template-columns: 1fr;
  }

  .nb-order-confirmation__hero {
    align-items: start;
  }

  .nb-order-confirmation__hero-side {
    max-width: 320px;
  }

  .nb-order-confirmation__hero-main {
    align-items: start;
  }

  .nb-order-confirmation__support-actions .nb-button {
    flex: 1 1 220px;
  }

  .nb-order__product-card {
    flex-basis: calc((100% - 1.5rem) / 2);
    max-width: calc((100% - 1.5rem) / 2);
  }

  .nb-order__price-row {
    align-items: flex-start;
  }

  .nb-order__price-note {
    max-width: none;
    text-align: left;
  }

  .nb-order-summary--product-card {
    flex-direction: column;
  }

  .nb-order-summary__price-shell {
    min-width: 0;
    padding-left: 0;
    padding-top: 1rem;
    border-left: 0;
    border-top: 1px solid rgba(10, 77, 140, 0.08);
    text-align: left;
  }

  .nb-order__tile-media {
    min-height: 220px;
  }

  .nb-order-checkout__visual {
    position: static;
  }

  .nb-hero-swiper__controls {
    padding: 0 1rem;
  }
}

@media (max-width: 767.98px) {
  .nb-quizbowl-award {
    flex-direction: column;
    align-items: flex-start;
  }

  .nb-quizbowl-award img {
    width: 96px;
    max-width: none;
  }

  .nb-quizbowl-running-score {
    text-align: left;
  }

  .nb-faq-gallery {
    grid-template-columns: 1fr;
  }

  .nb-order__actions,
  .nb-order-promo__row {
    flex-direction: column;
  }

  .nb-order__product-card {
    flex-basis: 100%;
    max-width: 100%;
  }

  .nb-order-summary__features {
    grid-template-columns: 1fr;
  }

  .nb-monthlychallenge-result {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 575.98px) {
  .nb-topbar__inner,
  .nb-footer__sub-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .nb-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .nb-hero-swiper__controls {
    inset: auto 0 1rem 0;
  }

  .nb-hero-swiper__button {
    width: 2.8rem;
    height: 2.8rem;
  }
}

.nb-admin-page__lede {
  max-width: none;
}

/* Single Order Checkout
   Desktop */
.nb-single-order-container {
  padding-top: 2rem;
  padding-bottom: 3rem;
}

.nb-single-order {
  display: grid;
  gap: 1.5rem;
}

.nb-single-order__breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  color: #4f6990;
  font-size: 0.92rem;
  font-weight: 700;
}

.nb-single-order__breadcrumbs a {
  color: #1f6fff;
  text-decoration: none;
}

.nb-single-order__shell {
  display: grid;
  gap: 1.6rem;
  grid-template-columns: minmax(0, 1fr) 330px;
  align-items: start;
}

.nb-single-order__main,
.nb-single-order__sidebar {
  display: grid;
  gap: 1.45rem;
}

.nb-single-order__hero h1 {
  margin: 0 0 0.6rem;
  color: #102a63;
  font-size: clamp(2.25rem, 2vw + 1.7rem, 3.1rem);
  font-weight: 900;
  letter-spacing: -0.03em;
}

.nb-single-order__hero p {
  margin: 0;
  color: #334a6d;
  font-size: 1.05rem;
  line-height: 1.65;
}

.nb-single-order__form {
  display: grid;
  gap: 1.45rem;
}

.nb-single-order__product-card,
.nb-single-order__step-card,
.nb-single-order__side-card,
.nb-single-order__security-note,
.nb-single-order__trust-strip {
  background: #fff;
  border: 1px solid rgba(16, 42, 99, 0.08);
  border-radius: 1.65rem;
  box-shadow: 0 18px 40px rgba(16, 35, 63, 0.07);
}

.nb-single-order__product-card {
  padding: 1.65rem 1.75rem;
}

.nb-single-order .nb-order-summary--product-card {
  gap: 1.55rem;
  align-items: stretch;
}

.nb-single-order .nb-order-summary__copy {
  display: grid;
  gap: 0.35rem;
}

.nb-single-order .nb-order-summary__title {
  font-size: 2rem;
}

.nb-single-order .nb-order-summary__features {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

.nb-single-order .nb-order-summary__feature {
  align-items: flex-start;
}

.nb-single-order .nb-order-summary__feature span:last-child {
  display: block;
  line-height: 1.35;
}

.nb-single-order .nb-order-summary__meta {
  gap: 1rem;
}

.nb-single-order__product-price-shell {
  min-width: 250px;
}

.nb-single-order__product-total-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.65rem;
}

.nb-single-order__product-total-head i {
  color: #1f6fff;
  font-size: 0.95rem;
}

.nb-single-order__product-breakdown {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.55rem;
}

.nb-single-order__product-breakdown-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #102a63;
  font-size: 0.95rem;
  font-weight: 700;
}

.nb-single-order__product-breakdown-row span {
  color: #30445f;
  font-weight: 700;
}

.nb-single-order__product-footnote {
  margin: 0.4rem 0 0;
  padding-top: 0.85rem;
  border-top: 1px dashed rgba(16, 42, 99, 0.14);
  color: #5c6f8c;
  font-size: 0.84rem;
  line-height: 1.45;
}

.nb-single-order__step-card {
  display: grid;
  gap: 1.25rem;
  padding: 1.65rem 1.75rem;
}

.nb-single-order__section-heading {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
}

.nb-single-order__section-heading h2 {
  margin: 0;
  color: #102a63;
  font-size: 1.45rem;
  font-weight: 900;
}

.nb-single-order__section-heading p {
  margin: 0.3rem 0 0;
  color: #58708f;
  font-size: 0.96rem;
}

.nb-single-order__section-heading--muted h2 {
  font-size: 1.18rem;
}

.nb-single-order__step-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #1f6fff;
  color: #fff;
  font-size: 0.96rem;
  font-weight: 900;
  flex: 0 0 auto;
  box-shadow: 0 12px 22px rgba(31, 111, 255, 0.24);
}

.nb-single-order__step-badge--muted {
  background: #eaf2ff;
  color: #1f6fff;
  box-shadow: none;
}

.nb-single-order__field-grid {
  display: grid;
  gap: 1rem 1.1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-single-order__field-grid--school {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.nb-single-order__field {
  display: grid;
  gap: 0.45rem;
}

.nb-single-order__field--half {
  grid-column: span 3;
}

.nb-single-order__field-grid--school > .nb-single-order__field:nth-child(1),
.nb-single-order__field-grid--school > .nb-single-order__field:nth-child(2) {
  grid-column: span 3;
}

.nb-single-order__field-grid--school > .nb-single-order__field:nth-child(3),
.nb-single-order__field-grid--school > .nb-single-order__field:nth-child(4),
.nb-single-order__field-grid--school > .nb-single-order__field:nth-child(5) {
  grid-column: span 2;
}

.nb-single-order__field label,
.nb-single-order__promo-block label {
  margin: 0;
  color: #102a63;
  font-size: 0.95rem;
  font-weight: 800;
}

.nb-single-order__required {
  color: #ff5b57;
  font-weight: 900;
}

.nb-single-order .form-control,
.nb-single-order .form-select {
  min-height: 3.2rem;
  border: 1px solid rgba(16, 42, 99, 0.12);
  border-radius: 0.95rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  color: #102a63;
  font-size: 0.98rem;
  padding: 0.82rem 1rem;
}

.nb-single-order .form-control:focus,
.nb-single-order .form-select:focus {
  border-color: rgba(31, 111, 255, 0.45);
  box-shadow: 0 0 0 0.2rem rgba(31, 111, 255, 0.12);
}

.nb-single-order__checkbox-row {
  display: flex;
  gap: 0.7rem;
  align-items: center;
  color: #102a63;
  font-size: 0.96rem;
  font-weight: 700;
}

.nb-single-order__checkbox-row input {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
}

.nb-single-order__addons {
  display: grid;
  gap: 0.9rem;
}

.nb-single-order__addon {
  border-radius: 1.1rem;
}

.nb-single-order__addon-copy {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  font-size: 0.96rem;
}

.nb-single-order__addon-copy strong {
  color: #102a63;
  font-weight: 800;
}

.nb-single-order__side-card {
  display: grid;
  gap: 1rem;
  padding: 1.45rem;
}

.nb-single-order__aside {
  position: sticky;
  top: 118px;
}

.nb-single-order__side-card-heading {
  display: flex;
  gap: 0.8rem;
  align-items: center;
}

.nb-single-order__side-card-heading h2,
.nb-single-order__side-card-heading h3 {
  margin: 0;
  color: #102a63;
  font-size: 1.55rem;
  font-weight: 900;
}

.nb-single-order__side-card-heading--simple {
  align-items: flex-start;
}

.nb-single-order__side-card-heading--simple h3 {
  font-size: 1.35rem;
}

.nb-single-order__side-card-heading--simple p {
  margin: 0.35rem 0 0;
  color: #526987;
  font-size: 0.96rem;
  line-height: 1.55;
}

.nb-single-order__side-icon,
.nb-single-order__support-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  background: #1f6fff;
  color: #fff;
  font-size: 1.2rem;
  flex: 0 0 auto;
}

.nb-single-order__side-icon--outline {
  background: #eaf2ff;
  color: #1f6fff;
}

.nb-single-order__summary-lines {
  display: grid;
  gap: 0.85rem;
}

.nb-single-order__summary-row,
.nb-single-order__total-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.nb-single-order__summary-row span {
  color: #30445f;
  font-weight: 700;
}

.nb-single-order__summary-row strong {
  color: #102a63;
  font-weight: 800;
}

.nb-single-order__promo-block {
  display: grid;
  gap: 0.65rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(16, 42, 99, 0.08);
}

.nb-single-order__promo-row .nb-button {
  min-width: 108px;
}

.nb-single-order__total-row {
  padding-top: 1rem;
  border-top: 1px solid rgba(16, 42, 99, 0.08);
  color: #102a63;
  font-size: 1.05rem;
  font-weight: 900;
}

.nb-single-order__total-row strong {
  color: #2f9838;
  font-size: 1.55rem;
}

.nb-single-order__side-card--benefits {
  background: linear-gradient(180deg, #f8fdf9 0%, #f3fbf5 100%);
}

.nb-single-order__benefit-list,
.nb-single-order__contact-list {
  display: grid;
  gap: 0.85rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.nb-single-order__benefit-list li,
.nb-single-order__contact-list li {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  color: #102a63;
  font-size: 0.98rem;
  font-weight: 700;
}

.nb-single-order__benefit-list i {
  color: #2f9838;
  margin-top: 0.15rem;
}

.nb-single-order__contact-list i {
  color: #1f6fff;
  margin-top: 0.15rem;
}

.nb-single-order__side-card--support,
.nb-single-order__side-card--contact {
  gap: 0.9rem;
}

.nb-single-order__side-card--support h3 {
  margin: 0;
  color: #102a63;
  font-size: 1.25rem;
  font-weight: 900;
}

.nb-single-order__side-card--support p {
  margin: 0;
  color: #526987;
  line-height: 1.65;
}

.nb-single-order__security-note {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  padding: 1rem 1.15rem;
  color: #526987;
  font-size: 0.92rem;
  line-height: 1.55;
}

.nb-single-order__security-note i {
  color: #1f6fff;
  font-size: 1rem;
  flex: 0 0 auto;
}

.nb-single-order__trust-strip {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 1.35rem 1.45rem;
}

.nb-single-order__trust-item {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  min-width: 0;
}

.nb-single-order__trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  background: #eef5ff;
  color: #1f6fff;
  font-size: 1.1rem;
  flex: 0 0 auto;
}

.nb-single-order__trust-item strong {
  display: block;
  margin-bottom: 0.15rem;
  color: #102a63;
  font-size: 1rem;
  font-weight: 900;
}

.nb-single-order__trust-item span:last-child {
  display: block;
  color: #526987;
  font-size: 0.92rem;
  line-height: 1.5;
}

.nb-single-order__actions {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.nb-single-order__actions .nb-button {
  min-width: 180px;
  min-height: 3.35rem;
  border-radius: 999px;
  justify-content: center;
  text-align: center;
  padding-inline: 1.2rem;
}

.nb-single-order__legal {
  margin: 0;
  color: #5f7087;
  font-size: 0.92rem;
  text-align: center;
}

.nb-single-order__legal a {
  color: #1f6fff;
  font-weight: 700;
}

/* Single Order Checkout
   Tablet */
@media (max-width: 991.98px) {
  .nb-single-order__shell {
    grid-template-columns: 1fr;
  }

  .nb-single-order__aside {
    position: static;
  }

  .nb-single-order__trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-single-order .nb-order-summary--product-card {
    flex-direction: column;
  }

  .nb-single-order .nb-order-summary__price-shell {
    min-width: 0;
    padding-left: 0;
    padding-top: 1rem;
    border-left: 0;
    border-top: 1px solid rgba(16, 42, 99, 0.08);
    text-align: left;
  }
}

/* Single Order Checkout
   Mobile */
@media (max-width: 767.98px) {
  .nb-single-order-container {
    padding-top: 1.4rem;
    padding-bottom: 2.4rem;
  }

  .nb-single-order__field-grid,
  .nb-single-order__field-grid--school,
  .nb-single-order__trust-strip {
    grid-template-columns: 1fr;
  }

  .nb-single-order__field-grid--school > .nb-single-order__field,
  .nb-single-order__field--half {
    grid-column: auto;
  }

  .nb-single-order .nb-order-summary__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-single-order__product-card,
  .nb-single-order__step-card,
  .nb-single-order__side-card {
    padding: 1.35rem;
  }

  .nb-single-order__actions,
  .nb-single-order__promo-row {
    flex-direction: column;
  }

  .nb-single-order__actions .nb-button,
  .nb-single-order__promo-row .nb-button {
    width: 100%;
  }

  .nb-single-order__hero h1 {
    font-size: 2rem;
  }
}

.nb-admin-page .nb-static-page__card {
  padding: 1.35rem;
}

.nb-admin-school-page {
  padding-inline: 0;
}

.nb-admin-school-page__card {
  padding: 1.35rem;
}

.nb-admin-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.5rem 0 2rem;
}

.nb-admin-nav__link {
  border: 1px solid rgba(13, 47, 91, 0.14);
  border-radius: 999px;
  color: #174c8f;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  padding: 0.55rem 1rem;
  text-decoration: none;
}

.nb-admin-nav__link:hover,
.nb-admin-nav__link--active {
  background: #174c8f;
  border-color: #174c8f;
  color: #fff;
}

.nb-admin-nav__badge {
  align-items: center;
  background: #d92d20;
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  min-height: 1.45rem;
  min-width: 1.45rem;
  padding: 0.15rem 0.4rem;
}

.nb-admin-stat {
  color: #0f2748;
  font-family: var(--nb-font-display);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  margin-bottom: 0.75rem;
}

.nb-admin-list {
  margin: 0;
  padding-left: 1.25rem;
}

.nb-admin-list li + li {
  margin-top: 0.4rem;
}

.nb-admin-section + .nb-admin-section {
  margin-top: 2rem;
}

.nb-admin-section__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.nb-admin-section__heading h2 {
  margin-bottom: 0.35rem;
  font-size: 1.55rem;
}

.nb-admin-section__heading p {
  margin-bottom: 0;
  color: #5f6f84;
}

.nb-admin-section__meta {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: rgba(10, 77, 140, 0.08);
  color: var(--blue);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.nb-admin-action-card {
  height: 100%;
  padding: 1.5rem;
  border-radius: 1.35rem;
  border: 1px solid rgba(10, 77, 140, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 255, 0.98));
  box-shadow: 0 18px 38px rgba(16, 35, 63, 0.08);
}

.nb-admin-action-card__count {
  margin-bottom: 0.85rem;
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1;
  font-weight: 900;
}

.nb-admin-action-card h3 {
  margin-bottom: 0.6rem;
  font-size: 1.15rem;
}

.nb-admin-action-card p {
  margin-bottom: 1rem;
  color: #516379;
  line-height: 1.65;
}

.nb-admin-action-card--red {
  border-top: 0.35rem solid #d54b3d;
}

.nb-admin-action-card--gold {
  border-top: 0.35rem solid #e0a01d;
}

.nb-admin-action-card--blue {
  border-top: 0.35rem solid #0a4d8c;
}

.nb-admin-action-card--green {
  border-top: 0.35rem solid #2f9a67;
}

.nb-admin-action-card--slate {
  border-top: 0.35rem solid #5f6f84;
}

.nb-admin-action-card--purple {
  border-top: 0.35rem solid #6b4fd3;
}

.nb-admin-action-card--orange {
  border-top: 0.35rem solid #d97a04;
}

.nb-admin-action-card--indigo {
  border-top: 0.35rem solid #4957c8;
}

.nb-admin-empty-state {
  padding: 1.35rem 1.5rem;
  border: 1px dashed rgba(10, 77, 140, 0.18);
  border-radius: 1.15rem;
  background: linear-gradient(180deg, rgba(246, 250, 255, 0.98), rgba(255, 255, 255, 0.98));
}

.nb-admin-empty-state h3 {
  margin-bottom: 0.45rem;
  font-size: 1.05rem;
}

.nb-admin-empty-state p {
  margin-bottom: 0;
  color: #5f6f84;
}

.nb-admin-table th {
  border-bottom-width: 1px;
  color: #10335f;
  font-size: 0.84rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nb-admin-table td,
.nb-admin-table th {
  padding: 0.95rem 0.75rem;
}

.nb-admin-products__actions-cell {
  width: 280px;
  white-space: nowrap;
}

.nb-admin-products__actions {
  display: inline-grid;
  grid-template-columns: 140px 110px;
  gap: 0.5rem;
  align-items: center;
  justify-content: end;
}

.nb-admin-products__edit-button {
  width: 140px;
  justify-content: center;
}

.nb-admin-products__secondary-button {
    width: 110px;
    justify-content: center;
}

.nb-admin-weekly-pdf-slot {
    border: 1px solid #d8e2f0;
    border-radius: 1.25rem;
    padding: 1.1rem 1.25rem;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.nb-admin-weekly-pdf-picker {
    border: 1px solid #c9d9ef;
    border-top: 5px solid var(--blue);
    border-radius: 1.35rem;
    padding: 1.25rem 1.35rem 1.15rem;
    background: linear-gradient(180deg, #f4f9ff 0%, #ffffff 100%);
    box-shadow: 0 18px 34px rgba(12, 29, 74, 0.08);
}

.nb-admin-weekly-pdf-picker__label {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--navy);
}

.nb-admin-weekly-pdf-picker__select {
    min-height: 3.45rem;
    border-width: 2px;
    border-color: #9db9df;
    border-radius: 1rem;
    padding: 0.85rem 3rem 0.85rem 1rem;
    font-size: 1.08rem;
    font-weight: 700;
    color: var(--navy);
    background-color: #fff;
    box-shadow: 0 10px 22px rgba(27, 84, 147, 0.08);
}

.nb-admin-weekly-pdf-picker__select:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 0.2rem rgba(33, 116, 198, 0.16), 0 12px 28px rgba(27, 84, 147, 0.12);
}

.nb-admin-weekly-pdf-picker__help {
    margin-top: 0.55rem;
    font-size: 0.95rem;
    color: #45607d;
}

.nb-admin-weekly-pdf-slot__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.nb-admin-weekly-pdf-slot__status {
    flex: 0 0 auto;
}

.nb-admin-demo-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    padding: 1rem 1.25rem;
    border: 1px solid rgba(15, 39, 84, 0.12);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.7);
}

.nb-admin-demo-files {
    display: grid;
    gap: 0.85rem;
}

.nb-admin-demo-files__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(15, 39, 84, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
}

.nb-admin-demo-files__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 767.98px) {
    .nb-admin-demo-files__row {
        flex-direction: column;
        align-items: flex-start;
    }

    .nb-admin-demo-files__badges {
        justify-content: flex-start;
    }
}

.nb-admin-detail-list {
  display: grid;
  gap: 0.3rem 0;
  margin: 0;
}

.nb-admin-detail-list dt {
  color: #55718f;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-top: 0.9rem;
  text-transform: uppercase;
}

.nb-admin-detail-list dt:first-child {
  margin-top: 0;
}

.nb-admin-detail-list dd {
  margin: 0;
}

.nb-admin-linked-list {
  display: grid;
  gap: 1rem;
}

.nb-admin-linked-list__item {
  align-items: start;
  border: 1px solid rgba(13, 47, 91, 0.1);
  border-radius: 18px;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto 1fr;
  padding: 1rem 1.1rem;
}

.nb-admin-linked-list__type {
  background: #e9f3ff;
  border-radius: 999px;
  color: #174c8f;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.35rem 0.7rem;
}

.nb-admin-linked-list__details {
  color: #4f6279;
  font-size: 0.92rem;
  margin-top: 0.5rem;
}

.nb-admin-linked-list__details > div + div {
  margin-top: 0.2rem;
}

.nb-admin-answers-header {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  justify-content: space-between;
}

.nb-admin-summary-card {
  background:
    radial-gradient(circle at top right, rgba(56, 132, 255, 0.16), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.nb-admin-summary-card h2 {
  color: #10335f;
}

.nb-admin-table--awards {
  border-collapse: separate;
  border-spacing: 0;
}

.nb-admin-table--awards th span {
  color: #5b718d;
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  margin-top: 0.15rem;
}

.nb-admin-table--awards tbody tr td:first-child {
  color: #10335f;
}

.nb-admin-table--awards tbody tr td:nth-child(5) {
  background: rgba(23, 76, 143, 0.08);
}

.nb-admin-table--awards tbody tr td:nth-child(6) {
  background: rgba(36, 153, 109, 0.08);
}

.nb-admin-table--awards tbody tr td:nth-child(7) {
  background: rgba(221, 118, 37, 0.08);
}

.nb-admin-table--awards tbody tr td:nth-child(8) {
  background: rgba(199, 164, 26, 0.12);
}

.nb-admin-question-list {
  display: grid;
  gap: 1rem;
}

.nb-admin-question-card__meta {
  color: #5b718d;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.88rem;
  font-weight: 700;
  gap: 0.6rem 1rem;
  margin-bottom: 0.75rem;
  text-transform: uppercase;
}

.nb-admin-question-card__top {
  align-items: flex-start;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) 130px;
}

.nb-admin-question-card__body h3 {
  margin-bottom: 0;
}

.nb-admin-topic-image-card {
  background: #f7fbff;
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 16px;
  overflow: hidden;
  padding: 0.35rem;
}

.nb-admin-topic-image-card__label {
  color: #10335f;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin: 0.1rem 0 0.45rem;
  text-align: center;
  text-transform: uppercase;
}

.nb-admin-topic-image-card img {
  border-radius: 12px;
  display: block;
  height: 92px;
  object-fit: contain;
  object-position: center;
  width: 100%;
}

.nb-admin-points-pill {
  background: rgba(36, 153, 109, 0.12);
  border: 1px solid rgba(36, 153, 109, 0.24);
  border-radius: 999px;
  color: #176846;
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 700;
  gap: 0.35rem;
  padding: 0.45rem 0.85rem;
}

.nb-admin-points-pill--warning {
  background: rgba(203, 87, 31, 0.12);
  border-color: rgba(203, 87, 31, 0.25);
  color: #9f4113;
}

.nb-admin-answer-grid {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
}

.nb-admin-answer-option {
  background: #f5f8fc;
  border: 1px solid rgba(13, 47, 91, 0.08);
  border-radius: 14px;
  padding: 0.85rem 1rem;
}

.nb-admin-answer-option--correct {
  background: #e5f7ea;
  border-color: rgba(43, 137, 78, 0.22);
  color: #185c31;
}

.nb-admin-editor-topic {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid rgba(16, 51, 95, 0.12);
  color: #10335f;
  font-size: 1.12rem;
  font-weight: 800;
  margin: 1.2rem 0 0.35rem;
  padding: 0.35rem 0 0.45rem;
  position: sticky;
  top: 4.75rem;
  z-index: 5;
}

.nb-admin-editor-question {
  margin-bottom: 0.8rem;
}

.nb-admin-editor-row {
  margin-bottom: 0.35rem;
}

.nb-admin-editor-textarea {
  min-height: 72px;
}

.nb-admin-editor-answers {
  display: grid;
  gap: 0.35rem;
}

.nb-admin-editor-prefix {
  background: #f1f5fb;
  color: #174c8f;
  justify-content: center;
  min-width: 4rem;
  padding: 0.4rem 0.6rem;
}

.nb-admin-editor-row--question .nb-admin-editor-prefix {
  font-weight: 800;
}

.nb-admin-editor-points-label {
  background: #eef5ff;
  color: #174c8f;
  font-weight: 800;
}

.nb-admin-editor-points-input {
  flex: 0 0 88px !important;
  max-width: 88px;
  text-align: center;
}

.nb-admin-editor-row--topic .nb-admin-editor-prefix {
  background: #174c8f;
  color: #fff;
  font-weight: 800;
}

.nb-admin-editor-row--topic .form-select {
  background: #eef5ff;
  border-color: #7ea7db;
  color: #10335f;
  font-weight: 700;
}

.nb-admin-editor-row .form-control,
.nb-admin-editor-row .input-group-text {
  border-radius: 0;
}

.nb-admin-editor-row .form-check-input {
  margin-right: 0;
}

.nb-admin-table__row--featured td {
  background: rgba(23, 76, 143, 0.08);
  font-weight: 800;
}

.nb-admin-school-header {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  justify-content: space-between;
  margin-bottom: 0.55rem;
}

.nb-admin-school-record-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.nb-admin-order-duplicate-header {
  margin-bottom: 0.55rem;
}

.nb-admin-order-duplicate-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
  margin-left: auto;
}

.nb-admin-order-duplicate-reason {
  background: rgba(23, 76, 143, 0.1);
  border-radius: 999px;
  color: #174c8f;
  display: inline-flex;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1.1;
  padding: 0.38rem 0.75rem;
}

.nb-admin-merge-school-options {
  display: grid;
  gap: 0.75rem;
}

.nb-admin-merge-school-choice {
  align-items: flex-start;
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.95), rgba(255, 255, 255, 1));
  border: 1px solid rgba(16, 51, 95, 0.12);
  border-radius: 16px;
  cursor: pointer;
  display: flex;
  gap: 0.7rem;
  padding: 0.9rem 1rem;
}

.nb-admin-merge-school-choice input[type="radio"] {
  accent-color: #174c8f;
  margin-top: 0.15rem;
}

.nb-admin-merge-school-fields {
  display: grid;
  gap: 0.8rem;
}

.nb-admin-merge-school-field {
  display: grid;
  gap: 0.4rem;
}

.nb-admin-merge-school-field__label {
  color: #10335f;
  font-size: 0.92rem;
  font-weight: 800;
}

.nb-admin-merge-school-field__choices {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-admin-merge-school-field__same {
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.95), rgba(255, 255, 255, 1));
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 14px;
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem 0.85rem;
}

.nb-admin-merge-school-field__same-label {
  color: #10335f;
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.2;
}

.nb-admin-merge-school-field__same-value {
  color: #5d7087;
  font-size: 0.9rem;
  line-height: 1.35;
  word-break: break-word;
}

.nb-admin-merge-school-field__choice {
  align-items: flex-start;
  background: #fff;
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 14px;
  cursor: pointer;
  display: grid;
  gap: 0.25rem;
  grid-template-columns: auto 1fr;
  padding: 0.75rem 0.85rem;
}

.nb-admin-merge-school-field__choice input[type="radio"] {
  accent-color: #174c8f;
  margin-top: 0.1rem;
}

.nb-admin-merge-school-field__choice-title {
  color: #10335f;
  display: block;
  font-size: 0.84rem;
  font-weight: 800;
  line-height: 1.2;
}

.nb-admin-merge-school-field__choice-value {
  color: #5d7087;
  display: block;
  font-size: 0.9rem;
  grid-column: 2;
  line-height: 1.35;
  margin-top: -0.05rem;
  word-break: break-word;
}

@media (max-width: 767.98px) {
  .nb-admin-merge-school-field__choices {
    grid-template-columns: 1fr;
  }
}

.nb-admin-order-duplicate-browser-host {
  min-height: 13rem;
  position: relative;
}

.nb-admin-order-duplicate-browser-host.is-loading {
  opacity: 0.72;
}

.nb-admin-users-filter {
  border: 1px solid rgba(12, 38, 84, 0.08);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(247, 251, 255, 0.95), rgba(241, 247, 255, 0.92));
  padding: 1.5rem;
}

.nb-admin-users-filter__header {
  align-items: flex-start;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.nb-admin-users-filter__title {
  color: #0c2654;
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
}

.nb-admin-users-filter__copy {
  color: #4d6284;
  margin: 0.35rem 0 0;
}

.nb-admin-users-filter__throbber {
  align-items: center;
  color: #0c2654;
  display: none;
  font-weight: 600;
  gap: 0.6rem;
  white-space: nowrap;
}

[data-admin-users-host].is-loading .nb-admin-users-filter__throbber {
  display: inline-flex;
}

.nb-admin-users-results-host {
  position: relative;
}

[data-admin-users-results].is-loading {
  opacity: 0.5;
}

.nb-admin-users-results__summary {
  color: #4d6284;
  font-weight: 700;
  margin-bottom: 1rem;
}

.nb-admin-users-results__page-label {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;
  margin-left: 1rem;
}

.nb-admin-users-results__page-input {
  border-radius: 999px;
  font-weight: 700;
  min-width: 4.5rem;
  padding: 0.35rem 0.75rem;
  text-align: center;
  width: 4.5rem;
}

.nb-admin-users-pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: space-between;
  margin-top: 1rem;
}

.nb-admin-users-pagination__pages {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.nb-admin-users-pagination .nb-button.is-current {
  background: #174c8f;
  border-color: #174c8f;
  color: #fff;
}

.nb-admin-order-detail-list dt,
.nb-admin-order-detail-list dd {
  margin-bottom: 0.32rem;
}

.nb-admin-order-detail-list .small {
  line-height: 1.3;
}

.nb-admin-school-record-jump {
  margin: 0;
}

.nb-admin-school-arrow {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(16, 51, 95, 0.12);
  border-radius: 14px;
  color: #174c8f;
  display: inline-flex;
  font-size: 1.35rem;
  font-weight: 800;
  height: 2.65rem;
  justify-content: center;
  text-decoration: none;
  width: 2.85rem;
}

.nb-admin-school-arrow:hover {
  background: #174c8f;
  border-color: #174c8f;
  color: #fff;
}

.nb-admin-school-arrow--disabled {
  background: #f5f8fc;
  color: #a1b0c0;
}

.nb-admin-school-record-count {
  align-items: center;
  color: #10335f;
  display: inline-flex;
  font-size: 0.98rem;
  font-weight: 800;
  gap: 0.45rem;
  min-width: 10.5rem;
  text-align: center;
}

.nb-admin-school-record-input {
  border: 1px solid rgba(16, 51, 95, 0.14);
  border-radius: 10px;
  color: #10335f;
  font-size: 0.95rem;
  font-weight: 800;
  min-width: 4.25rem;
  padding: 0.25rem 0.45rem;
  text-align: center;
}

.nb-admin-school-record-input:focus {
  border-color: #174c8f;
  box-shadow: 0 0 0 0.18rem rgba(23, 76, 143, 0.14);
  outline: none;
}

.nb-admin-school-find-status {
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 700;
  padding: 0.4rem 0.85rem;
}

.nb-admin-school-find-status--warning {
  background: rgba(194, 35, 35, 0.1);
  border: 1px solid rgba(194, 35, 35, 0.18);
  color: #9f2323;
}

.nb-admin-school-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.nb-admin-school-meta__pill {
  background: #eef5ff;
  border: 1px solid rgba(23, 76, 143, 0.12);
  border-radius: 999px;
  color: #10335f;
  font-size: 0.88rem;
  font-weight: 700;
  padding: 0.45rem 0.8rem;
}

.nb-admin-school-meta__pill--alert {
  background: rgba(194, 35, 35, 0.1);
  border-color: rgba(194, 35, 35, 0.18);
  color: #9d1f1f;
}

.nb-admin-school-panel,
.nb-admin-school-savebar {
  background:
    radial-gradient(circle at top right, rgba(56, 132, 255, 0.1), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 20px;
}

.nb-admin-school-panel {
  padding: 0.5rem;
}

.nb-admin-school-panel--inner {
  background: #fff;
}

.nb-admin-school-subscriptions {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.nb-admin-school-subscription {
  background:
    linear-gradient(180deg, rgba(240, 247, 255, 0.96), rgba(228, 239, 252, 0.96));
  border: 1px solid rgba(23, 76, 143, 0.16);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
  color: #10335f;
  font-weight: 700;
  padding: 0.8rem 0.9rem;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.nb-admin-school-subscription:hover,
.nb-admin-school-subscription--active {
  background: #174c8f;
  border-color: #174c8f;
  box-shadow: 0 10px 20px rgba(23, 76, 143, 0.18);
  color: #fff;
  transform: translateY(-1px);
}

.nb-admin-school-subscriptions--compact {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.nb-admin-school-empty {
  background: #f5f8fc;
  border: 1px dashed rgba(16, 51, 95, 0.18);
  border-radius: 16px;
  color: #4f6279;
  padding: 1rem;
}

.nb-admin-school-savebar {
  align-items: center;
  display: flex;
  gap: 0.55rem;
  justify-content: space-between;
  margin-bottom: 0.45rem;
  padding: 0.45rem 0.6rem;
}

.nb-admin-school-savebar__status {
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  padding: 0.45rem 0.8rem;
}

.nb-admin-school-savebar__status[data-state="saving"] {
  background: rgba(23, 76, 143, 0.12);
  color: #174c8f;
}

.nb-admin-school-savebar__status[data-state="saved"] {
  background: rgba(36, 153, 109, 0.14);
  color: #176846;
}

.nb-admin-school-savebar__status[data-state="dirty"] {
  background: rgba(223, 155, 31, 0.16);
  color: #8c5c0b;
}

.nb-admin-school-savebar__status[data-state="error"] {
  background: rgba(203, 87, 31, 0.14);
  color: #9f4113;
}

.nb-admin-editor-floating-status {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 1050;
  box-shadow: 0 10px 24px rgba(19, 42, 77, 0.14);
}

.nb-admin-editor-floating-issue-jump {
  position: fixed;
  left: 1.5rem;
  bottom: 1.5rem;
  z-index: 1050;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  box-shadow: 0 10px 24px rgba(19, 42, 77, 0.14);
}

.nb-admin-editor-floating-issue-jump__count {
  min-width: 1.6rem;
  padding: 0.05rem 0.42rem;
  border-radius: 999px;
  background: rgba(19, 42, 77, 0.12);
  color: #10335f;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.nb-admin-editor-import-issue--flash {
  animation: nb-admin-editor-import-issue-flash 1.15s ease;
}

@keyframes nb-admin-editor-import-issue-flash {
  0% {
    box-shadow: 0 0 0 0 rgba(223, 155, 31, 0.42);
  }

  35% {
    box-shadow: 0 0 0 0.38rem rgba(223, 155, 31, 0.18);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(223, 155, 31, 0);
  }
}

@media (max-width: 991.98px) {
  .nb-teacher-dashboard__pending-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-admin-editor-floating-issue-jump,
  .nb-admin-editor-floating-status {
    bottom: 1rem;
  }

  .nb-admin-editor-floating-status {
    right: 1rem;
  }

  .nb-admin-editor-floating-issue-jump {
    left: 1rem;
  }
}

.nb-admin-school-grid {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-admin-school-panel__heading {
  margin-bottom: 0.24rem;
}

.nb-admin-school-panel__heading h2 {
  color: #10335f;
  font-size: 1.02rem;
  margin-bottom: 0.08rem;
}

.nb-admin-school-panel__heading p {
  color: #60748d;
  margin-bottom: 0;
  font-size: 0.89rem;
}

.nb-admin-order-comparison-list {
  display: grid;
  gap: 0.55rem;
}

.nb-admin-order-comparison-item {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(16, 51, 95, 0.12);
  border-radius: 16px;
  display: grid;
  gap: 0.45rem;
  grid-template-columns: minmax(170px, 200px) minmax(0, 1fr) auto;
  padding: 0.65rem 0.75rem;
  align-items: center;
}

.nb-admin-order-comparison-item__field {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.nb-admin-order-comparison-item__label {
  color: #10335f;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
}

.nb-admin-order-comparison-item__badge {
  background: rgba(198, 40, 40, 0.1);
  border: 1px solid rgba(198, 40, 40, 0.18);
  border-radius: 999px;
  color: #b42318;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.18rem 0.55rem;
  white-space: nowrap;
}

.nb-admin-order-comparison-item__values {
  display: grid;
  gap: 0.45rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.nb-admin-order-comparison-value {
  background: #fff;
  border: 1px solid rgba(16, 51, 95, 0.1);
  border-radius: 12px;
  height: 100%;
  min-height: 100%;
  padding: 0.45rem 0.6rem;
}

.nb-admin-order-comparison-value--school {
  background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}

.nb-admin-order-comparison-value__label {
  color: #60748d;
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 0.12rem;
  text-transform: uppercase;
}

.nb-admin-order-comparison-value__text {
  color: #10335f;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: pre-wrap;
  word-break: break-word;
}

.nb-admin-order-comparison-item__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: flex-end;
}

.nb-admin-order-comparison-item__actions .nb-button {
  min-width: 0;
  padding: 0.5rem 0.8rem;
}

@media (max-width: 991.98px) {
  .nb-admin-order-comparison-item {
    grid-template-columns: 1fr;
  }

  .nb-admin-order-comparison-item__values {
    grid-template-columns: 1fr;
  }

  .nb-admin-order-comparison-item__actions {
    justify-content: flex-start;
  }

  .nb-teacher-dashboard__pending-grid {
    grid-template-columns: 1fr;
  }
}

.nb-admin-school-panel__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.4rem;
}

.nb-admin-school-form--compact .form-label {
  font-size: 0.78rem;
  margin-bottom: 0.08rem;
}

.nb-admin-school-form--compact .form-control,
.nb-admin-school-form--compact .form-select {
  min-height: calc(1.62rem + 2px);
  padding: 0.14rem 0.35rem;
  font-size: 0.9rem;
}

.nb-admin-school-form--compact textarea.form-control {
  min-height: 3.25rem;
}

.nb-admin-school-readonly-field {
  background: #eef2f7;
  border-color: rgba(16, 51, 95, 0.12);
  color: #6d7e92;
}

.nb-admin-school-readonly-field:focus {
  background: #eef2f7;
  border-color: rgba(16, 51, 95, 0.12);
  box-shadow: none;
}

.nb-admin-school-field-error {
  border-color: #c22323 !important;
  box-shadow: 0 0 0 0.18rem rgba(194, 35, 35, 0.14) !important;
}

.nb-admin-school-form--compact .nb-admin-school-subscriptions--compact {
  margin-bottom: 0.45rem !important;
}

.nb-admin-school-panel__heading--split {
  align-items: flex-start;
  display: flex;
  gap: 0.65rem;
  justify-content: space-between;
}

.nb-admin-school-inline-actions {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 0.5rem;
}

.nb-admin-school-check {
  align-items: center;
  background: #f5f8fc;
  border: 1px solid rgba(16, 51, 95, 0.08);
  border-radius: 14px;
  display: flex;
  gap: 0.45rem;
  min-height: calc(1.9rem + 2px);
  padding: 0.45rem 0.6rem;
}

.nb-admin-school-check .form-check-input {
  float: none;
  margin: 0;
}

.nb-admin-school-check .form-check-label {
  color: #10335f;
  font-size: 0.82rem;
  font-weight: 700;
}

.nb-admin-product-preview-shell {
  position: sticky;
  top: 1.5rem;
}

.nb-admin-product-preview-shell .nb-order__product-card {
  flex: 1 1 auto;
  margin-bottom: 0;
  max-width: none;
  width: 100%;
}

.redText {
  color: #c62828;
}

@media (max-width: 767.98px) {
  .nb-admin-question-card__top {
    grid-template-columns: 1fr;
  }

  .nb-admin-section__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .nb-admin-topic-image-card {
    max-width: 180px;
  }

  .nb-admin-school-grid {
    grid-template-columns: 1fr;
  }

  .nb-admin-school-savebar,
  .nb-admin-school-header {
    align-items: stretch;
    flex-direction: column;
  }

  .nb-admin-school-panel__heading--split,
  .nb-admin-school-inline-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .nb-admin-product-preview-shell {
    position: static;
  }

  .nb-teacher-pending-page__actions {
    justify-content: stretch;
  }

  .nb-teacher-pending-page__actions .nb-button {
    width: 100%;
  }

  .nb-teacher-pending-page__item,
  .nb-teacher-pending-page__item-header {
    align-items: stretch;
    flex-direction: column;
  }

  .nb-teacher-pending-page__item-actions .nb-button {
    width: 100%;
  }
}

/* School homepage replacement */
/* Breakpoint guide for this block: desktop default >= 992px, tablet 768px-991.98px, mobile <= 767.98px */
/* Base tokens + page surface */
.nb-school-home {
  --nb-school-home-ink: #14315d;
  --nb-school-home-ink-soft: #4c6387;
  --nb-school-home-surface: #ffffff;
  --nb-school-home-surface-soft: #f4f8ff;
  --nb-school-home-surface-alt: #eef4ff;
  --nb-school-home-border: rgba(20, 49, 93, 0.1);
  --nb-school-home-shadow: 0 24px 60px rgba(15, 42, 82, 0.12);
  --nb-school-home-radius: 1.75rem;
  color: var(--nb-school-home-ink);
  background:
    radial-gradient(circle at top left, rgba(66, 133, 244, 0.09), transparent 28%),
    linear-gradient(180deg, #fdfefe 0%, #f7faff 48%, #ffffff 100%);
}

.nb-school-home img {
  display: block;
  max-width: 100%;
}

/* Hero */
.nb-school-home__hero {
  position: relative;
  overflow: hidden;
  min-height: 43rem;
  padding: 0 0 7rem;
  background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%);
}

.nb-school-home__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 18%);
  pointer-events: none;
  z-index: 1;
}

.nb-school-home__hero-background,
.nb-school-home__hero-fade {
  position: absolute;
  inset: 0;
}

.nb-school-home__hero-background {
  z-index: 0;
}

.nb-school-home__hero-background img {
  width: 100%;
  height: 100%;
  max-width: none;
  margin-left: 0;
  object-fit: cover;
  object-position: 58% top;
  min-height: 0;
  transform: none;
}

.nb-school-home__hero-fade {
  z-index: 1;
  background: linear-gradient(90deg, rgba(246, 249, 255, 0.98) 0%, rgba(246, 249, 255, 0.95) 22%, rgba(246, 249, 255, 0.8) 36%, rgba(246, 249, 255, 0.45) 48%, rgba(246, 249, 255, 0.12) 58%, rgba(246, 249, 255, 0) 66%);
}

.nb-school-home__hero .container {
  position: relative;
  z-index: 2;
}

.nb-school-home__hero-shell {
  display: flex;
  align-items: center;
  min-height: 43rem;
}

.nb-school-home__hero-copy {
  position: relative;
  z-index: 2;
  max-width: 30rem;
  padding: 4.5rem 0 3.2rem;
}

/* Shared type + lists */
.nb-school-home__eyebrow {
  margin-bottom: 0.85rem;
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nb-school-home__eyebrow--light {
  color: #ffd38a;
}

.nb-school-home__hero h1,
.nb-school-home__section h2 {
    margin-bottom: 1rem;
    color: var(--nb-school-home-ink);
    font-size: clamp(2.4rem, 3.5vw, 4.35rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.02;
}

.nb-school-home__lede,
.nb-school-home__copy-block p:not(.nb-school-home__eyebrow),
.nb-school-home__section-heading p:not(.nb-school-home__eyebrow),
.nb-school-home__testimonial-card p,
.nb-school-home__premium-item p,
.nb-school-home__trust-intro p,
.nb-school-home__bottom-cta-content p {
  color: var(--nb-school-home-ink-soft);
  font-size: 1.25rem;
  line-height: 1.72;
}

.nb-school-home__lede {
  max-width: 24.5rem;
  font-weight: 700;
}

.nb-school-home__hero-points,
.nb-school-home__checklist {
  display: grid;
  gap: 0.55rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.nb-school-home__hero-points li,
.nb-school-home__checklist li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  color: var(--nb-school-home-ink);
  font-weight: 600;
  line-height: 1.5;
}

.nb-school-home__hero-points i,
.nb-school-home__checklist li::before {
  flex: 0 0 auto;
  margin-top: 0.15rem;
  color: #2f76f4;
}

.nb-school-home__checklist li::before {
  content: "\f058";
  font-family: var(--nb-font-icon);
  font-weight: 900;
}

.nb-school-home__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.nb-school-home__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  padding: 0.9rem 1.7rem;
  border-radius: 1rem;
  border-width: 1px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.1;
  box-shadow: 0 14px 28px rgba(20, 49, 93, 0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.nb-school-home__cta-btn:hover,
.nb-school-home__cta-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 18px 30px rgba(20, 49, 93, 0.16);
}

.nb-school-home__cta-btn--primary {
  color: #fff;
  border-color: #e77817;
  background: linear-gradient(135deg, #ffb24a 0%, #ff8c23 42%, #ef6f12 100%);
}

.nb-school-home__cta-btn--primary:hover,
.nb-school-home__cta-btn--primary:focus-visible,
.nb-school-home__cta-btn--primary:active {
  color: #fff;
  border-color: #dc6910;
  background: linear-gradient(135deg, #ffbc5f 0%, #ff952f 42%, #e7660f 100%);
}

.nb-school-home__cta-btn--secondary {
  color: #1c4e97;
  border-color: rgba(47, 118, 244, 0.22);
  background: rgba(255, 255, 255, 0.96);
}

.nb-school-home__cta-btn--secondary:hover,
.nb-school-home__cta-btn--secondary:focus-visible,
.nb-school-home__cta-btn--secondary:active {
  color: #163f7b;
  border-color: rgba(47, 118, 244, 0.34);
  background: #ffffff;
}

.nb-school-home__cta-btn--light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(6px);
}

.nb-school-home__cta-btn--light:hover,
.nb-school-home__cta-btn--light:focus-visible,
.nb-school-home__cta-btn--light:active {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.22);
}

/* Shared section shells */
.nb-school-home__feature-media,
.nb-school-home__bottom-cta-card {
  position: relative;
  border-radius: var(--nb-school-home-radius);
  overflow: hidden;
  box-shadow: var(--nb-school-home-shadow);
}

.nb-school-home__section {
  position: relative;
  padding: 1.75rem 0 5.5rem;
}

.nb-school-home__mid-band {
  background: linear-gradient(180deg, #f7fbff 0%, #eef5ff 34%, #e4f0ff 68%, #d7e9ff 100%);
}

/* Hero to How It Works transition */
.nb-school-home__section--wave-top {
  margin-top: -3rem;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  background: transparent;
  z-index: 2;
}

.nb-school-home__section--wave-top::before {
  content: "";
  position: absolute;
  top: -3.6rem;
  left: 0;
  right: 0;
  height: 7.2rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' preserveAspectRatio='none'%3E%3Cpath fill='%23f7fbff' d='M0 58C118 96 242 18 386 42C520 64 636 86 780 56C930 22 1086 14 1240 40C1322 54 1388 62 1440 50V160H0Z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
  filter: drop-shadow(0 -6px 10px rgba(112, 168, 255, 0.08));
  pointer-events: none;
  z-index: 2;
}

.nb-school-home__section--wave-top::after {
  content: "";
  position: absolute;
  top: -2.8rem;
  left: 0;
  right: 0;
  height: 3.4rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 88' preserveAspectRatio='none'%3E%3Cpath fill='%2367a8ff' fill-opacity='1' d='M0 40C104 70 224 14 350 28C496 46 624 66 770 40C922 12 1080 6 1238 26C1320 36 1388 42 1440 32V60C1388 72 1320 66 1238 54C1080 34 922 38 770 62C624 86 496 68 350 50C224 34 104 88 0 60Z'/%3E%3C/svg%3E") center top / 100% 100% no-repeat;
  opacity: 1;
  filter: drop-shadow(0 -4px 8px rgba(103, 168, 255, 0.32));
  pointer-events: none;
  z-index: 1;
}

.nb-school-home__section--soft {
  background: transparent;
}

.nb-school-home__section--bottom-cta {
  padding-top: 0;
}

/* Section headings */
.nb-school-home__section-heading {
  max-width: 48rem;
  margin: 0 auto 2.5rem;
}

.nb-school-home__section-heading h2 {
  margin-bottom: 0.65rem;
  font-size: clamp(2rem, 3vw, 3.3rem);
}

/* How It Works */
.nb-school-home__step-card {
  --nb-school-home-step-card-pad: 1.5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--nb-school-home-step-card-pad) var(--nb-school-home-step-card-pad) 0;
  border: 1px solid var(--nb-school-home-border);
  border-radius: 1.6rem;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 16px 42px rgba(20, 49, 93, 0.08);
}

.nb-school-home__step-header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  margin-bottom: 1.25rem;
}

.nb-school-home__step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  background: #2f76f4;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 800;
}

.nb-school-home__step-copy {
  min-width: 0;
}

.nb-school-home__step-copy h3 {
  margin: 0 0 0.65rem;
}

.nb-school-home__step-copy p {
  margin: 0;
}

.nb-school-home__step-card h3,
.nb-school-home__value-card h3,
.nb-school-home__testimonial-card h3,
.nb-school-home__premium-item h3 {
  margin-bottom: 0.65rem;
  color: var(--nb-school-home-ink);
  font-size: 1.35rem;
  font-weight: 800;
}

.nb-school-home__step-card p,
.nb-school-home__value-card p,
.nb-school-home__testimonial-card span,
.nb-school-home__premium-item p {
  color: var(--nb-school-home-ink-soft);
}

.nb-school-home__step-media {
  margin: auto calc(var(--nb-school-home-step-card-pad) * -1) 0;
  border-radius: 0 0 1.6rem 1.6rem;
  overflow: visible;
  background: #dfe8f6;
  position: relative;
}

.nb-school-home__step-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}

.nb-school-home__step-badge {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 24px rgba(20, 49, 93, 0.16);
  color: var(--nb-school-home-ink);
  font-size: 1.2rem;
  z-index: 2;
}

.nb-school-home__steps-row > [class*="col-"]:first-child .nb-school-home__step-media::after,
.nb-school-home__steps-row > [class*="col-"]:last-child .nb-school-home__step-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}

.nb-school-home__steps-row > [class*="col-"]:first-child .nb-school-home__step-media::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0) 18%);
}

.nb-school-home__steps-row > [class*="col-"]:last-child .nb-school-home__step-media::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0) 18%);
}

.nb-school-home__steps-row > [class*="col-"]:nth-child(2) .nb-school-home__step-media {
  border-radius: 1.15rem 1.15rem 1.6rem 1.6rem;
}

.nb-school-home__steps-row > [class*="col-"] {
  position: relative;
}

.nb-school-home__steps-row > [class*="col-"]:not(:last-child)::after {
  content: "\f061";
  position: absolute;
  top: 50%;
  right: calc((var(--bs-gutter-x, 1.5rem) / -2) + 0.55rem);
  transform: translate(50%, -50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(47, 118, 244, 0.18);
  box-shadow: 0 10px 24px rgba(20, 49, 93, 0.12);
  color: #2f76f4;
  font-family: var(--nb-font-icon);
  font-size: 1rem;
  font-weight: 900;
  z-index: 3;
}

/* Classroom Games + No Teacher Prep */
.nb-school-home__copy-block {
  max-width: 32rem;
}

.nb-school-home__copy-block--tight {
  max-width: 28rem;
}

.nb-school-home__copy-block h2 {
  font-size: clamp(2rem, 3vw, 3.25rem);
}

.nb-school-home__section--classroom-games {
  padding-top: 1.75rem;
}

.nb-school-home__section--value-strip {
  padding-top: 0;
  padding-bottom: 1.75rem;
}

.nb-school-home__real-classrooms-card {
  padding: 1rem 1.05rem;
  border: 1px solid rgba(20, 49, 93, 0.08);
  border-radius: 1.9rem;
  background:
    radial-gradient(circle at 12% 18%, rgba(108, 180, 255, 0.12), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 24px 54px rgba(20, 49, 93, 0.08);
}

.nb-school-home__real-classrooms-grid {
  display: grid;
  grid-template-columns: minmax(13rem, 1.38fr) repeat(5, minmax(0, 1fr));
  align-items: stretch;
}

.nb-school-home__real-classrooms-intro,
.nb-school-home__real-classrooms-column {
  display: flex;
  gap: 0.8rem;
  min-width: 0;
  padding: 0.45rem 0.85rem;
}

.nb-school-home__real-classrooms-intro {
  align-items: flex-start;
  padding-left: 0.3rem;
}

.nb-school-home__real-classrooms-column {
  border-left: 1px solid rgba(20, 49, 93, 0.08);
}

.nb-school-home__real-classrooms-copy {
  min-width: 0;
}

.nb-school-home__real-classrooms-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.9rem;
  height: 2.9rem;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(57, 120, 255, 0.16), rgba(57, 120, 255, 0.08));
  color: #2f76f4;
  box-shadow: inset 0 0 0 1px rgba(57, 120, 255, 0.08);
  font-size: 1.05rem;
}

.nb-school-home__real-classrooms-intro h2,
.nb-school-home__real-classrooms-column h3 {
  margin: 0 0 0.45rem;
  color: var(--nb-school-home-ink);
  font-weight: 800;
}

.nb-school-home__real-classrooms-intro h2 {
  font-size: clamp(1.45rem, 1.85vw, 1.95rem);
  line-height: 1.02;
}

.nb-school-home__real-classrooms-column h3 {
  font-size: 0.88rem;
  line-height: 1.14;
  letter-spacing: -0.01em;
}

.nb-school-home__real-classrooms-intro p,
.nb-school-home__real-classrooms-column p {
  margin: 0;
  color: var(--nb-school-home-ink-soft);
  line-height: 1.45;
}

.nb-school-home__real-classrooms-intro p {
  max-width: 14rem;
  font-size: 0.98rem;
}

.nb-school-home__real-classrooms-column p {
  font-size: 0.8rem;
  max-width: 9.5rem;
}

.nb-school-home__copy-block--classroom-games {
  max-width: 25rem;
}

.nb-school-home__copy-block--classroom-games p:not(.nb-school-home__eyebrow) {
  max-width: 22rem;
}

.nb-school-home__copy-block--classroom-games .nb-school-home__checklist {
  gap: 0.7rem;
  margin-top: 1.5rem;
}

.nb-school-home__copy-block--classroom-games .nb-school-home__checklist li {
  font-weight: 700;
}

.nb-school-home__feature-media {
  background: linear-gradient(180deg, #eef5ff 0%, #ffffff 100%);
  padding: 1rem;
}

.nb-school-home__feature-media img {
  width: 100%;
  border-radius: 1.2rem;
}

.nb-school-home__feature-media--spread {
  background: transparent;
  padding: 0;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
}

.nb-school-home__feature-media--spread img {
  border-radius: 0;
}

.nb-school-home__value-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.nb-school-home__value-card {
  height: 100%;
  padding: 1.5rem;
  border: 1px solid rgba(25, 73, 144, 0.08);
  border-radius: 1.4rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 36px rgba(20, 49, 93, 0.08);
}

.nb-school-home__value-icon,
.nb-school-home__premium-item i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.15rem;
  height: 3.15rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(47, 118, 244, 0.14), rgba(20, 49, 93, 0.08));
  color: #2f76f4;
  font-size: 1.3rem;
}

.nb-school-home__section--no-prep {
  padding-top: 0.25rem;
}

.nb-school-home__no-prep-row {
  align-items: center;
}

.nb-school-home__no-prep-shell {
  padding: 1.2rem 1.25rem;
  border: 1px solid rgba(20, 49, 93, 0.08);
  border-radius: 1.9rem;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 24px 54px rgba(20, 49, 93, 0.08);
}

.nb-school-home__info-card {
  height: 100%;
  padding: 0.35rem 0.35rem 0.35rem 0.15rem;
}

.nb-school-home__copy-block--no-prep {
  max-width: 24rem;
}

.nb-school-home__copy-block--no-prep h2 {
  max-width: 22rem;
  margin-bottom: 1rem;
  font-size: clamp(1.55rem, 2.2vw, 2.15rem);
  line-height: 1.02;
}

.nb-school-home__copy-block--no-prep p:not(.nb-school-home__eyebrow) {
  max-width: 21rem;
  margin-bottom: 1.8rem;
}

.nb-school-home__copy-block--no-prep .nb-school-home__checklist {
  gap: 0.45rem;
  margin-top: 0;
}

.nb-school-home__copy-block--no-prep .nb-school-home__checklist li {
  font-weight: 700;
  line-height: 1.26;
}

.nb-school-home__no-prep-row > .col-lg-8 {
  display: flex;
  align-items: center;
}

.nb-school-home__value-grid--no-prep {
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nb-school-home__value-panel {
  width: 100%;
  padding: 1.5rem 1rem;
  border-radius: 1.6rem;
  background: linear-gradient(180deg, #edf5ff 0%, #f8fbff 100%);
  box-shadow: inset 0 0 0 1px rgba(20, 49, 93, 0.04);
}

.nb-school-home__value-grid--no-prep .nb-school-home__value-card {
  padding: 0.55rem 1.15rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.nb-school-home__value-grid--no-prep .nb-school-home__value-card:not(:first-child) {
  border-left: 1px solid rgba(20, 49, 93, 0.08);
}

.nb-school-home__value-grid--no-prep .nb-school-home__value-icon {
  width: 3.2rem;
  height: 3.2rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(57, 120, 255, 0.12), rgba(57, 120, 255, 0.08));
}

.nb-school-home__value-grid--no-prep .nb-school-home__value-card h3 {
  margin-bottom: 0.6rem;
  font-size: 1.15rem;
  line-height: 1.15;
}

.nb-school-home__value-grid--no-prep .nb-school-home__value-card p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.55;
}

/* Trust */
.nb-school-home__section--trust {
  color: #fff;
  background:
    radial-gradient(circle at 38% 34%, rgba(108, 180, 255, 0.22), transparent 18%),
    linear-gradient(90deg, #1554cf 0%, #2f7cf7 48%, #589fff 100%);
}

.nb-school-home__trust-shell {
  display: grid;
  grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: stretch;
}

.nb-school-home__trust-intro {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 2rem;
  border-radius: 1.75rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.08));
  box-shadow: 0 24px 54px rgba(4, 18, 56, 0.16);
  backdrop-filter: blur(8px);
}

.nb-school-home__section--trust .nb-school-home__trust-intro h2 {
  margin-bottom: 1rem;
  color: #fff;
  font-size: clamp(1.35rem, 1.65vw, 1.85rem);
  line-height: 1;
}

.nb-school-home__section--trust .nb-school-home__trust-intro p {
  color: #fff;
}

.nb-school-home__trust-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.nb-school-home__trust-stats div {
  padding: 1rem 1.1rem;
  border-radius: 1.2rem;
  background: rgba(255, 255, 255, 0.14);
}

.nb-school-home__trust-stats strong {
  display: block;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.1;
}

.nb-school-home__trust-stats span {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nb-school-home__trust-carousel {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
}

.nb-school-home__trust-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  min-height: 19.5rem;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 180ms ease, transform 180ms ease;
}

.nb-school-home__trust-track.is-fading {
  opacity: 0;
  transform: translateY(0.4rem);
}

.nb-school-home__trust-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.9rem;
  height: 2.9rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 30px rgba(13, 37, 86, 0.18);
  color: #1e5ed9;
}

.nb-school-home__trust-nav:hover {
  background: #fff;
}

.nb-school-home__testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 19.5rem;
  padding: 1.55rem 1.45rem 1.5rem;
  border-radius: 1.4rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 44px rgba(5, 20, 55, 0.14);
}

.nb-school-home__testimonial-quote {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: rgba(20, 49, 93, 0.16);
  font-size: 1.35rem;
}

.nb-school-home__testimonial-card p {
  margin-bottom: 1.25rem;
  font-size: 0.98rem;
}

.nb-school-home__testimonial-card h3 {
  margin-top: auto;
  margin-bottom: 0.35rem;
  font-size: 1.05rem;
}

.nb-school-home__testimonial-card span {
  display: block;
  font-size: 0.92rem;
  line-height: 1.5;
}

.nb-school-home__trust-dots {
  grid-column: 2;
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 0.7rem;
}

.nb-school-home__trust-dots span {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.42);
}

.nb-school-home__trust-dots .is-active {
  background: #fff;
}

/* Premium */
.nb-school-home__purpose-card {
  margin-bottom: 1.35rem;
  padding: 1.55rem 1.5rem 1.3rem;
  border: 1px solid rgba(240, 180, 76, 0.24);
  border-radius: 1.8rem;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 198, 94, 0.12), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fffdfa 100%);
  box-shadow: 0 18px 40px rgba(20, 49, 93, 0.06);
  text-align: center;
}

/* Competitive Play landing page */
.nb-competitive-play {
  padding: 0 0 3rem;
  background:
    radial-gradient(circle at 16% 8%, rgba(102, 177, 255, 0.12), transparent 24%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
}


.nb-competitive-play .container {
  max-width: 1320px;
}

.nb-competitive-play__band,
.nb-competitive-play__cta {
  border: 1px solid rgba(18, 57, 112, 0.08);
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 26px 60px rgba(20, 49, 93, 0.08);
}

.nb-competitive-play__hero {
  position: relative;
  overflow: hidden;
  min-height: 40rem;
  padding: 0 0 3.1rem;
  background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%);
}

.nb-competitive-play__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 18%);
  pointer-events: none;
  z-index: 1;
}

.nb-competitive-play__hero .container {
  position: relative;
  z-index: 2;
}

.nb-competitive-play__hero-shell {
  display: flex;
  align-items: center;
  min-height: 40rem;
}

.nb-competitive-play__hero-copy {
  position: relative;
  z-index: 2;
  max-width: 28rem;
  padding: 4.25rem 0 2.7rem 0.1rem;
}

.nb-competitive-play__hero-background,
.nb-competitive-play__hero-fade {
  position: absolute;
  inset: 0;
}

.nb-competitive-play__hero-background img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: right top;
  min-height: 0;
  transform: none;
}

.nb-competitive-play__hero-fade {
  z-index: 1;
  background:
    radial-gradient(circle at 19% 50%, rgba(246, 249, 255, 0.92) 0%, rgba(246, 249, 255, 0.72) 18%, rgba(246, 249, 255, 0.24) 34%, rgba(246, 249, 255, 0) 46%),
    linear-gradient(90deg, rgba(246, 249, 255, 0.98) 0%, rgba(246, 249, 255, 0.95) 18%, rgba(246, 249, 255, 0.8) 30%, rgba(246, 249, 255, 0.45) 40%, rgba(246, 249, 255, 0.12) 49%, rgba(246, 249, 255, 0) 56%);
}

.nb-competitive-play__hero-copy h1 {
  margin: 0 0 1rem;
  color: #183d84;
  font-size: clamp(2.15rem, 3.15vw, 3.85rem);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.nb-competitive-play__hero-lede {
  margin: 0 0 1.55rem;
  color: #31508e;
  font-size: 1.28rem;
  line-height: 1.7;
}

.nb-competitive-play__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
}

.nb-competitive-play__hero-actions .nb-school-home__cta-btn,
.nb-competitive-play__cta-actions .nb-school-home__cta-btn {
  gap: 0.65rem;
}

.nb-competitive-play__hero-trust {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 1.1rem;
  color: #2c4c88;
  font-size: 0.98rem;
  font-weight: 700;
}

.nb-competitive-play__hero-stars {
  display: inline-flex;
  gap: 0.18rem;
  color: #f5a11b;
  font-size: 0.95rem;
}

.nb-competitive-play__section {
  padding-top: 1.75rem;
}

.nb-competitive-play__section-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin-bottom: 1.35rem;
}

.nb-competitive-play__section-heading span {
  width: 2rem;
  height: 1px;
  background: rgba(54, 93, 171, 0.28);
}

.nb-competitive-play__section-heading h2,
.nb-competitive-play__band h2 {
  margin: 0;
  color: #1c3f86;
  font-size: clamp(1.85rem, 2.3vw, 2.65rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.03em;
  text-align: center;
}

.nb-competitive-play__feature-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.95rem;
}

.nb-competitive-play__feature-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  padding: 1rem 0.95rem 0;
  border: 1px solid rgba(20, 49, 93, 0.08);
  border-radius: 1.5rem;
  box-shadow: 0 16px 34px rgba(20, 49, 93, 0.06);
}

.nb-competitive-play__feature-card--daily {
  border-color: rgba(43, 187, 219, 0.25);
  background:
    radial-gradient(circle at 14% 12%, rgba(48, 197, 232, 0.14), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f5fcff 100%);
}

.nb-competitive-play__feature-card--showdown {
  border-color: rgba(255, 162, 74, 0.28);
  background:
    radial-gradient(circle at 14% 12%, rgba(255, 164, 75, 0.16), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #fff8f1 100%);
}

.nb-competitive-play__feature-card--team {
  border-color: rgba(112, 94, 248, 0.24);
  background:
    radial-gradient(circle at 14% 12%, rgba(117, 101, 248, 0.15), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8f6ff 100%);
}

.nb-competitive-play__feature-card--writing,
.nb-competitive-play__feature-card--discover {
  border-color: rgba(87, 188, 95, 0.24);
  background:
    radial-gradient(circle at 14% 12%, rgba(95, 192, 99, 0.14), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f7fcf6 100%);
}

.nb-competitive-play__feature-header {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  margin-bottom: 0.85rem;
}

.nb-competitive-play__feature-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  color: #fff;
  font-size: 1.18rem;
  box-shadow: 0 10px 24px rgba(20, 49, 93, 0.12);
}

.nb-competitive-play__feature-card--daily .nb-competitive-play__feature-icon {
  background: linear-gradient(180deg, #22b7dd 0%, #168cbf 100%);
}

.nb-competitive-play__feature-card--showdown .nb-competitive-play__feature-icon {
  background: linear-gradient(180deg, #ff8a1a 0%, #ee5f00 100%);
}

.nb-competitive-play__feature-card--team .nb-competitive-play__feature-icon {
  background: linear-gradient(180deg, #7c61ff 0%, #5540d8 100%);
}

.nb-competitive-play__feature-card--writing .nb-competitive-play__feature-icon {
  background: linear-gradient(180deg, #8f68ff 0%, #6b46eb 100%);
}

.nb-competitive-play__feature-card--discover .nb-competitive-play__feature-icon {
  background: linear-gradient(180deg, #67bf5f 0%, #2f9642 100%);
}

.nb-competitive-play__feature-label {
  margin: 0 0 0.2rem;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.nb-competitive-play__feature-card--daily .nb-competitive-play__feature-label,
.nb-competitive-play__feature-card--daily h3 {
  color: #148ab2;
}

.nb-competitive-play__feature-card--showdown .nb-competitive-play__feature-label,
.nb-competitive-play__feature-card--showdown h3 {
  color: #f05c00;
}

.nb-competitive-play__feature-card--team .nb-competitive-play__feature-label,
.nb-competitive-play__feature-card--team h3 {
  color: #4d41d3;
}

.nb-competitive-play__feature-card--writing .nb-competitive-play__feature-label,
.nb-competitive-play__feature-card--writing h3 {
  color: #6c46eb;
}

.nb-competitive-play__feature-card--discover .nb-competitive-play__feature-label,
.nb-competitive-play__feature-card--discover h3 {
  color: #248b3f;
}

.nb-competitive-play__feature-card h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.14;
}

.nb-competitive-play__feature-card > p {
  margin: 0 0 0.9rem;
  color: #2d4c89;
  font-size: 0.96rem;
  line-height: 1.62;
}

.nb-competitive-play__feature-list {
  display: grid;
  gap: 0.42rem;
  margin: 0 0 0.95rem;
  padding: 0;
  list-style: none;
}

.nb-competitive-play__feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: #21417f;
  font-size: 0.94rem;
  line-height: 1.45;
}

.nb-competitive-play__feature-list li::before {
  content: "\f058";
  flex: 0 0 auto;
  margin-top: 0.08rem;
  font-family: var(--nb-font-icon);
  font-weight: 900;
}

.nb-competitive-play__feature-card--daily .nb-competitive-play__feature-list li::before {
  color: #17a2c8;
}

.nb-competitive-play__feature-card--showdown .nb-competitive-play__feature-list li::before {
  color: #f06a12;
}

.nb-competitive-play__feature-card--team .nb-competitive-play__feature-list li::before,
.nb-competitive-play__feature-card--writing .nb-competitive-play__feature-list li::before {
  color: #6a53ec;
}

.nb-competitive-play__feature-card--discover .nb-competitive-play__feature-list li::before {
  color: #46a950;
}

.nb-competitive-play__feature-media {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-top: auto;
  overflow: hidden;
  border-radius: 1rem;
}

.nb-competitive-play__feature-media img {
  display: block;
  width: 100%;
}

.nb-competitive-play__feature-media--daily {
  min-height: 12rem;
  background: linear-gradient(180deg, #18a4ca 0%, #136f95 100%);
}

.nb-competitive-play__feature-media--daily img {
  height: 12.7rem;
  object-fit: contain;
  object-position: center bottom;
}

.nb-competitive-play__feature-media--showdown {
  background: linear-gradient(180deg, #0d2452 0%, #071535 100%);
}

.nb-competitive-play__feature-media--showdown img,
.nb-competitive-play__feature-media--team img {
  height: 12.7rem;
  object-fit: contain;
  object-position: center bottom;
}

.nb-competitive-play__feature-media--team {
  background: linear-gradient(180deg, #5237d9 0%, #7b6aff 100%);
}

.nb-competitive-play__feature-media--writing,
.nb-competitive-play__feature-media--discover {
  min-height: 12rem;
}

.nb-competitive-play__feature-media--writing {
  align-items: stretch;
  padding: 0.9rem;
}

.nb-competitive-play__feature-media-stack {
  display: grid;
  gap: 0.75rem;
  width: 100%;
}

.nb-competitive-play__feature-media-stack img {
  height: 6rem;
  border-radius: 0.9rem;
  object-fit: contain;
  object-position: center;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 10px 22px rgba(20, 49, 93, 0.08);
}

.nb-competitive-play__feature-media--discover img {
  height: 12.8rem;
  object-fit: contain;
  object-position: center bottom;
}

.nb-competitive-play__feature-note {
  margin: 0;
  color: #6a53ec;
  font-family: var(--nb-font-display);
  font-size: 1.32rem;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0.01em;
  text-align: left;
}

.nb-competitive-play__feature-callout {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0.3rem;
  width: fit-content;
  margin: 0.6rem auto 0.15rem;
  color: #6a53ec;
}

.nb-competitive-play__feature-callout-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: -0.22rem;
  font-family: var(--nb-font-display);
  font-size: 2.1rem;
  line-height: 1;
  transform: rotate(-22deg);
}

.nb-competitive-play__band {
  margin-top: 1.65rem;
  padding: 1.4rem 1.15rem;
}

.nb-competitive-play__band h2 {
  margin-bottom: 1.2rem;
}

.nb-competitive-play__mini-grid {
  display: grid;
  gap: 0;
}

.nb-competitive-play__mini-grid--skills {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.nb-competitive-play__mini-grid--systems {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nb-competitive-play__mini-item {
  padding: 0.6rem 1rem;
  text-align: center;
}

.nb-competitive-play__mini-item:not(:first-child) {
  border-left: 1px solid rgba(20, 49, 93, 0.08);
}

.nb-competitive-play__mini-item i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.8rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: 0 10px 24px rgba(20, 49, 93, 0.08);
  color: #2f76f4;
  font-size: 1.28rem;
}

.nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(1) i,
.nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(4) i {
  color: #7b5ef5;
}

.nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(2) i {
  color: #f0a218;
}

.nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(3) i {
  color: #30a94a;
}

.nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(5) i {
  color: #f16417;
}

.nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(6) i {
  color: #1398be;
}

.nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(7) i {
  color: #f063b0;
}

.nb-competitive-play__mini-item h3 {
  margin: 0 0 0.45rem;
  color: #183d84;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}

.nb-competitive-play__mini-item p {
  margin: 0;
  color: #3c5b95;
  font-size: 0.93rem;
  line-height: 1.5;
}

.nb-competitive-play__cta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.2rem;
  margin-top: 1.65rem;
  padding: 1.45rem 1.55rem;
  color: #fff;
  background:
    radial-gradient(circle at 10% 20%, rgba(255, 184, 43, 0.2), transparent 18%),
    linear-gradient(90deg, #1f288f 0%, #3a30a7 52%, #2c55ca 100%);
}

.nb-competitive-play__cta-trophy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 8rem;
  height: 8rem;
  border-radius: 1.8rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.04));
  font-size: 4rem;
  color: #ffc533;
}

.nb-competitive-play__cta-copy h2 {
  margin: 0 0 0.5rem;
  color: #fff;
  text-align: left;
}

.nb-competitive-play__cta-copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.16rem;
  line-height: 1.55;
}

.nb-competitive-play__cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.9rem;
}

.nb-competitive-play__trust-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  margin: 1rem 0 0;
  color: #6580b6;
  font-size: 1rem;
  line-height: 1.4;
}

.nb-competitive-play__trust-note i {
  color: #4c72cb;
}

@media (max-width: 1199.98px) {
  .nb-competitive-play__hero {
    min-height: 35rem;
    padding-bottom: 2.35rem;
  }

  .nb-competitive-play__hero-shell {
    min-height: 35rem;
  }

  .nb-competitive-play__hero-copy {
    max-width: 26rem;
    padding-top: 3.1rem;
    padding-bottom: 2.15rem;
  }

  .nb-competitive-play__hero-fade {
    background:
      radial-gradient(circle at 18% 48%, rgba(246, 249, 255, 0.92) 0%, rgba(246, 249, 255, 0.72) 18%, rgba(246, 249, 255, 0.28) 36%, rgba(246, 249, 255, 0) 48%),
      linear-gradient(90deg, rgba(246, 249, 255, 0.98) 0%, rgba(246, 249, 255, 0.95) 20%, rgba(246, 249, 255, 0.8) 32%, rgba(246, 249, 255, 0.46) 42%, rgba(246, 249, 255, 0.14) 51%, rgba(246, 249, 255, 0) 58%);
  }

  .nb-competitive-play__feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nb-competitive-play__feature-card--writing,
  .nb-competitive-play__feature-card--discover {
    grid-column: span 1;
  }

  .nb-competitive-play__mini-grid--skills {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .nb-competitive-play__mini-grid--systems {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(5),
  .nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(6),
  .nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(7),
  .nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(8),
  .nb-competitive-play__mini-grid--systems .nb-competitive-play__mini-item:nth-child(4),
  .nb-competitive-play__mini-grid--systems .nb-competitive-play__mini-item:nth-child(5) {
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(5),
  .nb-competitive-play__mini-grid--systems .nb-competitive-play__mini-item:nth-child(4) {
    border-left: 0;
  }
}

@media (max-width: 991.98px) {
  .nb-competitive-play {
    padding-top: 0;
  }

  .nb-competitive-play__hero {
    min-height: 0;
    padding: 15rem 0 1.15rem;
  }

  .nb-competitive-play__hero-shell {
    min-height: 0;
    align-items: flex-start;
  }

  .nb-competitive-play__hero-copy {
    max-width: none;
    padding: 1.3rem 1rem 1.15rem;
    background: #fff;
    border-radius: 1.45rem;
    box-shadow: 0 18px 40px rgba(20, 49, 93, 0.1);
  }

  .nb-competitive-play__hero-copy h1 {
    font-size: clamp(2rem, 6vw, 3.2rem);
  }

  .nb-competitive-play__hero-lede {
    font-size: 1.08rem;
  }

  .nb-competitive-play__hero-background,
  .nb-competitive-play__hero-fade {
    inset: 0 0 auto 0;
    height: 15rem;
  }

  .nb-competitive-play__hero-background img {
    object-position: right top;
  }

  .nb-competitive-play__hero-fade {
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.08) 0%, rgba(247, 250, 255, 0.12) 52%, rgba(247, 250, 255, 0.68) 80%, rgba(247, 250, 255, 1) 100%);
  }

  .nb-competitive-play__feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-competitive-play__mini-grid--skills,
  .nb-competitive-play__mini-grid--systems {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-competitive-play__mini-item:nth-child(n + 3) {
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-competitive-play__mini-item:nth-child(odd) {
    border-left: 0;
  }

  .nb-competitive-play__cta {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .nb-competitive-play__cta-copy h2 {
    text-align: center;
  }

  .nb-competitive-play__cta-actions {
    justify-content: center;
  }
}

@media (max-width: 767.98px) {
  .nb-competitive-play__band,
  .nb-competitive-play__cta {
    border-radius: 1.45rem;
  }

  .nb-competitive-play__hero {
    padding: 12.2rem 0 0.9rem;
  }

  .nb-competitive-play__hero-copy h1 {
    font-size: clamp(1.8rem, 8.5vw, 2.6rem);
  }

  .nb-competitive-play__hero-copy {
    padding: 1.1rem 0.9rem 1rem;
  }

  .nb-competitive-play__hero-background,
  .nb-competitive-play__hero-fade {
    height: 12.2rem;
  }

  .nb-competitive-play__hero-actions .nb-school-home__cta-btn,
  .nb-competitive-play__cta-actions .nb-school-home__cta-btn {
    width: 100%;
    justify-content: center;
  }

  .nb-competitive-play__section {
    padding-top: 1.45rem;
  }

  .nb-competitive-play__section-heading {
    gap: 0.7rem;
    margin-bottom: 1rem;
  }

  .nb-competitive-play__section-heading span {
    width: 1.15rem;
  }

  .nb-competitive-play__section-heading h2,
  .nb-competitive-play__band h2 {
    font-size: clamp(1.5rem, 6.5vw, 2rem);
  }

  .nb-competitive-play__feature-grid,
  .nb-competitive-play__mini-grid--skills,
  .nb-competitive-play__mini-grid--systems {
    grid-template-columns: 1fr;
  }

  .nb-competitive-play__feature-card {
    padding: 1rem 0.9rem 0;
  }

  .nb-competitive-play__feature-media--writing {
    padding: 0.7rem;
  }

  .nb-competitive-play__feature-media-stack {
    gap: 0.55rem;
  }

  .nb-competitive-play__feature-media-stack img {
    height: 5.45rem;
  }

  .nb-competitive-play__feature-callout {
    gap: 0.18rem;
    margin-top: 0.55rem;
  }

  .nb-competitive-play__feature-callout-arrow {
    font-size: 1.8rem;
  }

  .nb-competitive-play__feature-note {
    font-size: 1.14rem;
  }

  .nb-competitive-play__mini-item,
  .nb-competitive-play__mini-item:nth-child(n + 3),
  .nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(5),
  .nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(6),
  .nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(7),
  .nb-competitive-play__mini-grid--skills .nb-competitive-play__mini-item:nth-child(8),
  .nb-competitive-play__mini-grid--systems .nb-competitive-play__mini-item:nth-child(4),
  .nb-competitive-play__mini-grid--systems .nb-competitive-play__mini-item:nth-child(5) {
    border-left: 0;
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-competitive-play__mini-item:first-child {
    border-top: 0;
  }

  .nb-competitive-play__band {
    padding: 1.15rem 0.9rem;
  }

  .nb-competitive-play__cta {
    padding: 1.25rem 1rem;
  }

  .nb-competitive-play__cta-trophy {
    width: 6.25rem;
    height: 6.25rem;
    font-size: 3rem;
  }

  .nb-competitive-play__cta-copy p {
    font-size: 1rem;
  }

  .nb-competitive-play__trust-note {
    text-align: center;
  }
}

/* Writing & Reflection page */
.nb-writing-reflection-page {
  --nb-writing-ink: #16326f;
  --nb-writing-ink-soft: #3f5175;
  --nb-writing-blue: #2f72ef;
  --nb-writing-blue-soft: rgba(47, 114, 239, 0.1);
  --nb-writing-green: #55ad3a;
  --nb-writing-green-soft: rgba(85, 173, 58, 0.11);
  --nb-writing-orange: #ff6c1a;
  --nb-writing-orange-soft: rgba(255, 108, 26, 0.12);
  --nb-writing-purple: #7b56ff;
  --nb-writing-purple-soft: rgba(123, 86, 255, 0.1);
  --nb-writing-border: rgba(22, 50, 111, 0.1);
  --nb-writing-shadow: 0 18px 38px rgba(16, 44, 98, 0.08);
  padding: 0 0 2.4rem;
  background:
    radial-gradient(circle at 13% 2%, rgba(130, 172, 255, 0.14), transparent 22%),
    linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
}

.nb-writing-reflection-page img {
  display: block;
  max-width: 100%;
}

.nb-writing-reflection-page__hero {
  position: relative;
  overflow: hidden;
  min-height: 41rem;
  background: linear-gradient(180deg, #f7faff 0%, #ffffff 100%);
}

.nb-writing-reflection-page__hero-background,
.nb-writing-reflection-page__hero-fade {
  position: absolute;
  inset: 0;
}

.nb-writing-reflection-page__hero-background img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.nb-writing-reflection-page__hero-fade {
  background:
    radial-gradient(circle at 20% 32%, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.96) 16%, rgba(255, 255, 255, 0.82) 30%, rgba(255, 255, 255, 0.36) 46%, rgba(255, 255, 255, 0) 58%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 18%, rgba(255, 255, 255, 0.82) 30%, rgba(255, 255, 255, 0.54) 41%, rgba(255, 255, 255, 0.16) 52%, rgba(255, 255, 255, 0) 60%);
}

.nb-writing-reflection-page__hero .container {
  position: relative;
  z-index: 2;
}

.nb-writing-reflection-page__hero-shell {
  display: flex;
  align-items: center;
  min-height: 41rem;
}

.nb-writing-reflection-page__hero-copy {
  max-width: 38.5rem;
  padding: 3.55rem 0 2.4rem 0.15rem;
}

.nb-writing-reflection-page__eyebrow {
  margin: 0 0 1rem;
  color: var(--nb-writing-orange);
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.nb-writing-reflection-page__eyebrow--soft {
  margin-bottom: 0.7rem;
}

.nb-writing-reflection-page__hero-copy h1,
.nb-writing-reflection-page__steps-heading h2,
.nb-writing-reflection-page__tool-head h2,
.nb-writing-reflection-page__featured-copy h2,
.nb-writing-reflection-page__band--benefits > h2,
.nb-writing-reflection-page__cta-copy h2 {
  margin: 0;
  color: #162d66;
  font-family: var(--nb-font-heading);
  font-weight: 700;
  letter-spacing: -0.04em;
}

.nb-writing-reflection-page__hero-copy h1 {
  max-width: 38.5rem;
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 0.98;
}

.nb-writing-reflection-page__lede {
  max-width: 31rem;
  margin: 1.25rem 0 0;
  color: #24385f;
  font-size: 1.14rem;
  line-height: 1.58;
}

.nb-writing-reflection-page__hero-features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
  max-width: 40rem;
  margin-top: 2rem;
}

.nb-writing-reflection-page__hero-features article {
  min-width: 0;
  padding-right: 0.8rem;
}

.nb-writing-reflection-page__hero-features article:not(:last-child) {
  border-right: 1px solid rgba(22, 50, 111, 0.1);
}

.nb-writing-reflection-page__feature-icon,
.nb-writing-reflection-page__step-icon,
.nb-writing-reflection-page__tool-head-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  line-height: 1;
}

.nb-writing-reflection-page__feature-icon {
  width: 4.35rem;
  height: 4.35rem;
  margin-bottom: 0.7rem;
  font-size: 1.75rem;
  border: 1px solid rgba(22, 50, 111, 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.7);
}

.nb-writing-reflection-page__feature-icon--green {
  background: linear-gradient(180deg, #f5fff0, #edf9e9);
  color: var(--nb-writing-green);
}

.nb-writing-reflection-page__feature-icon--blue {
  background: linear-gradient(180deg, #f2f7ff, #e6f0ff);
  color: var(--nb-writing-blue);
}

.nb-writing-reflection-page__feature-icon--orange {
  background: linear-gradient(180deg, #fff5ee, #ffeadc);
  color: var(--nb-writing-orange);
}

.nb-writing-reflection-page__feature-icon--purple {
  background: linear-gradient(180deg, #f6f0ff, #ece2ff);
  color: var(--nb-writing-purple);
}

.nb-writing-reflection-page__hero-features h2 {
  margin: 0;
  color: var(--nb-writing-ink);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}

.nb-writing-reflection-page__hero-features p {
  margin: 0.32rem 0 0;
  color: var(--nb-writing-ink-soft);
  font-size: 0.84rem;
  line-height: 1.42;
}

.nb-writing-reflection-page__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.9rem;
}

.nb-writing-reflection-page__button,
.nb-writing-reflection-page__tool-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.28rem;
  padding: 0.86rem 1.55rem;
  border: 1.5px solid transparent;
  border-radius: 999px;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.nb-writing-reflection-page__button:hover,
.nb-writing-reflection-page__button:focus-visible,
.nb-writing-reflection-page__tool-link:hover,
.nb-writing-reflection-page__tool-link:focus-visible {
  transform: translateY(-1px);
  text-decoration: none;
}

.nb-writing-reflection-page__button--primary {
  background: linear-gradient(135deg, #ff7a1a, #ff5e00);
  color: #fff;
}

.nb-writing-reflection-page__button--primary:hover,
.nb-writing-reflection-page__button--primary:focus-visible {
  color: #fff;
}

.nb-writing-reflection-page__button--secondary {
  border-color: rgba(47, 114, 239, 0.4);
  background: rgba(255, 255, 255, 0.92);
  color: var(--nb-writing-blue);
}

.nb-writing-reflection-page__button--secondary:hover,
.nb-writing-reflection-page__button--secondary:focus-visible {
  color: var(--nb-writing-blue);
  background: #f7fbff;
}

.nb-writing-reflection-page__band,
.nb-writing-reflection-page__featured-response,
.nb-writing-reflection-page__tool-card,
.nb-writing-reflection-page__cta {
  border: 1px solid var(--nb-writing-border);
  border-radius: 1.55rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--nb-writing-shadow);
}

.nb-writing-reflection-page__band {
  margin-top: 1.3rem;
  padding: 1.45rem 1.5rem;
}

.nb-writing-reflection-page__band--steps {
  background:
    linear-gradient(90deg, rgba(243, 250, 255, 0.82) 0%, rgba(255, 250, 245, 0.72) 50%, rgba(247, 243, 255, 0.78) 100%);
}

.nb-writing-reflection-page__steps-heading {
  margin-bottom: 1rem;
}

.nb-writing-reflection-page__steps-heading h2,
.nb-writing-reflection-page__band--benefits > h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.04;
}

.nb-writing-reflection-page__steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: start;
  gap: 0.8rem 0.65rem;
}

.nb-writing-reflection-page__step {
  position: relative;
  min-width: 0;
  padding-right: 0.35rem;
}

.nb-writing-reflection-page__step-icon {
  width: 5.2rem;
  height: 5.2rem;
  margin-bottom: 0;
  font-size: 2rem;
  border: 1px solid rgba(22, 50, 111, 0.08);
}

.nb-writing-reflection-page__step-icon--green {
  background: linear-gradient(180deg, #f4ffef, #ebf9e5);
  color: var(--nb-writing-green);
}

.nb-writing-reflection-page__step-icon--blue {
  background: linear-gradient(180deg, #f1f7ff, #e3efff);
  color: var(--nb-writing-blue);
}

.nb-writing-reflection-page__step-icon--orange {
  background: linear-gradient(180deg, #fff3ea, #ffe7d8);
  color: var(--nb-writing-orange);
}

.nb-writing-reflection-page__step-icon--purple {
  background: linear-gradient(180deg, #f7f1ff, #ece2ff);
  color: var(--nb-writing-purple);
}

.nb-writing-reflection-page__step-number {
  position: absolute;
  top: 2.4rem;
  left: 4.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(16, 44, 98, 0.12);
}

.nb-writing-reflection-page__step:nth-of-type(1) .nb-writing-reflection-page__step-number {
  background: var(--nb-writing-green);
}

.nb-writing-reflection-page__step:nth-of-type(2) .nb-writing-reflection-page__step-number {
  background: var(--nb-writing-blue);
}

.nb-writing-reflection-page__step:nth-of-type(3) .nb-writing-reflection-page__step-number {
  background: var(--nb-writing-orange);
}

.nb-writing-reflection-page__step:nth-of-type(4) .nb-writing-reflection-page__step-number {
  background: var(--nb-writing-purple);
}

.nb-writing-reflection-page__step h3 {
  margin: 1.25rem 0 0;
  color: var(--nb-writing-ink);
  font-size: 1.18rem;
  font-weight: 800;
  line-height: 1.3;
}

.nb-writing-reflection-page__step p {
  margin: 0.72rem 0 0;
  color: var(--nb-writing-ink-soft);
  font-size: 0.95rem;
  line-height: 1.5;
}

.nb-writing-reflection-page__step-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-top: 2.15rem;
  color: rgba(22, 50, 111, 0.35);
  font-size: 2.15rem;
}

.nb-writing-reflection-page__band--featured {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 1.2rem;
  align-items: start;
}

.nb-writing-reflection-page__featured-copy h2,
.nb-writing-reflection-page__tool-head h2,
.nb-writing-reflection-page__cta-copy h2 {
  font-size: clamp(1.9rem, 2.8vw, 2.65rem);
  line-height: 1.05;
}

.nb-writing-reflection-page__featured-copy p {
  margin: 0.85rem 0 0;
  color: var(--nb-writing-ink-soft);
  font-size: 1rem;
  line-height: 1.58;
}

.nb-writing-reflection-page__featured-response {
  padding: 1.35rem 1.3rem 1.2rem;
}

.nb-writing-reflection-page__featured-response h3 {
  margin: 0;
  color: var(--nb-writing-ink);
  font-size: 1.22rem;
  font-weight: 800;
  line-height: 1.38;
}

.nb-writing-reflection-page__featured-response-body {
  margin-top: 0.9rem;
  border-top: 1px solid rgba(22, 50, 111, 0.1);
  padding-top: 0.95rem;
}

.nb-writing-reflection-page__featured-response-body p {
  margin: 0;
  color: #2c416d;
  font-size: 1.08rem;
  line-height: 1.75;
  white-space: pre-line;
}

.nb-writing-reflection-page__featured-response-byline {
  margin: 1rem 0 0;
  color: var(--nb-writing-green);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.45;
}

.nb-writing-reflection-page__tool-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-writing-reflection-page__tool-card {
  min-width: 0;
  padding: 1.55rem 1.5rem 1.35rem;
}

.nb-writing-reflection-page__tool-card--voice {
  background:
    radial-gradient(circle at top left, rgba(85, 173, 58, 0.07), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #fcfff8 100%);
}

.nb-writing-reflection-page__tool-card--headline {
  background:
    radial-gradient(circle at top left, rgba(47, 114, 239, 0.07), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.nb-writing-reflection-page__tool-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.95rem;
  align-items: start;
}

.nb-writing-reflection-page__tool-head-icon {
  width: 4rem;
  height: 4rem;
  font-size: 1.6rem;
}

.nb-writing-reflection-page__tool-card--voice .nb-writing-reflection-page__tool-head-icon {
  background: linear-gradient(180deg, #effce8, #e1f3d9);
  color: var(--nb-writing-green);
}

.nb-writing-reflection-page__tool-card--headline .nb-writing-reflection-page__tool-head-icon {
  background: linear-gradient(180deg, #edf3ff, #dfeafe);
  color: var(--nb-writing-blue);
}

.nb-writing-reflection-page__tool-head p {
  margin: 0.28rem 0 0;
  color: var(--nb-writing-ink);
  font-size: 1.03rem;
  font-weight: 600;
  line-height: 1.35;
}

.nb-writing-reflection-page__tool-card > p {
  margin: 0.95rem 0 0;
  color: var(--nb-writing-ink-soft);
  font-size: 1.02rem;
  line-height: 1.58;
}

.nb-writing-reflection-page__tool-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(13rem, 33%, 16.5rem);
  gap: 1.1rem;
  align-items: start;
  margin-top: 0.95rem;
}

.nb-writing-reflection-page__tool-copy {
  min-width: 0;
}

.nb-writing-reflection-page__tool-copy > p {
  margin: 0;
  color: var(--nb-writing-ink-soft);
  font-size: 1.02rem;
  line-height: 1.58;
}

.nb-writing-reflection-page__tool-list {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.7rem;
}

.nb-writing-reflection-page__tool-list li {
  position: relative;
  padding-left: 1.45rem;
  color: var(--nb-writing-ink);
  font-size: 0.97rem;
  line-height: 1.45;
}

.nb-writing-reflection-page__tool-list li::before {
  content: "\f058";
  position: absolute;
  left: 0;
  top: 0.03rem;
  font-family: var(--nb-font-icon);
  font-weight: 900;
  font-size: 0.78rem;
}

.nb-writing-reflection-page__tool-card--voice .nb-writing-reflection-page__tool-list li::before {
  color: var(--nb-writing-green);
}

.nb-writing-reflection-page__tool-card--headline .nb-writing-reflection-page__tool-list li::before {
  color: var(--nb-writing-blue);
}

.nb-writing-reflection-page__tool-preview {
  align-self: start;
}

.nb-writing-reflection-page__tool-preview img {
  width: 100%;
  border-radius: 1.1rem;
  box-shadow: 0 16px 30px rgba(16, 44, 98, 0.1);
}

.nb-writing-reflection-page__tool-link {
  min-width: 15rem;
  margin-top: 1.25rem;
}

.nb-writing-reflection-page__tool-link--green {
  border-color: rgba(85, 173, 58, 0.34);
  background: #fff;
  color: var(--nb-writing-green);
}

.nb-writing-reflection-page__tool-link--green:hover,
.nb-writing-reflection-page__tool-link--green:focus-visible {
  color: var(--nb-writing-green);
  background: #fbfff8;
}

.nb-writing-reflection-page__tool-link--blue {
  border-color: rgba(47, 114, 239, 0.34);
  background: #fff;
  color: var(--nb-writing-blue);
}

.nb-writing-reflection-page__tool-link--blue:hover,
.nb-writing-reflection-page__tool-link--blue:focus-visible {
  color: var(--nb-writing-blue);
  background: #f7fbff;
}

.nb-writing-reflection-page__band--benefits > h2 {
  text-align: center;
}

.nb-writing-reflection-page__benefits-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-top: 1.1rem;
}

.nb-writing-reflection-page__benefits-grid article {
  min-width: 0;
  padding: 0.35rem 1rem 0.2rem;
  text-align: center;
}

.nb-writing-reflection-page__benefits-grid article:not(:first-child) {
  border-left: 1px solid rgba(22, 50, 111, 0.1);
}

.nb-writing-reflection-page__benefits-grid i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.7rem;
  font-size: 2.2rem;
  line-height: 1;
}

.nb-writing-reflection-page__benefits-grid article:nth-child(1) i {
  color: var(--nb-writing-green);
}

.nb-writing-reflection-page__benefits-grid article:nth-child(2) i {
  color: var(--nb-writing-blue);
}

.nb-writing-reflection-page__benefits-grid article:nth-child(3) i {
  color: var(--nb-writing-orange);
}

.nb-writing-reflection-page__benefits-grid article:nth-child(4) i {
  color: var(--nb-writing-purple);
}

.nb-writing-reflection-page__benefits-grid article:nth-child(5) i {
  color: #43bfd0;
}

.nb-writing-reflection-page__benefits-grid article:nth-child(6) i {
  color: #ff6aa0;
}

.nb-writing-reflection-page__benefits-grid h3 {
  margin: 0;
  color: var(--nb-writing-ink);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.35;
}

.nb-writing-reflection-page__benefits-grid p {
  margin: 0.45rem 0 0;
  color: var(--nb-writing-ink-soft);
  font-size: 0.92rem;
  line-height: 1.55;
}

.nb-writing-reflection-page__cta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.4rem;
  margin-top: 1.3rem;
  padding: 1.2rem 1.45rem;
}

.nb-writing-reflection-page__cta-art {
  width: 8.5rem;
}

.nb-writing-reflection-page__cta-art img {
  width: 100%;
  height: auto;
}

.nb-writing-reflection-page__cta-copy p {
  margin: 0.45rem 0 0;
  color: var(--nb-writing-ink-soft);
  font-size: 1.03rem;
  line-height: 1.55;
}

.nb-writing-reflection-page__cta-actions {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
}

.nb-writing-reflection-page__cta-actions p {
  margin: 0;
  color: var(--nb-writing-ink-soft);
  font-size: 0.88rem;
}

/* Writing & Reflection page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-writing-reflection-page__hero {
    min-height: 0;
  }

  .nb-writing-reflection-page__hero-background,
  .nb-writing-reflection-page__hero-fade {
    inset: 0 0 auto 0;
    height: 22rem;
  }

  .nb-writing-reflection-page__hero-background img {
    height: 22rem;
    object-position: 68% top;
  }

  .nb-writing-reflection-page__hero-fade {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.16) 52%, rgba(255, 255, 255, 0.88) 82%, rgba(255, 255, 255, 1) 100%);
  }

  .nb-writing-reflection-page__hero-shell {
    min-height: 0;
    align-items: flex-start;
  }

  .nb-writing-reflection-page__hero-copy {
    max-width: none;
    padding: 18.75rem 0 1.7rem;
  }

  .nb-writing-reflection-page__hero-copy h1 {
    max-width: 27rem;
    font-size: clamp(2.55rem, 7vw, 4rem);
  }

  .nb-writing-reflection-page__lede {
    max-width: 35rem;
  }

  .nb-writing-reflection-page__hero-features,
  .nb-writing-reflection-page__steps,
  .nb-writing-reflection-page__benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-writing-reflection-page__tool-grid,
  .nb-writing-reflection-page__band--featured,
  .nb-writing-reflection-page__cta {
    grid-template-columns: 1fr;
  }

  .nb-writing-reflection-page__tool-body {
    grid-template-columns: minmax(0, 1fr) minmax(12.5rem, 15rem);
    gap: 0.95rem;
  }

  .nb-writing-reflection-page__step-arrow {
    display: none;
  }

  .nb-writing-reflection-page__hero-features article:nth-child(2) {
    border-right: 0;
  }

  .nb-writing-reflection-page__hero-features article:nth-child(3),
  .nb-writing-reflection-page__hero-features article:nth-child(4) {
    padding-top: 0.8rem;
    border-top: 1px solid rgba(22, 50, 111, 0.1);
  }

  .nb-writing-reflection-page__benefits-grid article:nth-child(odd) {
    border-left: 0;
  }

  .nb-writing-reflection-page__benefits-grid article:nth-child(n + 3) {
    border-top: 1px solid rgba(22, 50, 111, 0.1);
    padding-top: 1rem;
  }

  .nb-writing-reflection-page__cta {
    justify-items: center;
    text-align: center;
  }
}

/* Writing & Reflection page - Mobile */
@media (max-width: 767.98px) {
  .nb-writing-reflection-page {
    padding-bottom: 1.5rem;
  }

  .nb-writing-reflection-page__hero {
    min-height: 0;
  }

  .nb-writing-reflection-page__hero-background,
  .nb-writing-reflection-page__hero-fade {
    inset: 0 0 auto 0;
    height: 14.25rem;
  }

  .nb-writing-reflection-page__hero-background img {
    height: 14.25rem;
    object-position: 72% top;
  }

  .nb-writing-reflection-page__hero-fade {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.18) 52%, rgba(255, 255, 255, 0.9) 82%, rgba(255, 255, 255, 1) 100%);
  }

  .nb-writing-reflection-page__hero-shell {
    min-height: 0;
    align-items: flex-start;
  }

  .nb-writing-reflection-page__hero-copy {
    max-width: none;
    padding: 13.65rem 0 1.45rem;
  }

  .nb-writing-reflection-page__hero-copy h1 {
    max-width: 14rem;
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .nb-writing-reflection-page__lede {
    font-size: 1.04rem;
  }

  .nb-writing-reflection-page__hero-features,
  .nb-writing-reflection-page__steps,
  .nb-writing-reflection-page__tool-grid,
  .nb-writing-reflection-page__benefits-grid,
  .nb-writing-reflection-page__band--featured,
  .nb-writing-reflection-page__cta {
    grid-template-columns: 1fr;
  }

  .nb-writing-reflection-page__tool-body {
    grid-template-columns: 1fr;
  }

  .nb-writing-reflection-page__hero-features article,
  .nb-writing-reflection-page__hero-features article:not(:last-child),
  .nb-writing-reflection-page__benefits-grid article:not(:first-child) {
    border-right: 0;
    border-left: 0;
  }

  .nb-writing-reflection-page__hero-features article:not(:first-child),
  .nb-writing-reflection-page__benefits-grid article:not(:first-child) {
    border-top: 1px solid rgba(22, 50, 111, 0.1);
    padding-top: 0.9rem;
  }

  .nb-writing-reflection-page__band,
  .nb-writing-reflection-page__cta {
    padding: 1.15rem 1rem;
  }

  .nb-writing-reflection-page__step-arrow {
    display: none;
  }

  .nb-writing-reflection-page__steps-heading,
  .nb-writing-reflection-page__band--benefits > h2,
  .nb-writing-reflection-page__cta {
    text-align: center;
  }

  .nb-writing-reflection-page__benefits-grid article {
    padding: 0.35rem 0.4rem 0;
  }

  .nb-writing-reflection-page__tool-link,
  .nb-writing-reflection-page__button {
    width: 100%;
  }

  .nb-writing-reflection-page__cta-art {
    width: 7rem;
    margin: 0 auto;
  }

  .nb-writing-reflection-page__cta-actions {
    width: 100%;
  }
}

.nb-school-home__purpose-overline {
  margin: 0 0 0.7rem;
  color: #d48b14 !important;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.nb-school-home__purpose-card h2 {
  max-width: 52rem;
  margin: 0 auto 1.3rem;
  color: var(--nb-school-home-ink);
  font-size: clamp(1.7rem, 2.5vw, 2.55rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
}

.nb-school-home__purpose-points {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  align-items: center;
  max-width: 54rem;
  margin: 0 auto 1rem;
}

.nb-school-home__purpose-point {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  min-width: 0;
  color: #21417f;
  font-size: 1.1rem;
  font-weight: 700;
}

.nb-school-home__purpose-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  font-size: 1.3rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: 0 10px 24px rgba(20, 49, 93, 0.08);
}

.nb-school-home__purpose-icon--discussion {
  color: #2d6ff0;
}

.nb-school-home__purpose-icon--writing {
  color: #6c46eb;
}

.nb-school-home__purpose-icon--participation {
  color: #e79a11;
}

.nb-school-home__purpose-icon--civic {
  color: #2c9a43;
}

.nb-school-home__purpose-note {
  margin: 0;
  color: #4867a8;
  font-size: 1.05rem;
  line-height: 1.5;
}

.nb-school-home__premium-card {
  padding: 1.85rem 1.65rem 1.6rem;
  border: 1px solid rgba(16, 51, 95, 0.08);
  border-radius: 2rem;
  background:
    radial-gradient(circle at top center, rgba(56, 129, 255, 0.09), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  box-shadow: 0 24px 54px rgba(20, 49, 93, 0.08);
}

.nb-school-home__premium-card--experiences {
  overflow: hidden;
}

.nb-school-home__premium-hero {
  max-width: 60rem;
  margin: 0 auto 1.7rem;
}

.nb-school-home__premium-overline {
  margin: 0 0 0.9rem;
  color: #f26117 !important;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.32em;
  text-transform: uppercase;
}

.nb-school-home__premium-hero h2 {
  margin: 0 0 0.95rem;
  color: var(--nb-school-home-ink);
  font-size: clamp(1.7rem, 2.5vw, 2.55rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.04em;
}

.nb-school-home__premium-hero p {
  max-width: 46rem;
  margin: 0 auto;
  color: #4867a8;
  font-size: 1.2rem;
  line-height: 1.55;
}

.nb-school-home__experiences-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.95rem;
}

.nb-school-home__experience-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  padding: 1.05rem 1rem 0;
  border: 1px solid rgba(20, 49, 93, 0.08);
  border-radius: 1.55rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, #ffffff 100%);
  box-shadow: 0 18px 40px rgba(20, 49, 93, 0.07);
}

.nb-school-home__experience-card--daily5 {
  border-color: rgba(43, 187, 219, 0.28);
  background:
    radial-gradient(circle at 18% 14%, rgba(48, 197, 232, 0.13), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f5fcff 100%);
}

.nb-school-home__experience-card--showdown {
  border-color: rgba(255, 162, 74, 0.32);
  background:
    radial-gradient(circle at 18% 14%, rgba(255, 164, 75, 0.15), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fff8f1 100%);
}

.nb-school-home__experience-card--monthly {
  border-color: rgba(112, 94, 248, 0.28);
  background:
    radial-gradient(circle at 18% 14%, rgba(117, 101, 248, 0.14), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8f6ff 100%);
}

.nb-school-home__experience-card--growth {
  border-color: rgba(87, 188, 95, 0.28);
  background:
    radial-gradient(circle at 18% 14%, rgba(95, 192, 99, 0.14), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f7fcf6 100%);
}

.nb-school-home__experience-header {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  margin-bottom: 0.85rem;
}

.nb-school-home__experience-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  font-size: 1.2rem;
  color: #fff;
  box-shadow: 0 12px 24px rgba(20, 49, 93, 0.12);
}

.nb-school-home__experience-card--daily5 .nb-school-home__experience-icon {
  background: linear-gradient(180deg, #22b7dd 0%, #168cbf 100%);
}

.nb-school-home__experience-card--showdown .nb-school-home__experience-icon {
  background: linear-gradient(180deg, #ff8a1a 0%, #ee5f00 100%);
}

.nb-school-home__experience-card--monthly .nb-school-home__experience-icon {
  background: linear-gradient(180deg, #7c61ff 0%, #5540d8 100%);
}

.nb-school-home__experience-card--growth .nb-school-home__experience-icon {
  background: linear-gradient(180deg, #67bf5f 0%, #2f9642 100%);
}

.nb-school-home__experience-header h3 {
  margin: 0 0 0.25rem;
  font-size: clamp(1.12rem, 1.22vw, 1.5rem);
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -0.02em;
}

.nb-school-home__experience-card--daily5 .nb-school-home__experience-header h3 {
  color: #148ab2;
}

.nb-school-home__experience-card--showdown .nb-school-home__experience-header h3 {
  color: #f05c00;
}

.nb-school-home__experience-card--monthly .nb-school-home__experience-header h3 {
  color: #4d41d3;
}

.nb-school-home__experience-card--growth .nb-school-home__experience-header h3 {
  color: #248b3f;
}

.nb-school-home__experience-kicker {
  margin: 0;
  color: #31518e;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.2;
}

.nb-school-home__experience-description {
  margin: 0 0 1rem;
  color: #294784;
  font-size: 0.96rem;
  line-height: 1.6;
}

.nb-school-home__experience-list {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}

.nb-school-home__experience-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: #21417f;
  font-size: 0.96rem;
  line-height: 1.45;
}

.nb-school-home__experience-list li::before {
  content: "\f058";
  flex: 0 0 auto;
  margin-top: 0.08rem;
  font-family: var(--nb-font-icon);
  font-weight: 900;
}

.nb-school-home__experience-card--daily5 .nb-school-home__experience-list li::before {
  color: #17a2c8;
}

.nb-school-home__experience-card--showdown .nb-school-home__experience-list li::before {
  color: #f06a12;
}

.nb-school-home__experience-card--monthly .nb-school-home__experience-list li::before {
  color: #6a53ec;
}

.nb-school-home__experience-card--growth .nb-school-home__experience-list li::before {
  color: #46a950;
}

.nb-school-home__experience-media {
  position: relative;
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  border-radius: 1.05rem;
}

.nb-school-home__experience-media img {
  display: block;
  width: 100%;
  max-width: 100%;
}

.nb-school-home__experience-media--daily5 {
  min-height: 13.2rem;
  background: linear-gradient(180deg, #18a4ca 0%, #136f95 100%);
}

.nb-school-home__experience-media--daily5 img {
  height: 13.8rem;
  object-fit: contain;
  object-position: center bottom;
}

.nb-school-home__experience-media--showdown {
  background: linear-gradient(180deg, #0d2452 0%, #071535 100%);
}

.nb-school-home__experience-media--showdown img {
  height: 13.8rem;
  object-fit: contain;
  object-position: center bottom;
}

.nb-school-home__experience-media--monthly {
  background: linear-gradient(180deg, #5237d9 0%, #7b6aff 100%);
}

.nb-school-home__experience-media--monthly img {
  height: 13.8rem;
  object-fit: contain;
  object-position: center bottom;
}

.nb-school-home__experience-media--growth {
  min-height: 13.2rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.nb-school-home__experience-media--growth img {
  width: 100%;
  margin: 0;
  object-fit: contain;
  object-position: center bottom;
}

.nb-school-home__premium-benefits {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin-top: 1.4rem;
  border: 1px solid rgba(20, 49, 93, 0.08);
  border-radius: 1.45rem;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
  overflow: hidden;
}

.nb-school-home__premium-benefit {
  display: flex;
  gap: 0.95rem;
  min-width: 0;
  padding: 1.15rem 1rem;
  background: transparent;
}

.nb-school-home__premium-benefit:not(:first-child) {
  border-left: 1px solid rgba(20, 49, 93, 0.08);
}

.nb-school-home__premium-benefit-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
  box-shadow: inset 0 0 0 1px rgba(47, 118, 244, 0.14);
  color: #2f76f4;
  font-size: 1.2rem;
}

.nb-school-home__premium-benefit:nth-child(2) .nb-school-home__premium-benefit-icon {
  color: #f0a218;
  box-shadow: inset 0 0 0 1px rgba(240, 162, 24, 0.18);
}

.nb-school-home__premium-benefit:nth-child(4) .nb-school-home__premium-benefit-icon {
  color: #24a3ce;
  box-shadow: inset 0 0 0 1px rgba(36, 163, 206, 0.18);
}

.nb-school-home__premium-benefit:nth-child(5) .nb-school-home__premium-benefit-icon {
  color: #6d59ee;
  box-shadow: inset 0 0 0 1px rgba(109, 89, 238, 0.18);
}

.nb-school-home__premium-benefit h3 {
  margin: 0 0 0.35rem;
  color: #184391;
  font-size: 1.12rem;
  font-weight: 800;
}

.nb-school-home__premium-benefit p {
  margin: 0;
  color: #3f5d96;
  font-size: 0.96rem;
  line-height: 1.55;
}

.nb-school-home__premium-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.8rem;
}

.nb-school-home__premium-actions--experiences .nb-school-home__cta-btn {
  gap: 0.7rem;
  min-width: 16.5rem;
}

.nb-school-home__premium-trust-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  margin: 0.95rem 0 0;
  color: #6580b6;
  font-size: 1rem;
  line-height: 1.4;
}

.nb-school-home__premium-trust-note i {
  color: #4c72cb;
}

/* Bottom CTA */
.nb-school-home__bottom-cta-card {
  min-height: 14rem;
  background: linear-gradient(90deg, #123b7e 0%, #0d2b62 46%, #09214f 100%);
}

.nb-school-home__bottom-cta-card > img,
.nb-school-home__bottom-cta-overlay,
.nb-school-home__bottom-cta-content {
  position: absolute;
  inset: 0;
}

.nb-school-home__bottom-cta-card > img {
  width: clamp(17rem, 34%, 24rem);
  height: 100%;
  object-fit: contain;
  object-position: left center;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 72%, rgba(0, 0, 0, 0.92) 80%, rgba(0, 0, 0, 0.62) 90%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 72%, rgba(0, 0, 0, 0.92) 80%, rgba(0, 0, 0, 0.62) 90%, transparent 100%);
}

.nb-school-home__bottom-cta-overlay {
  background: linear-gradient(90deg, rgba(9, 33, 79, 0) 0%, rgba(9, 33, 79, 0.04) 20%, rgba(9, 33, 79, 0.18) 30%, rgba(9, 33, 79, 0.5) 40%, rgba(9, 33, 79, 0.84) 52%, rgba(9, 33, 79, 0.96) 64%, rgba(9, 33, 79, 1) 100%);
}

.nb-school-home__bottom-cta-content {
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  padding: 1.35rem 1.8rem 1.35rem clamp(18rem, 34vw, 25.5rem);
  color: #fff;
}

.nb-school-home__bottom-cta-content h2,
.nb-school-home__bottom-cta-content p {
  color: #fff;
}

.nb-school-home__bottom-cta-content > div:first-child {
  max-width: 30rem;
}

.nb-school-home__bottom-cta-content h2 {
  margin-bottom: 0.45rem;
  font-size: clamp(1.85rem, 2.7vw, 2.8rem);
  line-height: 1.02;
}

.nb-school-home__bottom-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 13.5rem;
}

/* <= 1199.98px: large tablet / small desktop */
@media (max-width: 1199.98px) {
  /* Hero */
  .nb-school-home__hero h1 {
    font-size: clamp(2.2rem, 4vw, 3.5rem);
  }

  .nb-school-home__hero-copy {
    max-width: 31rem;
  }

  /* Premium */
  .nb-school-home__purpose-card h2 {
    font-size: clamp(1.55rem, 2.2vw, 2.1rem);
  }

  .nb-school-home__purpose-points {
    max-width: 48rem;
  }

  .nb-school-home__premium-hero h2 {
    font-size: clamp(1.55rem, 2.2vw, 2.1rem);
  }

  .nb-school-home__experiences-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-school-home__premium-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nb-school-home__premium-benefit:nth-child(4),
  .nb-school-home__premium-benefit:nth-child(5) {
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__premium-benefit:nth-child(4) {
    border-left: 0;
  }

  /* Trust */
  .nb-school-home__trust-shell {
    grid-template-columns: minmax(17rem, 22rem) minmax(0, 1fr);
  }

  .nb-school-home__trust-track {
    grid-template-columns: repeat(3, minmax(15rem, 1fr));
  }

  .nb-school-home__real-classrooms-grid {
    grid-template-columns: minmax(12rem, 1.28fr) repeat(5, minmax(0, 1fr));
  }

  .nb-school-home__real-classrooms-intro,
  .nb-school-home__real-classrooms-column {
    padding-inline: 0.7rem;
  }

  .nb-school-home__real-classrooms-column h3 {
    font-size: 0.84rem;
  }
}

/* <= 991.98px: tablet */
@media (max-width: 991.98px) {
  /* Hero */
  .nb-school-home__hero {
    min-height: 38rem;
    padding-bottom: 5.4rem;
  }

  .nb-school-home__section {
    padding: 1rem 0 4.25rem;
  }

  .nb-school-home__hero-shell {
    min-height: 38rem;
    align-items: flex-start;
  }

  .nb-school-home__copy-block,
  .nb-school-home__copy-block--tight {
    max-width: none;
  }

  .nb-school-home__copy-block--no-prep h2,
  .nb-school-home__copy-block--no-prep p:not(.nb-school-home__eyebrow) {
    max-width: none;
  }

  .nb-school-home__no-prep-shell {
    padding: 1rem;
  }

  .nb-school-home__copy-block--classroom-games p:not(.nb-school-home__eyebrow) {
    max-width: none;
  }

  .nb-school-home__purpose-card {
    padding: 1.3rem 1.1rem 1.15rem;
  }

  .nb-school-home__purpose-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem 1rem;
  }

  .nb-school-home__purpose-point {
    justify-content: flex-start;
  }

  .nb-school-home__purpose-note {
    font-size: 1rem;
  }

  .nb-school-home__real-classrooms-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-school-home__real-classrooms-intro {
    grid-column: 1 / -1;
    padding: 0.35rem 0.2rem 1.15rem;
    border-bottom: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__real-classrooms-column {
    padding: 1rem 0.85rem 0.3rem;
    border-left: 0;
  }

  .nb-school-home__real-classrooms-column h3 {
    font-size: 1rem;
  }

  .nb-school-home__real-classrooms-column p {
    max-width: none;
    font-size: 0.92rem;
  }

  .nb-school-home__real-classrooms-grid > .nb-school-home__real-classrooms-column:nth-child(odd) {
    border-left: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__real-classrooms-grid > .nb-school-home__real-classrooms-column:nth-child(n + 4) {
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__hero-copy {
    max-width: 23.5rem;
    margin-left: 0;
    padding: 2.35rem 0 2.25rem;
  }

  .nb-school-home__hero-background img {
    object-position: 64% top;
  }

  .nb-school-home__hero-fade {
    background: linear-gradient(90deg, rgba(246, 249, 255, 0.99) 0%, rgba(246, 249, 255, 0.97) 26%, rgba(246, 249, 255, 0.9) 42%, rgba(246, 249, 255, 0.68) 54%, rgba(246, 249, 255, 0.28) 64%, rgba(246, 249, 255, 0.06) 72%, rgba(246, 249, 255, 0) 79%);
  }

  /* Section grids */
  .nb-school-home__value-grid,
  .nb-school-home__premium-grid {
    grid-template-columns: 1fr 1fr;
  }

  .nb-school-home__premium-hero {
    margin-bottom: 1.4rem;
  }

  .nb-school-home__premium-hero p {
    font-size: 1.08rem;
  }

  .nb-school-home__premium-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-school-home__premium-benefit:nth-child(3),
  .nb-school-home__premium-benefit:nth-child(4),
  .nb-school-home__premium-benefit:nth-child(5) {
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__premium-benefit:nth-child(3),
  .nb-school-home__premium-benefit:nth-child(5) {
    border-left: 0;
  }

  .nb-school-home__premium-actions--experiences .nb-school-home__cta-btn {
    min-width: 14.5rem;
  }

  .nb-school-home__trust-shell {
    grid-template-columns: 1fr;
  }

  .nb-school-home__trust-carousel {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.85rem;
  }

  .nb-school-home__trust-track {
    grid-template-columns: 1fr;
    overflow: visible;
    padding-bottom: 0;
    min-height: 19.5rem;
  }

  .nb-school-home__trust-nav {
    display: inline-flex;
    width: 2.65rem;
    height: 2.65rem;
  }

  .nb-school-home__trust-dots {
    grid-column: 2;
  }

  .nb-school-home__no-prep-row {
    align-items: flex-start;
  }

  .nb-school-home__no-prep-row > .col-lg-8 {
    display: block;
  }

  .nb-school-home__value-grid--no-prep {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-school-home__value-grid--no-prep .nb-school-home__value-card:nth-child(3),
  .nb-school-home__value-grid--no-prep .nb-school-home__value-card:nth-child(4) {
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__value-grid--no-prep .nb-school-home__value-card:nth-child(3) {
    border-left: 0;
  }

  .nb-school-home__steps-row > [class*="col-"]::after {
    display: none;
  }

  /* Bottom CTA */
  .nb-school-home__bottom-cta-card {
    min-height: 18rem;
  }

  .nb-school-home__bottom-cta-content {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 1.25rem 1.4rem 1.25rem clamp(13rem, 30vw, 17rem);
  }

  .nb-school-home__bottom-cta-actions {
    min-width: 12rem;
  }
}

/* <= 767.98px: mobile */
@media (max-width: 767.98px) {
  /* Hero */
  .nb-school-home__hero {
    min-height: 0;
    padding: 13.5rem 0 2rem;
    background: linear-gradient(180deg, #f7faff 0%, #ffffff 100%);
  }

  .nb-school-home__hero h1,
  .nb-school-home__section h2,
  .nb-school-home__bottom-cta-content h2 {
    font-size: clamp(1.9rem, 7vw, 2.55rem);
  }

  .nb-school-home__section-heading {
    margin-bottom: 2rem;
  }

  /* Wave transition */
  .nb-school-home__section--wave-top {
    margin-top: -2.2rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .nb-school-home__section--wave-top::before {
    top: -2.7rem;
    height: 4.7rem;
  }

  .nb-school-home__section--wave-top::after {
    top: -2.1rem;
    height: 1.95rem;
  }

  /* Cards + grids */
  .nb-school-home__step-card,
  .nb-school-home__value-card,
  .nb-school-home__premium-item,
  .nb-school-home__testimonial-card,
  .nb-school-home__trust-intro,
  .nb-school-home__premium-card {
    padding: 1.25rem;
  }

  .nb-school-home__step-card {
    --nb-school-home-step-card-pad: 1.25rem;
    padding: var(--nb-school-home-step-card-pad) var(--nb-school-home-step-card-pad) 0;
  }

  .nb-school-home__value-grid,
  .nb-school-home__premium-grid,
  .nb-school-home__trust-stats {
    grid-template-columns: 1fr;
  }

  .nb-school-home__premium-card--experiences {
    padding: 1.35rem 1.05rem 1.15rem;
  }

  .nb-school-home__purpose-card {
    margin-bottom: 1rem;
    padding: 1.1rem 0.95rem 1rem;
    border-radius: 1.45rem;
  }

  .nb-school-home__purpose-overline {
    font-size: 0.76rem;
    letter-spacing: 0.18em;
  }

  .nb-school-home__purpose-card h2 {
    margin-bottom: 1rem;
    font-size: clamp(1.35rem, 5.2vw, 1.9rem);
    line-height: 1.18;
  }

  .nb-school-home__purpose-points {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
  }

  .nb-school-home__purpose-point {
    justify-content: flex-start;
    font-size: 1rem;
  }

  .nb-school-home__purpose-icon {
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.12rem;
  }

  .nb-school-home__purpose-note {
    font-size: 0.95rem;
  }

  .nb-school-home__premium-hero {
    margin-bottom: 1.2rem;
  }

  .nb-school-home__premium-overline {
    font-size: 0.76rem;
    letter-spacing: 0.22em;
  }

  .nb-school-home__premium-hero h2 {
    font-size: clamp(1.35rem, 5.2vw, 1.9rem);
    line-height: 1.18;
  }

  .nb-school-home__premium-hero p {
    font-size: 1rem;
  }

  .nb-school-home__experiences-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .nb-school-home__experience-card {
    padding: 1.1rem 1rem 0;
  }

  .nb-school-home__experience-header {
    gap: 0.85rem;
    margin-bottom: 0.85rem;
  }

  .nb-school-home__experience-icon {
    width: 3.15rem;
    height: 3.15rem;
    font-size: 1.22rem;
  }

  .nb-school-home__experience-description,
  .nb-school-home__experience-list li {
    font-size: 0.95rem;
  }

  .nb-school-home__experience-media--daily5,
  .nb-school-home__experience-media--growth {
    min-height: 12rem;
  }

  .nb-school-home__experience-media--daily5 img {
    height: 12.6rem;
  }

  .nb-school-home__premium-benefits {
    grid-template-columns: 1fr;
    margin-top: 1.1rem;
  }

  .nb-school-home__premium-benefit,
  .nb-school-home__premium-benefit:nth-child(4),
  .nb-school-home__premium-benefit:nth-child(5) {
    border-left: 0;
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__premium-benefit:first-child {
    border-top: 0;
  }

  .nb-school-home__premium-actions--experiences {
    margin-top: 1.35rem;
  }

  .nb-school-home__premium-actions--experiences .nb-school-home__cta-btn {
    width: 100%;
    min-width: 0;
  }

  .nb-school-home__premium-trust-note {
    margin-top: 0.85rem;
    font-size: 0.94rem;
    text-align: center;
  }

  .nb-school-home__trust-intro {
    padding: 1.5rem;
  }

  .nb-school-home__section--trust .nb-school-home__trust-intro h2 {
    font-size: clamp(2.4rem, 11vw, 3.2rem);
  }

  .nb-school-home__trust-track {
    grid-template-columns: 1fr;
    overflow: visible;
    padding-bottom: 0;
    min-height: 0;
    transition: none;
  }

  .nb-school-home__testimonial-card {
    min-height: 0;
  }

  .nb-school-home__trust-dots {
    display: none;
  }

  .nb-school-home__no-prep-shell {
    padding: 1rem;
  }

  .nb-school-home__real-classrooms-card {
    padding: 1rem;
    border-radius: 1.5rem;
  }

  .nb-school-home__real-classrooms-grid {
    grid-template-columns: 1fr;
  }

  .nb-school-home__real-classrooms-intro {
    grid-column: auto;
    padding: 0.2rem 0.1rem 1rem;
  }

  .nb-school-home__real-classrooms-intro,
  .nb-school-home__real-classrooms-column {
    gap: 0.85rem;
  }

  .nb-school-home__real-classrooms-column {
    padding: 1rem 0.1rem 0;
    border-left: 0;
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__real-classrooms-grid > .nb-school-home__real-classrooms-column:nth-child(odd) {
    border-left: 0;
  }

  .nb-school-home__real-classrooms-grid > .nb-school-home__real-classrooms-column:nth-child(n + 4) {
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__real-classrooms-icon {
    width: 3rem;
    height: 3rem;
    font-size: 1.15rem;
  }

  .nb-school-home__real-classrooms-intro h2,
  .nb-school-home__real-classrooms-column h3 {
    margin-bottom: 0.45rem;
  }

  .nb-school-home__real-classrooms-column h3 {
    font-size: 1.05rem;
  }

  .nb-school-home__real-classrooms-column p,
  .nb-school-home__real-classrooms-intro p {
    max-width: none;
  }

  .nb-school-home__info-card {
    padding: 0;
  }

  .nb-school-home__value-panel {
    padding: 1rem 0.9rem;
  }

  .nb-school-home__value-grid--no-prep {
    grid-template-columns: 1fr;
  }

  .nb-school-home__value-grid--no-prep .nb-school-home__value-card:not(:first-child) {
    border-left: 0;
    border-top: 1px solid rgba(20, 49, 93, 0.08);
  }

  .nb-school-home__copy-block--no-prep h2 {
    font-size: clamp(1.45rem, 6vw, 1.9rem);
    line-height: 1;
  }

  .nb-school-home__steps-row > [class*="col-"]::after {
    display: none;
  }

  /* Mobile hero card */
  .nb-school-home__hero-shell {
    min-height: 0;
    align-items: flex-start;
  }

  .nb-school-home__hero-copy {
    max-width: none;
    padding: 0;
    background: #fff;
    border-radius: 1.4rem;
    box-shadow: 0 18px 40px rgba(20, 49, 93, 0.1);
    padding: 1.35rem 1rem 4rem;
  }

  .nb-school-home__hero-copy h1 {
    margin-bottom: 0.85rem;
    line-height: 1.04;
  }

  .nb-school-home__hero-copy .nb-school-home__lede {
    font-size: 1rem;
    line-height: 1.55;
  }

  .nb-school-home__hero-points {
    gap: 0.65rem;
    margin-top: 1rem;
  }

  .nb-school-home__hero-points li {
    font-size: 0.98rem;
  }

  /* Mobile hero image band */
  .nb-school-home__hero-background,
  .nb-school-home__hero-fade {
    inset: 0 0 auto 0;
    height: 13rem;
  }

  .nb-school-home__hero-background img {
    width: 100%;
    height: 13rem;
    margin-left: 0;
    object-fit: cover;
    object-position: center top;
    min-height: 0;
    transform: none;
  }

  .nb-school-home__hero-fade {
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.1) 0%, rgba(247, 250, 255, 0.12) 55%, rgba(247, 250, 255, 0.72) 82%, rgba(247, 250, 255, 1) 100%);
  }

  /* Media + CTA */
  .nb-school-home__step-media img {
    aspect-ratio: 5 / 4;
  }

  .nb-school-home__step-badge {
    width: 2.85rem;
    height: 2.85rem;
    left: 0.85rem;
    bottom: 0.85rem;
    font-size: 1.05rem;
  }

  .nb-school-home__feature-media {
    padding: 0.65rem;
  }

  .nb-school-home__feature-media--spread {
    padding: 0;
  }

  .nb-school-home__bottom-cta-card {
    min-height: 32rem;
  }

  .nb-school-home__bottom-cta-card > img {
    width: 100%;
    object-position: 36% center;
  }

  .nb-school-home__bottom-cta-content {
    display: flex;
    padding: 1.5rem;
  }

  .nb-school-home__bottom-cta-actions {
    flex-direction: column;
  }

  .nb-school-home__bottom-cta-actions .btn,
  .nb-school-home__actions .btn,
  .nb-school-home__premium-actions .btn {
    width: 100%;
  }
}

/* Classroom Games Overview page */
.nb-classroom-games-overview {
  --nb-classroom-games-ink: #122d63;
  --nb-classroom-games-ink-soft: #546887;
  --nb-classroom-games-blue: #1f63ff;
  --nb-classroom-games-blue-deep: #1544b0;
  --nb-classroom-games-orange: #f46a14;
  --nb-classroom-games-green: #2f9b56;
  --nb-classroom-games-violet: #6a4ef7;
  --nb-classroom-games-card: #ffffff;
  --nb-classroom-games-card-soft: #f7faff;
  --nb-classroom-games-border: rgba(18, 45, 99, 0.1);
  --nb-classroom-games-shadow: 0 22px 54px rgba(12, 40, 84, 0.12);
  background:
    radial-gradient(circle at top left, rgba(60, 133, 255, 0.12), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 22%, #f7fbff 100%);
  color: var(--nb-classroom-games-ink);
  padding: 0 0 4.5rem;
}

.nb-classroom-games-overview img {
  display: block;
  max-width: 100%;
}

.nb-classroom-games-overview__section {
  padding: 2rem 0 0;
}

.nb-classroom-games-overview__eyebrow {
  color: var(--nb-classroom-games-blue);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.nb-classroom-games-overview__hero {
  position: relative;
  overflow: hidden;
  min-height: 43rem;
  padding: 0 0 2.2rem;
  background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%);
}

.nb-classroom-games-overview__hero-shell {
  display: flex;
  align-items: center;
  min-height: 38rem;
}

.nb-classroom-games-overview__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0) 18%);
  pointer-events: none;
  z-index: 1;
}

.nb-classroom-games-overview__hero .container {
  position: relative;
  z-index: 2;
}

.nb-classroom-games-overview__hero-copy {
  position: relative;
  z-index: 2;
  max-width: 32rem;
  padding: 4rem 0 2.1rem 0.1rem;
}

.nb-classroom-games-overview__hero-copy h1,
.nb-classroom-games-overview__section-heading h2,
.nb-classroom-games-overview__strip-card h2,
.nb-classroom-games-overview__delivery-copy h2,
.nb-classroom-games-overview__competitive-copy h2,
.nb-classroom-games-overview__cta-copy h2 {
  color: var(--nb-classroom-games-ink);
  font-size: clamp(2rem, 4vw, 4.2rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 0.98;
  margin: 0;
}

.nb-classroom-games-overview__hero-copy h1 {
  max-width: 12ch;
  font-weight: 800;
}

.nb-classroom-games-overview__hero-copy h1 span,
.nb-classroom-games-overview__hero-copy h1 strong {
  display: block;
}

.nb-classroom-games-overview__hero-copy h1 strong {
  color: var(--nb-classroom-games-blue);
  font-weight: 800;
  margin-top: 0.08em;
}

.nb-classroom-games-overview__lede,
.nb-classroom-games-overview__competitive-copy p,
.nb-classroom-games-overview__delivery-copy p,
.nb-classroom-games-overview__cta-copy p {
  color: var(--nb-classroom-games-ink-soft);
  font-size: 1.1rem;
  line-height: 1.75;
  margin: 1.4rem 0 0;
}

.nb-classroom-games-overview__hero-actions,
.nb-classroom-games-overview__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.7rem;
}

.nb-classroom-games-overview__button {
  border: 2px solid transparent;
  font-weight: 800;
  min-width: 12.25rem;
  padding-bottom: 0.8rem;
  padding-top: 0.8rem;
}

.nb-classroom-games-overview__button--primary {
  background: linear-gradient(135deg, var(--nb-classroom-games-orange), #ff8a24);
  color: #fff;
  box-shadow: 0 16px 30px rgba(244, 106, 20, 0.22);
}

.nb-classroom-games-overview__button--primary:hover,
.nb-classroom-games-overview__button--primary:focus-visible {
  background: linear-gradient(135deg, #eb5f06, #ff8a24);
  color: #fff;
}

.nb-classroom-games-overview__button--secondary {
  background: #fff;
  border-color: rgba(31, 99, 255, 0.22);
  color: var(--nb-classroom-games-blue-deep);
  box-shadow: 0 12px 28px rgba(16, 58, 128, 0.08);
}

.nb-classroom-games-overview__button--secondary:hover,
.nb-classroom-games-overview__button--secondary:focus-visible {
  background: #f5f9ff;
  border-color: rgba(31, 99, 255, 0.36);
  color: var(--nb-classroom-games-blue-deep);
}

.nb-classroom-games-overview__trust {
  align-items: center;
  color: var(--nb-classroom-games-ink-soft);
  display: flex;
  flex-wrap: wrap;
  font-weight: 700;
  gap: 0.8rem;
  margin-top: 1.35rem;
}

.nb-classroom-games-overview__stars {
  color: #ffb029;
  font-size: 1.15rem;
  letter-spacing: 0.12em;
}

.nb-classroom-games-overview__hero-background,
.nb-classroom-games-overview__hero-fade {
  position: absolute;
  inset: 0;
}

.nb-classroom-games-overview__hero-background img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: right top;
  min-height: 0;
  transform: none;
}

.nb-classroom-games-overview__hero-fade {
  z-index: 1;
  background:
    radial-gradient(circle at 18% 48%, rgba(246, 249, 255, 0.94) 0%, rgba(246, 249, 255, 0.74) 19%, rgba(246, 249, 255, 0.3) 36%, rgba(246, 249, 255, 0) 48%),
    linear-gradient(90deg, rgba(246, 249, 255, 0.98) 0%, rgba(246, 249, 255, 0.96) 20%, rgba(246, 249, 255, 0.82) 31%, rgba(246, 249, 255, 0.48) 42%, rgba(246, 249, 255, 0.15) 51%, rgba(246, 249, 255, 0) 58%);
}

.nb-classroom-games-overview__experience-card,
.nb-classroom-games-overview__use-card,
.nb-classroom-games-overview__delivery-step,
.nb-classroom-games-overview__competitive-card,
.nb-classroom-games-overview__strip-card,
.nb-classroom-games-overview__delivery-card {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--nb-classroom-games-border);
  border-radius: 28px;
  box-shadow: var(--nb-classroom-games-shadow);
}

.nb-classroom-games-overview__experience-card h3,
.nb-classroom-games-overview__use-copy h3,
.nb-classroom-games-overview__delivery-step h3,
.nb-classroom-games-overview__competitive-features h3 {
  color: var(--nb-classroom-games-ink);
  font-size: 1.15rem;
  font-weight: 800;
  margin: 0;
}

.nb-classroom-games-overview__experience-topline p,
.nb-classroom-games-overview__experience-card > p,
.nb-classroom-games-overview__use-copy p,
.nb-classroom-games-overview__delivery-step p,
.nb-classroom-games-overview__competitive-features p {
  color: var(--nb-classroom-games-ink-soft);
  margin: 0.3rem 0 0;
}

.nb-classroom-games-overview__section-heading {
  margin: 0 auto 1.45rem;
  max-width: 52rem;
  text-align: center;
}

.nb-classroom-games-overview__section-heading--wide {
  max-width: 72rem;
}

.nb-classroom-games-overview__section-heading h2,
.nb-classroom-games-overview__strip-card h2,
.nb-classroom-games-overview__delivery-copy h2,
.nb-classroom-games-overview__competitive-copy h2,
.nb-classroom-games-overview__cta-copy h2 {
  font-size: clamp(1.75rem, 3vw, 3rem);
  line-height: 1.05;
}

.nb-classroom-games-overview__experience-grid,
.nb-classroom-games-overview__teacher-uses {
  display: grid;
  gap: 1.25rem;
}

.nb-classroom-games-overview__experience-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nb-classroom-games-overview__experience-card {
  padding: 1.2rem;
}

.nb-classroom-games-overview__experience-topline {
  align-items: center;
  display: flex;
  gap: 0.85rem;
  margin-bottom: 1rem;
}

.nb-classroom-games-overview__experience-icon {
  align-items: center;
  border-radius: 18px;
  color: #fff;
  display: inline-flex;
  font-size: 1.1rem;
  height: 3rem;
  justify-content: center;
  width: 3rem;
}

.nb-classroom-games-overview__experience-icon--interactive {
  background: linear-gradient(135deg, #236cf6, #1950bf);
}

.nb-classroom-games-overview__experience-icon--primer {
  background: linear-gradient(135deg, #2ca36a, #1f784a);
}

.nb-classroom-games-overview__experience-icon--teacher {
  background: linear-gradient(135deg, #7658ff, #5d41db);
}

.nb-classroom-games-overview__experience-icon--practice {
  background: linear-gradient(135deg, #ff7b1f, #ec5700);
}

.nb-classroom-games-overview__experience-card img {
  aspect-ratio: 1.35;
  background: #fff;
  border: 1px solid rgba(18, 45, 99, 0.08);
  border-radius: 22px;
  margin-bottom: 1rem;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.nb-classroom-games-overview__mini-link {
  color: var(--nb-classroom-games-blue-deep);
  display: inline-flex;
  font-weight: 800;
  margin-top: 1rem;
  text-decoration: none;
}

.nb-classroom-games-overview__mini-link:hover,
.nb-classroom-games-overview__mini-link:focus-visible {
  color: var(--nb-classroom-games-blue);
  text-decoration: underline;
}

.nb-classroom-games-overview__section--strip {
  padding-top: 1.6rem;
}

.nb-classroom-games-overview__strip-card {
  padding: 1.9rem 1.15rem 1.1rem;
}

.nb-classroom-games-overview__strip-card h2 {
  font-size: clamp(2rem, 3.3vw, 3.25rem);
  line-height: 1.02;
  margin-bottom: 1.65rem;
  text-align: center;
}

.nb-classroom-games-overview__feature-strip {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.nb-classroom-games-overview__feature-strip article,
.nb-classroom-games-overview__competitive-features article {
  align-items: center;
  display: grid;
  gap: 0.65rem;
  justify-items: center;
  text-align: center;
}

.nb-classroom-games-overview__feature-strip article {
  min-height: 8.75rem;
  padding: 0.4rem 1rem 0.7rem;
}

.nb-classroom-games-overview__feature-strip article:not(:first-child) {
  border-left: 1px solid rgba(18, 45, 99, 0.08);
}

.nb-classroom-games-overview__feature-strip span,
.nb-classroom-games-overview__competitive-features span,
.nb-classroom-games-overview__use-copy h3 span {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

.nb-classroom-games-overview__feature-strip span,
.nb-classroom-games-overview__competitive-features span {
  border-radius: 18px;
  color: var(--nb-classroom-games-blue);
  font-size: 2rem;
  height: 3.75rem;
  width: 3.75rem;
}

.nb-classroom-games-overview__feature-strip h3 {
  color: var(--nb-classroom-games-ink);
  font-size: 0.96rem;
  font-weight: 800;
  line-height: 1.28;
  margin: 0;
  max-width: 10rem;
}

.nb-classroom-games-overview__teacher-uses {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nb-classroom-games-overview__use-card {
  overflow: hidden;
}

.nb-classroom-games-overview__use-card img {
  aspect-ratio: 1.65;
  object-fit: cover;
  width: 100%;
}

.nb-classroom-games-overview__use-copy {
  padding: 1.15rem 1.2rem 1.25rem;
}

.nb-classroom-games-overview__use-copy h3 {
  align-items: center;
  display: flex;
  gap: 0.65rem;
}

.nb-classroom-games-overview__use-copy h3 span {
  color: var(--nb-classroom-games-blue);
  font-size: 1.2rem;
}

.nb-classroom-games-overview__delivery-card {
  align-items: center;
  display: grid;
  gap: 1.6rem;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  padding: 1.7rem;
}

.nb-classroom-games-overview__delivery-flow {
  align-items: center;
  display: grid;
  gap: 0.9rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
}

.nb-classroom-games-overview__delivery-step {
  padding: 1rem;
  text-align: center;
}

.nb-classroom-games-overview__delivery-step img {
  aspect-ratio: 1.35;
  border: 1px solid rgba(18, 45, 99, 0.08);
  border-radius: 20px;
  margin-bottom: 0.9rem;
  object-fit: cover;
  object-position: center top;
  width: 100%;
}

.nb-classroom-games-overview__delivery-arrow {
  color: var(--nb-classroom-games-blue);
  font-size: 1.7rem;
}

.nb-classroom-games-overview__delivery-step--interactive {
  border-color: rgba(31, 99, 255, 0.22);
}

.nb-classroom-games-overview__delivery-step--teacher {
  border-color: rgba(106, 78, 247, 0.22);
}

.nb-classroom-games-overview__delivery-step--practice {
  border-color: rgba(244, 106, 20, 0.22);
}

.nb-classroom-games-overview__section--competitive {
  padding-top: 1.8rem;
}

.nb-classroom-games-overview__competitive-card {
  align-items: center;
  display: grid;
  gap: 1.8rem;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  padding: 1.8rem;
}

.nb-classroom-games-overview__competitive-features {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.nb-classroom-games-overview__competitive-features span {
  background: linear-gradient(180deg, rgba(248, 251, 255, 0.92), rgba(241, 246, 255, 0.96));
}

.nb-classroom-games-overview__competitive-features h3 {
  font-size: 1rem;
}

.nb-classroom-games-overview__competitive-features p {
  font-size: 0.94rem;
  line-height: 1.45;
}

.nb-classroom-games-overview__section--cta {
  padding-top: 1.9rem;
}

.nb-classroom-games-overview__cta-card {
  align-items: center;
  background: linear-gradient(135deg, #203dbe, #3349d4 48%, #6244df);
  border-radius: 28px;
  box-shadow: 0 24px 54px rgba(31, 55, 149, 0.22);
  color: #fff;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 1.7rem 1.85rem;
}

.nb-classroom-games-overview__cta-trophy {
  color: #ffbf3c;
  font-size: 4rem;
  line-height: 1;
}

.nb-classroom-games-overview__cta-copy h2,
.nb-classroom-games-overview__cta-copy p {
  color: #fff;
}

.nb-classroom-games-overview__cta-copy h2 {
  font-size: clamp(1.8rem, 3vw, 2.9rem);
}

/* Classroom Games Overview - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-classroom-games-overview {
    padding-bottom: 4rem;
  }

  .nb-classroom-games-overview__delivery-card,
  .nb-classroom-games-overview__competitive-card {
    grid-template-columns: 1fr;
  }

  .nb-classroom-games-overview__hero {
    min-height: 37rem;
  }

  .nb-classroom-games-overview__hero-shell {
    min-height: 31rem;
  }

  .nb-classroom-games-overview__hero-copy {
    max-width: 29rem;
    padding-top: 3.4rem;
  }

  .nb-classroom-games-overview__hero-copy h1 {
    max-width: 13ch;
  }

  .nb-classroom-games-overview__experience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-classroom-games-overview__feature-strip,
  .nb-classroom-games-overview__competitive-features {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nb-classroom-games-overview__feature-strip article {
    min-height: 8rem;
  }

  .nb-classroom-games-overview__feature-strip article:not(:first-child) {
    border-left: 1px solid rgba(18, 45, 99, 0.08);
  }

  .nb-classroom-games-overview__feature-strip article:nth-child(3n + 1) {
    border-left: 0;
  }

  .nb-classroom-games-overview__teacher-uses {
    grid-template-columns: 1fr;
  }

  .nb-classroom-games-overview__delivery-flow {
    grid-template-columns: 1fr;
  }

  .nb-classroom-games-overview__delivery-arrow {
    justify-self: center;
    transform: rotate(90deg);
  }

  .nb-classroom-games-overview__cta-card {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
}

/* Classroom Games Overview - Mobile */
@media (max-width: 767.98px) {
  .nb-classroom-games-overview {
    padding-bottom: 3.5rem;
  }

  .nb-classroom-games-overview__hero {
    min-height: 0;
    padding: 0 0 1rem;
  }

  .nb-classroom-games-overview__delivery-card,
  .nb-classroom-games-overview__competitive-card,
  .nb-classroom-games-overview__experience-grid,
  .nb-classroom-games-overview__teacher-uses,
  .nb-classroom-games-overview__feature-strip,
  .nb-classroom-games-overview__competitive-features,
  .nb-classroom-games-overview__delivery-flow,
  .nb-classroom-games-overview__cta-card {
    grid-template-columns: 1fr;
  }

  .nb-classroom-games-overview__hero-shell {
    min-height: 0;
    align-items: flex-start;
  }

  .nb-classroom-games-overview__hero-copy {
    max-width: none;
    padding: 11.9rem 0 0;
  }

  .nb-classroom-games-overview__hero-copy h1 {
    font-size: clamp(2rem, 11vw, 3rem);
    max-width: 10ch;
  }

  .nb-classroom-games-overview__hero-background,
  .nb-classroom-games-overview__hero-fade {
    inset: 0 0 auto 0;
    height: 13.8rem;
  }

  .nb-classroom-games-overview__hero-background img {
    width: 100%;
    height: 13.8rem;
    object-position: center top;
  }

  .nb-classroom-games-overview__hero-fade {
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.08) 0%, rgba(247, 250, 255, 0.14) 56%, rgba(247, 250, 255, 0.78) 83%, rgba(247, 250, 255, 1) 100%);
  }

  .nb-classroom-games-overview__hero-option {
    grid-template-columns: 5.25rem 1fr;
  }

  .nb-classroom-games-overview__hero-option img {
    border-radius: 16px;
  }

  .nb-classroom-games-overview__strip-card,
  .nb-classroom-games-overview__delivery-card,
  .nb-classroom-games-overview__competitive-card {
    padding: 1.25rem;
  }

  .nb-classroom-games-overview__strip-card h2 {
    margin-bottom: 1.15rem;
  }

  .nb-classroom-games-overview__feature-strip article {
    min-height: 0;
    padding: 0.8rem 0.45rem;
  }

  .nb-classroom-games-overview__feature-strip article:not(:first-child) {
    border-left: 0;
    border-top: 1px solid rgba(18, 45, 99, 0.08);
  }

  .nb-classroom-games-overview__section {
    padding-top: 1.35rem;
  }

  .nb-classroom-games-overview__delivery-arrow {
    justify-self: center;
    transform: rotate(90deg);
  }

  .nb-classroom-games-overview__hero-actions,
  .nb-classroom-games-overview__cta-actions {
    flex-direction: column;
  }

  .nb-classroom-games-overview__button {
    width: 100%;
  }

  .nb-classroom-games-overview__hero-options {
    margin-top: 1rem;
  }

  .nb-classroom-games-overview__cta-card {
    justify-items: center;
    padding: 1.4rem;
    text-align: center;
  }

  .nb-classroom-games-overview__cta-trophy {
    font-size: 3.4rem;
  }
}

/* Interactive Current Events page */
.nb-interactive-current-events-page {
  --nb-interactive-ink: #17377b;
  --nb-interactive-ink-soft: #304f8d;
  --nb-interactive-blue: #2354ef;
  --nb-interactive-blue-deep: #1942cb;
  --nb-interactive-green: #5aa12b;
  --nb-interactive-green-deep: #4a8e1d;
  --nb-interactive-orange: #ff6c1a;
  --nb-interactive-purple: #7d3cff;
  --nb-interactive-border: rgba(23, 55, 123, 0.11);
  --nb-interactive-shadow: 0 24px 60px rgba(16, 44, 98, 0.1);
  padding: 0 0 2rem;
  background:
    radial-gradient(circle at 18% 5%, rgba(109, 168, 255, 0.12), transparent 24%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.nb-interactive-current-events-page img {
  display: block;
  max-width: 100%;
}

.nb-interactive-current-events-page__hero {
  position: relative;
  overflow: hidden;
  min-height: 34.2rem;
  background: linear-gradient(180deg, #f6faff 0%, #ffffff 100%);
}

.nb-interactive-current-events-page__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0) 18%);
  pointer-events: none;
  z-index: 1;
}

.nb-interactive-current-events-page__hero-background,
.nb-interactive-current-events-page__hero-fade {
  position: absolute;
  inset: 0;
}

.nb-interactive-current-events-page__hero-background img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.nb-interactive-current-events-page__hero-fade {
  z-index: 1;
  background:
    radial-gradient(circle at 16% 44%, rgba(248, 251, 255, 0.94) 0%, rgba(248, 251, 255, 0.76) 18%, rgba(248, 251, 255, 0.32) 35%, rgba(248, 251, 255, 0) 48%),
    linear-gradient(90deg, rgba(248, 251, 255, 0.98) 0%, rgba(248, 251, 255, 0.96) 18%, rgba(248, 251, 255, 0.84) 29%, rgba(248, 251, 255, 0.5) 40%, rgba(248, 251, 255, 0.14) 50%, rgba(248, 251, 255, 0) 58%);
}

.nb-interactive-current-events-page__hero .container {
  position: relative;
  z-index: 2;
}

.nb-interactive-current-events-page__hero-shell {
  display: flex;
  align-items: center;
  min-height: 34.2rem;
}

.nb-interactive-current-events-page__hero-copy {
  max-width: 39rem;
  padding: 3.55rem 0 2.35rem 0.1rem;
}

.nb-interactive-current-events-page__eyebrow {
  margin: 0 0 0.95rem;
  color: var(--nb-interactive-orange);
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nb-interactive-current-events-page__hero-copy h1,
.nb-interactive-current-events-page__section-heading h2,
.nb-interactive-current-events-page__resources-card h2 {
  margin: 0;
  color: #1a2d75;
  font-family: var(--nb-font-heading);
  font-size: clamp(2.15rem, 3.95vw, 4.05rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.97;
}

.nb-interactive-current-events-page__grade-band {
  margin: 0.45rem 0 0;
  color: var(--nb-interactive-blue);
  font-family: var(--nb-font-heading);
  font-size: clamp(1.9rem, 2.85vw, 2.8rem);
  font-weight: 700;
  line-height: 1;
}

.nb-interactive-current-events-page__lede {
  margin: 1rem 0 0;
  color: var(--nb-interactive-ink-soft);
  font-size: 1.12rem;
  line-height: 1.66;
}

.nb-interactive-current-events-page__hero-points {
  display: grid;
  gap: 0.9rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.8rem;
  max-width: 38rem;
}

.nb-interactive-current-events-page__hero-points article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.62rem;
  align-items: center;
}

.nb-interactive-current-events-page__hero-points span {
  color: var(--nb-interactive-purple);
  font-size: 2.1rem;
  line-height: 1;
}

.nb-interactive-current-events-page__hero-points article:nth-child(2) span {
  color: var(--nb-interactive-green);
}

.nb-interactive-current-events-page__hero-points article:nth-child(3) span {
  color: var(--nb-interactive-orange);
}

.nb-interactive-current-events-page__hero-points p {
  margin: 0;
  color: var(--nb-interactive-ink);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.18;
}

.nb-interactive-current-events-page__hero-points strong {
  font-weight: 800;
}

.nb-interactive-current-events-page__section {
  padding-top: 0.85rem;
}

.nb-interactive-current-events-page__section-heading {
  margin: 0 auto 0.6rem;
  text-align: center;
}

.nb-interactive-current-events-page__section-heading--demo {
  position: relative;
  padding-bottom: 0.35rem;
}

.nb-interactive-current-events-page__section-heading--demo::after {
  content: "";
  display: block;
  width: min(13rem, 38vw);
  height: 1px;
  margin: 0.55rem auto 0;
  background: linear-gradient(90deg, rgba(26, 45, 117, 0), rgba(26, 45, 117, 0.36), rgba(26, 45, 117, 0));
}

.nb-interactive-current-events-page__section-heading h2,
.nb-interactive-current-events-page__resources-card h2 {
  font-size: clamp(1.85rem, 2.8vw, 2.85rem);
  line-height: 1.04;
}

.nb-interactive-current-events-page__demo-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-interactive-current-events-page__demo-card,
.nb-interactive-current-events-page__resources-card,
.nb-interactive-current-events-page__tagline {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--nb-interactive-border);
  border-radius: 1.35rem;
  box-shadow: 0 16px 34px rgba(16, 44, 98, 0.07);
}

.nb-interactive-current-events-page__demo-card {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  padding: 0.9rem 1rem;
}

.nb-interactive-current-events-page__demo-card--blue {
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-color: rgba(35, 84, 239, 0.17);
}

.nb-interactive-current-events-page__demo-card--green {
  background: linear-gradient(180deg, #ffffff 0%, #fbfff7 100%);
  border-color: rgba(90, 161, 43, 0.17);
}

.nb-interactive-current-events-page__demo-media {
  display: flex;
  align-items: center;
}

.nb-interactive-current-events-page__demo-media img {
  width: 100%;
  padding: 0.55rem;
  border-radius: 1rem;
  background:
    radial-gradient(circle at top left, rgba(255, 197, 108, 0.34) 0%, rgba(255, 197, 108, 0) 42%),
    linear-gradient(150deg, #10224d 0%, #193875 48%, #0d1c42 100%);
  border: 1px solid rgba(255, 205, 126, 0.42);
  box-shadow:
    0 14px 28px rgba(13, 28, 66, 0.14),
    0 0 0 4px rgba(255, 255, 255, 0.72),
    0 0 18px rgba(71, 142, 255, 0.12);
}

.nb-interactive-current-events-page__demo-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.nb-interactive-current-events-page__demo-copy h3 {
  margin: 0;
  color: #1a2d75;
  font-family: var(--nb-font-heading);
  font-size: clamp(1.12rem, 1.12vw, 1.4rem);
  font-weight: 700;
  line-height: 1.12;
  white-space: nowrap;
}

.nb-interactive-current-events-page__demo-grade {
  margin: 0.22rem 0 0;
  color: var(--nb-interactive-blue);
  font-family: var(--nb-font-heading);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.15;
}

.nb-interactive-current-events-page__demo-grade--green {
  color: var(--nb-interactive-green);
}

.nb-interactive-current-events-page__demo-copy > p:last-of-type {
  margin: 0.55rem 0 0;
  color: var(--nb-interactive-ink-soft);
  font-size: 0.99rem;
  line-height: 1.55;
}

.nb-interactive-current-events-page__primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  margin-top: 0.9rem;
  padding: 0.82rem 1.15rem;
  border-radius: 999px;
  color: #fff;
  font-size: 1.18rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.nb-interactive-current-events-page__primary-action--blue {
  background: linear-gradient(135deg, var(--nb-interactive-blue), var(--nb-interactive-blue-deep));
}

.nb-interactive-current-events-page__primary-action--green {
  background: linear-gradient(135deg, var(--nb-interactive-green), var(--nb-interactive-green-deep));
}

.nb-interactive-current-events-page__primary-action:hover,
.nb-interactive-current-events-page__primary-action:focus-visible {
  color: #fff;
  filter: brightness(1.02);
}

.nb-interactive-current-events-page__demo-links {
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0.65rem;
}

.nb-interactive-current-events-page__demo-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.66rem 0.92rem;
  border: 1.5px solid rgba(35, 84, 239, 0.36);
  border-radius: 999px;
  background: #fff;
  color: var(--nb-interactive-blue);
  font-size: 0.94rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.nb-interactive-current-events-page__demo-links a:hover,
.nb-interactive-current-events-page__demo-links a:focus-visible {
  background: #f7fbff;
  color: var(--nb-interactive-blue);
}

.nb-interactive-current-events-page__demo-links--green a {
  border-color: rgba(90, 161, 43, 0.36);
  color: var(--nb-interactive-green-deep);
}

.nb-interactive-current-events-page__demo-links--green a:hover,
.nb-interactive-current-events-page__demo-links--green a:focus-visible {
  background: #fbfff7;
  color: var(--nb-interactive-green-deep);
}

.nb-interactive-current-events-page__section--resources {
  padding-top: 1rem;
}

.nb-interactive-current-events-page--teacher-tools .nb-interactive-current-events-page__primary-action {
  min-height: 4.15rem;
  line-height: 1.15;
  text-align: center;
}

.nb-interactive-current-events-page--teacher-tools .nb-interactive-current-events-page__primary-action span {
  display: inline-block;
}

.nb-interactive-current-events-page--teacher-tools .nb-interactive-current-events-page__demo-links {
  grid-template-columns: minmax(0, 1fr);
}

.nb-interactive-current-events-page--teacher-tools .nb-interactive-current-events-page__demo-links a {
  justify-content: flex-start;
  white-space: normal;
  line-height: 1.25;
  text-align: left;
}

.nb-interactive-current-events-page--teacher-tools .nb-interactive-current-events-page__demo-links a span {
  min-width: 0;
}

.nb-teacher-resources-section {
  display: grid;
  gap: 0.55rem;
}

.nb-teacher-resources-section__card,
.nb-teacher-resources-section__tagline {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--nb-interactive-border);
  border-radius: 1.35rem;
  box-shadow: 0 16px 34px rgba(16, 44, 98, 0.07);
}

.nb-teacher-resources-section__card {
  padding: 0.9rem 0.95rem 1rem;
}

.nb-teacher-resources-section__grid {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nb-teacher-resources-section__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.8rem;
  align-items: start;
  min-width: 0;
  padding: 0.45rem 0.95rem;
}

.nb-teacher-resources-section__item:not(:first-child) {
  border-left: 1px solid rgba(23, 55, 123, 0.08);
}

.nb-teacher-resources-section__item span {
  color: var(--nb-interactive-purple);
  font-size: 2.2rem;
  line-height: 1;
}

.nb-teacher-resources-section__item:nth-child(2) span {
  color: var(--nb-interactive-orange);
}

.nb-teacher-resources-section__item:nth-child(3) span {
  color: var(--nb-interactive-blue);
}

.nb-teacher-resources-section__item:nth-child(4) span {
  color: var(--nb-interactive-green);
}

.nb-teacher-resources-section__item h3 {
  margin: 0 0 0.25rem;
  color: #1a2d75;
  font-family: var(--nb-font-heading);
  font-size: 1.08rem;
  font-weight: 700;
}

.nb-teacher-resources-section__item p {
  margin: 0;
  color: var(--nb-interactive-ink-soft);
  font-size: 0.95rem;
  line-height: 1.48;
}

.nb-teacher-resources-section__item a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 0.38rem;
  color: var(--nb-interactive-blue);
  font-weight: 700;
  text-decoration: none;
}

.nb-teacher-resources-section__item a:hover,
.nb-teacher-resources-section__item a:focus-visible {
  color: var(--nb-interactive-blue-deep);
  text-decoration: underline;
}

.nb-teacher-resources-section__tagline {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.68rem 1rem;
}

.nb-teacher-resources-section__tagline span {
  color: var(--nb-interactive-blue);
  font-size: 1.35rem;
  line-height: 1;
}

.nb-teacher-resources-section__tagline p {
  margin: 0;
  color: var(--nb-interactive-blue);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
}

.nb-teacher-resources-section__tagline p:last-child {
  justify-self: end;
  text-align: right;
}

/* Interactive Current Events page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-interactive-current-events-page__hero {
    min-height: 34rem;
  }

  .nb-interactive-current-events-page__hero-shell {
    min-height: 34rem;
  }

  .nb-interactive-current-events-page__hero-copy {
    max-width: 28rem;
    padding-top: 3.3rem;
  }

  .nb-interactive-current-events-page__hero-points {
    grid-template-columns: 1fr;
    max-width: 22rem;
  }

  .nb-interactive-current-events-page__demo-grid,
  .nb-teacher-resources-section__grid {
    grid-template-columns: 1fr;
  }

  .nb-teacher-resources-section__item:not(:first-child) {
    border-left: 0;
    border-top: 1px solid rgba(23, 55, 123, 0.08);
  }

  .nb-teacher-resources-section__tagline {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .nb-teacher-resources-section__tagline p:last-child {
    justify-self: center;
    text-align: center;
  }
}

/* Interactive Current Events page - Mobile */
@media (max-width: 767.98px) {
  .nb-interactive-current-events-page {
    padding-bottom: 1.4rem;
  }

  .nb-interactive-current-events-page__hero {
    min-height: 0;
  }

  .nb-interactive-current-events-page__hero-background,
  .nb-interactive-current-events-page__hero-fade {
    inset: 0 0 auto 0;
    height: 14.5rem;
  }

  .nb-interactive-current-events-page__hero-background img {
    height: 14.5rem;
    object-position: center top;
  }

  .nb-interactive-current-events-page__hero-fade {
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.08) 0%, rgba(248, 251, 255, 0.16) 55%, rgba(248, 251, 255, 0.82) 84%, rgba(248, 251, 255, 1) 100%);
  }

  .nb-interactive-current-events-page__hero-shell {
    min-height: 0;
    align-items: flex-start;
  }

  .nb-interactive-current-events-page__hero-copy {
    max-width: none;
    padding: 12.35rem 0 1.4rem;
  }

  .nb-interactive-current-events-page__hero-copy h1 {
    font-size: clamp(2rem, 10vw, 3.35rem);
  }

  .nb-interactive-current-events-page__grade-band {
    font-size: clamp(1.65rem, 7vw, 2.25rem);
  }

  .nb-interactive-current-events-page__hero-points,
  .nb-interactive-current-events-page__demo-grid,
  .nb-teacher-resources-section__grid {
    grid-template-columns: 1fr;
  }

  .nb-interactive-current-events-page__hero-points {
    margin-top: 1.4rem;
  }

  .nb-interactive-current-events-page__demo-card {
    grid-template-columns: 1fr;
    padding: 1rem;
  }

  .nb-interactive-current-events-page__demo-copy h3 {
    white-space: normal;
  }

  .nb-teacher-resources-section__card {
    padding: 0.95rem 0.9rem 1rem;
  }

  .nb-teacher-resources-section__item {
    padding: 0.8rem 0.2rem;
  }

  .nb-teacher-resources-section__item:not(:first-child) {
    border-left: 0;
    border-top: 1px solid rgba(23, 55, 123, 0.08);
  }

  .nb-teacher-resources-section__tagline {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    padding: 0.8rem 0.9rem;
  }

  .nb-teacher-resources-section__tagline p:last-child {
    justify-self: center;
    text-align: center;
  }
}

/* Print Current Events page */
.nb-print-current-events-page {
  --nb-interactive-ink: #17377b;
  --nb-interactive-ink-soft: #304f8d;
  --nb-interactive-blue: #2354ef;
  --nb-interactive-blue-deep: #1942cb;
  --nb-interactive-green: #5aa12b;
  --nb-interactive-green-deep: #4a8e1d;
  --nb-interactive-orange: #ff6c1a;
  --nb-interactive-purple: #7d3cff;
  --nb-interactive-border: rgba(23, 55, 123, 0.11);
  --nb-print-shadow: 0 24px 60px rgba(16, 44, 98, 0.1);
  padding: 0 0 2rem;
  background:
    radial-gradient(circle at 16% 2%, rgba(109, 168, 255, 0.12), transparent 24%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.nb-print-current-events-page img {
  display: block;
  max-width: 100%;
}

.nb-print-current-events-page__hero {
  position: relative;
  overflow: hidden;
  min-height: 42rem;
  background: linear-gradient(180deg, #f7faff 0%, #ffffff 100%);
}

.nb-print-current-events-page__hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 18%);
  pointer-events: none;
  z-index: 1;
}

.nb-print-current-events-page__hero-background,
.nb-print-current-events-page__hero-fade {
  position: absolute;
  inset: 0;
}

.nb-print-current-events-page__hero-background img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.nb-print-current-events-page__hero-fade {
  z-index: 1;
  background:
    radial-gradient(circle at 16% 42%, rgba(248, 251, 255, 0.98) 0%, rgba(248, 251, 255, 0.9) 18%, rgba(248, 251, 255, 0.54) 34%, rgba(248, 251, 255, 0.12) 46%, rgba(248, 251, 255, 0) 56%),
    linear-gradient(90deg, rgba(248, 251, 255, 0.99) 0%, rgba(248, 251, 255, 0.97) 19%, rgba(248, 251, 255, 0.88) 30%, rgba(248, 251, 255, 0.62) 40%, rgba(248, 251, 255, 0.18) 50%, rgba(248, 251, 255, 0) 58%);
}

.nb-print-current-events-page__hero .container {
  position: relative;
  z-index: 2;
}

.nb-print-current-events-page__hero-shell {
  display: flex;
  align-items: center;
  min-height: 42rem;
}

.nb-print-current-events-page__hero-copy {
  max-width: 36.5rem;
  padding: 3.95rem 0 2.7rem 0.1rem;
}

.nb-print-current-events-page__eyebrow {
  margin: 0 0 0.95rem;
  color: var(--nb-interactive-orange);
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nb-print-current-events-page__hero-copy h1 {
  margin: 0;
  color: #1a2d75;
  font-family: var(--nb-font-heading);
  font-size: clamp(2.4rem, 4.4vw, 4.4rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.nb-print-current-events-page__grade-band {
  margin: 0.5rem 0 0;
  color: var(--nb-interactive-blue);
  font-family: var(--nb-font-heading);
  font-size: clamp(1.9rem, 2.95vw, 2.95rem);
  font-weight: 700;
  line-height: 1;
}

.nb-print-current-events-page__lede {
  max-width: 34rem;
  margin: 1.15rem 0 0;
  color: var(--nb-interactive-ink-soft);
  font-size: 1.12rem;
  line-height: 1.58;
}

.nb-print-current-events-page__hero-points {
  display: grid;
  gap: 1rem 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 2rem;
  max-width: 37rem;
}

.nb-print-current-events-page__hero-points article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem;
  align-items: center;
}

.nb-print-current-events-page__hero-points span {
  color: var(--nb-interactive-purple);
  font-size: 2.1rem;
  line-height: 1;
}

.nb-print-current-events-page__hero-points article:nth-child(2) span {
  color: var(--nb-interactive-green);
}

.nb-print-current-events-page__hero-points article:nth-child(3) span {
  color: var(--nb-interactive-orange);
}

.nb-print-current-events-page__hero-points p {
  margin: 0;
  color: var(--nb-interactive-ink);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.2;
}

.nb-print-current-events-page__hero-points strong {
  font-weight: 800;
}

.nb-print-current-events-page__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 2.4rem;
}

.nb-print-current-events-page__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.3rem;
  padding: 0.86rem 1.6rem;
  border: 1.5px solid transparent;
  border-radius: 999px;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.nb-print-current-events-page__button:hover,
.nb-print-current-events-page__button:focus-visible {
  transform: translateY(-1px);
  text-decoration: none;
}

.nb-print-current-events-page__button--dark {
  background: linear-gradient(135deg, #081844, #102a6f);
  color: #fff;
}

.nb-print-current-events-page__button--dark:hover,
.nb-print-current-events-page__button--dark:focus-visible {
  color: #fff;
}

.nb-print-current-events-page__button--outline {
  border-color: rgba(35, 84, 239, 0.44);
  background: rgba(255, 255, 255, 0.9);
  color: var(--nb-interactive-blue);
}

.nb-print-current-events-page__button--outline:hover,
.nb-print-current-events-page__button--outline:focus-visible {
  color: var(--nb-interactive-blue);
  background: #f7fbff;
}

.nb-print-current-events-page__button--orange {
  background: linear-gradient(135deg, #ff7a1a, #ff5e00);
  color: #fff;
}

.nb-print-current-events-page__button--orange:hover,
.nb-print-current-events-page__button--orange:focus-visible {
  color: #fff;
}

.nb-print-current-events-page__section--resources {
  padding-top: 1.25rem;
}

/* Print Current Events page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-print-current-events-page__hero {
    min-height: 34rem;
  }

  .nb-print-current-events-page__hero-shell {
    min-height: 34rem;
  }

  .nb-print-current-events-page__hero-copy {
    max-width: 28rem;
    padding-top: 3.2rem;
  }

  .nb-print-current-events-page__hero-points {
    grid-template-columns: 1fr;
    max-width: 20rem;
  }

  .nb-print-current-events-page__cta-row {
    gap: 0.75rem;
  }
}

/* Print Current Events page - Mobile */
@media (max-width: 767.98px) {
  .nb-print-current-events-page {
    padding-bottom: 1.4rem;
  }

  .nb-print-current-events-page__hero {
    min-height: 0;
  }

  .nb-print-current-events-page__hero-background,
  .nb-print-current-events-page__hero-fade {
    inset: 0 0 auto 0;
    height: 15rem;
  }

  .nb-print-current-events-page__hero-background img {
    height: 15rem;
    object-position: 66% top;
  }

  .nb-print-current-events-page__hero-fade {
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.06) 0%, rgba(248, 251, 255, 0.16) 54%, rgba(248, 251, 255, 0.84) 83%, rgba(248, 251, 255, 1) 100%);
  }

  .nb-print-current-events-page__hero-shell {
    min-height: 0;
    align-items: flex-start;
  }

  .nb-print-current-events-page__hero-copy {
    max-width: none;
    padding: 12.75rem 0 1.45rem;
  }

  .nb-print-current-events-page__hero-copy h1 {
    font-size: clamp(2rem, 10vw, 3.3rem);
  }

  .nb-print-current-events-page__grade-band {
    font-size: clamp(1.65rem, 7vw, 2.25rem);
  }

  .nb-print-current-events-page__hero-points {
    grid-template-columns: 1fr;
    margin-top: 1.4rem;
  }

  .nb-print-current-events-page__cta-row {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.7rem;
  }

  .nb-print-current-events-page__button {
    width: 100%;
  }
}

/* Weekly Worksheet page */
.nb-weekly-worksheet-page .nb-print-current-events-page__hero-copy {
  max-width: 37.5rem;
}

.nb-weekly-worksheet-page .nb-print-current-events-page__hero-copy h1 {
  white-space: nowrap;
}

.nb-weekly-worksheet-page__section {
  padding: 1.55rem 0 0;
}

.nb-weekly-worksheet-page__section-heading {
  max-width: 41rem;
  margin-bottom: 1.2rem;
}

.nb-weekly-worksheet-page__section-heading h2,
.nb-weekly-worksheet-page__details-copy h2 {
  margin: 0;
  color: #1a2d75;
  font-family: var(--nb-font-heading);
  font-size: clamp(2rem, 3vw, 2.7rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.02;
}

.nb-weekly-worksheet-page__section-heading p,
.nb-weekly-worksheet-page__details-copy p,
.nb-weekly-worksheet-page__use-card > p,
.nb-weekly-worksheet-page__detail-card p {
  margin: 0;
  color: var(--nb-interactive-ink-soft);
  font-size: 1.02rem;
  line-height: 1.58;
}

.nb-weekly-worksheet-page__section-heading p {
  margin-top: 0.7rem;
}

.nb-weekly-worksheet-page__use-grid,
.nb-weekly-worksheet-page__details-grid {
  display: grid;
  gap: 1rem;
}

.nb-weekly-worksheet-page__use-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-weekly-worksheet-page__use-card,
.nb-weekly-worksheet-page__detail-card,
.nb-weekly-worksheet-page__details-shell {
  border: 1px solid var(--nb-interactive-border);
  border-radius: 1.6rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 36px rgba(16, 44, 98, 0.08);
}

.nb-weekly-worksheet-page__use-card {
  padding: 1.3rem 1.35rem 1.25rem;
}

.nb-weekly-worksheet-page__use-topline {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  align-items: start;
  margin-bottom: 0.9rem;
}

.nb-weekly-worksheet-page__use-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  font-size: 1.35rem;
  line-height: 1;
}

.nb-weekly-worksheet-page__use-icon--blue {
  background: rgba(35, 84, 239, 0.1);
  color: var(--nb-interactive-blue);
}

.nb-weekly-worksheet-page__use-icon--green {
  background: rgba(90, 161, 43, 0.12);
  color: var(--nb-interactive-green);
}

.nb-weekly-worksheet-page__use-icon--orange {
  background: rgba(255, 108, 26, 0.12);
  color: var(--nb-interactive-orange);
}

.nb-weekly-worksheet-page__use-icon--purple {
  background: rgba(125, 60, 255, 0.1);
  color: var(--nb-interactive-purple);
}

.nb-weekly-worksheet-page__use-topline h3,
.nb-weekly-worksheet-page__detail-card h3 {
  margin: 0;
  color: #1a2d75;
  font-family: var(--nb-font-heading);
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.1;
}

.nb-weekly-worksheet-page__use-topline p {
  margin: 0.22rem 0 0;
  color: var(--nb-interactive-blue);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.25;
}

.nb-weekly-worksheet-page__section--details {
  padding-top: 1.3rem;
}

.nb-weekly-worksheet-page__details-shell {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  gap: 1.3rem;
  padding: 1.45rem;
}

.nb-weekly-worksheet-page__details-copy {
  padding: 0.2rem 0.1rem 0.2rem 0;
}

.nb-weekly-worksheet-page__details-copy p {
  margin-top: 0.85rem;
}

.nb-weekly-worksheet-page__details-note {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(35, 84, 239, 0.16);
  border-radius: 1.1rem;
  background: linear-gradient(135deg, rgba(246, 250, 255, 0.98), rgba(255, 255, 255, 0.95));
  color: var(--nb-interactive-ink);
  font-weight: 600;
}

.nb-weekly-worksheet-page__details-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nb-weekly-worksheet-page__detail-card {
  padding: 1.1rem 1.05rem 1rem;
}

.nb-weekly-worksheet-page__detail-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.7rem;
  border-radius: 0.95rem;
  background: rgba(35, 84, 239, 0.08);
  color: var(--nb-interactive-blue);
  font-size: 1.2rem;
  line-height: 1;
}

.nb-weekly-worksheet-page__detail-card:nth-child(2) span {
  background: rgba(90, 161, 43, 0.1);
  color: var(--nb-interactive-green);
}

.nb-weekly-worksheet-page__detail-card:nth-child(3) span {
  background: rgba(255, 108, 26, 0.1);
  color: var(--nb-interactive-orange);
}

.nb-weekly-worksheet-page__detail-card:nth-child(4) span {
  background: rgba(125, 60, 255, 0.1);
  color: var(--nb-interactive-purple);
}

.nb-weekly-worksheet-page__detail-card p {
  margin-top: 0.45rem;
  font-size: 0.96rem;
}

/* Weekly Worksheet page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-weekly-worksheet-page .nb-print-current-events-page__hero-copy h1 {
    white-space: normal;
  }

  .nb-weekly-worksheet-page__use-grid,
  .nb-weekly-worksheet-page__details-grid,
  .nb-weekly-worksheet-page__details-shell {
    grid-template-columns: 1fr;
  }

  .nb-weekly-worksheet-page__details-shell {
    gap: 1.1rem;
    padding: 1.25rem;
  }
}

/* Weekly Worksheet page - Mobile */
@media (max-width: 767.98px) {
  .nb-weekly-worksheet-page .nb-print-current-events-page__hero-copy h1 {
    white-space: normal;
  }

  .nb-weekly-worksheet-page__section {
    padding-top: 1.15rem;
  }

  .nb-weekly-worksheet-page__use-grid,
  .nb-weekly-worksheet-page__details-grid,
  .nb-weekly-worksheet-page__details-shell {
    grid-template-columns: 1fr;
  }

  .nb-weekly-worksheet-page__use-card,
  .nb-weekly-worksheet-page__detail-card,
  .nb-weekly-worksheet-page__details-shell {
    border-radius: 1.3rem;
  }

  .nb-weekly-worksheet-page__details-shell {
    gap: 1rem;
    padding: 1.1rem;
  }
}

/* Quick Play Sheets page */
.nb-quickplay-sheets-page .nb-print-current-events-page__hero-copy {
  max-width: 35rem;
}

.nb-quickplay-sheets-page__section--sprints {
  padding-top: 0.95rem;
}

.nb-quickplay-sheets-page__section-heading {
  margin: 0 auto 1.35rem;
  text-align: center;
}

.nb-quickplay-sheets-page__section-heading h2,
.nb-quickplay-sheets-page__moments-card h3 {
  margin: 0;
  color: #1a2d75;
  font-family: var(--nb-font-heading);
  font-size: clamp(1.95rem, 3vw, 3.05rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.02;
}

.nb-quickplay-sheets-page__section-heading p {
  margin: 0.55rem 0 0;
  color: var(--nb-interactive-ink);
  font-size: 1.06rem;
  line-height: 1.45;
}

.nb-quickplay-sheets-page__section-heading span {
  color: var(--nb-interactive-blue);
  padding: 0 0.2rem;
}

.nb-quickplay-sheets-page__grid {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nb-quickplay-sheets-page__sprint-card,
.nb-quickplay-sheets-page__moments-card {
  position: relative;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--nb-interactive-border);
  border-radius: 1.4rem;
  box-shadow: 0 18px 36px rgba(16, 44, 98, 0.08);
}

.nb-quickplay-sheets-page__sprint-card {
  padding: 1.25rem 1.15rem 1rem;
}

.nb-quickplay-sheets-page__sprint-card--blue {
  border-color: rgba(35, 84, 239, 0.22);
}

.nb-quickplay-sheets-page__sprint-card--teal {
  border-color: rgba(45, 197, 196, 0.24);
}

.nb-quickplay-sheets-page__sprint-card--orange {
  border-color: rgba(255, 108, 26, 0.24);
}

.nb-quickplay-sheets-page__sprint-card--green {
  border-color: rgba(115, 183, 59, 0.24);
}

.nb-quickplay-sheets-page__sprint-card--purple {
  border-color: rgba(125, 60, 255, 0.24);
}

.nb-quickplay-sheets-page__sprint-card--amber {
  border-color: rgba(255, 148, 21, 0.24);
}

.nb-quickplay-sheets-page__sprint-card--violet {
  border-color: rgba(155, 99, 246, 0.24);
}

.nb-quickplay-sheets-page__sprint-card--featured {
  box-shadow: 0 18px 40px rgba(47, 93, 227, 0.12);
}

.nb-quickplay-sheets-page__sprint-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.95rem;
  align-items: start;
}

.nb-quickplay-sheets-page__sprint-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.9rem;
  height: 3.9rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #edf4ff, #dfeeff);
  color: var(--nb-interactive-blue);
  font-size: 1.8rem;
  box-shadow: inset 0 0 0 1px rgba(35, 84, 239, 0.14);
}

.nb-quickplay-sheets-page__sprint-card--teal .nb-quickplay-sheets-page__sprint-icon {
  background: linear-gradient(180deg, #ebfffe, #d9fbf9);
  color: #22a9b0;
}

.nb-quickplay-sheets-page__sprint-card--orange .nb-quickplay-sheets-page__sprint-icon,
.nb-quickplay-sheets-page__sprint-card--amber .nb-quickplay-sheets-page__sprint-icon {
  background: linear-gradient(180deg, #fff2e8, #ffe5d0);
  color: var(--nb-interactive-orange);
}

.nb-quickplay-sheets-page__sprint-card--green .nb-quickplay-sheets-page__sprint-icon {
  background: linear-gradient(180deg, #f1ffe8, #e5f8d9);
  color: #6aa930;
}

.nb-quickplay-sheets-page__sprint-card--purple .nb-quickplay-sheets-page__sprint-icon,
.nb-quickplay-sheets-page__sprint-card--violet .nb-quickplay-sheets-page__sprint-icon {
  background: linear-gradient(180deg, #f7efff, #ecddff);
  color: var(--nb-interactive-purple);
}

.nb-quickplay-sheets-page__sprint-head h3 {
  margin: 0;
  color: #1a2d75;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.2;
}

.nb-quickplay-sheets-page__sprint-head p {
  margin: 0.35rem 0 0;
  color: var(--nb-interactive-ink-soft);
  font-size: 0.98rem;
  line-height: 1.45;
}

.nb-quickplay-sheets-page__points-bar {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 1.15rem;
  overflow: hidden;
  border: 1px solid rgba(125, 60, 255, 0.26);
  border-radius: 0.18rem;
}

.nb-quickplay-sheets-page__points-bar span {
  display: inline-flex;
  justify-content: center;
  padding: 0.42rem 0.15rem;
  color: var(--nb-interactive-blue);
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1;
  background: #fff;
}

.nb-quickplay-sheets-page__points-bar span:not(:first-child) {
  border-left: 1px solid rgba(125, 60, 255, 0.2);
}

.nb-quickplay-sheets-page__points-bar span:nth-child(2) {
  color: var(--nb-interactive-green);
}

.nb-quickplay-sheets-page__points-bar span:nth-child(3) {
  color: var(--nb-interactive-orange);
}

.nb-quickplay-sheets-page__points-bar span:nth-child(4),
.nb-quickplay-sheets-page__points-bar span:nth-child(5) {
  color: var(--nb-interactive-purple);
}

.nb-quickplay-sheets-page__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1rem;
  margin-top: 0.95rem;
  color: var(--nb-interactive-ink);
  font-size: 0.88rem;
  font-weight: 600;
}

.nb-quickplay-sheets-page__meta span,
.nb-quickplay-sheets-page__meta a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.nb-quickplay-sheets-page__meta span i,
.nb-quickplay-sheets-page__meta a i {
  color: #2b94af;
}

.nb-quickplay-sheets-page__meta a {
  color: var(--nb-interactive-ink);
  text-decoration: none;
}

.nb-quickplay-sheets-page__meta a:hover,
.nb-quickplay-sheets-page__meta a:focus-visible {
  color: var(--nb-interactive-blue);
}

.nb-quickplay-sheets-page__open-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 3.3rem;
  padding: 0.86rem 1.6rem;
  border: 1.5px solid transparent;
  border-radius: 999px;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 1rem;
  background: linear-gradient(135deg, #081844, #102a6f);
  color: #fff;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.nb-quickplay-sheets-page__open-link:hover,
.nb-quickplay-sheets-page__open-link:focus-visible {
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

.nb-quickplay-sheets-page__moments-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.2rem;
  align-items: center;
  grid-column: span 2;
  padding: 1.65rem 1.5rem;
  background:
    radial-gradient(circle at top left, rgba(125, 60, 255, 0.06), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
}

.nb-quickplay-sheets-page__moments-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.7rem;
  height: 5.7rem;
  align-self: center;
}

.nb-quickplay-sheets-page__moments-icon img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nb-quickplay-sheets-page__moments-card h3 {
  color: #7443c9;
}

.nb-quickplay-sheets-page__moments-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.9rem;
  margin-top: 1rem;
}

.nb-quickplay-sheets-page__moments-pills span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 2.8rem;
  padding: 0.68rem 1.08rem;
  border: 1px solid rgba(116, 67, 201, 0.14);
  border-radius: 999px;
  background: #fff;
  color: var(--nb-interactive-ink);
  font-size: 0.93rem;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(16, 44, 98, 0.04);
}

.nb-quickplay-sheets-page__moments-pills span i {
  color: #6a46d9;
  font-size: 1rem;
  line-height: 1;
}

.nb-quickplay-sheets-page__moments-pills span:nth-child(1) i {
  color: #f3a300;
}

.nb-quickplay-sheets-page__moments-pills span:nth-child(2) i {
  color: #ff7a1a;
}

.nb-quickplay-sheets-page__moments-pills span:nth-child(3) i {
  color: #4d63eb;
}

.nb-quickplay-sheets-page__moments-pills span:nth-child(4) i {
  color: #6f4ce0;
}

.nb-quickplay-sheets-page__moments-pills span:nth-child(5) i {
  color: #ffb30f;
}

.nb-quickplay-sheets-page__moments-pills span:nth-child(6) i {
  color: #8d41ff;
}

/* Quick Play Sheets page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-quickplay-sheets-page .nb-print-current-events-page__hero-copy {
    max-width: 26rem;
    padding-top: 3rem;
  }

  .nb-quickplay-sheets-page .nb-print-current-events-page__hero-points {
    grid-template-columns: 1fr;
    max-width: 17rem;
  }

  .nb-quickplay-sheets-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-quickplay-sheets-page__moments-card {
    grid-column: span 2;
  }
}

/* Quick Play Sheets page - Mobile */
@media (max-width: 767.98px) {
  .nb-quickplay-sheets-page .nb-print-current-events-page__hero-background img {
    object-position: 60% top;
  }

  .nb-quickplay-sheets-page .nb-print-current-events-page__hero-points,
  .nb-quickplay-sheets-page__grid {
    grid-template-columns: 1fr;
  }

  .nb-quickplay-sheets-page .nb-print-current-events-page__hero-points {
    margin-top: 1.45rem;
  }

  .nb-quickplay-sheets-page__moments-card {
    grid-template-columns: 1fr;
    grid-column: auto;
    justify-items: center;
    text-align: center;
    padding: 1.4rem 1.2rem;
  }

  .nb-quickplay-sheets-page__moments-pills {
    justify-content: center;
  }

  .nb-quickplay-sheets-page__meta {
    gap: 0.7rem;
  }
}

/* Category Sprint page */
.nb-category-sprint-page {
  --nb-sprint-ink: #17377b;
  --nb-sprint-ink-soft: #304f8d;
  --nb-sprint-blue: #2354ef;
  --nb-sprint-blue-deep: #1a43cb;
  --nb-sprint-purple: #7d3cff;
  --nb-sprint-teal: #2dc5c4;
  --nb-sprint-orange: #ff6c1a;
  --nb-sprint-green: #73b73b;
  --nb-sprint-violet: #9b63f6;
  --nb-sprint-border: rgba(23, 55, 123, 0.11);
  padding: 0 0 2.2rem;
  background:
    radial-gradient(circle at 12% 3%, rgba(109, 168, 255, 0.12), transparent 24%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.nb-category-sprint-page img {
  display: block;
  max-width: 100%;
}

.nb-category-sprint-page__hero {
  position: relative;
  overflow: hidden;
  min-height: 39.5rem;
  background: linear-gradient(180deg, #f7faff 0%, #ffffff 100%);
}

.nb-category-sprint-page__hero-background,
.nb-category-sprint-page__hero-fade {
  position: absolute;
  inset: 0;
}

.nb-category-sprint-page__hero-background img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.nb-category-sprint-page__hero-fade {
  z-index: 1;
  background:
    radial-gradient(circle at 18% 46%, rgba(248, 251, 255, 0.98) 0%, rgba(248, 251, 255, 0.88) 18%, rgba(248, 251, 255, 0.48) 34%, rgba(248, 251, 255, 0.1) 46%, rgba(248, 251, 255, 0) 57%),
    linear-gradient(90deg, rgba(248, 251, 255, 0.985) 0%, rgba(248, 251, 255, 0.96) 21%, rgba(248, 251, 255, 0.82) 32%, rgba(248, 251, 255, 0.48) 42%, rgba(248, 251, 255, 0.14) 50%, rgba(248, 251, 255, 0) 58%);
}

.nb-category-sprint-page__hero .container {
  position: relative;
  z-index: 2;
}

.nb-category-sprint-page__hero-shell {
  display: flex;
  align-items: center;
  min-height: 39.5rem;
}

.nb-category-sprint-page__hero-copy {
  max-width: 31.5rem;
  padding: 3.7rem 0 2.4rem 0.1rem;
}

.nb-category-sprint-page__eyebrow {
  margin: 0 0 0.95rem;
  color: var(--nb-sprint-purple);
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nb-category-sprint-page__hero-copy h1,
.nb-category-sprint-page__section-heading h2,
.nb-category-sprint-page__moments-card h3 {
  margin: 0;
  color: #1a2d75;
  font-family: var(--nb-font-heading);
  font-size: clamp(2.4rem, 4.2vw, 4.25rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.nb-category-sprint-page__lede {
  max-width: 23rem;
  margin: 1.2rem 0 0;
  color: var(--nb-sprint-ink-soft);
  font-size: 1.14rem;
  line-height: 1.6;
}

.nb-category-sprint-page__hero-points {
  display: grid;
  gap: 0.95rem 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.95rem;
  max-width: 31rem;
}

.nb-category-sprint-page__hero-points article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.62rem;
  align-items: center;
}

.nb-category-sprint-page__hero-points span {
  color: var(--nb-sprint-purple);
  font-size: 2rem;
  line-height: 1;
}

.nb-category-sprint-page__hero-points article:nth-child(2) span {
  color: var(--nb-sprint-green);
}

.nb-category-sprint-page__hero-points article:nth-child(3) span {
  color: var(--nb-sprint-orange);
}

.nb-category-sprint-page__hero-points p {
  margin: 0;
  color: var(--nb-sprint-ink);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.18;
}

.nb-category-sprint-page__hero-points strong {
  font-weight: 800;
}

.nb-category-sprint-page__cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 2.1rem;
}

.nb-category-sprint-page__button,
.nb-category-sprint-page__footer-button,
.nb-category-sprint-page__open-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.25rem;
  padding: 0.85rem 1.55rem;
  border: 1.5px solid transparent;
  border-radius: 999px;
  font-size: 1.06rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.nb-category-sprint-page__button:hover,
.nb-category-sprint-page__button:focus-visible,
.nb-category-sprint-page__footer-button:hover,
.nb-category-sprint-page__footer-button:focus-visible,
.nb-category-sprint-page__open-link:hover,
.nb-category-sprint-page__open-link:focus-visible {
  transform: translateY(-1px);
  text-decoration: none;
}

.nb-category-sprint-page__button--blue {
  background: linear-gradient(135deg, var(--nb-sprint-blue), var(--nb-sprint-blue-deep));
  color: #fff;
}

.nb-category-sprint-page__button--blue:hover,
.nb-category-sprint-page__button--blue:focus-visible,
.nb-category-sprint-page__footer-button--orange:hover,
.nb-category-sprint-page__footer-button--orange:focus-visible {
  color: #fff;
}

.nb-category-sprint-page__button--orange-outline {
  border-color: rgba(255, 108, 26, 0.46);
  background: rgba(255, 255, 255, 0.92);
  color: var(--nb-sprint-orange);
}

.nb-category-sprint-page__button--orange-outline:hover,
.nb-category-sprint-page__button--orange-outline:focus-visible {
  color: var(--nb-sprint-orange);
  background: #fff8f2;
}

.nb-category-sprint-page__section--sprints {
  padding-top: 0.95rem;
}

.nb-category-sprint-page__section-heading {
  margin: 0 auto 1.35rem;
  text-align: center;
}

.nb-category-sprint-page__section-heading h2,
.nb-category-sprint-page__moments-card h3 {
  font-size: clamp(1.95rem, 3vw, 3.05rem);
  line-height: 1.02;
}

.nb-category-sprint-page__section-heading p {
  margin: 0.55rem 0 0;
  color: var(--nb-sprint-ink);
  font-size: 1.06rem;
  line-height: 1.45;
}

.nb-category-sprint-page__section-heading span {
  color: var(--nb-sprint-blue);
  padding: 0 0.2rem;
}

.nb-category-sprint-page__grid {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nb-category-sprint-page__sprint-card,
.nb-category-sprint-page__moments-card {
  position: relative;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--nb-sprint-border);
  border-radius: 1.4rem;
  box-shadow: 0 18px 36px rgba(16, 44, 98, 0.08);
}

.nb-category-sprint-page__sprint-card {
  padding: 1.25rem 1.15rem 1rem;
}

.nb-category-sprint-page__sprint-card--blue {
  border-color: rgba(35, 84, 239, 0.22);
}

.nb-category-sprint-page__sprint-card--teal {
  border-color: rgba(45, 197, 196, 0.24);
}

.nb-category-sprint-page__sprint-card--orange {
  border-color: rgba(255, 108, 26, 0.24);
}

.nb-category-sprint-page__sprint-card--green {
  border-color: rgba(115, 183, 59, 0.24);
}

.nb-category-sprint-page__sprint-card--purple {
  border-color: rgba(125, 60, 255, 0.24);
}

.nb-category-sprint-page__sprint-card--amber {
  border-color: rgba(255, 148, 21, 0.24);
}

.nb-category-sprint-page__sprint-card--violet {
  border-color: rgba(155, 99, 246, 0.24);
}

.nb-category-sprint-page__sprint-card--featured {
  overflow: hidden;
}

.nb-category-sprint-page__ribbon {
  display: block;
  width: fit-content;
  margin: -0.1rem 0 0.8rem auto;
  padding: 0.38rem 0.9rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #4b86ff, #2f5de3);
  color: #fff;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(47, 93, 227, 0.18);
}

.nb-category-sprint-page__sprint-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.95rem;
  align-items: start;
}

.nb-category-sprint-page__sprint-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.9rem;
  height: 3.9rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #edf4ff, #dfeeff);
  color: var(--nb-sprint-blue);
  font-size: 1.8rem;
  box-shadow: inset 0 0 0 1px rgba(35, 84, 239, 0.14);
}

.nb-category-sprint-page__sprint-card--teal .nb-category-sprint-page__sprint-icon {
  background: linear-gradient(180deg, #ebfffe, #d9fbf9);
  color: #22a9b0;
}

.nb-category-sprint-page__sprint-card--orange .nb-category-sprint-page__sprint-icon,
.nb-category-sprint-page__sprint-card--amber .nb-category-sprint-page__sprint-icon {
  background: linear-gradient(180deg, #fff2e8, #ffe5d0);
  color: var(--nb-sprint-orange);
}

.nb-category-sprint-page__sprint-card--green .nb-category-sprint-page__sprint-icon {
  background: linear-gradient(180deg, #f1ffe8, #e5f8d9);
  color: #6aa930;
}

.nb-category-sprint-page__sprint-card--purple .nb-category-sprint-page__sprint-icon,
.nb-category-sprint-page__sprint-card--violet .nb-category-sprint-page__sprint-icon {
  background: linear-gradient(180deg, #f7efff, #ecddff);
  color: var(--nb-sprint-purple);
}

.nb-category-sprint-page__sprint-head h3 {
  margin: 0;
  color: #1a2d75;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.2;
}

.nb-category-sprint-page__sprint-head p {
  margin: 0.35rem 0 0;
  color: var(--nb-sprint-ink-soft);
  font-size: 0.98rem;
  line-height: 1.45;
}

.nb-category-sprint-page__points-bar {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 1.15rem;
  overflow: hidden;
  border: 1px solid rgba(125, 60, 255, 0.26);
  border-radius: 0.18rem;
}

.nb-category-sprint-page__points-bar span {
  display: inline-flex;
  justify-content: center;
  padding: 0.42rem 0.15rem;
  color: var(--nb-sprint-blue);
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1;
  background: #fff;
}

.nb-category-sprint-page__points-bar span:not(:first-child) {
  border-left: 1px solid rgba(125, 60, 255, 0.2);
}

.nb-category-sprint-page__points-bar span:nth-child(2) {
  color: var(--nb-sprint-green);
}

.nb-category-sprint-page__points-bar span:nth-child(3) {
  color: var(--nb-sprint-orange);
}

.nb-category-sprint-page__points-bar span:nth-child(4),
.nb-category-sprint-page__points-bar span:nth-child(5) {
  color: var(--nb-sprint-purple);
}

.nb-category-sprint-page__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1rem;
  margin-top: 0.95rem;
  color: var(--nb-sprint-ink);
  font-size: 0.88rem;
  font-weight: 600;
}

.nb-category-sprint-page__meta span,
.nb-category-sprint-page__meta a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.nb-category-sprint-page__meta span i,
.nb-category-sprint-page__meta a i {
  color: #2b94af;
}

.nb-category-sprint-page__meta a {
  color: var(--nb-sprint-ink);
  text-decoration: none;
}

.nb-category-sprint-page__meta a:hover,
.nb-category-sprint-page__meta a:focus-visible {
  color: var(--nb-sprint-blue);
}

.nb-category-sprint-page__open-link {
  width: 100%;
  margin-top: 1rem;
  background: linear-gradient(135deg, #081844, #102a6f);
  color: #fff;
}

.nb-category-sprint-page__open-link:hover,
.nb-category-sprint-page__open-link:focus-visible {
  color: #fff;
}

.nb-category-sprint-page__moments-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.2rem;
  align-items: center;
  grid-column: span 2;
  padding: 1.65rem 1.5rem;
  background:
    radial-gradient(circle at top left, rgba(125, 60, 255, 0.06), transparent 36%),
    linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
}

.nb-category-sprint-page__moments-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.7rem;
  height: 5.7rem;
  align-self: center;
}

.nb-category-sprint-page__moments-icon img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nb-category-sprint-page__moments-card h3 {
  color: #7443c9;
}

.nb-category-sprint-page__moments-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.9rem;
  margin-top: 1rem;
}

.nb-category-sprint-page__moments-pills span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 2.8rem;
  padding: 0.68rem 1.08rem;
  border: 1px solid rgba(116, 67, 201, 0.14);
  border-radius: 999px;
  background: #fff;
  color: var(--nb-sprint-ink);
  font-size: 0.93rem;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(16, 44, 98, 0.04);
}

.nb-category-sprint-page__moments-pills span i {
  color: #6a46d9;
  font-size: 1rem;
  line-height: 1;
}

.nb-category-sprint-page__moments-pills span:nth-child(1) i {
  color: #f3a300;
}

.nb-category-sprint-page__moments-pills span:nth-child(2) i {
  color: #ff7a1a;
}

.nb-category-sprint-page__moments-pills span:nth-child(3) i {
  color: #4d63eb;
}

.nb-category-sprint-page__moments-pills span:nth-child(4) i {
  color: #6f4ce0;
}

.nb-category-sprint-page__moments-pills span:nth-child(5) i {
  color: #ffb30f;
}

.nb-category-sprint-page__moments-pills span:nth-child(6) i {
  color: #8d41ff;
}

.nb-category-sprint-page__footer-cta {
  display: flex;
  justify-content: center;
  gap: 0.95rem;
  margin-top: 1.6rem;
}

.nb-category-sprint-page__footer-button {
  min-width: 15.75rem;
}

.nb-category-sprint-page__footer-button--outline {
  border-color: rgba(35, 84, 239, 0.34);
  background: #fff;
  color: var(--nb-sprint-blue);
}

.nb-category-sprint-page__footer-button--outline:hover,
.nb-category-sprint-page__footer-button--outline:focus-visible {
  color: var(--nb-sprint-blue);
  background: #f7fbff;
}

.nb-category-sprint-page__footer-button--orange {
  background: linear-gradient(135deg, #ff7a1a, #ff5e00);
  color: #fff;
}

/* Category Sprint page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-category-sprint-page__hero {
    min-height: 33.5rem;
  }

  .nb-category-sprint-page__hero-shell {
    min-height: 33.5rem;
  }

  .nb-category-sprint-page__hero-copy {
    max-width: 26rem;
    padding-top: 3rem;
  }

  .nb-category-sprint-page__hero-points {
    grid-template-columns: 1fr;
    max-width: 15rem;
  }

  .nb-category-sprint-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-category-sprint-page__moments-card {
    grid-column: span 2;
  }

  .nb-category-sprint-page__footer-cta {
    flex-wrap: wrap;
  }
}

/* Category Sprint page - Mobile */
@media (max-width: 767.98px) {
  .nb-category-sprint-page {
    padding-bottom: 1.4rem;
  }

  .nb-category-sprint-page__hero {
    min-height: 0;
  }

  .nb-category-sprint-page__hero-background,
  .nb-category-sprint-page__hero-fade {
    inset: 0 0 auto 0;
    height: 14.75rem;
  }

  .nb-category-sprint-page__hero-background img {
    height: 14.75rem;
    object-position: 60% top;
  }

  .nb-category-sprint-page__hero-fade {
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.08) 0%, rgba(248, 251, 255, 0.18) 56%, rgba(248, 251, 255, 0.85) 84%, rgba(248, 251, 255, 1) 100%);
  }

  .nb-category-sprint-page__hero-shell {
    min-height: 0;
    align-items: flex-start;
  }

  .nb-category-sprint-page__hero-copy {
    max-width: none;
    padding: 12.5rem 0 1.4rem;
  }

  .nb-category-sprint-page__hero-copy h1 {
    font-size: clamp(2rem, 10vw, 3.3rem);
  }

  .nb-category-sprint-page__hero-points,
  .nb-category-sprint-page__grid {
    grid-template-columns: 1fr;
  }

  .nb-category-sprint-page__hero-points {
    margin-top: 1.45rem;
  }

  .nb-category-sprint-page__cta-row,
  .nb-category-sprint-page__footer-cta {
    display: grid;
    gap: 0.75rem;
  }

  .nb-category-sprint-page__button,
  .nb-category-sprint-page__footer-button {
    width: 100%;
  }

  .nb-category-sprint-page__moments-card {
    grid-template-columns: 1fr;
    grid-column: auto;
    justify-items: center;
    text-align: center;
    padding: 1.4rem 1.2rem;
  }

  .nb-category-sprint-page__moments-pills {
    justify-content: center;
  }

  .nb-category-sprint-page__meta {
    gap: 0.7rem;
  }
}

/* Weekly Print Rules page */
.nb-weekly-print-rules-page {
  --nb-rules-ink: #17377b;
  --nb-rules-ink-soft: #304f8d;
  --nb-rules-blue: #2354ef;
  --nb-rules-purple: #7d3cff;
  --nb-rules-green: #50a22a;
  --nb-rules-orange: #ff6c1a;
  --nb-rules-violet: #9a44df;
  --nb-rules-border: rgba(23, 55, 123, 0.11);
  padding: 0 0 2rem;
  background:
    radial-gradient(circle at 12% 3%, rgba(109, 168, 255, 0.12), transparent 24%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

.nb-weekly-print-rules-page img {
  display: block;
  max-width: 100%;
}

.nb-weekly-print-rules-page__hero {
  position: relative;
  overflow: hidden;
  min-height: 33rem;
  background: linear-gradient(180deg, #f7faff 0%, #ffffff 100%);
}

.nb-weekly-print-rules-page__hero-background,
.nb-weekly-print-rules-page__hero-fade {
  position: absolute;
  inset: 0;
}

.nb-weekly-print-rules-page__hero-background img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.nb-weekly-print-rules-page__hero-fade {
  z-index: 1;
  background:
    radial-gradient(circle at 17% 43%, rgba(248, 251, 255, 0.985) 0%, rgba(248, 251, 255, 0.9) 18%, rgba(248, 251, 255, 0.52) 34%, rgba(248, 251, 255, 0.12) 46%, rgba(248, 251, 255, 0) 57%),
    linear-gradient(90deg, rgba(248, 251, 255, 0.99) 0%, rgba(248, 251, 255, 0.965) 20%, rgba(248, 251, 255, 0.84) 31%, rgba(248, 251, 255, 0.5) 42%, rgba(248, 251, 255, 0.15) 51%, rgba(248, 251, 255, 0) 58%);
}

.nb-weekly-print-rules-page__hero .container {
  position: relative;
  z-index: 2;
}

.nb-weekly-print-rules-page__hero-shell {
  display: flex;
  align-items: center;
  min-height: 33rem;
}

.nb-weekly-print-rules-page__hero-copy {
  max-width: 35rem;
  padding: 3rem 0 2.25rem 0.1rem;
}

.nb-weekly-print-rules-page__eyebrow {
  margin: 0 0 1.05rem;
  color: var(--nb-rules-purple);
  font-size: 0.92rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nb-weekly-print-rules-page__hero-copy h1,
.nb-weekly-print-rules-page__cta-copy h2 {
  margin: 0;
  color: #1a2d75;
  font-family: var(--nb-font-heading);
  font-size: clamp(2.35rem, 4vw, 4.05rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 0.99;
}

.nb-weekly-print-rules-page__hero-copy h1 strong {
  color: var(--nb-rules-blue);
  font-weight: 700;
}

.nb-weekly-print-rules-page__hero-copy h1 span,
.nb-weekly-print-rules-page__hero-copy h1 strong {
  display: block;
}

.nb-weekly-print-rules-page__lede {
  max-width: 28rem;
  margin: 1.15rem 0 0;
  color: var(--nb-rules-ink-soft);
  font-size: 1.1rem;
  line-height: 1.6;
}

.nb-weekly-print-rules-page__hero-points {
  display: grid;
  gap: 1rem 1.2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 1.9rem;
  max-width: 34rem;
}

.nb-weekly-print-rules-page__hero-points article {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
}

.nb-weekly-print-rules-page__hero-points span {
  color: var(--nb-rules-purple);
  font-size: 2rem;
  line-height: 1;
}

.nb-weekly-print-rules-page__hero-points article:nth-child(2) span {
  color: var(--nb-rules-green);
}

.nb-weekly-print-rules-page__hero-points article:nth-child(3) span {
  color: var(--nb-rules-orange);
}

.nb-weekly-print-rules-page__hero-points p,
.nb-weekly-print-rules-page__hero-points small {
  margin: 0;
}

.nb-weekly-print-rules-page__hero-points p {
  color: var(--nb-rules-ink);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.22;
}

.nb-weekly-print-rules-page__hero-points small {
  color: var(--nb-rules-ink-soft);
  font-size: 0.84rem;
  line-height: 1.45;
}

.nb-weekly-print-rules-page__section {
  padding-top: 0.55rem;
}

.nb-weekly-print-rules-page__formats {
  display: grid;
  gap: 0.95rem;
}

.nb-weekly-print-rules-page__format-stack {
  display: grid;
  gap: 0.8rem;
}

.nb-weekly-print-rules-page__format-card,
.nb-weekly-print-rules-page__cta-card {
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--nb-rules-border);
  border-radius: 1.35rem;
  box-shadow: 0 18px 34px rgba(16, 44, 98, 0.07);
}

.nb-weekly-print-rules-page__format-card {
  display: grid;
  grid-template-columns: minmax(185px, 210px) minmax(0, 1fr) 214px;
  gap: 1.15rem;
  align-items: stretch;
  padding: 0.8rem;
}

.nb-weekly-print-rules-page__format-card--purple {
  border-color: rgba(125, 60, 255, 0.16);
}

.nb-weekly-print-rules-page__format-card--blue {
  border-color: rgba(35, 84, 239, 0.16);
}

.nb-weekly-print-rules-page__format-card--green {
  border-color: rgba(80, 162, 42, 0.16);
}

.nb-weekly-print-rules-page__format-card--orange {
  border-color: rgba(255, 108, 26, 0.16);
}

.nb-weekly-print-rules-page__format-card--violet {
  border-color: rgba(154, 68, 223, 0.16);
}

.nb-weekly-print-rules-page__format-image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 0.55rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #fbfdff 0%, #f4f8ff 100%);
}

.nb-weekly-print-rules-page__format-image img {
  width: 100%;
  max-height: 11.8rem;
  object-fit: contain;
  border-radius: 0.8rem;
}

.nb-weekly-print-rules-page__format-body {
  padding: 0.2rem 0;
}

.nb-weekly-print-rules-page__format-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.8rem;
  align-items: start;
}

.nb-weekly-print-rules-page__format-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  background: var(--nb-rules-purple);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1;
}

.nb-weekly-print-rules-page__format-card--blue .nb-weekly-print-rules-page__format-number {
  background: var(--nb-rules-blue);
}

.nb-weekly-print-rules-page__format-card--green .nb-weekly-print-rules-page__format-number {
  background: var(--nb-rules-green);
}

.nb-weekly-print-rules-page__format-card--orange .nb-weekly-print-rules-page__format-number {
  background: var(--nb-rules-orange);
}

.nb-weekly-print-rules-page__format-card--violet .nb-weekly-print-rules-page__format-number {
  background: var(--nb-rules-violet);
}

.nb-weekly-print-rules-page__format-heading h2 {
  margin: 0;
  color: var(--nb-rules-purple);
  font-size: 1.03rem;
  font-weight: 800;
  line-height: 1.2;
}

.nb-weekly-print-rules-page__format-card--blue .nb-weekly-print-rules-page__format-heading h2 {
  color: var(--nb-rules-blue);
}

.nb-weekly-print-rules-page__format-card--green .nb-weekly-print-rules-page__format-heading h2 {
  color: var(--nb-rules-green);
}

.nb-weekly-print-rules-page__format-card--orange .nb-weekly-print-rules-page__format-heading h2 {
  color: var(--nb-rules-orange);
}

.nb-weekly-print-rules-page__format-card--violet .nb-weekly-print-rules-page__format-heading h2 {
  color: var(--nb-rules-violet);
}

.nb-weekly-print-rules-page__format-heading p {
  margin: 0.18rem 0 0;
  color: var(--nb-rules-ink-soft);
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.45;
}

.nb-weekly-print-rules-page__steps {
  margin: 0.8rem 0 0;
  padding-left: 1.25rem;
  color: var(--nb-rules-ink);
}

.nb-weekly-print-rules-page__steps li {
  padding-left: 0.25rem;
  font-size: 0.95rem;
  line-height: 1.55;
}

.nb-weekly-print-rules-page__steps li + li {
  margin-top: 0.32rem;
}

.nb-weekly-print-rules-page__format-actions {
  margin-top: 0.95rem;
}

.nb-weekly-print-rules-page__format-meta {
  display: grid;
  gap: 0;
  align-content: stretch;
  padding: 0.6rem 0.9rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #fdfcff 0%, #f8f7ff 100%);
}

.nb-weekly-print-rules-page__format-card--blue .nb-weekly-print-rules-page__format-meta {
  background: linear-gradient(180deg, #fcfdff 0%, #f5f8ff 100%);
}

.nb-weekly-print-rules-page__format-card--green .nb-weekly-print-rules-page__format-meta {
  background: linear-gradient(180deg, #fdfffc 0%, #f6fff3 100%);
}

.nb-weekly-print-rules-page__format-card--orange .nb-weekly-print-rules-page__format-meta {
  background: linear-gradient(180deg, #fffdfc 0%, #fff7f0 100%);
}

.nb-weekly-print-rules-page__format-card--violet .nb-weekly-print-rules-page__format-meta {
  background: linear-gradient(180deg, #fefcff 0%, #fbf6ff 100%);
}

.nb-weekly-print-rules-page__format-meta div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem;
  align-items: start;
  padding: 0.52rem 0;
}

.nb-weekly-print-rules-page__format-meta div + div {
  border-top: 1px solid rgba(23, 55, 123, 0.08);
}

.nb-weekly-print-rules-page__format-meta span {
  color: var(--nb-rules-purple);
  font-size: 1.18rem;
  line-height: 1;
}

.nb-weekly-print-rules-page__format-card--blue .nb-weekly-print-rules-page__format-meta span {
  color: var(--nb-rules-blue);
}

.nb-weekly-print-rules-page__format-card--green .nb-weekly-print-rules-page__format-meta span {
  color: var(--nb-rules-green);
}

.nb-weekly-print-rules-page__format-card--orange .nb-weekly-print-rules-page__format-meta span {
  color: var(--nb-rules-orange);
}

.nb-weekly-print-rules-page__format-card--violet .nb-weekly-print-rules-page__format-meta span {
  color: var(--nb-rules-violet);
}

.nb-weekly-print-rules-page__format-meta p {
  margin: 0;
  color: var(--nb-rules-ink);
  font-size: 0.9rem;
  line-height: 1.45;
}

.nb-weekly-print-rules-page__cta-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.35rem;
  margin-top: 0.95rem;
  padding: 1rem 1.1rem;
}

.nb-weekly-print-rules-page__details-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-height: 3.1rem;
  gap: 0.75rem;
  padding: 0.82rem 1.1rem 0.82rem 1.25rem;
  border: 1.5px solid rgba(35, 84, 239, 0.34);
  border-radius: 999px;
  background: #fff;
  color: var(--nb-rules-blue);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.nb-weekly-print-rules-page__details-button i {
  font-size: 0.9rem;
  transition: transform 0.2s ease;
}

.nb-weekly-print-rules-page__details-button:not(.collapsed) i {
  transform: rotate(180deg);
}

.nb-weekly-print-rules-page__details-button:hover,
.nb-weekly-print-rules-page__details-button:focus-visible {
  background: #f7fbff;
  color: var(--nb-rules-blue);
  transform: translateY(-1px);
}

.nb-weekly-print-rules-page__detail-collapse {
  margin-top: -0.15rem;
}

.nb-weekly-print-rules-page__detail-panel {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--nb-rules-border);
  border-radius: 1.25rem;
  box-shadow: 0 16px 28px rgba(16, 44, 98, 0.06);
}

.nb-weekly-print-rules-page__detail-tabs {
  flex-wrap: nowrap;
  gap: 0.35rem;
  padding: 0.8rem 0.8rem 0;
  border-bottom: 1px solid rgba(23, 55, 123, 0.09);
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.nb-weekly-print-rules-page__detail-tab-button {
  border: 0;
  border-radius: 0.9rem 0.9rem 0 0;
  background: transparent;
  color: var(--nb-rules-ink-soft);
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.nb-weekly-print-rules-page__detail-tab-button:hover,
.nb-weekly-print-rules-page__detail-tab-button:focus-visible {
  border-color: transparent;
  color: var(--nb-rules-blue);
  background: rgba(35, 84, 239, 0.05);
}

.nb-weekly-print-rules-page__detail-tab-button.active,
.nb-weekly-print-rules-page__detail-tab-button.active:hover,
.nb-weekly-print-rules-page__detail-tab-button.active:focus-visible {
  border-color: transparent transparent rgba(35, 84, 239, 0.25);
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  color: var(--nb-rules-blue);
  box-shadow: inset 0 -3px 0 var(--nb-rules-blue);
}

.nb-weekly-print-rules-page__detail-tab-content {
  padding: 1rem;
}

.nb-weekly-print-rules-page__detail-pane {
  outline: none;
}

.nb-weekly-print-rules-page__detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(240px, 0.82fr);
  gap: 1rem;
  align-items: start;
}

.nb-weekly-print-rules-page__detail-copy {
  min-width: 0;
}

.nb-weekly-print-rules-page__detail-list {
  margin: 0;
  padding-left: 1.2rem;
  color: var(--nb-rules-ink);
}

.nb-weekly-print-rules-page__detail-list li {
  padding-left: 0.2rem;
  font-size: 0.98rem;
  line-height: 1.62;
}

.nb-weekly-print-rules-page__detail-list li + li {
  margin-top: 0.55rem;
}

.nb-weekly-print-rules-page__detail-rail {
  display: grid;
  gap: 0.8rem;
}

.nb-weekly-print-rules-page__detail-fact {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: start;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(23, 55, 123, 0.09);
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.nb-weekly-print-rules-page__detail-fact span {
  color: var(--nb-rules-purple);
  font-size: 1.2rem;
  line-height: 1;
}

.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--blue .nb-weekly-print-rules-page__detail-tab-button.active,
.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--blue .nb-weekly-print-rules-page__detail-tab-button.active:hover,
.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--blue .nb-weekly-print-rules-page__detail-tab-button.active:focus-visible {
  color: var(--nb-rules-blue);
  box-shadow: inset 0 -3px 0 var(--nb-rules-blue);
}

.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--blue .nb-weekly-print-rules-page__detail-fact span {
  color: var(--nb-rules-blue);
}

.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--green .nb-weekly-print-rules-page__detail-tab-button.active,
.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--green .nb-weekly-print-rules-page__detail-tab-button.active:hover,
.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--green .nb-weekly-print-rules-page__detail-tab-button.active:focus-visible {
  color: var(--nb-rules-green);
  box-shadow: inset 0 -3px 0 var(--nb-rules-green);
}

.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--green .nb-weekly-print-rules-page__detail-fact span {
  color: var(--nb-rules-green);
}

.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--orange .nb-weekly-print-rules-page__detail-tab-button.active,
.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--orange .nb-weekly-print-rules-page__detail-tab-button.active:hover,
.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--orange .nb-weekly-print-rules-page__detail-tab-button.active:focus-visible {
  color: var(--nb-rules-orange);
  box-shadow: inset 0 -3px 0 var(--nb-rules-orange);
}

.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--orange .nb-weekly-print-rules-page__detail-fact span {
  color: var(--nb-rules-orange);
}

.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--violet .nb-weekly-print-rules-page__detail-tab-button.active,
.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--violet .nb-weekly-print-rules-page__detail-tab-button.active:hover,
.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--violet .nb-weekly-print-rules-page__detail-tab-button.active:focus-visible {
  color: var(--nb-rules-violet);
  box-shadow: inset 0 -3px 0 var(--nb-rules-violet);
}

.nb-weekly-print-rules-page__detail-panel.nb-weekly-print-rules-page__format-card--violet .nb-weekly-print-rules-page__detail-fact span {
  color: var(--nb-rules-violet);
}

.nb-weekly-print-rules-page__detail-fact strong,
.nb-weekly-print-rules-page__detail-fact p {
  margin: 0;
}

.nb-weekly-print-rules-page__detail-fact strong {
  display: block;
  color: var(--nb-rules-ink);
  font-size: 0.85rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.nb-weekly-print-rules-page__detail-fact p {
  margin-top: 0.2rem;
  color: var(--nb-rules-ink-soft);
  font-size: 0.93rem;
  font-weight: 600;
  line-height: 1.45;
}

.nb-weekly-print-rules-page__cta-copy {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.9rem;
  align-items: center;
}

.nb-weekly-print-rules-page__cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.35rem;
  height: 3.35rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #fff4cc, #ffe08a);
  color: #3551e1;
  font-size: 1.6rem;
}

.nb-weekly-print-rules-page__cta-copy h2 {
  font-size: clamp(1.5rem, 2.1vw, 2.1rem);
  letter-spacing: -0.03em;
}

.nb-weekly-print-rules-page__cta-copy p {
  margin: 0.28rem 0 0;
  color: var(--nb-rules-ink-soft);
  font-size: 0.96rem;
  line-height: 1.5;
}

.nb-weekly-print-rules-page__cta-actions {
  display: flex;
  gap: 0.85rem;
  flex-shrink: 0;
}

.nb-weekly-print-rules-page__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.15rem;
  padding: 0.82rem 1.5rem;
  border: 1.5px solid transparent;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.nb-weekly-print-rules-page__button:hover,
.nb-weekly-print-rules-page__button:focus-visible {
  transform: translateY(-1px);
  text-decoration: none;
}

.nb-weekly-print-rules-page__button--outline {
  border-color: rgba(35, 84, 239, 0.35);
  background: #fff;
  color: var(--nb-rules-blue);
}

.nb-weekly-print-rules-page__button--outline:hover,
.nb-weekly-print-rules-page__button--outline:focus-visible {
  color: var(--nb-rules-blue);
  background: #f7fbff;
}

.nb-weekly-print-rules-page__button--orange {
  background: linear-gradient(135deg, #ff7a1a, #ff5e00);
  color: #fff;
}

.nb-weekly-print-rules-page__button--orange:hover,
.nb-weekly-print-rules-page__button--orange:focus-visible {
  color: #fff;
}

/* Weekly Print Rules page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-weekly-print-rules-page__hero {
    min-height: 29rem;
  }

  .nb-weekly-print-rules-page__hero-shell {
    min-height: 29rem;
  }

  .nb-weekly-print-rules-page__hero-copy {
    max-width: 27rem;
    padding-top: 2.5rem;
  }

  .nb-weekly-print-rules-page__hero-points {
    grid-template-columns: 1fr;
    max-width: 16rem;
  }

  .nb-weekly-print-rules-page__format-card {
    grid-template-columns: 190px minmax(0, 1fr);
  }

  .nb-weekly-print-rules-page__format-meta {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-weekly-print-rules-page__format-meta div {
    padding: 0.65rem 0.4rem;
  }

  .nb-weekly-print-rules-page__format-meta div:nth-child(2) {
    border-top: 0;
  }

  .nb-weekly-print-rules-page__detail-grid {
    grid-template-columns: 1fr;
  }

  .nb-weekly-print-rules-page__detail-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-weekly-print-rules-page__cta-card {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Weekly Print Rules page - Mobile */
@media (max-width: 767.98px) {
  .nb-weekly-print-rules-page {
    padding-bottom: 1.4rem;
  }

  .nb-weekly-print-rules-page__hero {
    min-height: 0;
  }

  .nb-weekly-print-rules-page__hero-background,
  .nb-weekly-print-rules-page__hero-fade {
    inset: 0 0 auto 0;
    height: 14.5rem;
  }

  .nb-weekly-print-rules-page__hero-background img {
    height: 14.5rem;
    object-position: 62% top;
  }

  .nb-weekly-print-rules-page__hero-fade {
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.06) 0%, rgba(248, 251, 255, 0.18) 55%, rgba(248, 251, 255, 0.86) 84%, rgba(248, 251, 255, 1) 100%);
  }

  .nb-weekly-print-rules-page__hero-shell {
    min-height: 0;
    align-items: flex-start;
  }

  .nb-weekly-print-rules-page__hero-copy {
    max-width: none;
    padding: 12.15rem 0 1.35rem;
  }

  .nb-weekly-print-rules-page__hero-copy h1 {
    font-size: clamp(2rem, 10vw, 3.3rem);
  }

  .nb-weekly-print-rules-page__hero-points {
    grid-template-columns: 1fr;
    margin-top: 1.45rem;
  }

  .nb-weekly-print-rules-page__format-card {
    grid-template-columns: 1fr;
  }

  .nb-weekly-print-rules-page__format-image img {
    max-height: 10rem;
  }

  .nb-weekly-print-rules-page__format-meta {
    padding: 0.55rem 0.8rem;
  }

  .nb-weekly-print-rules-page__details-button {
    width: 100%;
  }

  .nb-weekly-print-rules-page__detail-tab-content {
    padding: 0.8rem;
  }

  .nb-weekly-print-rules-page__detail-grid,
  .nb-weekly-print-rules-page__detail-rail {
    grid-template-columns: 1fr;
  }

  .nb-weekly-print-rules-page__cta-copy,
  .nb-weekly-print-rules-page__cta-card,
  .nb-weekly-print-rules-page__cta-actions {
    grid-template-columns: 1fr;
    flex-direction: column;
    justify-items: center;
    text-align: center;
  }

  .nb-weekly-print-rules-page__cta-actions {
    width: 100%;
  }

  .nb-weekly-print-rules-page__button {
    width: 100%;
  }
}

/* Interactive Game Rules page */
.nb-interactive-rules-page .nb-weekly-print-rules-page__hero-background img {
  object-position: center top;
}

.nb-interactive-rules-page .nb-weekly-print-rules-page__hero-fade {
  background:
    radial-gradient(circle at 17% 41%, rgba(248, 251, 255, 0.985) 0%, rgba(248, 251, 255, 0.92) 18%, rgba(248, 251, 255, 0.6) 35%, rgba(248, 251, 255, 0.16) 50%, rgba(248, 251, 255, 0) 61%),
    linear-gradient(90deg, rgba(248, 251, 255, 0.985) 0%, rgba(248, 251, 255, 0.965) 20%, rgba(248, 251, 255, 0.84) 31%, rgba(248, 251, 255, 0.48) 43%, rgba(248, 251, 255, 0.12) 53%, rgba(248, 251, 255, 0) 61%);
}

.nb-interactive-rules-page .nb-weekly-print-rules-page__hero-copy {
  max-width: 37rem;
}

.nb-interactive-rules-page__intro-card {
  display: grid;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1.15rem 1.2rem;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid var(--nb-rules-border);
  border-radius: 1.35rem;
  box-shadow: 0 18px 34px rgba(16, 44, 98, 0.07);
}

.nb-interactive-rules-page__intro-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.9rem;
  align-items: start;
}

.nb-interactive-rules-page__intro-heading span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #eef4ff 0%, #f8f5ff 100%);
  color: var(--nb-rules-blue);
  font-size: 1.2rem;
}

.nb-interactive-rules-page__intro-heading h2,
.nb-interactive-rules-page__detail-section h3 {
  margin: 0;
  color: var(--nb-rules-ink);
  font-family: var(--nb-font-heading);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.nb-interactive-rules-page__intro-heading h2 {
  font-size: 1.55rem;
}

.nb-interactive-rules-page__intro-heading p {
  margin: 0.2rem 0 0;
  color: var(--nb-rules-ink-soft);
  font-size: 0.97rem;
  line-height: 1.55;
}

.nb-interactive-rules-page__intro-list {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.nb-interactive-rules-page__intro-list li {
  position: relative;
  min-height: 100%;
  padding: 0.9rem 0.95rem 0.9rem 2.6rem;
  color: var(--nb-rules-ink);
  font-size: 0.96rem;
  line-height: 1.58;
  border: 1px solid rgba(23, 55, 123, 0.08);
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.nb-interactive-rules-page__intro-list li::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0.95rem;
  width: 1rem;
  height: 0.52rem;
  border-left: 3px solid var(--nb-rules-blue);
  border-bottom: 3px solid var(--nb-rules-blue);
  transform: rotate(-45deg);
}

.nb-interactive-rules-page__detail-panel {
  padding: 1rem;
}

.nb-interactive-rules-page__detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(240px, 0.82fr);
  gap: 1rem;
  align-items: start;
}

.nb-interactive-rules-page__detail-sections {
  display: grid;
  gap: 0.9rem;
}

.nb-interactive-rules-page__detail-section {
  padding: 1rem 1rem 0.95rem;
  border: 1px solid rgba(23, 55, 123, 0.08);
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.nb-interactive-rules-page__detail-section h3 {
  font-size: 1.06rem;
}

.nb-interactive-rules-page__detail-section .nb-weekly-print-rules-page__detail-list {
  margin-top: 0.65rem;
}

.nb-interactive-rules-page__cta-card .nb-weekly-print-rules-page__cta-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* Interactive Game Rules page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-interactive-rules-page__intro-list {
    grid-template-columns: 1fr;
  }

  .nb-interactive-rules-page__detail-grid {
    grid-template-columns: 1fr;
  }
}

/* Interactive Game Rules page - Mobile */
@media (max-width: 767.98px) {
  .nb-interactive-rules-page .nb-weekly-print-rules-page__hero-background,
  .nb-interactive-rules-page .nb-weekly-print-rules-page__hero-fade {
    height: 15rem;
  }

  .nb-interactive-rules-page .nb-weekly-print-rules-page__hero-background img {
    height: 15rem;
    object-position: center top;
  }

  .nb-interactive-rules-page__intro-card,
  .nb-interactive-rules-page__detail-panel {
    padding: 0.9rem;
  }

  .nb-interactive-rules-page__intro-list,
  .nb-interactive-rules-page__detail-grid {
    grid-template-columns: 1fr;
  }

  .nb-interactive-rules-page__intro-heading {
    grid-template-columns: 1fr;
  }

  .nb-interactive-rules-page__intro-heading span {
    width: 2.6rem;
    height: 2.6rem;
  }
}

/* About Testimonials Page */
.nb-about-testimonials-page {
  --nb-about-ink: #123058;
  --nb-about-ink-soft: #48607d;
  --nb-about-line: rgba(19, 48, 88, 0.1);
  --nb-about-panel: #ffffff;
  --nb-about-panel-soft: linear-gradient(180deg, #fbfdff 0%, #f4f8ff 100%);
  --nb-about-shadow: 0 24px 60px rgba(18, 48, 88, 0.12);
  --nb-about-green: #17824e;
  --nb-about-purple: #6e41d8;
  --nb-about-orange: #f36b21;
  --nb-about-blue: #2a63ea;
  --nb-about-pink: #ec4e8d;
  --nb-about-teal: #1b8c8b;
  --nb-about-indigo: #4f57d8;
  --nb-about-gold: #d19a1d;
  --nb-about-slate: #51667d;
  --nb-about-aqua: #2396a8;
  background:
    radial-gradient(circle at top left, rgba(89, 150, 255, 0.1), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 34%, #f8fbff 100%);
  color: var(--nb-about-ink);
  padding: 0 0 3rem;
}

body.nb-about-testimonials-page--modal-open {
  overflow: hidden;
}

.nb-about-testimonials-page .container {
  position: relative;
}

.nb-about-testimonials-page__hero {
  padding: 0.8rem 0 1.3rem;
}

.nb-about-testimonials-page__hero-shell {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 1.65rem;
  align-items: center;
}

.nb-about-testimonials-page__hero-copy {
  max-width: 34.5rem;
  padding: 1rem 0 0;
}

.nb-about-testimonials-page__hero-copy h1,
.nb-about-testimonials-page__section-head h2,
.nb-about-testimonials-page__trust-copy h2 {
  margin: 0;
  color: var(--nb-about-ink);
  font-size: clamp(2.45rem, 4vw, 4.15rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.02;
}

.nb-about-testimonials-page__hero-lede {
  margin: 1.35rem 0 0;
  color: var(--nb-about-ink-soft);
  font-size: 1.18rem;
  line-height: 1.78;
  max-width: 32rem;
}

.nb-about-testimonials-page__stats {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 1.18fr);
  gap: 0.9rem;
  margin-top: 1.75rem;
}

.nb-about-testimonials-page__stat {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
  padding-right: 0.85rem;
  border-right: 1px solid rgba(18, 48, 88, 0.1);
}

.nb-about-testimonials-page__stat:last-child {
  border-right: 0;
}

.nb-about-testimonials-page__stat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.95rem;
  background: #eff5ff;
  font-size: 0;
  line-height: 0;
}

.nb-about-testimonials-page__stat-icon svg {
  display: block;
  width: 1.35rem;
  height: 1.35rem;
}

.nb-about-testimonials-page__stat--green .nb-about-testimonials-page__stat-icon {
  color: var(--nb-about-green);
  background: rgba(23, 130, 78, 0.12);
}

.nb-about-testimonials-page__stat--purple .nb-about-testimonials-page__stat-icon {
  color: var(--nb-about-purple);
  background: rgba(110, 65, 216, 0.12);
}

.nb-about-testimonials-page__stat--orange .nb-about-testimonials-page__stat-icon {
  color: var(--nb-about-orange);
  background: rgba(243, 107, 33, 0.12);
}

.nb-about-testimonials-page__stat-label,
.nb-about-testimonials-page__stat span {
  display: block;
  color: var(--nb-about-ink-soft);
  font-size: 0.94rem;
  line-height: 1.35;
}

.nb-about-testimonials-page__stat strong {
  display: block;
  color: var(--nb-about-ink);
  font-size: 1.72rem;
  font-weight: 800;
  line-height: 1.08;
}

.nb-about-testimonials-page__stat--orange strong {
  font-size: 1.56rem;
}

.nb-about-testimonials-page__hero-media {
  position: relative;
  min-height: 31.5rem;
  padding-bottom: 2.2rem;
}

.nb-about-testimonials-page__hero-media::before {
  content: "";
  position: absolute;
  inset: 0 auto 2.2rem -0.4rem;
  width: 15.5rem;
  border-radius: 2.1rem 0 0 2.1rem;
  background: linear-gradient(90deg, rgba(248, 251, 255, 0.99) 0%, rgba(248, 251, 255, 0.92) 18%, rgba(248, 251, 255, 0.62) 46%, rgba(248, 251, 255, 0.2) 74%, rgba(248, 251, 255, 0) 100%);
  pointer-events: none;
  z-index: 1;
}

.nb-about-testimonials-page__hero-media > img {
  display: block;
  width: 100%;
  height: 31.5rem;
  object-fit: cover;
  object-position: center top;
  border-radius: 2.1rem;
  box-shadow: var(--nb-about-shadow);
}

.nb-about-testimonials-page__map-card {
  position: absolute;
  right: 0.85rem;
  bottom: -0.7rem;
  display: grid;
  grid-template-columns: 9.2rem minmax(0, 1fr);
  gap: 0.9rem;
  align-items: center;
  width: min(90%, 26.6rem);
  padding: 1rem 1.1rem;
  border: 1px solid rgba(43, 87, 197, 0.12);
  border-radius: 1.4rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 46px rgba(18, 48, 88, 0.12);
  backdrop-filter: blur(12px);
}

.nb-about-testimonials-page__map-card img {
  width: 100%;
  max-width: 8rem;
  justify-self: center;
}

.nb-about-testimonials-page__map-card p {
  margin: 0;
  color: var(--nb-about-ink);
  font-size: 0.98rem;
  line-height: 1.68;
}

.nb-about-testimonials-page__featured,
.nb-about-testimonials-page__carousel-section,
.nb-about-testimonials-page__trust-strip {
  padding-top: 1.5rem;
}

.nb-about-testimonials-page__featured-shell {
  padding: 1.6rem;
  border: 1px solid rgba(43, 87, 197, 0.1);
  border-radius: 1.8rem;
  background: linear-gradient(180deg, #fcfdff 0%, #f5f9ff 100%);
  box-shadow: 0 22px 52px rgba(18, 48, 88, 0.08);
}

.nb-about-testimonials-page__section-head {
  display: grid;
  gap: 0.6rem;
  margin-bottom: 1.55rem;
}

.nb-about-testimonials-page__section-head--center {
  text-align: center;
  justify-items: center;
}

.nb-about-testimonials-page__section-head h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
}

.nb-about-testimonials-page__section-head p {
  margin: 0;
  color: var(--nb-about-ink-soft);
  font-size: 1.08rem;
  line-height: 1.65;
}

.nb-about-testimonials-page__section-eyebrow {
  margin: 0;
  color: var(--nb-about-green);
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.nb-about-testimonials-page__featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.nb-about-testimonials-page__featured-card,
.nb-about-testimonials-page__quote-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.55rem;
  border: 1px solid var(--nb-about-line);
  border-radius: 1.45rem;
  background: #fff;
  box-shadow: 0 20px 45px rgba(18, 48, 88, 0.08);
}

.nb-about-testimonials-page__featured-card {
  min-height: 18.75rem;
}

.nb-about-testimonials-page__quote-mark {
  color: var(--nb-about-blue);
  font-size: 1.8rem;
  line-height: 1;
}

.nb-about-testimonials-page__featured-card--teal .nb-about-testimonials-page__quote-mark,
.nb-about-testimonials-page__quote-card--teal .nb-about-testimonials-page__quote-mark {
  color: var(--nb-about-teal);
}

.nb-about-testimonials-page__featured-card--purple .nb-about-testimonials-page__quote-mark,
.nb-about-testimonials-page__quote-card--purple .nb-about-testimonials-page__quote-mark {
  color: var(--nb-about-purple);
}

.nb-about-testimonials-page__featured-card--orange .nb-about-testimonials-page__quote-mark,
.nb-about-testimonials-page__quote-card--orange .nb-about-testimonials-page__quote-mark {
  color: var(--nb-about-orange);
}

.nb-about-testimonials-page__featured-quote,
.nb-about-testimonials-page__quote-card p {
  margin: 0;
  color: var(--nb-about-ink);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.42;
}

.nb-about-testimonials-page__quote-card p {
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.72;
}

.nb-about-testimonials-page__featured-meta,
.nb-about-testimonials-page__quote-meta {
  margin-top: auto;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(18, 48, 88, 0.09);
}

.nb-about-testimonials-page__featured-meta h3,
.nb-about-testimonials-page__quote-meta h3 {
  margin: 0;
  color: var(--nb-about-ink);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.4;
}

.nb-about-testimonials-page__featured-meta span,
.nb-about-testimonials-page__quote-meta span {
  display: block;
  margin-top: 0.35rem;
  color: var(--nb-about-ink-soft);
  font-size: 0.96rem;
  line-height: 1.55;
}

.nb-about-testimonials-page__tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.nb-about-testimonials-page__tag {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.32rem 0.72rem;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.2;
}

.nb-about-testimonials-page__tag--teal {
  background: rgba(27, 140, 139, 0.11);
  color: var(--nb-about-teal);
}

.nb-about-testimonials-page__tag--purple {
  background: rgba(110, 65, 216, 0.11);
  color: var(--nb-about-purple);
}

.nb-about-testimonials-page__tag--orange {
  background: rgba(243, 107, 33, 0.11);
  color: var(--nb-about-orange);
}

.nb-about-testimonials-page__card-actions {
  display: flex;
  align-items: center;
  margin-top: 0.35rem;
}

.nb-about-testimonials-page__story-button {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--nb-about-blue);
  font-size: 0.95rem;
  font-weight: 800;
}

.nb-about-testimonials-page__story-button:hover,
.nb-about-testimonials-page__story-button:focus-visible {
  color: #1f4fd0;
}

.nb-about-testimonials-page__carousel-shell {
  padding: 1.15rem;
  border: 1px solid rgba(43, 87, 197, 0.1);
  border-radius: 1.7rem;
  background: var(--nb-about-panel-soft);
  box-shadow: 0 22px 55px rgba(18, 48, 88, 0.08);
}

.nb-about-testimonials-page__group-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 1.45rem;
  border: 1px solid rgba(18, 48, 88, 0.08);
  border-radius: 1.3rem;
  overflow: hidden;
  background: #fff;
}

.nb-about-testimonials-page__group-tab {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75rem;
  align-items: center;
  min-height: 4.75rem;
  padding: 0.9rem 1rem;
  border: 0;
  border-right: 1px solid rgba(18, 48, 88, 0.08);
  background: transparent;
  color: var(--nb-about-ink);
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
}

.nb-about-testimonials-page__group-tab:last-child {
  border-right: 0;
}

.nb-about-testimonials-page__group-tab.is-active {
  box-shadow: inset 0 -3px 0 var(--nb-about-green);
  background: #fbfffd;
}

.nb-about-testimonials-page__group-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.82rem;
  font-size: 1rem;
}

.nb-about-testimonials-page__group-icon--green {
  color: var(--nb-about-green);
  background: rgba(23, 130, 78, 0.11);
}

.nb-about-testimonials-page__group-icon--purple {
  color: var(--nb-about-purple);
  background: rgba(110, 65, 216, 0.11);
}

.nb-about-testimonials-page__group-icon--orange {
  color: var(--nb-about-orange);
  background: rgba(243, 107, 33, 0.11);
}

.nb-about-testimonials-page__group-icon--blue {
  color: var(--nb-about-blue);
  background: rgba(42, 99, 234, 0.11);
}

.nb-about-testimonials-page__group-icon--pink {
  color: var(--nb-about-pink);
  background: rgba(236, 78, 141, 0.11);
}

.nb-about-testimonials-page__carousel-frame {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
}

.nb-about-testimonials-page__carousel-viewport {
  overflow: hidden;
}

.nb-about-testimonials-page__carousel-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  transition: opacity 0.2s ease;
}

.nb-about-testimonials-page__carousel-track.is-fading {
  opacity: 0;
}

.nb-about-testimonials-page__carousel-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid rgba(42, 99, 234, 0.14);
  border-radius: 50%;
  background: #fff;
  color: var(--nb-about-blue);
  box-shadow: 0 10px 28px rgba(18, 48, 88, 0.08);
}

.nb-about-testimonials-page__carousel-nav:hover,
.nb-about-testimonials-page__carousel-nav:focus-visible {
  color: var(--nb-about-blue);
  background: #f5f9ff;
}

.nb-about-testimonials-page__carousel-dots {
  display: flex;
  justify-content: center;
  gap: 0.55rem;
  margin-top: 1.3rem;
}

.nb-about-testimonials-page__carousel-dots button {
  width: 0.7rem;
  height: 0.7rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(18, 48, 88, 0.18);
}

.nb-about-testimonials-page__carousel-dots button.is-active {
  background: var(--nb-about-green);
}

.nb-about-testimonials-page__story-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.nb-about-testimonials-page__trust-card {
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 0.92fr) minmax(0, 0.84fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(43, 87, 197, 0.1);
  border-radius: 1.7rem;
  background: #fff;
  box-shadow: 0 24px 58px rgba(18, 48, 88, 0.08);
}

.nb-about-testimonials-page__trust-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
}

.nb-about-testimonials-page__trust-copy,
.nb-about-testimonials-page__trust-quote {
  padding: 2rem 2.15rem;
}

.nb-about-testimonials-page__trust-copy {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  border-right: 1px solid rgba(18, 48, 88, 0.08);
}

.nb-about-testimonials-page__trust-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(42, 99, 234, 0.08);
  color: var(--nb-about-blue);
  font-size: 1.6rem;
}

.nb-about-testimonials-page__trust-copy h2 {
  font-size: clamp(1.85rem, 2.4vw, 2.4rem);
  line-height: 1.12;
}

.nb-about-testimonials-page__trust-copy p,
.nb-about-testimonials-page__trust-quote p {
  margin: 0.8rem 0 0;
  color: var(--nb-about-ink-soft);
  font-size: 1.05rem;
  line-height: 1.7;
}

.nb-about-testimonials-page__trust-quote {
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nb-about-testimonials-page__trust-quote .nb-about-testimonials-page__quote-mark {
  color: var(--nb-about-blue);
}

.nb-about-testimonials-page__trust-quote p {
  margin-top: 1rem;
  color: var(--nb-about-blue);
  font-size: 1.48rem;
  font-style: italic;
  line-height: 1.55;
}

.nb-about-testimonials-page__trust-quote footer {
  margin-top: 1rem;
  color: var(--nb-about-ink);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.65;
}

.nb-about-testimonials-page__modal {
  position: fixed;
  inset: 0;
  z-index: 1060;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(9, 22, 45, 0.6);
  backdrop-filter: blur(6px);
}

.nb-about-testimonials-page__modal[hidden] {
  display: none;
}

.nb-about-testimonials-page__modal-dialog {
  position: relative;
  width: min(100%, 52rem);
  max-height: min(88vh, 52rem);
  overflow: auto;
  padding: 2rem;
  border-radius: 1.7rem;
  background: #fff;
  box-shadow: 0 30px 90px rgba(18, 48, 88, 0.28);
}

.nb-about-testimonials-page__modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid rgba(18, 48, 88, 0.1);
  border-radius: 50%;
  background: #fff;
  color: var(--nb-about-ink);
}

.nb-about-testimonials-page__modal-head {
  display: grid;
  gap: 0.45rem;
}

.nb-about-testimonials-page__modal-eyebrow {
  margin: 0;
  color: var(--nb-about-green);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nb-about-testimonials-page__modal-head h2 {
  margin: 0;
  color: var(--nb-about-ink);
  font-size: clamp(1.9rem, 3vw, 2.5rem);
  font-weight: 800;
  line-height: 1.08;
}

.nb-about-testimonials-page__modal-school {
  margin: 0;
  color: var(--nb-about-ink-soft);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}

.nb-about-testimonials-page__modal-body {
  display: grid;
  gap: 1rem;
  margin-top: 1.35rem;
}

.nb-about-testimonials-page__modal-body p {
  margin: 0;
  color: var(--nb-about-ink);
  font-size: 1.04rem;
  line-height: 1.82;
}

/* About Testimonials Page - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nb-about-testimonials-page {
    padding-bottom: 2.3rem;
  }

  .nb-about-testimonials-page__hero-shell {
    grid-template-columns: 1fr;
    gap: 1.8rem;
  }

  .nb-about-testimonials-page__hero-copy,
  .nb-about-testimonials-page__hero-lede {
    max-width: none;
  }

  .nb-about-testimonials-page__hero-media {
    min-height: 0;
    padding-bottom: 2rem;
  }

  .nb-about-testimonials-page__hero-media::before {
    inset: 0 auto 2rem -0.25rem;
    width: 13rem;
  }

  .nb-about-testimonials-page__hero-media > img {
    height: 27rem;
  }

  .nb-about-testimonials-page__map-card {
    width: min(88%, 26rem);
  }

  .nb-about-testimonials-page__featured-shell {
    padding: 1.35rem;
  }

  .nb-about-testimonials-page__featured-grid {
    grid-template-columns: 1fr;
  }

  .nb-about-testimonials-page__group-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-about-testimonials-page__group-tab:nth-child(2n) {
    border-right: 0;
  }

  .nb-about-testimonials-page__carousel-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nb-about-testimonials-page__trust-card {
    grid-template-columns: 1fr;
  }

  .nb-about-testimonials-page__trust-copy {
    border-right: 0;
    border-top: 1px solid rgba(18, 48, 88, 0.08);
  }

  .nb-about-testimonials-page__trust-quote {
    border-top: 1px solid rgba(18, 48, 88, 0.08);
  }

  .nb-about-testimonials-page__modal-dialog {
    padding: 1.7rem;
  }
}

/* About Testimonials Page - Mobile */
@media (max-width: 767.98px) {
  .nb-about-testimonials-page {
    padding-bottom: 2rem;
  }

  .nb-about-testimonials-page__hero {
    padding-top: 0.45rem;
  }

  .nb-about-testimonials-page__hero-shell {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .nb-about-testimonials-page__hero-copy,
  .nb-about-testimonials-page__hero-lede {
    max-width: none;
  }

  .nb-about-testimonials-page__hero-copy h1 {
    font-size: clamp(2.4rem, 12vw, 3.6rem);
  }

  .nb-about-testimonials-page__hero-lede {
    font-size: 1.08rem;
    line-height: 1.7;
  }

  .nb-about-testimonials-page__stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }

  .nb-about-testimonials-page__stat {
    padding-right: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(18, 48, 88, 0.1);
    padding-bottom: 0.9rem;
  }

  .nb-about-testimonials-page__stat:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .nb-about-testimonials-page__hero-media {
    min-height: 0;
    padding-bottom: 0;
  }

  .nb-about-testimonials-page__hero-media::before {
    inset: 0 0 auto 0;
    width: 100%;
    height: 5rem;
    border-radius: 1.5rem 1.5rem 0 0;
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.82) 0%, rgba(248, 251, 255, 0.18) 60%, rgba(248, 251, 255, 0) 100%);
  }

  .nb-about-testimonials-page__hero-media > img {
    height: 20rem;
    border-radius: 1.5rem;
  }

  .nb-about-testimonials-page__map-card {
    position: static;
    width: 100%;
    margin-top: 1rem;
    grid-template-columns: 1fr;
    text-align: center;
  }

  .nb-about-testimonials-page__featured-grid {
    grid-template-columns: 1fr;
  }

  .nb-about-testimonials-page__featured-shell {
    padding: 1.1rem;
  }

  .nb-about-testimonials-page__featured-card,
  .nb-about-testimonials-page__quote-card {
    padding: 1.35rem;
  }

  .nb-about-testimonials-page__featured-quote,
  .nb-about-testimonials-page__quote-card p {
    font-size: 1rem;
  }

  .nb-about-testimonials-page__carousel-shell {
    padding: 1rem;
  }

  .nb-about-testimonials-page__group-tabs {
    grid-template-columns: 1fr;
  }

  .nb-about-testimonials-page__group-tab {
    border-right: 0;
    border-bottom: 1px solid rgba(18, 48, 88, 0.08);
  }

  .nb-about-testimonials-page__group-tab:last-child {
    border-bottom: 0;
  }

  .nb-about-testimonials-page__carousel-frame {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .nb-about-testimonials-page__carousel-track {
    grid-template-columns: 1fr;
  }

  .nb-about-testimonials-page__carousel-nav {
    display: none;
  }

  .nb-about-testimonials-page__trust-card {
    grid-template-columns: 1fr;
  }

  .nb-about-testimonials-page__trust-image img {
    min-height: 13rem;
  }

  .nb-about-testimonials-page__trust-copy,
  .nb-about-testimonials-page__trust-quote {
    padding: 1.45rem 1.3rem;
  }

  .nb-about-testimonials-page__trust-copy {
    grid-template-columns: 1fr;
    justify-items: start;
    border-right: 0;
    border-top: 1px solid rgba(18, 48, 88, 0.08);
  }

  .nb-about-testimonials-page__trust-quote {
    border-top: 1px solid rgba(18, 48, 88, 0.08);
  }

  .nb-about-testimonials-page__trust-quote p {
    font-size: 1.18rem;
  }

  .nb-about-testimonials-page__modal {
    padding: 0.85rem;
  }

  .nb-about-testimonials-page__modal-dialog {
    padding: 1.35rem 1.15rem;
    border-radius: 1.3rem;
  }
}

/* School Order Flow - Desktop */
.nb-school-order-flow {
    padding: 2rem 0 4rem;
    background:
        radial-gradient(circle at top left, rgba(31, 111, 255, 0.08), transparent 28%),
        linear-gradient(180deg, #f8fbff 0%, #ffffff 36%, #f8fbff 100%);
}

.nb-school-order-flow__topbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
    gap: 1.5rem;
    align-items: start;
    margin-bottom: 2rem;
}

.nb-school-order-flow__breadcrumbs,
.nb-school-order-flow__breadcrumbs--solo {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    align-items: center;
    color: #5b6f98;
    font-size: 0.98rem;
}

.nb-school-order-flow__breadcrumbs a {
    color: #1f5fd6;
    text-decoration: none;
    font-weight: 700;
}

.nb-school-order-flow__breadcrumbs > * {
    display: inline-flex;
    align-items: center;
}

.nb-school-order-flow__breadcrumbs > * + *::before {
    content: ">";
    margin-right: 0.85rem;
    color: #91a3c4;
    font-weight: 700;
}

.nb-school-order-flow__breadcrumb-home {
    color: #7ea0df;
    font-size: 0.92rem;
}

.nb-school-order-flow__breadcrumbs--solo {
    margin-bottom: 1.5rem;
}

.nb-school-order-flow__support-callout {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.4rem;
    border-radius: 24px;
    border: 1px solid #d7e3fb;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 16px 34px rgba(21, 54, 112, 0.08);
}

.nb-school-order-flow__support-callout strong,
.nb-school-order-flow__benefit-strip strong,
.nb-school-order-flow__package-list h3,
.nb-school-order-flow__package-bestfor h3,
.nb-school-order-flow__include-strip strong,
.nb-school-order-flow__access-pricing strong {
    color: #102a63;
}

.nb-school-order-flow__support-callout p,
.nb-school-order-flow__heading p,
.nb-school-order-flow__package-copy p,
.nb-school-order-flow__package-list li,
.nb-school-order-flow__package-bestfor li,
.nb-school-order-flow__access-head p,
.nb-school-order-flow__access-pricing p,
.nb-school-order-flow__benefit-strip span,
.nb-school-order-flow__include-strip span {
    margin: 0;
    color: #324b78;
}

.nb-school-order-flow__heading {
    margin-bottom: 2rem;
}

.nb-school-order-flow__heading h1,
.nb-school-order-flow__intro-copy h1 {
    color: #102a63;
    font-size: clamp(2.6rem, 4vw, 4.2rem);
    line-height: 0.98;
    margin: 0 0 0.85rem;
}

.nb-school-order-flow__heading p,
.nb-school-order-flow__intro-copy p {
    max-width: 58rem;
    font-size: 1.08rem;
    line-height: 1.65;
}

.nb-school-order-flow__selected {
    font-weight: 800;
    color: #1f5fd6 !important;
}

.nb-school-order-flow__package-grid,
.nb-school-order-flow__access-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.85rem;
}

.nb-school-order-flow__package-card,
.nb-school-order-flow__access-card {
    position: relative;
    padding: 2rem;
    border-radius: 30px;
    border: 1px solid #d7e3fb;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 22px 44px rgba(18, 42, 99, 0.08);
}

.nb-school-order-flow__package-card--green,
.nb-school-order-flow__access-card--green {
    border-color: rgba(65, 160, 79, 0.55);
}

.nb-school-order-flow__package-card--blue,
.nb-school-order-flow__access-card--blue {
    border-color: rgba(31, 111, 255, 0.45);
}

.nb-school-order-flow__access-card--orange {
    border-color: rgba(244, 114, 34, 0.4);
}

.nb-school-order-flow__badge {
    position: absolute;
    top: -16px;
    right: 1.8rem;
    padding: 0.7rem 1.35rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #1f6fff 0%, #0f53ce 100%);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: 0 16px 30px rgba(31, 111, 255, 0.26);
}

.nb-school-order-flow__package-hero,
.nb-school-order-flow__intro-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.9fr);
    gap: 1.5rem;
    align-items: center;
}

.nb-school-order-flow__package-copy h2,
.nb-school-order-flow__access-head h2 {
    margin: 0 0 0.7rem;
    color: #102a63;
    font-size: clamp(2rem, 2.7vw, 3rem);
    line-height: 1.02;
}

.nb-school-order-flow__package-subtitle {
    font-weight: 800;
    color: #1f5fd6 !important;
}

.nb-school-order-flow__package-image,
.nb-school-order-flow__intro-image {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 240px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(242, 247, 255, 0.95), rgba(255, 255, 255, 0.85));
    overflow: hidden;
}

.nb-school-order-flow__package-image img,
.nb-school-order-flow__intro-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.nb-school-order-flow__package-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.82fr);
    gap: 1.3rem;
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: 1px solid #dde7fb;
}

.nb-school-order-flow__package-list ul,
.nb-school-order-flow__package-bestfor ul,
.nb-school-order-flow__access-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nb-school-order-flow__package-list li,
.nb-school-order-flow__package-bestfor li,
.nb-school-order-flow__access-content li {
    position: relative;
    padding-left: 1.6rem;
    margin-top: 0.85rem;
    line-height: 1.45;
}

.nb-school-order-flow__package-list li::before,
.nb-school-order-flow__package-bestfor li::before,
.nb-school-order-flow__access-content li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 0.52rem;
    height: 0.52rem;
    border-radius: 50%;
    background: #1f6fff;
    box-shadow: 0 0 0 6px rgba(31, 111, 255, 0.1);
}

.nb-school-order-flow__package-bestfor {
    padding: 1.2rem 1.25rem;
    border-radius: 24px;
    background: linear-gradient(180deg, #f4f8ff 0%, #eef5ff 100%);
}

.nb-school-order-flow__card-actions {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    margin-top: 1.8rem;
}

.nb-school-order-flow__card-button {
    min-height: 58px;
    border-radius: 999px;
    font-size: 1.08rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nb-school-order-flow__learn-more {
    align-self: center;
    color: #1f5fd6;
    font-weight: 800;
    text-align: center;
    text-decoration: underline;
    text-underline-offset: 0.22rem;
}

.nb-school-order-flow__include-strip,
.nb-school-order-flow__benefit-strip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem 1.4rem;
    align-items: center;
    margin: 0 0 1.8rem;
    padding: 1.35rem 1.45rem;
    border-radius: 26px;
    border: 1px solid #dbe5f8;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 14px 30px rgba(15, 44, 100, 0.05);
}

.nb-school-order-flow__include-strip div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1.15rem;
}

.nb-school-order-flow__include-strip span,
.nb-school-order-flow__benefit-strip article {
    padding: 0.1rem 0;
}

.nb-school-order-flow__access-head {
    margin-bottom: 1.45rem;
}

.nb-school-order-flow__access-pricing {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.1rem 1.4rem;
    align-items: start;
    margin-bottom: 1.4rem;
    padding: 1.2rem 0;
    border-top: 1px solid #dde7fb;
    border-bottom: 1px solid #dde7fb;
}

.nb-school-order-flow__access-price {
    color: #1f6fff;
    font-size: clamp(2.6rem, 3.4vw, 4rem);
    line-height: 0.95;
    font-weight: 900;
}

.nb-school-order-flow__access-card--green .nb-school-order-flow__access-price {
    color: #339c39;
}

.nb-school-order-flow__access-card--orange .nb-school-order-flow__access-price {
    color: #f26312;
}

.nb-school-order-flow__benefit-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem 1.4rem;
    margin-top: 1.85rem;
}

.nb-school-order-flow__benefit-strip article {
    display: grid;
    gap: 0.35rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__topbar {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 520px);
    grid-template-areas:
        "breadcrumbs support"
        "heading support";
    gap: 1.5rem;
    align-items: start;
    margin-bottom: 1.35rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__breadcrumbs {
    grid-area: breadcrumbs;
    gap: 0.65rem;
    row-gap: 0.75rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__support-callout {
    grid-area: support;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.9rem;
    align-items: center;
    padding: 1.35rem 1.45rem;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(247, 250, 255, 0.98) 0%, rgba(255, 255, 255, 0.96) 100%);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__support-icon {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(31, 111, 255, 0.12), rgba(31, 111, 255, 0.04));
    color: #1f6fff;
    font-size: 1.7rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__support-copy {
    display: grid;
    gap: 0.35rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__support-button {
    min-height: 54px;
    padding-inline: 1.2rem;
    border-radius: 999px;
    font-size: 0.98rem;
    font-weight: 800;
    gap: 0.65rem;
    white-space: nowrap;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__heading {
    grid-area: heading;
    margin-bottom: 1.7rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__heading h1 {
    font-size: clamp(2.7rem, 3.7vw, 4rem);
    letter-spacing: -0.05em;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__selected {
    color: #102a63 !important;
    font-weight: 600;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__selected-package {
    color: #2f9838;
    font-weight: 800;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner {
    display: grid;
    grid-template-columns: auto minmax(0, 1.2fr) minmax(260px, 0.9fr);
    gap: 1.1rem 1.5rem;
    align-items: center;
    margin: 0 0 1.35rem;
    padding: 1.35rem 1.55rem;
    border-radius: 26px;
    border: 1px solid #d7e3fb;
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.98) 0%, rgba(255, 255, 255, 0.96) 100%);
    box-shadow: 0 16px 34px rgba(21, 54, 112, 0.06);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner-icon {
    width: 70px;
    height: 70px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(31, 111, 255, 0.12), rgba(31, 111, 255, 0.04));
    color: #1f6fff;
    font-size: 2rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner-copy {
    display: grid;
    gap: 0.35rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner-copy strong {
    color: #102a63;
    font-size: 1.3rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner-copy p,
.nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner-actions span {
    margin: 0;
    color: #324b78;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner-actions {
    display: grid;
    gap: 0.8rem;
    justify-items: start;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner-button {
    min-height: 54px;
    padding-inline: 1.35rem;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 800;
    gap: 0.65rem;
    white-space: nowrap;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-strip {
    grid-template-columns: minmax(365px, 0.9fr) minmax(0, 1.4fr);
    gap: 0;
    padding: 0;
    overflow: hidden;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-lead {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
    padding: 1.15rem 1.3rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-lead p {
    margin: 0.25rem 0 0;
    font-size: 0.95rem;
    white-space: nowrap;
    color: #324b78;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-lead strong {
    display: block;
    font-size: 0.92rem;
    white-space: nowrap;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-check {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid rgba(58, 162, 81, 0.3);
    background: linear-gradient(180deg, rgba(59, 163, 81, 0.07), rgba(59, 163, 81, 0.02));
    color: #2f9838;
    font-size: 1.55rem;
    box-shadow: inset 0 0 0 8px rgba(255, 255, 255, 0.85);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-items {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-strip--premium {
    grid-template-columns: minmax(365px, 0.9fr) minmax(0, 1.4fr);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-strip--classroom-games {
    grid-template-columns: minmax(455px, 0.96fr) minmax(0, 1.24fr);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-strip--classroom-games .nb-school-order-flow__include-items {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    padding-left: 1rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-strip--classroom-games .nb-school-order-flow__include-item {
    gap: 0.65rem;
    padding: 1.15rem 1.35rem;
    font-size: 0.93rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.5rem;
    align-items: center;
    min-height: 100%;
    padding: 1.1rem 0.8rem;
    font-weight: 700;
    font-size: 0.92rem;
    line-height: 1.3;
    color: #102a63;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item-label {
    display: block;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item + .nb-school-order-flow__include-item {
    border-left: 1px solid #e3ebfa;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item i {
    font-size: 1.5rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item:nth-child(1) i {
    color: #1f6fff;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item:nth-child(2) i {
    color: #ef334d;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item:nth-child(3) i {
    color: #8a3dff;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item:nth-child(4) i {
    color: #2f9838;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item:nth-child(5) i {
    color: #ff6b00;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__include-item:nth-child(6) i {
    color: #2e7bff;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-card {
    padding: 1.7rem 1.95rem 1.55rem;
    border-radius: 26px;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-card--blue {
    box-shadow: 0 22px 42px rgba(31, 111, 255, 0.09);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-card--green {
    box-shadow: 0 22px 42px rgba(47, 152, 56, 0.09);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__badge {
    top: -14px;
    right: 1.9rem;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 1.3rem;
    font-size: 0.9rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-card--green .nb-school-order-flow__badge {
    background: linear-gradient(135deg, #3ca340 0%, #258d2f 100%);
    box-shadow: 0 16px 30px rgba(47, 152, 56, 0.24);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1.25rem;
    align-items: center;
    margin-bottom: 1.1rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-icon {
    width: 90px;
    height: 90px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 2.5rem;
    color: #1f6fff;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.96), rgba(31, 111, 255, 0.12));
    border: 1px solid rgba(31, 111, 255, 0.12);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-card--green .nb-school-order-flow__access-icon {
    color: #339c39;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.96), rgba(51, 156, 57, 0.12));
    border-color: rgba(51, 156, 57, 0.12);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-head h2 {
    margin-bottom: 0.45rem;
    font-size: clamp(1.7rem, 2vw, 2.2rem);
    letter-spacing: -0.04em;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-head p {
    font-size: 1.02rem;
    font-weight: 800;
    color: #1f5fd6;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-card--green .nb-school-order-flow__access-head p {
    color: #2f9838;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-pricing {
    grid-template-columns: auto auto minmax(190px, 1fr);
    gap: 1rem 1.25rem;
    align-items: center;
    padding: 1.25rem 0 1.35rem;
    margin-bottom: 1.2rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-price-block {
    padding-right: 1.45rem;
    border-right: 1px solid #dbe5f7;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-price {
    font-size: clamp(2.15rem, 2.5vw, 3.05rem);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-through strong {
    display: block;
    font-size: 1.02rem;
    line-height: 1.35;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-through p {
    max-width: 15rem;
    font-size: 0.92rem;
    line-height: 1.45;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-date {
    margin-top: 0.05rem;
    font-size: 1rem;
    font-weight: 700;
    color: #102a63;
    line-height: 1.25;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-note {
    margin-top: 0.32rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-summary-pill {
    justify-self: end;
    display: inline-grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: center;
    max-width: 202px;
    min-height: 64px;
    padding: 0.8rem 0.95rem;
    border-radius: 16px;
    background: linear-gradient(180deg, #edf5ff 0%, #e6f0ff 100%);
    color: #102a63;
    font-weight: 800;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-summary-pill span {
    display: block;
    font-size: 0.94rem;
    line-height: 1.28;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-card--green .nb-school-order-flow__access-summary-pill {
    background: linear-gradient(180deg, #eef9ee 0%, #e6f5e6 100%);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-content ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem 1.35rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-content li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.65rem;
    align-items: start;
    padding-left: 0;
    margin-top: 0;
    font-weight: 700;
    font-size: 0.94rem;
    line-height: 1.25;
    color: #102a63;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-content li::before {
    position: static;
    width: auto;
    height: auto;
    border-radius: 0;
    background: none;
    box-shadow: none;
    content: "\f058";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #1f6fff;
    font-size: 1rem;
    line-height: 1.3;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-card--green .nb-school-order-flow__access-content li::before {
    color: #2f9838;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__card-actions {
    align-items: center;
    margin-top: 1.55rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__card-button {
    width: min(430px, 100%);
    gap: 0.85rem;
    font-size: 1.1rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__access-card--green .nb-school-order-flow__card-button {
    background: linear-gradient(135deg, #39a63f, #258d2f);
    border-color: #258d2f;
    box-shadow: 0 12px 24px rgba(37, 141, 47, 0.2);
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__learn-more {
    font-size: 0.98rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-strip {
    margin-top: 1.7rem;
    padding: 0;
    gap: 0;
    overflow: hidden;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-strip article {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.95rem;
    align-items: center;
    padding: 1.2rem 1.35rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-strip article + article {
    border-left: 1px solid #e3ebfa;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.45rem;
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-icon--blue {
    color: #1f6fff;
    background: linear-gradient(180deg, rgba(31, 111, 255, 0.12), rgba(31, 111, 255, 0.04));
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-icon--purple {
    color: #7b35ff;
    background: linear-gradient(180deg, rgba(123, 53, 255, 0.12), rgba(123, 53, 255, 0.04));
}

.nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-icon--orange {
    color: #f97316;
    background: linear-gradient(180deg, rgba(249, 115, 22, 0.12), rgba(249, 115, 22, 0.04));
}

/* School Order Flow - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
    .nb-school-order-flow__topbar,
    .nb-school-order-flow__package-grid,
    .nb-school-order-flow__access-grid,
    .nb-school-order-flow__package-body,
    .nb-school-order-flow__intro-hero {
        grid-template-columns: 1fr;
    }

    .nb-school-order-flow__support-callout,
    .nb-school-order-flow__include-strip,
    .nb-school-order-flow__benefit-strip {
        grid-template-columns: 1fr;
    }

    .nb-school-order-flow__benefit-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nb-school-order-flow__package-image,
    .nb-school-order-flow__intro-image {
        min-height: 220px;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__topbar,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__include-strip,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__access-pricing {
        grid-template-columns: 1fr;
        grid-template-areas: none;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__support-callout {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__support-button,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner-button,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__access-summary-pill {
        justify-self: start;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__include-items {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        border-top: 1px solid #e3ebfa;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-strip article:nth-child(3) {
        border-left: 0;
    }
}

/* School Order Flow - Mobile */
@media (max-width: 767.98px) {
    .nb-school-order-flow {
        padding: 1.2rem 0 3rem;
    }

    .nb-school-order-flow__topbar,
    .nb-school-order-flow__package-grid,
    .nb-school-order-flow__access-grid,
    .nb-school-order-flow__package-hero,
    .nb-school-order-flow__package-body,
    .nb-school-order-flow__intro-hero,
    .nb-school-order-flow__support-callout,
    .nb-school-order-flow__year-banner,
    .nb-school-order-flow__include-strip,
    .nb-school-order-flow__benefit-strip,
    .nb-school-order-flow__access-pricing {
        grid-template-columns: 1fr;
    }

    .nb-school-order-flow__package-card,
    .nb-school-order-flow__access-card {
        padding: 1.35rem;
        border-radius: 24px;
    }

    .nb-school-order-flow__badge {
        position: static;
        display: inline-flex;
        margin-bottom: 1rem;
    }

    .nb-school-order-flow__heading h1,
    .nb-school-order-flow__intro-copy h1 {
        font-size: 2.35rem;
    }

    .nb-school-order-flow__package-copy h2,
    .nb-school-order-flow__access-head h2 {
        font-size: 1.95rem;
    }

    .nb-school-order-flow__package-image,
    .nb-school-order-flow__intro-image {
        min-height: 180px;
    }

    .nb-school-order-flow__card-button {
        width: 100%;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__support-callout {
        grid-template-columns: 1fr;
        justify-items: start;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__year-banner {
        padding: 1.2rem 1.25rem;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__heading h1 {
        font-size: 2.8rem;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__include-strip,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__access-pricing,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__access-content ul,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-strip,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-strip article {
        grid-template-columns: 1fr;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__include-items {
        grid-template-columns: 1fr 1fr;
        border-top: 1px solid #e3ebfa;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__include-item + .nb-school-order-flow__include-item,
    .nb-school-order-flow--teacher-access .nb-school-order-flow__benefit-strip article + article {
        border-left: 0;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__access-head {
        grid-template-columns: 1fr;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__access-price-block {
        padding-right: 0;
        padding-bottom: 1rem;
        border-right: 0;
        border-bottom: 1px solid #dbe5f7;
    }

    .nb-school-order-flow--teacher-access .nb-school-order-flow__access-summary-pill {
        justify-self: stretch;
    }
}

/* Teacher Student Profile - Desktop */
.nb-teacher-student-profile-page .container-wide,
.nb-teacher-student-detail-page .container-wide {
    max-width: 1520px;
}

.nb-teacher-student-profile-page__card,
.nb-teacher-student-detail-page__card {
    display: grid;
    gap: 1.6rem;
    padding: 2.35rem 2.45rem 2.5rem;
    border: 1px solid rgba(205, 221, 247, 0.95);
    border-radius: 30px;
    box-shadow: 0 24px 54px rgba(15, 41, 92, 0.09);
}

.nb-teacher-student-profile-page__back-link a,
.nb-teacher-student-detail-page__back-link a {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #1c57d6;
    font-weight: 700;
    text-decoration: none;
}

.nb-teacher-student-profile-page__back-link a:hover,
.nb-teacher-student-detail-page__back-link a:hover {
    color: #103f9f;
}

.nb-teacher-student-profile-page__hero,
.nb-teacher-student-detail-page__hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}

.nb-teacher-student-profile-page__hero h1,
.nb-teacher-student-detail-page__hero h1 {
    margin-bottom: 0.65rem;
}

.nb-teacher-student-profile-page__hero-copy,
.nb-teacher-student-detail-page__hero > div:first-child {
    max-width: 760px;
}

.nb-teacher-student-profile-page__hero-meta,
.nb-teacher-student-detail-page__hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1.35rem;
    color: #52698f;
    font-size: 1rem;
}

.nb-teacher-student-profile-page__hero-meta span,
.nb-teacher-student-detail-page__hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.nb-teacher-student-profile-page__hero-meta i,
.nb-teacher-student-detail-page__hero-meta i {
    color: #6982ab;
}

.nb-teacher-student-profile-page__hero-actions {
    display: flex;
    justify-content: flex-end;
}

.nb-teacher-student-profile-page__stats-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(210, 223, 247, 0.95);
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.nb-teacher-student-profile-page__stat-card {
    min-width: 0;
    padding: 1.3rem 1.15rem 1.15rem;
}

.nb-teacher-student-profile-page__stat-card + .nb-teacher-student-profile-page__stat-card {
    border-left: 1px solid rgba(220, 228, 244, 0.95);
}

.nb-teacher-student-profile-page__stat-body {
    display: grid;
    gap: 0.7rem;
}

.nb-teacher-student-profile-page__stat-topline {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
}

.nb-teacher-student-profile-page__stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 18px;
    font-size: 1.55rem;
}

.nb-teacher-student-profile-page__stat-icon--blue {
    color: #1c57d6;
    background: rgba(28, 87, 214, 0.1);
}

.nb-teacher-student-profile-page__stat-icon--green {
    color: #1e9f41;
    background: rgba(30, 159, 65, 0.1);
}

.nb-teacher-student-profile-page__stat-icon--gold {
    color: #d38d00;
    background: rgba(241, 176, 14, 0.12);
}

.nb-teacher-student-profile-page__stat-icon--orange {
    color: #ff6b18;
    background: rgba(255, 107, 24, 0.1);
}

.nb-teacher-student-profile-page__stat-icon--violet {
    color: #6b37d1;
    background: rgba(107, 55, 209, 0.11);
}

.nb-teacher-student-profile-page__stat-label {
    display: block;
    margin-bottom: 0.15rem;
    color: #4f648c;
    font-size: 0.98rem;
    font-weight: 600;
}

.nb-teacher-student-profile-page__stat-topline strong {
    display: block;
    color: #0d2b66;
    font-size: 1.75rem;
    line-height: 1.05;
}

.nb-teacher-student-profile-page__stat-meta {
    color: #5c7197;
    font-size: 0.95rem;
    line-height: 1.35;
}

.nb-teacher-student-profile-page__content-grid {
    display: grid;
    grid-template-columns: minmax(0, 2.4fr) minmax(300px, 0.95fr);
    gap: 1.45rem;
    align-items: start;
}

.nb-teacher-student-profile-page__cards-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.nb-teacher-student-profile-page__feature-card,
.nb-teacher-student-profile-page__activity-panel {
    border: 1px solid rgba(210, 223, 247, 0.95);
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 20px 44px rgba(15, 41, 92, 0.08);
}

.nb-teacher-student-profile-page__feature-card {
    display: grid;
    gap: 1.1rem;
    padding: 1.3rem 1.3rem 1.2rem;
    border-top-width: 4px;
}

.nb-teacher-student-profile-page__feature-card--blue {
    border-top-color: #1c57d6;
}

.nb-teacher-student-profile-page__feature-card--orange {
    border-top-color: #ff6b18;
}

.nb-teacher-student-profile-page__feature-card--violet {
    border-top-color: #6b37d1;
}

.nb-teacher-student-profile-page__feature-card--green {
    border-top-color: #1e9f41;
}

.nb-teacher-student-profile-page__feature-card--gold {
    border-top-color: #f0af08;
}

.nb-teacher-student-profile-page__feature-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.95rem;
    align-items: start;
}

.nb-teacher-student-profile-page__feature-head h2,
.nb-teacher-student-profile-page__activity-head h2,
.nb-teacher-student-detail-page__section-head h2,
.nb-teacher-student-detail-page__state-grid h2 {
    margin-bottom: 0.45rem;
    font-size: 1.65rem;
}

.nb-teacher-student-profile-page__feature-head p {
    margin-bottom: 0;
    color: #43597f;
    line-height: 1.55;
}

.nb-teacher-student-profile-page__feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.35rem;
    height: 3.35rem;
    border-radius: 18px;
    font-size: 1.4rem;
}

.nb-teacher-student-profile-page__feature-icon--blue {
    color: #1c57d6;
    background: rgba(28, 87, 214, 0.1);
}

.nb-teacher-student-profile-page__feature-icon--orange {
    color: #ff6b18;
    background: rgba(255, 107, 24, 0.1);
}

.nb-teacher-student-profile-page__feature-icon--violet {
    color: #6b37d1;
    background: rgba(107, 55, 209, 0.11);
}

.nb-teacher-student-profile-page__feature-icon--green {
    color: #1e9f41;
    background: rgba(30, 159, 65, 0.1);
}

.nb-teacher-student-profile-page__feature-icon--gold {
    color: #d38d00;
    background: rgba(241, 176, 14, 0.12);
}

.nb-teacher-student-profile-page__feature-summary {
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: #f7faff;
    color: #4d648a;
}

.nb-teacher-student-profile-page__feature-summary strong {
    display: block;
    margin-bottom: 0.2rem;
    color: #0d2b66;
    font-size: 1.14rem;
}

.nb-teacher-student-profile-page__feature-button {
    width: 100%;
    justify-content: center;
}

.nb-teacher-student-profile-page__feature-button--blue {
    background: linear-gradient(135deg, #1c66f1 0%, #1a49c5 100%);
}

.nb-teacher-student-profile-page__feature-button--orange {
    background: linear-gradient(135deg, #ff7a1c 0%, #f45c06 100%);
}

.nb-teacher-student-profile-page__feature-button--violet {
    background: linear-gradient(135deg, #7a43ea 0%, #5f31c6 100%);
}

.nb-teacher-student-profile-page__feature-button--green {
    background: linear-gradient(135deg, #28b848 0%, #1d9739 100%);
}

.nb-teacher-student-profile-page__feature-button--gold {
    color: #0d2b66;
    background: linear-gradient(135deg, #ffc525 0%, #f0af08 100%);
}

.nb-teacher-student-profile-page__activity-panel {
    display: grid;
    gap: 1rem;
    padding: 1.35rem 1.3rem 1.3rem;
}

.nb-teacher-student-profile-page__activity-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.nb-teacher-student-profile-page__activity-head span {
    color: #1c57d6;
    font-weight: 700;
    white-space: nowrap;
}

.nb-teacher-student-profile-page__activity-list {
    display: grid;
    gap: 0.9rem;
}

.nb-teacher-student-profile-page__activity-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: start;
}

.nb-teacher-student-profile-page__activity-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    font-size: 1.1rem;
}

.nb-teacher-student-profile-page__activity-icon--blue {
    color: #1c57d6;
    background: rgba(28, 87, 214, 0.08);
}

.nb-teacher-student-profile-page__activity-icon--green {
    color: #1e9f41;
    background: rgba(30, 159, 65, 0.08);
}

.nb-teacher-student-profile-page__activity-icon--orange {
    color: #ff6b18;
    background: rgba(255, 107, 24, 0.08);
}

.nb-teacher-student-profile-page__activity-icon--violet {
    color: #6b37d1;
    background: rgba(107, 55, 209, 0.08);
}

.nb-teacher-student-profile-page__activity-copy strong {
    display: block;
    margin-bottom: 0.2rem;
    color: #102f68;
}

.nb-teacher-student-profile-page__activity-copy p,
.nb-teacher-student-profile-page__activity-empty {
    margin-bottom: 0;
    color: #506689;
    line-height: 1.45;
}

.nb-teacher-student-profile-page__activity-time {
    display: grid;
    justify-items: end;
    gap: 0.15rem;
    color: #687da3;
    text-align: right;
    white-space: nowrap;
}

.nb-teacher-student-profile-page__tip {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-top: 0.15rem;
}

.nb-teacher-student-profile-page__tip i {
    color: #1c57d6;
}

.nb-teacher-student-detail-page__hero {
    padding-bottom: 0.1rem;
}

.nb-teacher-student-detail-page__hero--state {
    align-items: center;
}

.nb-teacher-student-detail-page__hero-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem;
    border-radius: 22px;
    background: linear-gradient(180deg, #f8fbff 0%, #edf4ff 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.nb-teacher-student-detail-page__hero-flag img {
    display: block;
    max-width: 148px;
    height: auto;
    border-radius: 14px;
}

.nb-teacher-student-detail-page__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.nb-teacher-student-detail-page__stats article,
.nb-teacher-student-detail-page__secondary-stats > div {
    padding: 1.1rem 1.15rem;
    border: 1px solid rgba(210, 223, 247, 0.95);
    border-radius: 20px;
    background: #fbfdff;
}

.nb-teacher-student-detail-page__stats strong,
.nb-teacher-student-detail-page__secondary-stats strong {
    display: block;
    color: #0d2b66;
    font-size: 1.8rem;
    line-height: 1.05;
}

.nb-teacher-student-detail-page__stats span,
.nb-teacher-student-detail-page__secondary-stats span {
    display: block;
    margin-top: 0.35rem;
    color: #5a7197;
    font-weight: 600;
}

.nb-teacher-student-detail-page__stats--green article {
    border-top: 4px solid #1e9f41;
}

.nb-teacher-student-detail-page__stats--gold article {
    border-top: 4px solid #f0af08;
}

.nb-teacher-student-detail-page__secondary-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.nb-teacher-student-detail-page__table-card,
.nb-teacher-student-detail-page__state-grid > article,
.nb-teacher-student-detail-page__card > .nb-register-callout {
    padding: 1.3rem 1.35rem;
    border: 1px solid rgba(210, 223, 247, 0.95);
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 18px 40px rgba(15, 41, 92, 0.07);
}

.nb-teacher-student-detail-page__section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.nb-teacher-student-detail-page__section-head span {
    color: #61779c;
    font-weight: 600;
}

.nb-teacher-student-detail-page__table {
    margin-bottom: 0;
}

.nb-teacher-student-detail-page__table thead th {
    color: #133674;
    background: #f5f9ff;
    white-space: nowrap;
}

.nb-teacher-student-detail-page__table tbody td {
    vertical-align: middle;
}

.nb-teacher-student-detail-page__state-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.nb-teacher-student-detail-page__facts-list {
    display: grid;
    gap: 0.85rem;
    margin: 0;
}

.nb-teacher-student-detail-page__facts-list div {
    display: grid;
    gap: 0.2rem;
}

.nb-teacher-student-detail-page__facts-list dt {
    color: #5d7399;
    font-weight: 700;
}

.nb-teacher-student-detail-page__facts-list dd {
    margin: 0;
    color: #102f68;
    font-size: 1.05rem;
}

.nb-teacher-student-detail-page__state-list {
    margin: 0;
    padding-left: 1.2rem;
    color: #3e5579;
}

.nb-teacher-student-detail-page__state-list li + li {
    margin-top: 0.45rem;
}

/* Teacher Student Profile - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
    .nb-teacher-student-profile-page__card,
    .nb-teacher-student-detail-page__card {
        padding: 2rem 1.7rem 2.1rem;
    }

    .nb-teacher-student-profile-page__hero,
    .nb-teacher-student-detail-page__hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .nb-teacher-student-profile-page__hero-actions {
        justify-content: flex-start;
    }

    .nb-teacher-student-profile-page__stats-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .nb-teacher-student-profile-page__stat-card:nth-child(4) {
        border-left: 0;
    }

    .nb-teacher-student-profile-page__content-grid,
    .nb-teacher-student-profile-page__cards-grid,
    .nb-teacher-student-detail-page__stats,
    .nb-teacher-student-detail-page__state-grid {
        grid-template-columns: 1fr 1fr;
    }

    .nb-teacher-student-profile-page__content-grid {
        grid-template-columns: 1fr;
    }

    .nb-teacher-student-detail-page__secondary-stats {
        grid-template-columns: 1fr 1fr;
    }
}

/* Teacher Student Profile - Mobile */
@media (max-width: 767.98px) {
    .nb-teacher-student-profile-page__card,
    .nb-teacher-student-detail-page__card {
        padding: 1.45rem 1.1rem 1.6rem;
        border-radius: 24px;
    }

    .nb-teacher-student-profile-page__hero,
    .nb-teacher-student-detail-page__hero {
        flex-direction: column;
        align-items: stretch;
    }

    .nb-teacher-student-profile-page__hero-actions {
        justify-content: stretch;
    }

    .nb-teacher-student-profile-page__hero-actions .nb-button {
        width: 100%;
        justify-content: center;
    }

    .nb-teacher-student-profile-page__stats-strip,
    .nb-teacher-student-profile-page__cards-grid,
    .nb-teacher-student-detail-page__stats,
    .nb-teacher-student-detail-page__secondary-stats,
    .nb-teacher-student-detail-page__state-grid {
        grid-template-columns: 1fr;
    }

    .nb-teacher-student-profile-page__stat-card + .nb-teacher-student-profile-page__stat-card {
        border-left: 0;
        border-top: 1px solid rgba(220, 228, 244, 0.95);
    }

    .nb-teacher-student-profile-page__content-grid {
        grid-template-columns: 1fr;
    }

    .nb-teacher-student-profile-page__activity-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .nb-teacher-student-profile-page__activity-time {
        grid-column: 2;
        justify-items: start;
        text-align: left;
    }

    .nb-teacher-student-detail-page__section-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .nb-teacher-student-detail-page__hero-flag {
        max-width: 180px;
    }
}

/* Student Dashboard V2 - Desktop */
.nb-student-dashboard-v2 {
    padding: 1.35rem 0 2.4rem;
}

.nb-student-dashboard-v2__shell {
    display: grid;
    gap: 1.5rem;
}

.nb-student-dashboard-v2__notice {
    padding: 1.1rem 1.2rem;
    border: 1px solid rgba(203, 220, 245, 0.95);
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 18px 42px rgba(15, 41, 92, 0.08);
}

.nb-student-dashboard-v2__notice h2 {
    margin-bottom: 0.35rem;
    font-size: 1.28rem;
}

.nb-student-dashboard-v2__notice p {
    color: #476086;
    line-height: 1.55;
}

.nb-student-dashboard-v2__notice--success {
    border-color: rgba(120, 204, 148, 0.38);
    background: linear-gradient(180deg, #f8fffa 0%, #f2fcf5 100%);
}

.nb-student-dashboard-v2__notice--warning {
    border-color: rgba(255, 187, 122, 0.42);
    background: linear-gradient(180deg, #fffaf5 0%, #fff3e7 100%);
}

.nb-student-dashboard-v2__shell--disabled {
    opacity: 0.9;
}

.nb-student-dashboard-v2__shell--disabled .nb-student-dashboard-v2__hero-card,
.nb-student-dashboard-v2__shell--disabled .nb-student-dashboard-v2__side-card,
.nb-student-dashboard-v2__shell--disabled .nb-student-dashboard-v2__panel,
.nb-student-dashboard-v2__shell--disabled .nb-student-dashboard-v2__activity-card {
    filter: saturate(0.82);
}

.nb-student-dashboard-v2__hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(320px, 0.82fr);
    gap: 1rem;
    align-items: start;
}

.nb-student-dashboard-v2__hero-card {
    position: relative;
    display: grid;
    gap: 1.65rem;
    min-height: 0;
    padding: 1.45rem 1.5rem 1.25rem;
    border-radius: 30px;
    overflow: hidden;
    background-color: #0e3fbb;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    box-shadow: 0 28px 58px rgba(10, 38, 99, 0.22);
    color: #ffffff;
}

.nb-student-dashboard-v2__hero-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.15), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(8, 20, 64, 0.18) 100%);
    pointer-events: none;
}

.nb-student-dashboard-v2__hero-top,
.nb-student-dashboard-v2__hero-stats {
    position: relative;
    z-index: 1;
}

.nb-student-dashboard-v2__hero-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(210px, 0.42fr);
    gap: 1.3rem;
    align-items: start;
}

.nb-student-dashboard-v2__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 5.5rem;
    height: 5.5rem;
    border: 4px solid rgba(255, 255, 255, 0.88);
    border-radius: 999px;
    color: #ffffff;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    box-shadow: 0 14px 30px rgba(5, 16, 52, 0.3);
}

.nb-student-dashboard-v2__avatar--blue {
    background: linear-gradient(135deg, rgba(84, 164, 255, 0.86) 0%, rgba(19, 83, 212, 0.96) 100%);
}

.nb-student-dashboard-v2__avatar--green {
    background: linear-gradient(135deg, rgba(75, 214, 156, 0.86) 0%, rgba(22, 143, 98, 0.96) 100%);
}

.nb-student-dashboard-v2__avatar--orange {
    background: linear-gradient(135deg, rgba(255, 178, 86, 0.9) 0%, rgba(240, 105, 12, 0.96) 100%);
}

.nb-student-dashboard-v2__avatar--violet {
    background: linear-gradient(135deg, rgba(158, 123, 255, 0.9) 0%, rgba(90, 52, 210, 0.97) 100%);
}

.nb-student-dashboard-v2__avatar--gold {
    background: linear-gradient(135deg, rgba(255, 221, 106, 0.9) 0%, rgba(221, 160, 18, 0.97) 100%);
}

.nb-student-dashboard-v2__hero-copy {
    max-width: 34rem;
}

.nb-student-dashboard-v2__hero-copy h1 {
    margin-bottom: 0.5rem;
    color: #ffffff;
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.02;
}

.nb-student-dashboard-v2__hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1rem;
    margin-bottom: 0.7rem;
    color: rgba(236, 242, 255, 0.92);
    font-size: 1.02rem;
    font-weight: 700;
}

.nb-student-dashboard-v2__hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.nb-student-dashboard-v2__hero-meta span + span::before {
    content: "";
    width: 0.32rem;
    height: 0.32rem;
    margin-right: 0.1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
}

.nb-student-dashboard-v2__hero-copy p {
    max-width: 28rem;
    margin-bottom: 0;
    color: rgba(237, 243, 255, 0.95);
    font-size: 1.08rem;
    line-height: 1.55;
}

.nb-student-dashboard-v2__hero-rank-card {
    display: grid;
    gap: 0.28rem;
    justify-items: start;
    align-content: start;
    min-height: 100%;
    padding: 1rem 1rem 0.95rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 24px;
    background: rgba(10, 29, 84, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
}

.nb-student-dashboard-v2__hero-rank-eyebrow {
    color: rgba(231, 239, 255, 0.84);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nb-student-dashboard-v2__hero-rank-card strong {
    color: #ffffff;
    font-size: 3.1rem;
    line-height: 0.95;
}

.nb-student-dashboard-v2__hero-rank-meta {
    color: rgba(245, 248, 255, 0.96);
    font-size: 1rem;
    font-weight: 700;
}

.nb-student-dashboard-v2__hero-rank-card small {
    color: rgba(220, 232, 255, 0.88);
    line-height: 1.4;
}

.nb-student-dashboard-v2__hero-rank-button {
    margin-top: 0.35rem;
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.nb-student-dashboard-v2__hero-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-radius: 24px;
    background: rgba(6, 18, 60, 0.18);
    backdrop-filter: blur(3px);
}

.nb-student-dashboard-v2__hero-stat {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 1rem 1rem 0.95rem;
}

.nb-student-dashboard-v2__hero-stat + .nb-student-dashboard-v2__hero-stat {
    border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.nb-student-dashboard-v2__hero-stat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 16px;
    font-size: 1.2rem;
}

.nb-student-dashboard-v2__hero-stat-icon--green {
    color: #89ffb3;
    background: rgba(52, 204, 108, 0.15);
}

.nb-student-dashboard-v2__hero-stat-icon--violet {
    color: #d9c7ff;
    background: rgba(127, 86, 255, 0.18);
}

.nb-student-dashboard-v2__hero-stat-icon--gold {
    color: #ffe38f;
    background: rgba(255, 196, 58, 0.18);
}

.nb-student-dashboard-v2__hero-stat-icon--blue {
    color: #b5d7ff;
    background: rgba(54, 123, 255, 0.18);
}

.nb-student-dashboard-v2__hero-stat-label {
    display: block;
    margin-bottom: 0.18rem;
    color: rgba(220, 232, 255, 0.84);
    font-size: 0.9rem;
    font-weight: 700;
}

.nb-student-dashboard-v2__hero-stat strong {
    display: block;
    color: #ffffff;
    font-size: 1.95rem;
    line-height: 1;
}

.nb-student-dashboard-v2__hero-stat small {
    display: block;
    margin-top: 0.28rem;
    color: rgba(223, 234, 255, 0.88);
    font-size: 0.9rem;
    line-height: 1.4;
}

.nb-student-dashboard-v2__side-stack,
.nb-student-dashboard-v2__main-column,
.nb-student-dashboard-v2__activity-rail {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.nb-student-dashboard-v2__side-card,
.nb-student-dashboard-v2__panel {
    padding: 1.35rem 1.35rem 1.3rem;
    border: 1px solid rgba(214, 225, 246, 0.96);
    border-radius: 26px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 20px 44px rgba(15, 41, 92, 0.09);
}

.nb-student-dashboard-v2__side-card--quiz {
    border-top: 4px solid #7c3aed;
}

.nb-student-dashboard-v2__side-card--team {
    border-top: 4px solid #245ce2;
}

.nb-student-dashboard-v2__section-head,
.nb-student-dashboard-v2__panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
}

.nb-student-dashboard-v2__section-head h2,
.nb-student-dashboard-v2__panel-head h2 {
    margin-bottom: 0.2rem;
    font-size: 1.75rem;
}

.nb-student-dashboard-v2__section-head p,
.nb-student-dashboard-v2__panel-head p {
    color: #51688d;
    line-height: 1.5;
}

.nb-student-dashboard-v2__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    background: rgba(110, 79, 230, 0.12);
    color: #6940d1;
    font-size: 0.88rem;
    font-weight: 700;
    text-align: center;
}

.nb-student-dashboard-v2__side-copy {
    margin: 0.95rem 0 1rem;
    color: #30496f;
    font-size: 1.02rem;
    line-height: 1.65;
}

.nb-student-dashboard-v2__status-card {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    background: linear-gradient(180deg, #f6f1ff 0%, #f8f5ff 100%);
    color: #4b5f84;
}

.nb-student-dashboard-v2__status-card strong {
    display: block;
    margin-bottom: 0.2rem;
    color: #6231c8;
    font-size: 1rem;
}

.nb-student-dashboard-v2__status-card--muted {
    background: linear-gradient(180deg, #f6f8fc 0%, #f5f7fb 100%);
}

.nb-student-dashboard-v2__status-card--muted strong {
    color: #476082;
}

.nb-student-dashboard-v2__primary-button,
.nb-student-dashboard-v2__activity-button {
    width: 100%;
    justify-content: center;
}

.nb-student-dashboard-v2__primary-button {
    min-height: 3.15rem;
    border-radius: 15px;
    background: linear-gradient(135deg, #7a3ff0 0%, #5122ca 100%);
    box-shadow: 0 16px 28px rgba(81, 34, 202, 0.2);
}

.nb-student-dashboard-v2__side-footer {
    margin-top: 0.8rem;
    color: #667b9f;
    font-size: 0.92rem;
    text-align: center;
}

.nb-student-dashboard-v2__team-manage-button {
    flex-shrink: 0;
}

.nb-student-dashboard-v2__team-summary {
    display: grid;
    gap: 0.95rem;
    margin-bottom: 1rem;
}

.nb-student-dashboard-v2__team-identity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
}

.nb-student-dashboard-v2__team-logo {
    display: block;
    width: 4.25rem;
    height: 4.25rem;
    object-fit: contain;
}

.nb-student-dashboard-v2__team-identity strong {
    display: block;
    color: #102f68;
    font-size: 1.2rem;
}

.nb-student-dashboard-v2__team-identity span,
.nb-student-dashboard-v2__team-identity small {
    display: block;
    color: #5b7298;
}

.nb-student-dashboard-v2__team-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.8rem;
}

.nb-student-dashboard-v2__team-metrics article {
    padding: 0.85rem 0.9rem;
    border-radius: 18px;
    background: #f7faff;
}

.nb-student-dashboard-v2__team-metrics span {
    display: block;
    color: #5d7398;
    font-size: 0.88rem;
    font-weight: 700;
}

.nb-student-dashboard-v2__team-metrics strong {
    display: block;
    margin-top: 0.2rem;
    color: #0d2b66;
    font-size: 1.4rem;
    line-height: 1.05;
}

.nb-student-dashboard-v2__team-helper {
    margin-bottom: 0;
    color: #51688d;
    line-height: 1.55;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__intro {
    padding: 1rem 1rem 0.95rem;
    border: 1px solid rgba(221, 230, 246, 0.96);
    border-radius: 18px;
    background: #fbfdff;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__title {
    margin-bottom: 0.45rem;
    color: #102f68;
    font-size: 1rem;
    font-weight: 800;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__intro p {
    color: #576d91;
    line-height: 1.5;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__intro p:last-child {
    display: none;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected {
    padding: 1rem;
    border: 1px solid rgba(221, 230, 246, 0.96);
    border-radius: 18px;
    background: #f7faff;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected.is-empty {
    display: none;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected-copy h3 {
    margin-bottom: 0.2rem;
    font-size: 1.15rem;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected-label {
    color: #657ca2;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected-copy p {
    margin-bottom: 0.4rem;
    color: #53698d;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected-copy p strong {
    color: #274678;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected-logo-wrap {
    width: 4rem;
    height: 4rem;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 18px;
    background: linear-gradient(135deg, #edf4ff 0%, #dfeaff 100%);
    color: #1f53cf;
    font-size: 1.35rem;
    font-weight: 800;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__selected-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nb-student-dashboard-v2__team-form .nb-college-picker__link {
    padding: 0;
    border: 0;
    background: none;
    color: #245ce2;
    font-weight: 800;
}

.nb-student-dashboard-v2__content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(310px, 0.92fr);
    gap: 1rem;
    align-items: start;
}

.nb-student-dashboard-v2__activity-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.95rem;
}

.nb-student-dashboard-v2__activity-card {
    display: grid;
    gap: 0.9rem;
    min-height: 100%;
    padding: 1.25rem 1.2rem 1.15rem;
    border: 1px solid rgba(220, 229, 246, 0.96);
    border-top-width: 4px;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 18px 40px rgba(15, 41, 92, 0.07);
}

.nb-student-dashboard-v2__activity-card--pink {
    border-top-color: #ff2f75;
}

.nb-student-dashboard-v2__activity-card--orange {
    border-top-color: #ff6b18;
}

.nb-student-dashboard-v2__activity-card--green {
    border-top-color: #1fab4c;
}

.nb-student-dashboard-v2__activity-card--blue {
    border-top-color: #245ce2;
}

.nb-student-dashboard-v2__activity-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.15rem;
    height: 3.15rem;
    border-radius: 18px;
    font-size: 1.3rem;
}

.nb-student-dashboard-v2__activity-icon--pink {
    color: #ff2f75;
    background: rgba(255, 47, 117, 0.1);
}

.nb-student-dashboard-v2__activity-icon--orange {
    color: #ff6b18;
    background: rgba(255, 107, 24, 0.1);
}

.nb-student-dashboard-v2__activity-icon--green {
    color: #1fab4c;
    background: rgba(31, 171, 76, 0.1);
}

.nb-student-dashboard-v2__activity-icon--blue {
    color: #245ce2;
    background: rgba(36, 92, 226, 0.1);
}

.nb-student-dashboard-v2__activity-card h3 {
    margin-bottom: 0;
    font-size: 1.45rem;
}

.nb-student-dashboard-v2__activity-card p {
    margin-bottom: 0;
    color: #445a7d;
    line-height: 1.6;
}

.nb-student-dashboard-v2__activity-status {
    padding: 0.85rem 0.95rem;
    border-radius: 18px;
    background: #f7faff;
    color: #556d93;
}

.nb-student-dashboard-v2__activity-status strong {
    display: block;
    margin-bottom: 0.16rem;
    color: #0d2b66;
    font-size: 1rem;
}

.nb-student-dashboard-v2__activity-button--pink {
    background: linear-gradient(135deg, #ff4a87 0%, #f01863 100%);
}

.nb-student-dashboard-v2__activity-button--orange {
    background: linear-gradient(135deg, #ff7e26 0%, #f05e07 100%);
}

.nb-student-dashboard-v2__activity-button--green {
    background: linear-gradient(135deg, #2fc656 0%, #19963b 100%);
}

.nb-student-dashboard-v2__activity-button--blue {
    background: linear-gradient(135deg, #2d6fff 0%, #174fd3 100%);
}

.nb-student-dashboard-v2__performance-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: 0.15rem;
    border: 1px solid rgba(222, 230, 246, 0.96);
    border-radius: 22px;
    overflow: hidden;
    background: #ffffff;
}

.nb-student-dashboard-v2__performance-card {
    display: grid;
    justify-items: start;
    gap: 0.35rem;
    padding: 1.15rem 1rem 1.1rem;
}

.nb-student-dashboard-v2__performance-card + .nb-student-dashboard-v2__performance-card {
    border-left: 1px solid rgba(229, 235, 247, 0.96);
}

.nb-student-dashboard-v2__performance-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 16px;
    font-size: 1.15rem;
}

.nb-student-dashboard-v2__performance-icon--violet {
    color: #6d39d6;
    background: rgba(109, 57, 214, 0.1);
}

.nb-student-dashboard-v2__performance-icon--silver {
    color: #7f8ca5;
    background: rgba(127, 140, 165, 0.12);
}

.nb-student-dashboard-v2__performance-icon--gold {
    color: #d79809;
    background: rgba(237, 180, 27, 0.12);
}

.nb-student-dashboard-v2__performance-icon--blue {
    color: #1d58dc;
    background: rgba(29, 88, 220, 0.1);
}

.nb-student-dashboard-v2__performance-label {
    color: #5f7498;
    font-size: 0.9rem;
    font-weight: 800;
}

.nb-student-dashboard-v2__performance-card strong {
    color: #0d2b66;
    font-size: 1.6rem;
    line-height: 1.06;
}

.nb-student-dashboard-v2__performance-card small {
    color: #566d91;
    line-height: 1.45;
}

.nb-student-dashboard-v2__progress-panel {
    margin-top: 1rem;
    padding: 1.2rem 1.2rem 1.1rem;
    border: 1px solid rgba(222, 230, 246, 0.96);
    border-radius: 22px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.nb-student-dashboard-v2__progress-panel h3 {
    margin-bottom: 1rem;
    font-size: 1.2rem;
}

.nb-student-dashboard-v2__progress-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
    align-items: center;
    margin-bottom: 0.85rem;
}

.nb-student-dashboard-v2__progress-track::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 0.28rem;
    border-radius: 999px;
    background: linear-gradient(90deg, #2d6fff 0%, #8a8fa9 100%);
    transform: translateY(-50%);
    opacity: 0.22;
}

.nb-student-dashboard-v2__progress-node {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.nb-student-dashboard-v2__progress-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border: 3px solid rgba(185, 198, 224, 0.95);
    border-radius: 999px;
    background: #ffffff;
    color: #8b96b0;
    font-size: 1rem;
    box-shadow: 0 8px 16px rgba(15, 41, 92, 0.08);
}

.nb-student-dashboard-v2__progress-node.is-reached .nb-student-dashboard-v2__progress-dot {
    border-color: rgba(36, 92, 226, 0.24);
    color: #1d57dc;
}

.nb-student-dashboard-v2__progress-node.is-current .nb-student-dashboard-v2__progress-dot {
    transform: scale(1.08);
    border-color: rgba(36, 92, 226, 0.38);
    box-shadow: 0 12px 22px rgba(36, 92, 226, 0.18);
}

.nb-student-dashboard-v2__progress-labels {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.nb-student-dashboard-v2__progress-label {
    text-align: center;
}

.nb-student-dashboard-v2__progress-label strong {
    display: block;
    margin-bottom: 0.18rem;
    color: #183a73;
    font-size: 0.95rem;
}

.nb-student-dashboard-v2__progress-label span {
    color: #667ea3;
    font-size: 0.86rem;
}

.nb-student-dashboard-v2__progress-label.is-current strong {
    color: #1d57dc;
}

.nb-student-dashboard-v2__empty-state {
    padding: 1rem 1.05rem;
    border: 1px dashed rgba(205, 218, 241, 0.95);
    border-radius: 18px;
    color: #5c7398;
    line-height: 1.55;
    background: #fbfdff;
}

.nb-student-dashboard-v2__recent-list {
    display: grid;
    gap: 0.9rem;
}

.nb-student-dashboard-v2__recent-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: start;
}

.nb-student-dashboard-v2__recent-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    font-size: 1.08rem;
}

.nb-student-dashboard-v2__recent-icon--green {
    color: #1fab4c;
    background: rgba(31, 171, 76, 0.1);
}

.nb-student-dashboard-v2__recent-icon--violet {
    color: #6d39d6;
    background: rgba(109, 57, 214, 0.1);
}

.nb-student-dashboard-v2__recent-icon--pink {
    color: #ff2f75;
    background: rgba(255, 47, 117, 0.1);
}

.nb-student-dashboard-v2__recent-icon--orange {
    color: #ff6b18;
    background: rgba(255, 107, 24, 0.1);
}

.nb-student-dashboard-v2__recent-copy strong {
    display: block;
    margin-bottom: 0.2rem;
    color: #102f68;
}

.nb-student-dashboard-v2__recent-copy p {
    margin-bottom: 0;
    color: #546b90;
    line-height: 1.45;
}

.nb-student-dashboard-v2__recent-time {
    display: grid;
    justify-items: end;
    gap: 0.14rem;
    color: #687ea2;
    text-align: right;
    white-space: nowrap;
}

.nb-student-dashboard-v2__signup-code {
    display: grid;
    gap: 0.85rem;
    align-items: start;
}

.nb-student-dashboard-v2__signup-code-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 8rem;
    padding: 0.9rem 1.25rem;
    border-radius: 18px;
    background: linear-gradient(135deg, #f0f5ff 0%, #e7efff 100%);
    color: #123b7a;
    font-size: 1.9rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.nb-student-dashboard-v2__signup-code p {
    color: #53698d;
    line-height: 1.55;
}

.nb-student-dashboard-v2 .nb-dashboard-rankings-host__throbber {
    top: 1.15rem;
    right: 1.2rem;
}

/* Student Dashboard V2 - Tablet */
@media (min-width: 768px) and (max-width: 991.98px) {
    .nb-student-dashboard-v2__hero-grid,
    .nb-student-dashboard-v2__content-grid {
        grid-template-columns: 1fr;
    }

    .nb-student-dashboard-v2__hero-card {
        min-height: auto;
    }

    .nb-student-dashboard-v2__hero-top {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .nb-student-dashboard-v2__hero-rank-card {
        grid-column: 1 / -1;
        max-width: 19rem;
    }

    .nb-student-dashboard-v2__hero-stats,
    .nb-student-dashboard-v2__activity-grid,
    .nb-student-dashboard-v2__performance-grid,
    .nb-student-dashboard-v2__progress-labels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nb-student-dashboard-v2__hero-stat:nth-child(3),
    .nb-student-dashboard-v2__performance-card:nth-child(3),
    .nb-student-dashboard-v2__progress-label:nth-child(3) {
        border-left: 0;
    }

    .nb-student-dashboard-v2__hero-stat {
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .nb-student-dashboard-v2__hero-stat:nth-child(-n+2) {
        border-top: 0;
    }

    .nb-student-dashboard-v2__hero-stat:nth-child(odd),
    .nb-student-dashboard-v2__performance-card:nth-child(odd) {
        border-left: 0;
    }

    .nb-student-dashboard-v2__progress-track {
        gap: 0.4rem;
    }

    .nb-student-dashboard-v2__progress-dot {
        width: 2.4rem;
        height: 2.4rem;
    }
}

/* Student Dashboard V2 - Mobile */
@media (max-width: 767.98px) {
    .nb-student-dashboard-v2 {
        padding-top: 1rem;
    }

    .nb-student-dashboard-v2__hero-grid,
    .nb-student-dashboard-v2__content-grid,
    .nb-student-dashboard-v2__activity-grid,
    .nb-student-dashboard-v2__performance-grid,
    .nb-student-dashboard-v2__progress-labels,
    .nb-student-dashboard-v2__team-metrics {
        grid-template-columns: 1fr;
    }

    .nb-student-dashboard-v2__hero-card,
    .nb-student-dashboard-v2__side-card,
    .nb-student-dashboard-v2__panel {
        padding: 1.15rem 1rem 1.1rem;
        border-radius: 22px;
    }

    .nb-student-dashboard-v2__hero-top {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .nb-student-dashboard-v2__avatar {
        width: 4.8rem;
        height: 4.8rem;
        font-size: 1.7rem;
    }

    .nb-student-dashboard-v2__hero-copy h1 {
        font-size: 2.1rem;
    }

    .nb-student-dashboard-v2__hero-rank-card {
        width: 100%;
    }

    .nb-student-dashboard-v2__hero-stats {
        grid-template-columns: 1fr;
    }

    .nb-student-dashboard-v2__hero-stat + .nb-student-dashboard-v2__hero-stat,
    .nb-student-dashboard-v2__performance-card + .nb-student-dashboard-v2__performance-card {
        border-left: 0;
        border-top: 1px solid rgba(226, 232, 246, 0.95);
    }

    .nb-student-dashboard-v2__section-head,
    .nb-student-dashboard-v2__panel-head,
    .nb-student-dashboard-v2__team-form .nb-college-picker__selected-head {
        flex-direction: column;
        align-items: stretch;
    }

    .nb-student-dashboard-v2__team-manage-button,
    .nb-student-dashboard-v2__primary-button,
    .nb-student-dashboard-v2__team-form .nb-college-picker__selected-head .nb-button {
        width: 100%;
        justify-content: center;
    }

    .nb-student-dashboard-v2__recent-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .nb-student-dashboard-v2__recent-time {
        grid-column: 2;
        justify-items: start;
        text-align: left;
    }

    .nb-student-dashboard-v2__progress-track {
        gap: 0.2rem;
    }

    .nb-student-dashboard-v2__progress-dot {
        width: 2.15rem;
        height: 2.15rem;
        font-size: 0.88rem;
    }

    .nb-student-dashboard-v2__progress-label strong {
        font-size: 0.83rem;
    }

    .nb-student-dashboard-v2__progress-label span {
        font-size: 0.76rem;
    }
}
