:root {
      --nt-purple: #2e0965;
      --nt-purple-dark: #22034f;
      --nt-teal: #19b7b3;
      --nt-yellow: #f6c945;
      --nt-red: #ff0000;
      --nt-white: #ffffff;
      --nt-text: #2e0965;
      --nt-shadow: 0 18px 45px rgba(46, 9, 101, 0.12);
      --nt-radius: 999px;
      --nt-font: "Inter", "Poppins", Arial, sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: var(--nt-font);
      background: #fff;
      color: #21172f;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    .nt-header {
      position: fixed;
      top: 0;
      left: 0;
      z-index: 9999;
      width: 100%;
      padding: 16px 28px;
      background: transparent;
      transition: all 0.3s ease;
    }

    .nt-header.is-scrolled {
      padding-top: 10px;
      padding-bottom: 10px;
      background: transparent;
    }

    .nt-nav-shell {
      max-width: 1288px;
      margin: 0 auto;
      min-height: 72px;
      height: 72px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 18px;
      padding: 0 22px;
      background: rgba(255, 255, 255, 0.18);
      border-radius: 44px;
      box-shadow: none;
      backdrop-filter: blur(3px);
      transition: background 0.25s ease, box-shadow 0.25s ease, backdrop-filter 0.25s ease;
    }

    .nt-header.is-scrolled .nt-nav-shell,
    .nt-nav-shell:has(.nt-menu-link:hover),
    .nt-nav-shell:has(.nt-menu-item:hover),
    .nt-nav-shell:has(.nt-btn:hover) {
      background: rgba(255, 255, 255, 0.96);
      box-shadow: 0 16px 45px rgba(47, 9, 104, 0.10);
      backdrop-filter: blur(16px);
    }

    .nt-logo {
      display: inline-flex;
      align-items: center;
      flex-shrink: 0;
      min-width: 128px;
    }

    .nt-logo img {
      display: block;
      width: 126px;
      max-width: 100%;
      height: auto;
    }

    .nt-desktop-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 13px;
      flex: 1;
      list-style: none;
      margin: 0;
      padding: 0;
      transform: translateY(3px);
    }

    .nt-menu-item {
      position: relative;
      list-style: none;
    }

    .nt-menu-link {
      position: relative;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      min-height: 42px;
      padding: 8px 18px;
      border-radius: var(--nt-radius);
      color: var(--nt-text);
      font-size: 15.5px;
      font-weight: 600;
      line-height: 1;
      white-space: nowrap;
      transition: color 0.22s ease, background 0.22s ease, transform 0.22s ease;
    }

    .nt-menu-link:hover,
    .nt-menu-item:focus-within > .nt-menu-link {
      color: var(--nt-teal);
      transform: translateY(-1px);
    }

    .nt-menu-item.active > .nt-menu-link {
      color: var(--nt-text);
    }

    .nt-menu-item.active:hover > .nt-menu-link,
    .nt-menu-item.active:focus-within > .nt-menu-link,
    .nt-menu-item.active > .nt-menu-link:hover {
      color: var(--nt-teal);
    }


    .nt-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 28px;
      padding: 0;
      margin-left: 8px;
      border-radius: 999px;
      background: #FFC3B9;
      color: #FF2D1E;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: 0.04em;
      line-height: 1;
      transform: none;
      vertical-align: middle;
      align-self: center;
      flex: 0 0 40px;
    }

    .nt-dropdown {
      position: absolute;
      top: 58%;
      left: 14px;
      min-width: 230px;
      padding: 8px;
      margin: 0;
      list-style: none;
      border-radius: 8px;
      background: #fff;
      box-shadow: 0 22px 60px rgba(31, 7, 68, 0.18);
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    }

    .nt-menu-item:hover > .nt-dropdown,
    .nt-menu-item:focus-within > .nt-dropdown {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }

    .nt-subjects-item > .nt-dropdown {
      width: 235px;
      left: 14px;
      top: 98%;
    }

    .nt-special-item > .nt-dropdown {
      width: 225px;
      left: 14px;
      top: 96%;
      padding-top: 14px;
      padding-bottom: 14px;
    }

    .nt-special-item > .nt-dropdown a {
      padding-top: 14px;
      padding-bottom: 14px;
    }

    .nt-about-item > .nt-dropdown {
      width: 215px;
      left: 14px;
      top: 96%;
      padding-top: 14px;
      padding-bottom: 14px;
    }

    .nt-about-item > .nt-dropdown a {
      padding-top: 15px;
      padding-bottom: 15px;
    }

    .nt-dropdown a {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0;
      padding: 10px 12px;
      border-radius: 4px;
      color: #5f5f5f;
      font-size: 14.5px;
      font-weight: 400;
      transition: color 0.18s ease, font-weight 0.18s ease, opacity 0.18s ease;
    }

    .nt-dropdown a:hover {
      color: #050505;
      background: transparent;
      font-weight: 500;
      opacity: 1;
      transform: none;
    }

    .nt-dropdown .nt-badge {
      width: 40px;
      height: 28px;
      flex: 0 0 40px;
      margin-left: 0;
      padding: 0;
      font-size: 10px;
      background: #FFC3B9;
      color: #FF2D1E;
    }

    .nt-badge-dropdown {
      margin-left: 3px !important;
    }

    .nt-see-offers-link {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 3px !important;
      width: max-content !important;
      max-width: max-content !important;
    }

    .nt-see-offers-text {
      display: inline-flex;
      width: auto;
      flex: 0 0 auto;
      white-space: nowrap;
    }

    .nt-see-offers-link .nt-badge-dropdown {
      margin-left: 0 !important;
      flex: 0 0 40px;
    }


    .nt-actions {
      display: flex;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
      margin-left: 34px;
    }

    .nt-btn {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: auto;
      min-width: 0;
      min-height: 42px;
      padding: 0 18px;
      border-radius: var(--nt-radius);
      overflow: hidden;
      color: #fff;
      background: var(--nt-teal);
      font-size: 14.5px;
      font-weight: 800;
      line-height: 1;
      transition: transform 0.22s ease, box-shadow 0.22s ease;
      white-space: nowrap;
      box-shadow: none;
    }

    .nt-btn:hover {
      transform: translateY(-2px);
      background: var(--nt-teal);
      color: #fff;
      box-shadow: 0 12px 25px rgba(25, 183, 179, 0.24);
    }

    .nt-btn-inner {
      position: relative;
      display: inline-grid;
      grid-template-areas: "stack";
      align-items: center;
      justify-items: center;
      width: max-content;
      height: 42px;
      overflow: hidden;
    }

    .nt-btn-line {
      grid-area: stack;
      height: 42px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      width: max-content;
      color: #fff;
      transition: transform 0.28s cubic-bezier(.2,.8,.2,1);
      white-space: nowrap;
    }

    .nt-btn-line.under {
      transform: translateY(42px);
    }

    .nt-btn:hover .nt-btn-line.top {
      transform: translateY(-42px);
    }

    .nt-btn:hover .nt-btn-line.under {
      transform: translateY(0);
    }

    .nt-lock {
      position: relative;
      display: inline-block;
      width: 11px;
      height: 8px;
      margin-left: 2px;
      border-radius: 2px;
      background: #fff;
      color: #fff;
      flex: 0 0 auto;
      transform: translateY(1px);
      box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.06);
    }

    .nt-lock::before {
      content: "";
      position: absolute;
      left: 50%;
      top: -6px;
      width: 8px;
      height: 7px;
      border: 2px solid #fff;
      border-bottom: 0;
      border-radius: 4px 4px 0 0;
      transform: translateX(-50%);
      box-sizing: border-box;
    }

    .nt-lock::after {
      content: none;
    }

    .nt-login,
    .nt-signup {
      color: #fff;
      background: var(--nt-teal);
      box-shadow: none;
    }

    .nt-mobile-toggle {
      display: none;
      width: 46px;
      height: 46px;
      border: 0;
      border-radius: 999px;
      background: var(--nt-purple);
      color: #fff;
      cursor: pointer;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 5px;
      flex-shrink: 0;
    }

    .nt-mobile-toggle span {
      width: 20px;
      height: 2px;
      background: currentColor;
      border-radius: 3px;
      transition: transform 0.22s ease, opacity 0.22s ease;
    }

    .nt-mobile-toggle[aria-expanded="true"] span:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

    .nt-mobile-toggle[aria-expanded="true"] span:nth-child(2) {
      opacity: 0;
    }

    .nt-mobile-toggle[aria-expanded="true"] span:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

    .nt-mobile-panel {
      display: none;
    }

    .nt-hero-placeholder {
      min-height: 620px;
      padding: 170px 24px 80px;
      background:
        linear-gradient(rgba(46, 9, 101, 0.10), rgba(46, 9, 101, 0.10)),
        radial-gradient(circle at 14% 22%, rgba(246, 201, 69, 0.26), transparent 30%),
        radial-gradient(circle at 86% 18%, rgba(25, 183, 179, 0.26), transparent 32%),
        linear-gradient(135deg, #e9f3e4 0%, #f8f0d9 45%, #dfead8 100%);
      text-align: center;
    }

    .nt-hero-placeholder h1 {
      max-width: 900px;
      margin: 0 auto 18px;
      color: var(--nt-purple);
      font-size: clamp(38px, 6vw, 76px);
      line-height: 0.95;
      letter-spacing: -0.05em;
    }

    .nt-hero-placeholder p {
      max-width: 680px;
      margin: 0 auto;
      color: #564a67;
      font-size: 19px;
      line-height: 1.65;
    }

    @media (max-width: 1180px) {
      .nt-actions {
        margin-left: 24px;
      }

      .nt-desktop-nav {
        gap: 6px;
      }

      .nt-menu-link {
        font-size: 17.6px;
        font-weight: 300;
        padding-left: 10px;
        padding-right: 10px;
      }

      .nt-subjects-item > .nt-dropdown {
        width: 225px;
      }

      .nt-special-item > .nt-dropdown {
        width: 215px;
      }

      .nt-special-item > .nt-dropdown a {
        padding-top: 13px;
        padding-bottom: 13px;
      }

      .nt-about-item > .nt-dropdown {
        width: 205px;
      }

      .nt-about-item > .nt-dropdown a {
        padding-top: 14px;
        padding-bottom: 14px;
      }

      .nt-nav-shell {
        gap: 16px;
        padding-left: 18px;
        padding-right: 18px;
      }

      .nt-logo {
        min-width: 150px;
      }

      .nt-logo img {
        width: 116px;
      }

      .nt-menu-link {
        font-size: 14px;
        padding-left: 9px;
        padding-right: 9px;
      }

      .nt-btn {
        padding-left: 14px;
        padding-right: 14px;
      }
    }

    @media (max-width: 980px) {
      .nt-header {
        padding: 12px 14px;
      }

      .nt-nav-shell {
        min-height: 66px;
        border-radius: 34px;
      }

      .nt-desktop-nav,
      .nt-actions {
        display: none;
      }

      .nt-mobile-toggle {
        display: inline-flex;
      }

      .nt-logo {
        min-width: auto;
      }

      .nt-logo img {
        width: 116px;
      }

      .nt-mobile-panel {
        display: block;
        max-width: 1280px;
        margin: 10px auto 0;
        max-height: 0;
        overflow: hidden;
        border-radius: 28px;
        background: #fff;
        box-shadow: var(--nt-shadow);
        transition: max-height 0.32s ease;
      }

      .nt-mobile-panel.open {
        max-height: 80vh;
        overflow-y: auto;
      }

      .nt-mobile-menu {
        list-style: none;
        padding: 14px;
        margin: 0;
      }

      .nt-mobile-menu li {
        list-style: none;
      }

      .nt-mobile-menu a,
      .nt-mobile-subbutton {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 14px 14px;
        border: 0;
        border-radius: 14px;
        background: transparent;
        color: var(--nt-purple);
        font: 700 15px/1.2 var(--nt-font);
        text-align: left;
        cursor: pointer;
      }

      .nt-mobile-menu a:hover,
      .nt-mobile-subbutton:hover {
        color: #050505;
        background: transparent;
      }

      .nt-mobile-children {
        display: none;
        padding: 3px 0 9px 15px;
        margin: 0;
        list-style: none;
      }

      .nt-mobile-children.open {
        display: block;
      }

      .nt-mobile-children a {
        color: #5f5f5f;
        font-weight: 400;
        font-size: 14px;
        padding: 11px 12px;
      }

      .nt-mobile-children a:hover {
        color: #050505;
        font-weight: 500;
      }

      .nt-mobile-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding: 8px 14px 16px;
      }

      .nt-mobile-actions .nt-btn {
        min-height: 46px;
      }

      .nt-mobile-actions .nt-btn-inner,
      .nt-mobile-actions .nt-btn-line {
        height: 46px;
      }

      .nt-mobile-actions .nt-btn-line.under {
        transform: translateY(46px);
      }

      .nt-mobile-actions .nt-btn:hover .nt-btn-line.top {
        transform: translateY(-46px);
      }

      .nt-mobile-actions .nt-btn:hover .nt-btn-line.under {
        transform: translateY(0);
      }

      .nt-mobile-actions .nt-btn-stack,
      .nt-mobile-actions .nt-btn-line {
        height: 46px;
      }

      .nt-mobile-actions .nt-btn:hover .nt-btn-stack {
        transform: translateY(-46px);
      }
    }

    @media (max-width: 520px) {
      .nt-logo img {
        width: 116px;
      }

      .nt-mobile-actions {
        grid-template-columns: 1fr;
      }

      .nt-nav-shell {
        padding-left: 14px;
        padding-right: 14px;
      }
    }
  
    /* Zoho SalesIQ real widget helper */
    .zsiq_theme1,
    #zsiq_float,
    #zsiq_chat_wrap {
      z-index: 2247483647 !important;
    }

    .zsiq_theme1[position="right-bottom"] {
      right: 28px !important;
      bottom: 28px !important;
    }

    @media (max-width: 520px) {
      .zsiq_theme1[position="right-bottom"] {
        right: 18px !important;
        bottom: 18px !important;
      }
    }

/* V49 scroll test pages */
.nt-header {
  position: fixed;
  top: 0;
  left: 0;
}

.nt-scroll-test-main {
  width: 100%;
}

.nt-test-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 150px 24px 90px;
  text-align: center;
}

.nt-test-page-one {
  background:
    radial-gradient(circle at 16% 20%, rgba(33, 173, 168, 0.22), transparent 32%),
    radial-gradient(circle at 84% 18%, rgba(61, 25, 91, 0.16), transparent 28%),
    linear-gradient(135deg, #eef7f5 0%, #fff6ed 48%, #eef1ff 100%);
}

.nt-test-page-two {
  background:
    radial-gradient(circle at 20% 25%, rgba(255, 195, 185, 0.32), transparent 34%),
    linear-gradient(135deg, #fffdf8 0%, #edf8f7 100%);
}

.nt-test-page-three {
  background:
    radial-gradient(circle at 80% 20%, rgba(33, 173, 168, 0.20), transparent 30%),
    linear-gradient(135deg, #f7f3ff 0%, #ffffff 100%);
}

.nt-test-page-four {
  background:
    radial-gradient(circle at 18% 18%, rgba(61, 25, 91, 0.14), transparent 32%),
    linear-gradient(135deg, #eef8f7 0%, #fff9ef 100%);
}

.nt-test-inner {
  max-width: 820px;
}

.nt-eyebrow {
  margin: 0 0 14px;
  color: #21ada8;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.nt-test-inner h1,
.nt-test-inner h2 {
  margin: 0 0 18px;
  color: #3d195b;
  font-size: clamp(42px, 6vw, 78px);
  line-height: 0.96;
  letter-spacing: -0.055em;
  font-weight: 700;
}

.nt-test-inner p:not(.nt-eyebrow) {
  max-width: 640px;
  margin: 0 auto;
  color: #605e77;
  font-size: 19px;
  line-height: 1.65;
}

/* V49 exact scroll state:
   Top = original transparent nav.
   Scrolled = fixed white nav + centre nav text soft/low-fill black.
*/
.nt-header.is-scrolled .nt-nav-shell {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 45px rgba(47, 9, 104, 0.10);
  backdrop-filter: blur(16px);
}

.nt-header.is-scrolled .nt-desktop-nav > .nt-menu-item > .nt-menu-link {
  color: #000000;
}

.nt-header.is-scrolled .nt-desktop-nav:hover > .nt-menu-item > .nt-menu-link {
  color: rgba(0, 0, 0, 0.48);
}

.nt-header.is-scrolled .nt-desktop-nav > .nt-menu-item:hover > .nt-menu-link,
.nt-header.is-scrolled .nt-desktop-nav > .nt-menu-item:focus-within > .nt-menu-link {
  color: #000000;
}

.nt-header.is-scrolled .nt-desktop-nav .nt-badge {
  color: #FF2D1E;
}

.nt-header:not(.is-scrolled) .nt-nav-shell {
  background: rgba(255, 255, 255, 0.18);
  box-shadow: none;
  backdrop-filter: blur(3px);
}


/* V51 footer preview based on inspected NaijaTutors footer content */
.nt-footer {
  background: #202A33;
  color: #ffffff;
  padding: 84px 28px 28px;
}

.nt-footer-inner {
  max-width: 1288px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1.1fr 1.55fr;
  gap: 44px;
  align-items: start;
}

.nt-footer h6 {
  margin: 0 0 22px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.nt-footer h4 {
  margin: 0 0 12px;
  color: #ffffff;
  font-size: clamp(26px, 2.7vw, 39px);
  line-height: 1.06;
  letter-spacing: -0.04em;
  font-weight: 700;
}

.nt-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 11px;
}

.nt-footer a {
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: color 0.18s ease, opacity 0.18s ease, transform 0.18s ease;
}

.nt-footer a:hover {
  color: #ffffff;
}

.nt-footer li a {
  display: inline-flex;
  font-size: 14.5px;
  line-height: 1.35;
}

.nt-footer li a:hover {
  transform: translateX(3px);
}

.nt-footer-mini {
  margin-bottom: 24px;
}

.nt-footer-mini span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nt-footer-mini p,
.nt-footer-newsletter p {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 15px;
  line-height: 1.6;
}

.nt-footer-newsletter iframe {
  width: 100%;
  height: 200px;
  margin-top: 18px;
  border: 0;
  border-radius: 18px;
  background: #ffffff;
}

.nt-footer-bottom {
  max-width: 1288px;
  margin: 64px auto 0;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}

.nt-footer-brand {
  display: flex;
  align-items: center;
  gap: 24px;
}

.nt-footer-brand img {
  width: 176px;
  height: auto;
  display: block;
}

.nt-footer-brand p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13.5px;
}

.nt-footer-socials {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nt-footer-socials a {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.nt-footer-socials a:hover {
  background: #21ada8;
  transform: translateY(-2px);
}

@media (max-width: 1020px) {
  .nt-footer-inner {
    grid-template-columns: 1fr 1fr;
  }

  .nt-footer-bottom,
  .nt-footer-brand {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .nt-footer {
    padding: 64px 20px 24px;
  }

  .nt-footer-inner {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .nt-footer-brand img {
    width: 150px;
  }
}


/* V53 footer newsletter card and real social icon look */
.nt-footer {
  background: #202A33;
}

.nt-footer-newsletter > h4,
.nt-footer-newsletter > p {
  display: none;
}

.nt-newsletter-card {
  width: min(100%, 560px);
  min-height: 560px;
  margin: 0;
  padding: 54px 54px 50px;
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 28px;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.nt-newsletter-card h4 {
  margin: 0 0 58px;
  color: #ffffff;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.nt-newsletter-card p {
  margin: 0 0 106px;
  color: rgba(180, 190, 202, 0.72);
  font-size: 20px;
  line-height: 1.4;
  font-weight: 400;
}

.nt-newsletter-input {
  width: 100%;
  max-width: 396px;
  height: 52px;
  margin: 0 0 38px;
  padding: 0 18px;
  border-radius: 999px;
  background: #ffffff;
  display: flex;
  align-items: center;
  gap: 8px;
}

.nt-newsletter-input input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #202A33;
  font: 400 18px/1 var(--nt-font);
}

.nt-newsletter-input input::placeholder {
  color: #9AA4B2;
}

.nt-mail-icon {
  width: 22px;
  height: 22px;
  display: inline-flex;
  color: #9AA4B2;
  flex: 0 0 auto;
}

.nt-mail-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.nt-newsletter-card button {
  width: 100%;
  max-width: 396px;
  height: 52px;
  border: 0;
  border-radius: 8px;
  background: #21ADA8;
  color: #ffffff;
  font: 700 17px/1 var(--nt-font);
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
}

.nt-newsletter-card button:hover {
  background: #1C9D98;
  transform: translateY(-2px);
}

.nt-footer-socials a {
  font-size: 0;
}

.nt-footer-socials a svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  display: block;
}

.nt-footer-socials a[aria-label="LinkedIn"] svg {
  width: 17px;
  height: 17px;
}

.nt-footer-socials a[aria-label="YouTube"] svg {
  width: 20px;
  height: 20px;
}

@media (max-width: 1020px) {
  .nt-newsletter-card {
    width: 100%;
    max-width: 560px;
  }
}

@media (max-width: 640px) {
  .nt-newsletter-card {
    min-height: 470px;
    padding: 38px 22px;
    border-radius: 22px;
  }

  .nt-newsletter-card h4 {
    margin-bottom: 36px;
    font-size: 19px;
  }

  .nt-newsletter-card p {
    margin-bottom: 66px;
    font-size: 16px;
  }

  .nt-newsletter-input,
  .nt-newsletter-card button {
    max-width: 100%;
  }
}


/* V55 fix: at the very top, hovering nav text also turns the navbar white */
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-link:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-item:focus-within) {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 45px rgba(47, 9, 104, 0.10);
  backdrop-filter: blur(16px);
}


/* V56 fix: at the very top, hovering the logo also turns the navbar white */
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:focus-visible) {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 45px rgba(47, 9, 104, 0.10);
  backdrop-filter: blur(16px);
}


/* V57 fix: while hovering dropdown items, keep the navbar white until leaving the dropdown */
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:hover .nt-dropdown),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-dropdown:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:focus-within .nt-dropdown) {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 16px 45px rgba(47, 9, 104, 0.10);
  backdrop-filter: blur(16px);
}


/* V58 fix: keep dropdown parent text green while its dropdown is open/hovered */
.nt-header:not(.is-scrolled) .nt-menu-item:hover > .nt-menu-link,
.nt-header:not(.is-scrolled) .nt-menu-item:focus-within > .nt-menu-link {
  color: var(--nt-teal);
}

.nt-header:not(.is-scrolled) .nt-subjects-item:hover > .nt-menu-link,
.nt-header:not(.is-scrolled) .nt-subjects-item:focus-within > .nt-menu-link,
.nt-header:not(.is-scrolled) .nt-about-item:hover > .nt-menu-link,
.nt-header:not(.is-scrolled) .nt-about-item:focus-within > .nt-menu-link,
.nt-header:not(.is-scrolled) .nt-special-item:hover > .nt-menu-link,
.nt-header:not(.is-scrolled) .nt-special-item:focus-within > .nt-menu-link {
  color: var(--nt-teal);
}


/* V59 fix: initial top navbar is glass transparent, not plain transparent */
.nt-header:not(.is-scrolled) .nt-nav-shell {
  background: rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(14px) saturate(1.25);
  -webkit-backdrop-filter: blur(14px) saturate(1.25);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 14px 38px rgba(47, 9, 104, 0.06);
}

/* Keep the brighter white state when logo/nav/dropdown is hovered at the top */
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:focus-visible),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-link:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-item:focus-within),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:hover .nt-dropdown),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-dropdown:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:focus-within .nt-dropdown) {
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-color: rgba(255, 255, 255, 0.48);
  box-shadow: 0 16px 45px rgba(47, 9, 104, 0.10);
}


/* V60 fix: initial navbar is light ash transparent glass */
.nt-header:not(.is-scrolled) .nt-nav-shell {
  background: rgba(235, 237, 240, 0.34);
  backdrop-filter: blur(12px) saturate(1.12);
  -webkit-backdrop-filter: blur(12px) saturate(1.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  box-shadow: 0 12px 34px rgba(32, 42, 51, 0.055);
}

/* Hover state still becomes proper white */
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:focus-visible),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-link:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-item:focus-within),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:hover .nt-dropdown),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-dropdown:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:focus-within .nt-dropdown) {
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-color: rgba(255, 255, 255, 0.48);
  box-shadow: 0 16px 45px rgba(47, 9, 104, 0.10);
}


/* Real Zoho SalesIQ widget helper */
.zsiq_theme1,
#zsiq_float,
#zsiq_chat_wrap {
  z-index: 2247483647 !important;
}

.zsiq_theme1[position="right-bottom"] {
  right: 28px !important;
  bottom: 28px !important;
}

@media (max-width: 520px) {
  .zsiq_theme1[position="right-bottom"] {
    right: 18px !important;
    bottom: 18px !important;
  }
}

/* V61 update: make page/section backgrounds clean white instead of gradient */
html,
body,
.nt-scroll-test-main,
.nt-test-page,
.nt-test-page-one,
.nt-test-page-two,
.nt-test-page-three,
.nt-test-page-four {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

/* Footer keeps its approved dark colour */
.nt-footer {
  background: #202A33 !important;
}

/* V62 update: remove navbar visual effects/shadows */
.nt-nav-shell,
.nt-header.is-scrolled .nt-nav-shell,
.nt-header:not(.is-scrolled) .nt-nav-shell,
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:focus-visible),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-link:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-item:focus-within),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:hover .nt-dropdown),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-dropdown:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:focus-within .nt-dropdown) {
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Keep only the plain background colour/state, without effects */
.nt-header:not(.is-scrolled) .nt-nav-shell {
  background: rgba(235, 237, 240, 0.34) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
}

.nt-header.is-scrolled .nt-nav-shell,
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-logo:focus-visible),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-link:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-desktop-nav .nt-menu-item:focus-within),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:hover .nt-dropdown),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-dropdown:hover),
.nt-header:not(.is-scrolled) .nt-nav-shell:has(.nt-menu-item:focus-within .nt-dropdown) {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.48) !important;
}


/* V63: First Summer hero section built from the user's Figma frame */
.nt-summer-page-v63 {
  background: #ffffff !important;
}

.nt-summer-hero-v63 {
  min-height: 100vh;
  padding: 112px 30px 30px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nt-summer-hero-shell-v63 {
  width: min(1380px, 100%);
  min-height: 964px;
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  background: #ffffff;
  border: 1px solid rgba(255,255,255,0.85);
  box-shadow: 0 24px 54px rgba(46, 15, 89, 0.13);
}

.nt-soft-lavender-v63 {
  position: absolute;
  left: -117px;
  top: -33px;
  width: 580px;
  height: 460px;
  border-radius: 230px;
  background: rgba(164,110,244,0.10);
}

.nt-soft-teal-v63 {
  position: absolute;
  left: 859px;
  top: 543px;
  width: 520px;
  height: 420px;
  border-radius: 210px;
  background: rgba(97,220,213,0.13);
}

.nt-teal-ring-v63 {
  position: absolute;
  left: 1009px;
  top: 593px;
  width: 360px;
  height: 360px;
  border-radius: 180px;
  border: 2px solid rgba(97,220,213,0.25);
}

.nt-dot-grid {
  position: absolute;
  width: 122px;
  height: 44px;
  opacity: 1;
  background-image: radial-gradient(circle, rgba(164,110,244,0.50) 2px, transparent 2px);
  background-size: 13px 13px;
}

.nt-dot-grid-top {
  left: 1214px;
  top: 43px;
}

.nt-dot-grid-bottom {
  left: 1277px;
  top: 609px;
  width: 92px;
  background-image: radial-gradient(circle, rgba(164,110,244,0.36) 2px, transparent 2px);
}

.nt-summer-copy-v63 {
  position: absolute;
  left: 67px;
  top: 65px;
  width: 476px;
  min-height: 540px;
  z-index: 3;
}

.nt-program-badge-v63 {
  width: 180px;
  height: 40px;
  border-radius: 20px;
  border: 1px solid #61dcd5;
  background: rgba(255,255,255,0.78);
  box-shadow: 0 4px 6px rgba(46,15,89,0.06);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #13afaa;
  font-size: 16px;
  font-weight: 700;
}

.nt-badge-dot-v63 {
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: #61dcd5;
}

.nt-summer-copy-v63 h1 {
  margin: 26px 0 24px;
  color: #ff14b1;
  font-size: 92px;
  line-height: 1.04;
  letter-spacing: -0.055em;
  font-weight: 800;
}

.nt-summer-copy-v63 h1 span {
  display: block;
}

.nt-summer-copy-v63 h1 span:last-child {
  color: #6b28d9;
}

.nt-summer-copy-v63 p {
  margin: 0;
  max-width: 466px;
  color: #342852;
  font-size: 22px;
  line-height: 34px;
  font-weight: 650;
}

.nt-summer-cta-v63 {
  position: absolute;
  left: -2px;
  top: 474px;
  display: flex;
  align-items: center;
  gap: 22px;
}

.nt-register-btn-v63,
.nt-date-pill-v63 {
  height: 66px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  white-space: nowrap;
}

.nt-register-btn-v63 {
  width: 238px;
  border-radius: 18px;
  background: #6b28d9;
  box-shadow: 0 8px 9px rgba(46,15,89,0.20);
  color: #ffffff;
  font-size: 21px;
  font-weight: 800;
}

.nt-date-pill-v63 {
  width: 219px;
  border-radius: 28px;
  border: 1px solid #f61db8;
  background: rgba(255,255,255,0.84);
  box-shadow: 0 4px 6px rgba(46,15,89,0.06);
  color: #f61db8;
  font-size: 20px;
  font-weight: 700;
}

.nt-summer-photo-v63 {
  position: absolute;
  left: 591px;
  top: 65px;
  width: 722px;
  height: 540px;
  z-index: 2;
  overflow: hidden;
  border-radius: 34px;
  border: 4px solid #ffffff;
  box-shadow: 0 18px 34px rgba(46,15,89,0.16);
}

.nt-summer-photo-v63 img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.nt-summer-stats-v63 {
  position: absolute;
  left: 65px;
  top: 641px;
  width: 1248px;
  height: 138px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  z-index: 4;
}

.nt-stat-card-v63 {
  height: 138px;
  padding: 20px;
  border-radius: 18px;
  background: rgba(255,255,255,0.94);
  box-shadow: 0 12px 13px rgba(46,15,89,0.09);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.nt-stat-icon-v63 {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 15px;
  display: grid;
  place-items: center;
}

.nt-stat-icon-v63 svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nt-purple-soft-v63 {
  color: #2e0965;
  background: #f2e8ff;
}

.nt-teal-soft-v63 {
  color: #18bbb5;
  background: #e5faf8;
}

.nt-pink-soft-v63 {
  color: #f61db8;
  background: #ffe9e7;
}

.nt-stat-card-v63 strong {
  display: block;
  width: 130px;
  color: #2e0965;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.nt-stat-card-v63:nth-child(2) strong,
.nt-stat-card-v63:nth-child(5) strong {
  color: #18bbb5;
}

.nt-stat-card-v63:nth-child(3) strong {
  color: #f61db8;
  font-size: 21px;
}

.nt-stat-card-v63:nth-child(4) strong,
.nt-stat-card-v63:nth-child(5) strong {
  font-size: 21px;
}

.nt-stat-card-v63 small {
  display: block;
  margin-top: 4px;
  width: 130px;
  color: #22163f;
  font-size: 14px;
  line-height: 1.2;
}

.nt-available-strip-v63 {
  position: absolute;
  left: 210px;
  top: 807px;
  width: 960px;
  z-index: 4;
}

.nt-available-heading-v63 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  height: 28px;
}

.nt-available-heading-v63 span {
  width: 360px;
  height: 1px;
  background: #ded8ea;
}

.nt-available-heading-v63 strong {
  width: 130px;
  color: #22163f;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
}

.nt-flag-row-v63 {
  margin: 24px auto 0;
  width: 760px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 38px;
}

.nt-flag-row-v63 span {
  width: 120px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #22163f;
  font-size: 15px;
  font-weight: 500;
}

.nt-flag-row-v63 b {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  background: #ffffff;
  border: 1px solid #ece7f7;
  box-shadow: 0 3px 8px rgba(46,15,89,0.14);
  font-size: 30px;
  overflow: hidden;
}

@media (max-width: 1100px) {
  .nt-summer-hero-v63 {
    padding: 105px 18px 28px;
  }

  .nt-summer-hero-shell-v63 {
    min-height: auto;
    padding: 32px 24px;
  }

  .nt-summer-copy-v63,
  .nt-summer-photo-v63,
  .nt-summer-stats-v63,
  .nt-available-strip-v63 {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
  }

  .nt-summer-copy-v63 {
    min-height: auto;
  }

  .nt-summer-copy-v63 h1 {
    font-size: 68px;
  }

  .nt-summer-copy-v63 p {
    font-size: 18px;
    line-height: 29px;
  }

  .nt-summer-cta-v63 {
    position: relative;
    left: auto;
    top: auto;
    margin-top: 28px;
  }

  .nt-summer-photo-v63 {
    height: 360px;
    margin-top: 32px;
  }

  .nt-summer-stats-v63 {
    height: auto;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 28px;
  }

  .nt-available-strip-v63 {
    margin-top: 34px;
  }

  .nt-available-heading-v63 span {
    width: 28%;
  }

  .nt-flag-row-v63 {
    width: 100%;
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  .nt-summer-copy-v63 h1 {
    font-size: 54px;
  }

  .nt-summer-stats-v63 {
    grid-template-columns: 1fr;
  }

  .nt-register-btn-v63,
  .nt-date-pill-v63 {
    width: 100%;
  }

  .nt-summer-cta-v63 {
    flex-direction: column;
    align-items: stretch;
  }

  .nt-flag-row-v63 {
    gap: 18px;
  }
}

/* V64: proper circular country badge frames */
.nt-flag-row-v63 b.flag-badge {
  position: relative;
  width: 50px;
  height: 50px;
  flex: 0 0 50px;
  border-radius: 999px;
  display: block;
  overflow: hidden;
  background: #ffffff;
  border: 3px solid #ffffff;
  box-shadow: 0 7px 18px rgba(46, 15, 89, 0.18);
}

.nt-flag-row-v63 b.flag-badge::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(46, 15, 89, 0.10);
  pointer-events: none;
}

.flag-canada {
  background:
    linear-gradient(90deg, #ee1c25 0 25%, #ffffff 25% 75%, #ee1c25 75% 100%) !important;
}

.flag-canada i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 16px;
  background: #ee1c25;
  transform: translate(-50%, -50%) rotate(45deg);
  border-radius: 3px 8px 3px 8px;
}

.flag-usa {
  background:
    linear-gradient(#b22234 0 7.69%, #fff 7.69% 15.38%, #b22234 15.38% 23.07%, #fff 23.07% 30.76%, #b22234 30.76% 38.45%, #fff 38.45% 46.14%, #b22234 46.14% 53.83%, #fff 53.83% 61.52%, #b22234 61.52% 69.21%, #fff 69.21% 76.90%, #b22234 76.90% 84.59%, #fff 84.59% 92.28%, #b22234 92.28% 100%) !important;
}

.flag-usa i {
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 27px;
  background: #3c3b6e;
}

.flag-usa i::after {
  content: "";
  position: absolute;
  inset: 4px;
  background-image: radial-gradient(circle, #fff 1px, transparent 1.4px);
  background-size: 6px 6px;
}

.flag-uk {
  background: #012169 !important;
}

.flag-uk::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(27deg, transparent 43%, #ffffff 43% 50%, #c8102e 50% 55%, #ffffff 55% 62%, transparent 62%),
    linear-gradient(-27deg, transparent 43%, #ffffff 43% 50%, #c8102e 50% 55%, #ffffff 55% 62%, transparent 62%),
    linear-gradient(90deg, transparent 38%, #ffffff 38% 45%, #c8102e 45% 55%, #ffffff 55% 62%, transparent 62%),
    linear-gradient(0deg, transparent 38%, #ffffff 38% 45%, #c8102e 45% 55%, #ffffff 55% 62%, transparent 62%);
}

.flag-europe {
  background: #003399 !important;
}

.flag-europe i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ffcc00;
  transform: translate(-50%, -50%);
  box-shadow:
    0 -15px 0 #ffcc00,
    10.6px -10.6px 0 #ffcc00,
    15px 0 0 #ffcc00,
    10.6px 10.6px 0 #ffcc00,
    0 15px 0 #ffcc00,
    -10.6px 10.6px 0 #ffcc00,
    -15px 0 0 #ffcc00,
    -10.6px -10.6px 0 #ffcc00;
}

.flag-uae {
  background:
    linear-gradient(90deg, #ff0000 0 26%, transparent 26% 100%),
    linear-gradient(#00732f 0 33.33%, #ffffff 33.33% 66.66%, #000000 66.66% 100%) !important;
}

.flag-uae i {
  display: none;
}

/* V65: match NaijaTutors website typography
   Site body font: Rubik
   Site heading font: Manrope */
:root {
  --nt-body-font: "Rubik", sans-serif;
  --nt-heading-font: "Manrope", sans-serif;
  --nt-font: "Rubik", sans-serif;
}

html,
body,
button,
input,
select,
textarea,
.nt-nav-shell,
.nt-nav-shell *,
.nt-footer,
.nt-footer *,
.nt-summer-page-v63,
.nt-summer-page-v63 * {
  font-family: var(--nt-body-font) !important;
}

h1, h2, h3, h4, h5, h6,
.nt-summer-copy-v63 h1,
.nt-test-inner h2,
.nt-footer h4,
.nt-footer h6,
.nt-stat-card-v63 strong,
.nt-register-btn-v63,
.nt-date-pill-v63,
.nt-program-badge-v63,
.nt-available-heading-v63 strong,
.nt-menu-link,
.nt-auth-button {
  font-family: var(--nt-heading-font) !important;
}

.nt-summer-copy-v63 p,
.nt-stat-card-v63 small,
.nt-flag-row-v63 span,
.nt-footer p,
.nt-footer a,
.nt-footer li a {
  font-family: var(--nt-body-font) !important;
}

/* V66: use uploaded iSummer Thrive logo image and add fourth page section */
.nt-program-logo-badge-v66 {
  width: 250px !important;
  height: 78px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.nt-program-logo-badge-v66 img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.nt-summer-copy-v63 h1 {
  margin-top: 18px;
}

.nt-test-page-four {
  background: #ffffff !important;
}

/* V67: remove the big hero frame/card so content sits directly on the page */
.nt-summer-hero-v63 {
  background: #ffffff !important;
  padding: 112px 30px 30px !important;
}

.nt-summer-hero-shell-v63 {
  width: min(1380px, 100%) !important;
  min-height: 964px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

/* Keep the decorative washes, image, cards, and content, but no large outer container */
.nt-summer-hero-shell-v63::before,
.nt-summer-hero-shell-v63::after {
  display: none !important;
}

/* Since there is no frame holding the content visually, make the image/cards carry the design */
.nt-summer-photo-v63 {
  box-shadow: 0 18px 34px rgba(46,15,89,0.12) !important;
}

.nt-stat-card-v63 {
  box-shadow: 0 12px 18px rgba(46,15,89,0.07) !important;
}

/* Keep all extra placeholder sections white too */
.nt-test-page,
.nt-test-page-one,
.nt-test-page-two,
.nt-test-page-three,
.nt-test-page-four {
  background: #ffffff !important;
}

/* V68: fit the main hero content into the first screen.
   The Available for/countries strip is intentionally pushed lower so it appears after slight scroll. */
.nt-summer-hero-v63 {
  min-height: 100vh !important;
  padding: 104px 30px 18px !important;
  align-items: flex-start !important;
}

.nt-summer-hero-shell-v63 {
  min-height: 790px !important;
  height: 790px !important;
  max-height: calc(100vh - 122px) !important;
  min-width: 0 !important;
}

/* Tighten the hero logo/text area so the important content fits above the fold */
.nt-summer-copy-v63 {
  left: 67px !important;
  top: 50px !important;
  width: 455px !important;
  min-height: 480px !important;
}

.nt-program-logo-badge-v66 {
  width: 230px !important;
  height: 72px !important;
}

.nt-summer-copy-v63 h1 {
  margin: 10px 0 18px !important;
  font-size: 82px !important;
  line-height: 0.96 !important;
}

.nt-summer-copy-v63 p {
  max-width: 430px !important;
  font-size: 20px !important;
  line-height: 30px !important;
}

.nt-summer-cta-v63 {
  top: 405px !important;
}

.nt-register-btn-v63,
.nt-date-pill-v63 {
  height: 58px !important;
}

.nt-register-btn-v63 {
  width: 218px !important;
  font-size: 19px !important;
}

.nt-date-pill-v63 {
  width: 204px !important;
  font-size: 18px !important;
}

/* Reduce the image frame a bit so all key cards fit on the first screen */
.nt-summer-photo-v63 {
  left: 565px !important;
  top: 50px !important;
  width: 690px !important;
  height: 420px !important;
}

/* Bring stat cards up and make them slightly smaller */
.nt-summer-stats-v63 {
  left: 65px !important;
  top: 535px !important;
  width: 1248px !important;
  height: 118px !important;
  gap: 16px !important;
}

.nt-stat-card-v63 {
  height: 118px !important;
  padding: 16px !important;
  gap: 12px !important;
}

.nt-stat-icon-v63 {
  width: 48px !important;
  height: 48px !important;
  flex-basis: 48px !important;
}

.nt-stat-icon-v63 svg {
  width: 28px !important;
  height: 28px !important;
}

.nt-stat-card-v63 strong {
  width: 124px !important;
  font-size: 22px !important;
}

.nt-stat-card-v63:nth-child(3) strong,
.nt-stat-card-v63:nth-child(4) strong,
.nt-stat-card-v63:nth-child(5) strong {
  font-size: 19px !important;
}

.nt-stat-card-v63 small {
  width: 124px !important;
  font-size: 13px !important;
}

/* Push Available for below the first screen area */
.nt-available-strip-v63 {
  top: 700px !important;
}

/* Keep the decorative elements subtle and not affecting first-screen fit */
.nt-soft-teal-v63 {
  top: 485px !important;
}

.nt-teal-ring-v63 {
  top: 535px !important;
}

.nt-dot-grid-bottom {
  top: 520px !important;
}

/* On shorter laptops, hide only the Available for strip until scrolling */
@media (min-width: 1101px) and (max-height: 850px) {
  .nt-available-strip-v63 {
    top: 735px !important;
  }

  .nt-summer-hero-shell-v63 {
    height: 720px !important;
    min-height: 720px !important;
  }
}

@media (max-width: 1100px) {
  .nt-summer-hero-shell-v63 {
    height: auto !important;
    max-height: none !important;
  }

  .nt-summer-copy-v63,
  .nt-summer-photo-v63,
  .nt-summer-stats-v63,
  .nt-available-strip-v63 {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
  }

  .nt-available-strip-v63 {
    margin-top: 34px !important;
  }
}

/* V69: rebalance hero alignment so the layout feels centered, not pushed left */
.nt-summer-hero-v63 {
  padding: 104px 0 18px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

.nt-summer-hero-shell-v63 {
  width: min(1268px, calc(100vw - 72px)) !important;
  height: 740px !important;
  min-height: 740px !important;
  max-height: calc(100vh - 122px) !important;
  margin: 0 auto !important;
  position: relative !important;
}

/* Move the left copy inward a little and give the right image more breathing room */
.nt-summer-copy-v63 {
  left: 18px !important;
  top: 48px !important;
  width: 430px !important;
}

.nt-program-logo-badge-v66 {
  width: 220px !important;
  height: 68px !important;
}

.nt-summer-copy-v63 h1 {
  font-size: 78px !important;
  line-height: 0.98 !important;
  margin: 8px 0 16px !important;
}

.nt-summer-copy-v63 p {
  max-width: 410px !important;
  font-size: 19px !important;
  line-height: 29px !important;
}

.nt-summer-cta-v63 {
  top: 390px !important;
  gap: 18px !important;
}

.nt-register-btn-v63 {
  width: 208px !important;
  height: 56px !important;
  font-size: 18px !important;
}

.nt-date-pill-v63 {
  width: 194px !important;
  height: 56px !important;
  font-size: 17px !important;
}

/* Push picture to the right and reduce width slightly so it no longer closes into the middle */
.nt-summer-photo-v63 {
  left: 515px !important;
  top: 48px !important;
  width: 720px !important;
  height: 405px !important;
  border-radius: 30px !important;
}

.nt-summer-photo-v63 img {
  object-position: center center !important;
}

/* Center the stat row underneath both columns */
.nt-summer-stats-v63 {
  left: 18px !important;
  top: 520px !important;
  width: calc(100% - 36px) !important;
  height: 112px !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.nt-stat-card-v63 {
  height: 112px !important;
  padding: 14px 16px !important;
  justify-content: flex-start !important;
}

.nt-stat-icon-v63 {
  width: 46px !important;
  height: 46px !important;
  flex-basis: 46px !important;
}

.nt-stat-card-v63 strong {
  width: auto !important;
  font-size: 21px !important;
}

.nt-stat-card-v63:nth-child(3) strong,
.nt-stat-card-v63:nth-child(4) strong,
.nt-stat-card-v63:nth-child(5) strong {
  font-size: 18px !important;
}

.nt-stat-card-v63 small {
  width: auto !important;
  font-size: 13px !important;
}

/* Keep Available for below the first screen, but aligned with the rest */
.nt-available-strip-v63 {
  left: 154px !important;
  top: 665px !important;
  width: 960px !important;
}

/* Reposition decorative elements so they do not visually pull the page left */
.nt-soft-lavender-v63 {
  left: -180px !important;
  top: -65px !important;
}

.nt-soft-teal-v63 {
  left: 745px !important;
  top: 455px !important;
}

.nt-teal-ring-v63 {
  left: 900px !important;
  top: 510px !important;
}

.nt-dot-grid-top {
  left: 1120px !important;
  top: 42px !important;
}

.nt-dot-grid-bottom {
  left: 1128px !important;
  top: 495px !important;
}

/* For shorter laptop screens: still show hero + stats clearly */
@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-hero-shell-v63 {
    height: 690px !important;
    min-height: 690px !important;
  }

  .nt-summer-photo-v63 {
    height: 380px !important;
  }

  .nt-summer-stats-v63 {
    top: 500px !important;
  }

  .nt-available-strip-v63 {
    top: 645px !important;
  }
}

@media (max-width: 1280px) and (min-width: 1101px) {
  .nt-summer-hero-shell-v63 {
    width: calc(100vw - 48px) !important;
  }

  .nt-summer-copy-v63 {
    left: 20px !important;
  }

  .nt-summer-photo-v63 {
    left: 490px !important;
    width: calc(100% - 510px) !important;
  }
}

@media (max-width: 1100px) {
  .nt-summer-hero-v63 {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .nt-summer-hero-shell-v63 {
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
  }
}

/* V70: subtle motion effects to make the hero feel alive */
@keyframes ntFadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ntFadeSlideRight {
  from {
    opacity: 0;
    transform: translateX(-28px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes ntImageFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes ntSoftPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.78;
  }
  50% {
    transform: scale(1.04);
    opacity: 0.95;
  }
}

@keyframes ntDotDrift {
  0%, 100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-8px, 6px);
  }
}

@keyframes ntButtonGlow {
  0%, 100% {
    box-shadow: 0 8px 9px rgba(46,15,89,0.20);
  }
  50% {
    box-shadow: 0 13px 24px rgba(107,40,217,0.28);
  }
}

.nt-summer-copy-v63 {
  animation: ntFadeSlideRight 0.75s ease both;
}

.nt-summer-photo-v63 {
  animation: ntFadeSlideUp 0.75s ease 0.12s both, ntImageFloat 6s ease-in-out 1.1s infinite;
  will-change: transform;
}

.nt-summer-stats-v63 .nt-stat-card-v63 {
  opacity: 0;
  animation: ntFadeSlideUp 0.62s ease both;
}

.nt-summer-stats-v63 .nt-stat-card-v63:nth-child(1) {
  animation-delay: 0.22s;
}

.nt-summer-stats-v63 .nt-stat-card-v63:nth-child(2) {
  animation-delay: 0.32s;
}

.nt-summer-stats-v63 .nt-stat-card-v63:nth-child(3) {
  animation-delay: 0.42s;
}

.nt-summer-stats-v63 .nt-stat-card-v63:nth-child(4) {
  animation-delay: 0.52s;
}

.nt-summer-stats-v63 .nt-stat-card-v63:nth-child(5) {
  animation-delay: 0.62s;
}

.nt-register-btn-v63 {
  animation: ntButtonGlow 3.2s ease-in-out infinite;
}

.nt-register-btn-v63,
.nt-date-pill-v63,
.nt-stat-card-v63,
.nt-flag-row-v63 span {
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.nt-register-btn-v63:hover,
.nt-date-pill-v63:hover,
.nt-stat-card-v63:hover,
.nt-flag-row-v63 span:hover {
  transform: translateY(-4px);
}

.nt-stat-card-v63:hover {
  box-shadow: 0 18px 28px rgba(46,15,89,0.12) !important;
}

.nt-soft-lavender-v63,
.nt-soft-teal-v63,
.nt-teal-ring-v63 {
  animation: ntSoftPulse 7s ease-in-out infinite;
  transform-origin: center;
}

.nt-soft-teal-v63 {
  animation-delay: 1s;
}

.nt-teal-ring-v63 {
  animation-delay: 1.8s;
}

.nt-dot-grid-top,
.nt-dot-grid-bottom {
  animation: ntDotDrift 8s ease-in-out infinite;
}

.nt-dot-grid-bottom {
  animation-delay: 1.4s;
}

.nt-available-strip-v63 {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.nt-available-strip-v63.nt-in-view {
  opacity: 1;
  transform: translateY(0);
}

/* Respect users who prefer less motion */
@media (prefers-reduced-motion: reduce) {
  .nt-summer-copy-v63,
  .nt-summer-photo-v63,
  .nt-summer-stats-v63 .nt-stat-card-v63,
  .nt-register-btn-v63,
  .nt-soft-lavender-v63,
  .nt-soft-teal-v63,
  .nt-teal-ring-v63,
  .nt-dot-grid-top,
  .nt-dot-grid-bottom {
    animation: none !important;
  }

  .nt-available-strip-v63 {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .nt-register-btn-v63:hover,
  .nt-date-pill-v63:hover,
  .nt-stat-card-v63:hover,
  .nt-flag-row-v63 span:hover {
    transform: none !important;
  }
}

/* V72: keep v70 layout/animations, only improve the page gradient */
.nt-summer-page-v63 {
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 54%, #fbf7ff 100%) !important;
}

.nt-summer-hero-v63 {
  background:
    radial-gradient(circle at 10% 14%, rgba(97, 220, 213, 0.16) 0%, rgba(97, 220, 213, 0.08) 22%, transparent 42%),
    radial-gradient(circle at 84% 10%, rgba(246, 29, 184, 0.11) 0%, rgba(246, 29, 184, 0.05) 20%, transparent 44%),
    radial-gradient(circle at 90% 86%, rgba(107, 40, 217, 0.10) 0%, rgba(107, 40, 217, 0.04) 22%, transparent 46%),
    linear-gradient(135deg, #ffffff 0%, #fffafd 44%, #f7fbfb 100%) !important;
}

.nt-summer-hero-shell-v63 {
  background: transparent !important;
}

/* Keep later placeholder sections clean, not noisy */
.nt-test-page,
.nt-test-page-one,
.nt-test-page-two,
.nt-test-page-three,
.nt-test-page-four {
  background: #ffffff !important;
}

/* Footer remains the approved dark colour */
.nt-footer {
  background: #202A33 !important;
}

/* V73: move hero buttons up so they don't feel like they sit on the five stat cards */
.nt-summer-cta-v63 {
  top: 360px !important;
}

/* Give the copy area a cleaner breathing space after moving buttons up */
.nt-summer-copy-v63 p {
  margin-bottom: 18px !important;
}

/* Keep the stat cards safely below the buttons */
.nt-summer-stats-v63 {
  top: 535px !important;
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-cta-v63 {
    top: 350px !important;
  }

  .nt-summer-stats-v63 {
    top: 505px !important;
  }
}

/* V74: balance the hero so text and image are not pushed left, and image is not too wide */
.nt-summer-hero-v63 {
  padding-left: 0 !important;
  padding-right: 0 !important;
  justify-content: center !important;
}

.nt-summer-hero-shell-v63 {
  width: min(1188px, calc(100vw - 96px)) !important;
  height: 740px !important;
  min-height: 740px !important;
  margin: 0 auto !important;
  position: relative !important;
}

.nt-summer-copy-v63 {
  left: 40px !important;
  top: 48px !important;
  width: 410px !important;
}

.nt-program-logo-badge-v66 {
  width: 218px !important;
  height: 68px !important;
}

.nt-summer-copy-v63 h1 {
  font-size: 76px !important;
  line-height: 0.98 !important;
  margin: 8px 0 16px !important;
}

.nt-summer-copy-v63 p {
  max-width: 400px !important;
  font-size: 19px !important;
  line-height: 29px !important;
}

.nt-summer-cta-v63 {
  top: 360px !important;
  left: 0 !important;
  gap: 16px !important;
}

.nt-register-btn-v63 {
  width: 205px !important;
  height: 56px !important;
  font-size: 18px !important;
}

.nt-date-pill-v63 {
  width: 190px !important;
  height: 56px !important;
  font-size: 17px !important;
}

.nt-summer-photo-v63 {
  left: 520px !important;
  top: 58px !important;
  width: 560px !important;
  height: 400px !important;
  border-radius: 30px !important;
}

.nt-summer-photo-v63 img {
  object-fit: cover !important;
  object-position: center center !important;
}

.nt-summer-stats-v63 {
  left: 40px !important;
  top: 535px !important;
  width: calc(100% - 80px) !important;
  height: 112px !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.nt-stat-card-v63 {
  height: 112px !important;
  padding: 14px !important;
  gap: 10px !important;
  justify-content: flex-start !important;
}

.nt-stat-icon-v63 {
  width: 44px !important;
  height: 44px !important;
  flex-basis: 44px !important;
}

.nt-stat-icon-v63 svg {
  width: 26px !important;
  height: 26px !important;
}

.nt-stat-card-v63 strong {
  width: auto !important;
  font-size: 20px !important;
}

.nt-stat-card-v63:nth-child(3) strong,
.nt-stat-card-v63:nth-child(4) strong,
.nt-stat-card-v63:nth-child(5) strong {
  font-size: 17px !important;
}

.nt-stat-card-v63 small {
  width: auto !important;
  font-size: 12.5px !important;
}

.nt-available-strip-v63 {
  left: 114px !important;
  top: 682px !important;
  width: 960px !important;
}

.nt-soft-lavender-v63 {
  left: -150px !important;
  top: -60px !important;
}

.nt-soft-teal-v63 {
  left: 700px !important;
  top: 460px !important;
}

.nt-teal-ring-v63 {
  left: 850px !important;
  top: 510px !important;
}

.nt-dot-grid-top {
  left: 1040px !important;
  top: 42px !important;
}

.nt-dot-grid-bottom {
  left: 1040px !important;
  top: 495px !important;
}

@media (max-width: 1280px) and (min-width: 1101px) {
  .nt-summer-hero-shell-v63 {
    width: calc(100vw - 72px) !important;
  }

  .nt-summer-copy-v63 {
    left: 34px !important;
    width: 390px !important;
  }

  .nt-summer-photo-v63 {
    left: 485px !important;
    width: calc(100% - 540px) !important;
    max-width: 560px !important;
  }

  .nt-summer-stats-v63 {
    left: 34px !important;
    width: calc(100% - 68px) !important;
  }

  .nt-available-strip-v63 {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-hero-shell-v63 {
    height: 705px !important;
    min-height: 705px !important;
  }

  .nt-summer-photo-v63 {
    height: 372px !important;
  }

  .nt-summer-stats-v63 {
    top: 505px !important;
  }

  .nt-available-strip-v63 {
    top: 650px !important;
  }
}

@media (max-width: 1100px) {
  .nt-summer-hero-v63 {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .nt-summer-hero-shell-v63 {
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
  }
}

/* V75: push the hero picture a bit further right */
.nt-summer-photo-v63 {
  left: 560px !important;
}

@media (max-width: 1280px) and (min-width: 1101px) {
  .nt-summer-photo-v63 {
    left: 515px !important;
  }
}

/* V76: push the whole hero content upward so the 5 boxes and Available for fit better */
.nt-summer-hero-v63 {
  padding-top: 96px !important;
}

.nt-summer-hero-shell-v63 {
  height: 720px !important;
  min-height: 720px !important;
}

.nt-summer-copy-v63 {
  top: 28px !important;
}

.nt-summer-photo-v63 {
  top: 36px !important;
}

.nt-summer-cta-v63 {
  top: 338px !important;
}

.nt-summer-stats-v63 {
  top: 495px !important;
}

.nt-available-strip-v63 {
  top: 628px !important;
}

/* Tighten available-for spacing a bit so it fully fits */
.nt-available-heading-v63 {
  height: 24px !important;
  gap: 18px !important;
}

.nt-available-heading-v63 strong {
  font-size: 18px !important;
}

.nt-flag-row-v63 {
  margin-top: 16px !important;
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-hero-v63 {
    padding-top: 90px !important;
  }

  .nt-summer-hero-shell-v63 {
    height: 690px !important;
    min-height: 690px !important;
  }

  .nt-summer-copy-v63 {
    top: 22px !important;
  }

  .nt-summer-photo-v63 {
    top: 30px !important;
  }

  .nt-summer-cta-v63 {
    top: 326px !important;
  }

  .nt-summer-stats-v63 {
    top: 475px !important;
  }

  .nt-available-strip-v63 {
    top: 603px !important;
  }

  .nt-flag-row-v63 {
    margin-top: 14px !important;
  }
}

/* V77: move CTA buttons slightly down so they don't sit on top of the paragraph text */
.nt-summer-cta-v63 {
  top: 352px !important;
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-cta-v63 {
    top: 340px !important;
  }
}

/* V78: move CTA buttons a bit further down again */
.nt-summer-cta-v63 {
  top: 366px !important;
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-cta-v63 {
    top: 352px !important;
  }
}



/* V79: What We Offer section from Figma node 436:350 */
.nt-summer-offer-v79{min-height:100vh;padding:92px 56px 54px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.nt-offer-shell-v79{position:relative;width:min(1300px,100%);min-height:916px;padding:58px 34px 54px;border-radius:28px;background:#fff;border:1px solid rgba(164,110,244,.16);overflow:hidden}
.nt-offer-accent-v79{position:absolute;left:36px;top:58px;width:94px;height:80px;pointer-events:none}
.nt-offer-accent-v79 span{position:absolute;width:48px;height:48px;border:1.4px solid rgba(164,110,244,.45);border-radius:12px}
.nt-offer-accent-v79 span:nth-child(1){left:0;top:0}
.nt-offer-accent-v79 span:nth-child(2){left:34px;top:30px;border-color:rgba(97,220,213,.52)}
.nt-offer-accent-v79 i{position:absolute;right:-10px;top:43px;width:14px;height:14px}
.nt-offer-accent-v79 i:before,.nt-offer-accent-v79 i:after{content:"";position:absolute;left:6px;top:0;width:2px;height:14px;background:#f42786;border-radius:2px}
.nt-offer-accent-v79 i:after{transform:rotate(90deg)}
.nt-offer-dots-v79{position:absolute;left:122px;top:42px;width:92px;height:44px;background-image:radial-gradient(circle,rgba(164,110,244,.36) 2px,transparent 2px);background-size:13px 13px}
.nt-offer-header-v79{width:min(818px,100%);margin:0 auto 62px;text-align:center;position:relative;z-index:2}
.nt-offer-pill-v79{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:18px;background:#fff;border:1.3px solid rgba(97,220,213,.9);color:#2a055f;font-family:var(--nt-heading-font)!important;font-size:14px;font-weight:700}
.nt-offer-header-v79 h2{margin:24px auto 16px;max-width:860px;color:#2e0965;font-family:var(--nt-heading-font)!important;font-size:clamp(48px,5vw,72px);line-height:1.08;letter-spacing:-.055em;font-weight:800}
.nt-offer-header-v79 p{margin:0 auto;max-width:770px;color:#493d64;font-family:var(--nt-body-font)!important;font-size:20px;line-height:27px;font-weight:500}
.nt-offer-grid-v79{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px;width:100%}
.nt-offer-card-v79{min-height:150px;padding:18px 20px;border-radius:18px;background:#fff;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease;opacity:0;animation:ntFadeSlideUp .65s ease both}
.nt-offer-card-v79:hover{transform:translateY(-6px)}
.nt-offer-card-v79 h3{height:44px;margin:0 0 14px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--nt-heading-font)!important;font-size:18px;font-weight:800;line-height:1}
.nt-offer-card-v79 p{margin:0;max-width:326px;color:#493d64;font-family:var(--nt-body-font)!important;font-size:17px;line-height:24px;font-weight:500}
.nt-offer-tall-v79{min-height:210px}
.nt-offer-teal-v79{border:1.4px solid rgba(97,220,213,.72);box-shadow:0 10px 24px rgba(97,220,213,.08)}
.nt-offer-teal-v79 h3{background:#61dcd5;color:#2a055f}
.nt-offer-purple-v79{border:1.4px solid rgba(164,110,244,.72);box-shadow:0 10px 24px rgba(164,110,244,.08)}
.nt-offer-purple-v79 h3{background:#a46ef4;color:#fff}
.nt-offer-pink-v79{border:1.4px solid rgba(244,39,134,.72);box-shadow:0 10px 24px rgba(244,39,134,.08)}
.nt-offer-pink-v79 h3{background:#f42786;color:#fff}
.nt-offer-card-v79:nth-child(1){animation-delay:.1s}.nt-offer-card-v79:nth-child(2){animation-delay:.18s}.nt-offer-card-v79:nth-child(3){animation-delay:.26s}.nt-offer-card-v79:nth-child(4){animation-delay:.34s}.nt-offer-card-v79:nth-child(5){animation-delay:.42s}.nt-offer-card-v79:nth-child(6){animation-delay:.5s}
.nt-offer-dots-v79,.nt-offer-accent-v79{animation:ntDotDrift 8s ease-in-out infinite}
@media(max-width:1100px){.nt-summer-offer-v79{padding:80px 22px 42px}.nt-offer-shell-v79{min-height:auto;padding:42px 22px}.nt-offer-header-v79{margin-bottom:38px}.nt-offer-header-v79 h2{font-size:44px}.nt-offer-grid-v79{grid-template-columns:1fr;gap:20px}.nt-offer-card-v79,.nt-offer-tall-v79{min-height:auto}.nt-offer-card-v79 p{max-width:100%}}



/* V80: animate and make the second page interactive */
.nt-offer-shell-v79{
  background:
    radial-gradient(circle at 12% 18%, rgba(97,220,213,0.06), transparent 18%),
    radial-gradient(circle at 88% 15%, rgba(244,39,134,0.05), transparent 18%),
    #ffffff;
}
.nt-offer-glow-v80{position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(70px);opacity:.22;pointer-events:none}
.nt-offer-glow-left-v80{left:-40px;bottom:40px;background:rgba(97,220,213,.45);animation:ntGlowFloatV80 8s ease-in-out infinite}
.nt-offer-glow-right-v80{right:-30px;top:160px;background:rgba(164,110,244,.32);animation:ntGlowFloatV80 9s ease-in-out infinite reverse}
.nt-reveal-v80{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.nt-reveal-v80.is-visible{opacity:1;transform:translateY(0)}
.nt-offer-card-v79{position:relative;transform:translateY(46px) scale(.98);opacity:0;transition:transform .45s cubic-bezier(.2,.75,.2,1),opacity .45s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease;will-change:transform,opacity;cursor:pointer}
.nt-offer-card-v79.is-visible{transform:translateY(0) scale(1);opacity:1}
.nt-card-topline-v80{position:absolute;inset:0 auto auto 0;width:100%;height:4px;opacity:0;transform:scaleX(.2);transform-origin:left center;transition:transform .35s ease,opacity .35s ease}
.nt-card-interactive-v80:hover,.nt-card-interactive-v80:focus-visible{transform:translateY(-10px) scale(1.01);outline:none}
.nt-card-interactive-v80:hover .nt-card-topline-v80,.nt-card-interactive-v80:focus-visible .nt-card-topline-v80,.nt-card-interactive-v80.is-active .nt-card-topline-v80{opacity:1;transform:scaleX(1)}
.nt-offer-teal-v79 .nt-card-topline-v80{background:#61dcd5}
.nt-offer-purple-v79 .nt-card-topline-v80{background:#a46ef4}
.nt-offer-pink-v79 .nt-card-topline-v80{background:#f42786}
.nt-card-extra-v80{margin-top:14px;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .35s ease,margin-top .35s ease}
.nt-card-extra-v80>div{overflow:hidden}
.nt-card-tag-v80{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 12px;border-radius:999px;width:fit-content;font-family:var(--nt-heading-font)!important;font-size:13px;font-weight:700;margin-bottom:10px}
.nt-offer-teal-v79 .nt-card-tag-v80{background:rgba(97,220,213,.14);color:#1d5e58}
.nt-offer-purple-v79 .nt-card-tag-v80{background:rgba(164,110,244,.14);color:#6540a4}
.nt-offer-pink-v79 .nt-card-tag-v80{background:rgba(244,39,134,.12);color:#b31961}
.nt-card-extra-v80 small{display:block;color:#5a4f76;font-family:var(--nt-body-font)!important;font-size:15px;line-height:22px;font-weight:500}
.nt-card-interactive-v80.is-active .nt-card-extra-v80,.nt-card-interactive-v80:hover .nt-card-extra-v80,.nt-card-interactive-v80:focus-visible .nt-card-extra-v80{grid-template-rows:1fr;opacity:1;margin-top:16px}
.nt-card-interactive-v80.is-active{background:linear-gradient(180deg,#ffffff 0%,#fcfbff 100%)}
.nt-offer-teal-v79.is-active{border-color:rgba(97,220,213,.95);box-shadow:0 20px 42px rgba(97,220,213,.18)}
.nt-offer-purple-v79.is-active{border-color:rgba(164,110,244,.95);box-shadow:0 20px 42px rgba(164,110,244,.18)}
.nt-offer-pink-v79.is-active{border-color:rgba(244,39,134,.95);box-shadow:0 20px 42px rgba(244,39,134,.18)}
.nt-offer-tip-v80{margin-top:28px;display:flex;align-items:center;justify-content:center;gap:10px;color:#6a6181;font-family:var(--nt-body-font)!important;font-size:15px;line-height:22px;font-weight:500}
.nt-offer-tip-dot-v80{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#61dcd5 0%,#a46ef4 54%,#f42786 100%);box-shadow:0 0 0 8px rgba(164,110,244,.08);animation:ntDotPulseV80 2.2s ease-in-out infinite}
.nt-offer-dots-v79,.nt-offer-accent-v79{animation:ntDotDrift 8s ease-in-out infinite}
@keyframes ntGlowFloatV80{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(18px,-12px,0) scale(1.08)}}
@keyframes ntDotPulseV80{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.08);opacity:1}}
@media(max-width:1100px){.nt-offer-tip-v80{text-align:center;padding:0 6px}}

/* V81: remove the helper wording under What We Offer */
.nt-offer-tip-v80 {
  display: none !important;
}



/* V82: Prices and Plans page from Figma node 436:352 */
.nt-pricing-v82{min-height:100vh;position:relative;overflow:hidden;background:#fff;padding:58px 56px 44px;display:flex;align-items:center;justify-content:center}
.nt-price-wash-purple-v82,.nt-price-wash-teal-v82{position:absolute;border-radius:999px;pointer-events:none}
.nt-price-wash-purple-v82{left:-128px;top:-146px;width:470px;height:470px;background:rgba(164,110,244,.12)}
.nt-price-wash-teal-v82{right:-60px;bottom:-170px;width:420px;height:420px;background:rgba(97,220,213,.13)}
.nt-pricing-inner-v82{position:relative;z-index:2;width:min(1280px,100%);min-height:900px}
.nt-pricing-header-v82{text-align:center;margin:0 auto 24px}.nt-pricing-badge-v82{height:38px;min-width:190px;padding:8px 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:19px;border:1px solid #61dcd5;background:#f8ffff;color:#159e9a;font-family:var(--nt-heading-font)!important;font-size:16px;font-weight:700}.nt-pricing-badge-v82 i{width:10px;height:10px;border-radius:50%;background:#61dcd5}
.nt-pricing-header-v82 h2{margin:18px auto 8px;color:#2a055f;font-family:var(--nt-heading-font)!important;font-size:clamp(48px,5vw,64px);line-height:1.12;letter-spacing:-.045em;font-weight:800}.nt-pricing-header-v82 p{margin:0;color:#40335f;font-family:var(--nt-body-font)!important;font-size:24px;line-height:28px;font-weight:500}
.nt-price-cards-v82{display:grid;grid-template-columns:repeat(4,minmax(0,303px));justify-content:center;gap:22px;margin-top:28px}
.nt-price-card-v82{height:440px;border-radius:18px;background:#fff;border:1px solid #e6daf7;box-shadow:0 10px 24px rgba(43,26,82,.1);overflow:hidden;display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(34px);transition:opacity .55s ease,transform .55s ease,box-shadow .28s ease,border-color .28s ease}
.nt-price-card-v82.is-visible{opacity:1;transform:translateY(0)}.nt-price-card-v82:hover,.nt-price-card-v82:focus-visible{transform:translateY(-9px);box-shadow:0 18px 40px rgba(43,26,82,.16);outline:none}.nt-price-spacer-v82{height:30px;width:100%;background:#fff}.nt-plan-head-v82{width:100%;height:66px;display:flex;align-items:center;justify-content:center;background:var(--plan)}.nt-plan-head-v82 h3{margin:0;color:#fff;font-family:var(--nt-heading-font)!important;font-size:19px;line-height:23px;text-align:center;font-weight:800}
.nt-plan-body-v82{width:100%;height:286px;padding:12px 25px 8px;display:flex;flex-direction:column;gap:7px}.nt-plan-row-v82{display:flex;align-items:flex-start;gap:8px;min-height:42px;color:#20172f}.nt-plan-row-v82 strong{display:block;color:#20172f;font-family:var(--nt-heading-font)!important;font-size:10.5px;line-height:13px;font-weight:800;margin-bottom:1px}.nt-plan-row-v82 p{margin:0;color:#20172f;font-family:var(--nt-body-font)!important;font-size:11.6px;line-height:14.2px;font-weight:500}.nt-plan-row-v82 b{font-family:var(--nt-heading-font)!important;font-weight:700}
.nt-plan-icon{width:30px;height:30px;border-radius:9px;flex:0 0 30px;position:relative;display:grid;place-items:center;color:var(--plan);background:color-mix(in srgb,var(--plan) 12%,transparent);font-family:var(--nt-heading-font)!important;font-weight:800}.nt-plan-icon.cal:before{content:"";width:17px;height:15px;border:1.7px solid currentColor;border-radius:3px}.nt-plan-icon.cal:after{content:"";position:absolute;width:14px;height:1.6px;background:currentColor;top:14px;left:8px;border-radius:1px}.nt-plan-icon.loc:before{content:"⊕";font-size:18px}.nt-plan-icon.cash:before{content:"$";font-size:22px}.nt-plan-icon.city:before{content:"";position:absolute;width:6px;height:17px;left:5px;top:11px;background:currentColor;border-radius:1.5px;box-shadow:8px -5px 0 1.5px currentColor,18px 3px 0 0 currentColor}
.nt-plan-select-v82{width:249px;height:40px;border-radius:9px;background:var(--plan);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-family:var(--nt-heading-font)!important;font-size:16px;font-weight:800;transition:transform .22s ease,filter .22s ease}.nt-plan-select-v82:hover{transform:translateY(-2px);filter:brightness(1.06)}
.nt-batch-guide-v82{margin:20px auto 0;width:min(1040px,100%)}.nt-batch-title-v82{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:18px}.nt-batch-title-v82 span{width:330px;max-width:30%;height:1px;background:rgba(164,110,244,.26)}.nt-batch-title-v82 strong{color:#2a055f;font-family:var(--nt-heading-font)!important;font-size:18px;font-weight:800;white-space:nowrap}.nt-batch-row-v82{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.nt-batch-row-v82 article{display:flex;align-items:center;gap:12px;min-height:74px;transition:transform .22s ease}.nt-batch-row-v82 article:hover{transform:translateY(-3px)}.nt-batch-row-v82 b{width:46px;height:46px;border-radius:23px;display:grid;place-items:center;flex:0 0 46px;font-family:var(--nt-heading-font)!important;font-size:20px;font-weight:800}.nt-batch-row-v82 article:nth-child(1) b{background:rgba(97,220,213,.16);color:#61dcd5}.nt-batch-row-v82 article:nth-child(2) b{background:rgba(164,110,244,.16);color:#a46ef4}.nt-batch-row-v82 article:nth-child(3) b{background:rgba(244,39,134,.16);color:#f42786}.nt-batch-row-v82 article strong{display:block;color:#2a055f;font-family:var(--nt-heading-font)!important;font-size:16px;line-height:21px;font-weight:800}.nt-batch-row-v82 article p{margin:2px 0 0;color:#4d4168;font-family:var(--nt-body-font)!important;font-size:14.5px;line-height:19px;font-weight:500}
.nt-price-reveal-v82{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.nt-price-reveal-v82.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1180px){.nt-pricing-v82{padding:90px 22px 44px}.nt-pricing-inner-v82{min-height:auto}.nt-price-cards-v82{grid-template-columns:repeat(2,minmax(0,303px))}.nt-batch-row-v82{grid-template-columns:1fr;gap:18px;max-width:520px;margin:0 auto}}
@media(max-width:680px){.nt-pricing-header-v82 h2{font-size:42px}.nt-pricing-header-v82 p{font-size:18px}.nt-price-cards-v82{grid-template-columns:1fr;justify-items:center}.nt-price-card-v82{width:min(303px,100%)}.nt-batch-title-v82 span{display:none}}

/* V84: hero overlay cards + title/date update */
.nt-summer-copy-v63 h1 {
  margin: 22px 0 20px;
  color: #6b28d9;
  font-size: 88px;
  line-height: 0.98;
  letter-spacing: -0.06em;
  font-weight: 800;
}

.nt-summer-copy-v63 h1 span {
  display: block;
}

.nt-summer-copy-v63 h1 span:last-child {
  color: #6b28d9;
}

.nt-date-pill-v63 {
  width: 230px;
  border-radius: 28px;
  border: 2px solid #6b28d9;
  background: rgba(255,255,255,0.88);
  color: #6b28d9;
  box-shadow: none;
}

.nt-summer-photo-v63 {
  overflow: visible;
}

.nt-summer-photo-v63 img {
  border-radius: 34px;
  box-shadow: 0 18px 34px rgba(46,15,89,0.16);
}

.nt-photo-card-v84 {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 250px;
  max-width: 290px;
  padding: 18px 20px;
  border-radius: 22px;
  background: rgba(255,255,255,0.96);
  box-shadow: 0 16px 28px rgba(46,15,89,0.14);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: ntFloatCardV84 4.8s ease-in-out infinite;
}

.nt-photo-card-subjects-v84 {
  left: -96px;
  top: 186px;
  animation-delay: 0s;
}

.nt-photo-card-languages-v84 {
  right: -74px;
  top: 32px;
  animation-delay: 0.6s;
}

.nt-photo-card-skills-v84 {
  right: -36px;
  bottom: -26px;
  animation-delay: 1.1s;
}

.nt-photo-card-icon-v84 {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border-radius: 16px;
  display: grid;
  place-items: center;
}

.nt-photo-card-icon-v84 svg {
  width: 28px;
  height: 28px;
}

.nt-icon-purple-v84 {
  color: #6b28d9;
  background: #f1e8ff;
}

.nt-icon-pink-v84 {
  color: #ef4fa8;
  background: #ffe7f3;
}

.nt-icon-teal-v84 {
  color: #18bbb5;
  background: #e3fbf8;
}

.nt-photo-card-text-v84 {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nt-photo-card-text-v84 strong {
  display: block;
  color: #211535;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 800;
}

.nt-photo-card-text-v84 small {
  display: block;
  color: #6d6680;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 600;
}

@keyframes ntFloatCardV84 {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

@media (max-width: 1100px) {
  .nt-photo-card-subjects-v84 {
    left: -40px;
    top: 180px;
  }
  .nt-photo-card-languages-v84 {
    right: -30px;
  }
  .nt-photo-card-skills-v84 {
    right: -10px;
  }
}

@media (max-width: 860px) {
  .nt-photo-card-v84 {
    min-width: 220px;
    padding: 16px 18px;
  }
  .nt-photo-card-icon-v84 {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }
  .nt-photo-card-icon-v84 svg {
    width: 24px;
    height: 24px;
  }
}

/* V85: refine hero boxes, title colors, and CTA position */
.nt-summer-copy-v63 h1 {
  margin: 22px 0 20px;
  font-size: 88px;
  line-height: 0.98;
  letter-spacing: -0.06em;
  font-weight: 800;
  color: #6b28d9;
}

.nt-summer-copy-v63 h1 span:first-child {
  color: #f61db8;
}

.nt-summer-copy-v63 h1 span:last-child {
  color: #6b28d9;
}

.nt-summer-cta-v63 {
  top: 512px;
}

.nt-photo-card-v84 {
  min-width: 216px;
  max-width: 236px;
  padding: 15px 16px;
  gap: 12px;
  border-radius: 20px;
}

.nt-photo-card-subjects-v84 {
  left: -128px;
  top: 204px;
}

.nt-photo-card-languages-v84 {
  right: -102px;
  top: 20px;
}

.nt-photo-card-skills-v84 {
  right: -68px;
  bottom: -18px;
}

.nt-photo-card-icon-v84 {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 14px;
}

.nt-photo-card-icon-v84 svg {
  width: 24px;
  height: 24px;
}

.nt-photo-card-text-v84 strong {
  font-size: 16px;
  line-height: 1.12;
}

.nt-photo-card-text-v84 small {
  font-size: 13px;
  line-height: 1.2;
}

@media (max-width: 1100px) {
  .nt-photo-card-subjects-v84 {
    left: -54px;
    top: 198px;
  }

  .nt-photo-card-languages-v84 {
    right: -48px;
    top: 20px;
  }

  .nt-photo-card-skills-v84 {
    right: -24px;
    bottom: -12px;
  }
}

/* V86: lift logo and hero text, add more CTA space */
.nt-program-logo-badge-v66 {
  transform: translateY(-18px);
}

.nt-summer-copy-v63 {
  top: 52px;
}

.nt-summer-copy-v63 h1 {
  margin: 6px 0 14px;
}

.nt-summer-copy-v63 p {
  margin: 0;
  max-width: 470px;
}

.nt-summer-cta-v63 {
  top: 536px;
}

/* V88: proper hero fix — buttons flow under text, 5 boxes stay visible */
.nt-summer-hero-v63 {
  padding-top: 92px !important;
}

.nt-summer-hero-shell-v63 {
  height: 740px !important;
  min-height: 740px !important;
  max-height: none !important;
}

/* Keep the left content clean and aligned */
.nt-summer-copy-v63 {
  top: 26px !important;
  left: 40px !important;
  width: 465px !important;
  min-height: 0 !important;
}

/* Logo up, but not pushing the layout down */
.nt-program-logo-badge-v66 {
  width: 220px !important;
  height: 68px !important;
  transform: translateY(-18px) !important;
  margin-bottom: -10px !important;
}

/* Reduce the heading slightly so it breathes */
.nt-summer-copy-v63 h1 {
  margin: 0 0 18px !important;
  max-width: 445px !important;
  font-size: 76px !important;
  line-height: 0.94 !important;
  letter-spacing: -0.058em !important;
}

.nt-summer-copy-v63 h1 span:first-child {
  color: #f61db8 !important;
}

.nt-summer-copy-v63 h1 span:last-child {
  color: #6b28d9 !important;
}

/* Keep paragraph compact and above the buttons */
.nt-summer-copy-v63 p {
  margin: 0 !important;
  max-width: 435px !important;
  font-size: 19px !important;
  line-height: 28px !important;
  color: #342852 !important;
  font-weight: 650 !important;
}

/* Most important: stop absolute button overlap — let buttons sit naturally below the text */
.nt-summer-cta-v63 {
  position: static !important;
  margin-top: 26px !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
}

.nt-register-btn-v63,
.nt-date-pill-v63 {
  height: 56px !important;
}

.nt-register-btn-v63 {
  width: 210px !important;
  font-size: 18px !important;
}

.nt-date-pill-v63 {
  width: 206px !important;
  font-size: 17px !important;
  border: 2px solid #6b28d9 !important;
  color: #6b28d9 !important;
}

/* Put the 5 white stat boxes back inside the first page */
.nt-summer-stats-v63 {
  top: 535px !important;
  left: 40px !important;
  width: calc(100% - 80px) !important;
  height: 112px !important;
}

/* Available For stays visible under the boxes */
.nt-available-strip-v63 {
  top: 672px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* Keep photo/cards balanced */
.nt-summer-photo-v63 {
  top: 42px !important;
}

/* Do not let the floating image cards cover too much of the picture */
.nt-photo-card-subjects-v84 {
  left: -132px !important;
}

.nt-photo-card-languages-v84 {
  right: -110px !important;
}

.nt-photo-card-skills-v84 {
  right: -76px !important;
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-hero-v63 {
    padding-top: 88px !important;
  }

  .nt-summer-hero-shell-v63 {
    height: 720px !important;
    min-height: 720px !important;
  }

  .nt-summer-copy-v63 {
    top: 20px !important;
  }

  .nt-summer-copy-v63 h1 {
    font-size: 72px !important;
    line-height: 0.93 !important;
  }

  .nt-summer-copy-v63 p {
    font-size: 18px !important;
    line-height: 27px !important;
  }

  .nt-summer-cta-v63 {
    margin-top: 22px !important;
  }

  .nt-summer-stats-v63 {
    top: 515px !important;
  }

  .nt-available-strip-v63 {
    top: 646px !important;
  }
}

@media (max-width: 1100px) {
  .nt-summer-copy-v63 {
    width: 100% !important;
  }

  .nt-summer-cta-v63 {
    position: relative !important;
    margin-top: 24px !important;
  }
}

/* V89: keep all five white stat boxes fully visible on first screen */
.nt-summer-hero-v63 {
  padding-top: 82px !important;
  padding-bottom: 10px !important;
  align-items: flex-start !important;
}

.nt-summer-hero-shell-v63 {
  height: 705px !important;
  min-height: 705px !important;
  max-height: none !important;
}

/* Bring text area up and make it compact without button overlap */
.nt-summer-copy-v63 {
  top: 18px !important;
  left: 40px !important;
  width: 465px !important;
}

.nt-program-logo-badge-v66 {
  transform: translateY(-18px) !important;
  margin-bottom: -14px !important;
}

.nt-summer-copy-v63 h1 {
  margin: 0 0 16px !important;
  max-width: 440px !important;
  font-size: 70px !important;
  line-height: 0.94 !important;
  letter-spacing: -0.058em !important;
}

.nt-summer-copy-v63 p {
  max-width: 430px !important;
  font-size: 18px !important;
  line-height: 26px !important;
}

/* Buttons stay below text, but compact enough for the boxes to fit */
.nt-summer-cta-v63 {
  position: static !important;
  margin-top: 20px !important;
  gap: 16px !important;
}

.nt-register-btn-v63,
.nt-date-pill-v63 {
  height: 52px !important;
}

.nt-register-btn-v63 {
  width: 198px !important;
  font-size: 17px !important;
}

.nt-date-pill-v63 {
  width: 198px !important;
  font-size: 16px !important;
}

/* Keep picture aligned with the tighter hero */
.nt-summer-photo-v63 {
  top: 30px !important;
  height: 365px !important;
}

/* Main fix: move the five boxes up and reduce height slightly so they show fully */
.nt-summer-stats-v63 {
  top: 470px !important;
  left: 40px !important;
  width: calc(100% - 80px) !important;
  height: 100px !important;
  gap: 14px !important;
}

.nt-stat-card-v63 {
  height: 100px !important;
  padding: 12px 14px !important;
  gap: 10px !important;
}

.nt-stat-icon-v63 {
  width: 42px !important;
  height: 42px !important;
  flex-basis: 42px !important;
  border-radius: 13px !important;
}

.nt-stat-icon-v63 svg {
  width: 24px !important;
  height: 24px !important;
}

.nt-stat-card-v63 strong {
  font-size: 19px !important;
  line-height: 1.08 !important;
  width: auto !important;
}

.nt-stat-card-v63:nth-child(3) strong,
.nt-stat-card-v63:nth-child(4) strong,
.nt-stat-card-v63:nth-child(5) strong {
  font-size: 16px !important;
}

.nt-stat-card-v63 small {
  font-size: 12px !important;
  width: auto !important;
}

/* Available row stays below, but no longer pushes the boxes out */
.nt-available-strip-v63 {
  top: 595px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

.nt-available-heading-v63 {
  height: 22px !important;
}

.nt-flag-row-v63 {
  margin-top: 12px !important;
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-hero-v63 {
    padding-top: 78px !important;
  }

  .nt-summer-hero-shell-v63 {
    height: 685px !important;
    min-height: 685px !important;
  }

  .nt-summer-copy-v63 h1 {
    font-size: 68px !important;
  }

  .nt-summer-copy-v63 p {
    font-size: 17px !important;
    line-height: 25px !important;
  }

  .nt-summer-cta-v63 {
    margin-top: 18px !important;
  }

  .nt-summer-photo-v63 {
    height: 350px !important;
  }

  .nt-summer-stats-v63 {
    top: 452px !important;
  }

  .nt-available-strip-v63 {
    top: 574px !important;
  }
}

/* V90: move iSummer logo down and keep Available For below first screen */
.nt-program-logo-badge-v66 {
  transform: translateY(10px) !important;
  margin-bottom: 10px !important;
}

/* Keep hero clean and the 5 white boxes visible */
.nt-summer-hero-shell-v63 {
  height: 820px !important;
  min-height: 820px !important;
  max-height: none !important;
}

.nt-summer-copy-v63 {
  top: 24px !important;
}

.nt-summer-stats-v63 {
  top: 490px !important;
}

/* Hide Available For from the first screen, but keep it inside the first section */
.nt-available-strip-v63 {
  top: 725px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-program-logo-badge-v66 {
    transform: translateY(8px) !important;
    margin-bottom: 8px !important;
  }

  .nt-summer-hero-shell-v63 {
    height: 800px !important;
    min-height: 800px !important;
  }

  .nt-summer-stats-v63 {
    top: 482px !important;
  }

  .nt-available-strip-v63 {
    top: 705px !important;
  }
}

/* V91: bring Available For up slightly, but keep it below the first screen */
.nt-available-strip-v63 {
  top: 680px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-available-strip-v63 {
    top: 665px !important;
  }
}

/* V92: make the picture frame whiter and slightly increase the stroke */
.nt-summer-photo-v63 {
  background: #ffffff !important;
  border: 3px solid #ffffff !important;
  box-shadow: 0 10px 24px rgba(31, 13, 66, 0.08) !important;
}

.nt-summer-photo-v63 img {
  border: 3px solid #ffffff !important;
  background: #ffffff !important;
}

@media (max-width: 1100px) {
  .nt-summer-photo-v63 {
    border: 2.5px solid #ffffff !important;
  }

  .nt-summer-photo-v63 img {
    border: 2.5px solid #ffffff !important;
  }
}

/* V93: move iSummer logo up slightly, but keep space from navbar */
.nt-program-logo-badge-v66 {
  transform: translateY(4px) !important;
  margin-bottom: 4px !important;
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-program-logo-badge-v66 {
    transform: translateY(3px) !important;
    margin-bottom: 3px !important;
  }
}

/* V94: make only "Summer" pink in the hero heading */
.nt-summer-copy-v63 h1 .nt-line-online-v94 {
  display: block;
  color: #f61db8 !important;
}

.nt-summer-copy-v63 h1 .nt-line-summer-classes-v94 {
  display: block;
  color: #6b28d9 !important;
}

.nt-summer-copy-v63 h1 .nt-word-summer-v94 {
  color: #f61db8 !important;
}

.nt-summer-copy-v63 h1 .nt-word-classes-v94 {
  color: #6b28d9 !important;
}



/* V95: Page 4 Prices and Plans rebuilt from Figma node 436:352 */
.nt-pricing-v95{min-height:100vh;position:relative;overflow:hidden;background:#fff;padding:58px 56px 44px;display:flex;align-items:center;justify-content:center}
.nt-price-wash-purple-v95,.nt-price-wash-teal-v95{position:absolute;border-radius:999px;pointer-events:none}.nt-price-wash-purple-v95{left:-128px;top:-146px;width:470px;height:470px;background:rgba(164,110,244,.12)}.nt-price-wash-teal-v95{right:-62px;bottom:-168px;width:420px;height:420px;background:rgba(97,220,213,.13)}
.nt-pricing-content-v95{width:min(1280px,100%);position:relative;z-index:2}.nt-pricing-header-v95{text-align:center;margin:0 auto 28px}
.nt-pricing-badge-v95{min-width:190px;height:38px;padding:8px 15px;border-radius:19px;border:1px solid #61dcd5;background:#f8ffff;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#159e9a;font-family:var(--nt-heading-font)!important;font-size:16px;line-height:21px;font-weight:700}.nt-pricing-badge-v95 i{width:10px;height:10px;border-radius:50%;background:#61dcd5}
.nt-pricing-header-v95 h2{margin:18px auto 10px;color:#6b28d9;font-family:var(--nt-heading-font)!important;font-size:clamp(48px,5vw,64px);line-height:72px;letter-spacing:-.045em;font-weight:800}.nt-pricing-header-v95 p{margin:0;color:#40335f;font-family:var(--nt-body-font)!important;font-size:24px;line-height:28px;font-weight:500}
.nt-price-cards-v95{display:grid;grid-template-columns:repeat(4,303px);justify-content:center;gap:22px}.nt-price-card-v95{height:440px;width:303px;border-radius:18px;border:1px solid #e6daf7;background:#fff;box-shadow:0 10px 24px rgba(43,26,82,.1);overflow:hidden;display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(34px);transition:opacity .55s ease,transform .55s ease,box-shadow .25s ease}.nt-price-card-v95.is-visible{opacity:1;transform:translateY(0)}.nt-price-card-v95:hover,.nt-price-card-v95:focus-visible{transform:translateY(-8px);box-shadow:0 18px 38px rgba(43,26,82,.16);outline:none}
.nt-price-card-spacer-v95{height:44px;width:100%;background:#fff}.nt-price-card-head-v95{width:100%;height:66px;display:flex;align-items:center;justify-content:center;background:var(--price-accent)}.nt-price-card-head-v95 h3{margin:0;color:#fff;font-family:var(--nt-heading-font)!important;font-size:19px;line-height:23px;text-align:center;font-weight:800}
.nt-price-card-body-v95{width:100%;height:272px;padding:12px 25px 10px;display:flex;flex-direction:column;gap:6px}.nt-price-row-v95{min-height:42px;display:flex;align-items:flex-start;gap:8px;color:#20172f}.nt-price-row-v95:nth-child(2){min-height:48px}.nt-price-row-v95:nth-child(3){min-height:56px}.nt-price-row-v95:nth-child(4){min-height:52px}
.nt-price-row-v95 strong{display:block;color:#20172f;font-family:var(--nt-heading-font)!important;font-size:10.5px;line-height:13px;font-weight:800;margin-bottom:1px}.nt-price-row-v95 p{margin:0;width:214px;color:#20172f;font-family:var(--nt-body-font)!important;font-size:11.6px;line-height:14.2px;font-weight:500}.nt-price-row-v95 b{font-family:var(--nt-heading-font)!important;font-weight:700}
.nt-price-icon-v95{width:30px;height:30px;flex:0 0 30px;position:relative;border-radius:9px;display:grid;place-items:center;color:var(--price-accent);background:var(--price-soft);font-family:var(--nt-heading-font)!important;font-weight:800}.nt-icon-calendar-v95:before{content:"";width:17px;height:15px;border:1.7px solid currentColor;border-radius:3px}.nt-icon-calendar-v95:after{content:"";position:absolute;left:8px;top:14px;width:14px;height:1.6px;border-radius:1px;background:currentColor}.nt-icon-location-v95:before{content:"⊕";font-size:18px}.nt-icon-money-v95:before{content:"$";font-size:22px}.nt-icon-city-v95:before{content:"";position:absolute;left:5px;top:11px;width:6px;height:17px;border-radius:1.5px;background:currentColor;box-shadow:8px -5px 0 1.5px currentColor,18px 3px 0 0 currentColor}
.nt-price-select-v95{width:249px;height:40px;border-radius:9px;background:var(--price-accent);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-family:var(--nt-heading-font)!important;font-size:16px;line-height:21px;font-weight:800;transition:transform .22s ease,filter .22s ease}.nt-price-select-v95:hover{transform:translateY(-2px);filter:brightness(1.06)}
.nt-price-teal-v95{--price-accent:#18bbb5;--price-soft:rgba(24,187,181,.12)}.nt-price-purple-v95{--price-accent:#6b28d9;--price-soft:rgba(107,40,217,.12)}.nt-price-pink-v95{--price-accent:#f61db8;--price-soft:rgba(246,29,184,.12)}
.nt-batch-guide-v95{margin:20px auto 0;width:min(1040px,100%)}.nt-batch-title-v95{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:18px}.nt-batch-title-v95 span{width:330px;max-width:30%;height:1px;border-radius:1px;background:rgba(164,110,244,.26)}.nt-batch-title-v95 strong{width:190px;color:#2a055f;font-family:var(--nt-heading-font)!important;font-size:18px;line-height:23px;font-weight:800;text-align:center}
.nt-batch-row-v95{display:grid;grid-template-columns:repeat(3,318px);justify-content:center;gap:42px}.nt-batch-row-v95 article{min-height:74px;display:flex;align-items:center;gap:12px;transition:transform .22s ease}.nt-batch-row-v95 article:hover{transform:translateY(-3px)}.nt-batch-row-v95 b{width:46px;height:46px;flex:0 0 46px;border-radius:23px;display:grid;place-items:center;font-family:var(--nt-heading-font)!important;font-size:20px;line-height:26px;font-weight:800}.nt-batch-row-v95 article:nth-child(1) b{background:rgba(97,220,213,.16);color:#18bbb5}.nt-batch-row-v95 article:nth-child(2) b{background:rgba(164,110,244,.16);color:#6b28d9}.nt-batch-row-v95 article:nth-child(3) b{background:rgba(244,39,134,.16);color:#f61db8}.nt-batch-row-v95 article strong{display:block;color:#2a055f;font-family:var(--nt-heading-font)!important;font-size:16px;line-height:21px;font-weight:800}.nt-batch-row-v95 article p{margin:2px 0 0;color:#4d4168;font-family:var(--nt-body-font)!important;font-size:14.5px;line-height:19px;font-weight:500}
.nt-price-reveal-v95{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.nt-price-reveal-v95.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1180px){.nt-pricing-v95{padding:90px 22px 44px}.nt-price-cards-v95{grid-template-columns:repeat(2,303px)}.nt-batch-row-v95{grid-template-columns:1fr;max-width:520px;gap:18px;margin:0 auto}}
@media(max-width:680px){.nt-pricing-header-v95 h2{font-size:42px;line-height:46px}.nt-pricing-header-v95 p{font-size:18px}.nt-price-cards-v95{grid-template-columns:1fr;justify-items:center}.nt-price-card-v95{width:min(303px,100%)}.nt-batch-title-v95 span{display:none}}

/* V96: location dropdown pricing on page 4 */
.nt-price-card-v96 .nt-location-row-v96 {
  min-height: 72px !important;
}

.nt-price-card-v96 .nt-price-result-row-v96 {
  min-height: 50px !important;
}

.nt-price-location-v96 {
  width: 184px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(107, 40, 217, 0.18);
  background: #ffffff;
  color: #20172f;
  font-family: var(--nt-body-font) !important;
  font-size: 11.6px;
  font-weight: 700;
  line-height: 1;
  padding: 0 9px;
  margin: 1px 0 4px;
  outline: none;
  cursor: pointer;
}

.nt-price-location-v96:focus {
  border-color: var(--price-accent);
  box-shadow: 0 0 0 3px var(--price-soft);
}

.nt-location-row-v96 small {
  display: block;
  width: 214px;
  color: #6b617a;
  font-family: var(--nt-body-font) !important;
  font-size: 10.6px;
  line-height: 13px;
  font-weight: 500;
}

.nt-price-result-v96 {
  min-height: 28px;
  padding-top: 1px;
  color: #6b617a !important;
  font-weight: 600 !important;
}

.nt-price-result-v96.is-visible-price {
  color: var(--price-accent) !important;
  font-family: var(--nt-heading-font) !important;
  font-size: 16px !important;
  line-height: 20px !important;
  font-weight: 800 !important;
}

.nt-price-card-v96.has-selected-price {
  border-color: color-mix(in srgb, var(--price-accent) 48%, #e6daf7);
}

.nt-price-card-v96.has-selected-price .nt-price-result-row-v96 .nt-price-icon-v95 {
  box-shadow: 0 0 0 5px var(--price-soft);
}

@media (max-width: 680px) {
  .nt-price-location-v96 {
    width: 100%;
    max-width: 184px;
  }
}

/* V97: fix pricing card date and city icons alignment */
.nt-price-icon-v95 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

/* Rebuild the date icon so it sits centered inside the icon frame */
.nt-icon-calendar-v95::before {
  content: "" !important;
  position: absolute !important;
  left: 6px !important;
  top: 8px !important;
  width: 18px !important;
  height: 16px !important;
  border: 1.7px solid currentColor !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

.nt-icon-calendar-v95::after {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 13px !important;
  width: 14px !important;
  height: 1.6px !important;
  border-radius: 1px !important;
  background: currentColor !important;
  box-shadow:
    2px -6px 0 -0.1px currentColor,
    10px -6px 0 -0.1px currentColor !important;
}

/* Rebuild the cities icon as a centred mini skyline */
.nt-icon-city-v95::before {
  content: "" !important;
  position: absolute !important;
  left: 6px !important;
  bottom: 6px !important;
  width: 5px !important;
  height: 14px !important;
  border-radius: 2px 2px 1px 1px !important;
  background: currentColor !important;
  box-shadow:
    8px -5px 0 1px currentColor,
    18px 2px 0 0 currentColor !important;
}

.nt-icon-city-v95::after {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  bottom: 6px !important;
  width: 21px !important;
  height: 2px !important;
  border-radius: 2px !important;
  background: currentColor !important;
  opacity: 0.28 !important;
}

/* Make the location and money icons visually centred too */
.nt-icon-location-v95::before,
.nt-icon-money-v95::before {
  display: block !important;
  transform: translateY(-1px) !important;
}

/* V98: use cleaner SVG icons aligned inside the logo frames */
.nt-price-icon-v95 {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.nt-price-icon-v95::before,
.nt-price-icon-v95::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  margin: auto !important;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-repeat: no-repeat !important;
  mask-position: center !important;
  mask-size: contain !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

.nt-icon-calendar-v95::before {
  width: 18px !important;
  height: 18px !important;
  -webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Crect%20x%3D%223.5%22%20y%3D%225.5%22%20width%3D%2217%22%20height%3D%2215%22%20rx%3D%222.5%22%20ry%3D%222.5%22/%3E%0A%20%20%3Cline%20x1%3D%2216%22%20y1%3D%223.8%22%20x2%3D%2216%22%20y2%3D%228%22/%3E%0A%20%20%3Cline%20x1%3D%228%22%20y1%3D%223.8%22%20x2%3D%228%22%20y2%3D%228%22/%3E%0A%20%20%3Cline%20x1%3D%223.5%22%20y1%3D%2210%22%20x2%3D%2220.5%22%20y2%3D%2210%22/%3E%0A%3C/svg%3E%0A") !important;
  mask-image: url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%0A%20%20%3Crect%20x%3D%223.5%22%20y%3D%225.5%22%20width%3D%2217%22%20height%3D%2215%22%20rx%3D%222.5%22%20ry%3D%222.5%22/%3E%0A%20%20%3Cline%20x1%3D%2216%22%20y1%3D%223.8%22%20x2%3D%2216%22%20y2%3D%228%22/%3E%0A%20%20%3Cline%20x1%3D%228%22%20y1%3D%223.8%22%20x2%3D%228%22%20y2%3D%228%22/%3E%0A%20%20%3Cline%20x1%3D%223.5%22%20y1%3D%2210%22%20x2%3D%2220.5%22%20y2%3D%2210%22/%3E%0A%3C/svg%3E%0A") !important;
}

.nt-icon-calendar-v95::after {
  display: none !important;
}

.nt-icon-location-v95::before {
  width: 16px !important;
  height: 16px !important;
  -webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%0A%20%20%3Cpath%20d%3D%22M12%2021c-.3%200-.58-.12-.79-.33C10.41%2019.88%205%2014.45%205%2010.2%205%206.23%208.13%203%2012%203s7%203.23%207%207.2c0%204.25-5.41%209.68-6.21%2010.47-.21.21-.49.33-.79.33zm0-15.8c-2.62%200-4.75%202.24-4.75%205%200%202.47%202.93%206.06%204.75%207.95%201.82-1.89%204.75-5.48%204.75-7.95%200-2.76-2.13-5-4.75-5zm0%207.2a2.35%202.35%200%201%201%200-4.7%202.35%202.35%200%200%201%200%204.7z%22/%3E%0A%3C/svg%3E%0A") !important;
  mask-image: url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%0A%20%20%3Cpath%20d%3D%22M12%2021c-.3%200-.58-.12-.79-.33C10.41%2019.88%205%2014.45%205%2010.2%205%206.23%208.13%203%2012%203s7%203.23%207%207.2c0%204.25-5.41%209.68-6.21%2010.47-.21.21-.49.33-.79.33zm0-15.8c-2.62%200-4.75%202.24-4.75%205%200%202.47%202.93%206.06%204.75%207.95%201.82-1.89%204.75-5.48%204.75-7.95%200-2.76-2.13-5-4.75-5zm0%207.2a2.35%202.35%200%201%201%200-4.7%202.35%202.35%200%200%201%200%204.7z%22/%3E%0A%3C/svg%3E%0A") !important;
}

.nt-icon-location-v95::after {
  display: none !important;
}

.nt-icon-money-v95::before {
  width: 16px !important;
  height: 16px !important;
  -webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%0A%20%20%3Cpath%20d%3D%22M12.7%203.5c-.11%200-.2.09-.2.2v1.14c-2.2.15-4.24%201.27-4.24%203.73%200%202.54%202.11%203.27%204.24%203.74v4.21c-1.22-.14-2.42-.6-3.39-1.35a.2.2%200%200%200-.29.04l-1.14%201.55a.2.2%200%200%200%20.03.27c1.33%201.07%203%201.74%204.79%201.93v1.19c0%20.11.09.2.2.2h1.45c.11%200%20.2-.09.2-.2v-1.25c2.45-.27%204.31-1.67%204.31-4.08%200-2.56-2.03-3.34-4.31-3.84V6.97c.96.14%201.85.5%202.65%201.03.09.06.21.04.27-.04l1.08-1.51a.2.2%200%200%200-.04-.28c-1.1-.84-2.48-1.35-3.96-1.5V3.7a.2.2%200%200%200-.2-.2zM12.5%2010.4c-1.13-.26-1.84-.62-1.84-1.52%200-.86.7-1.48%201.84-1.64zm1.85%202.4c1.26.3%201.97.7%201.97%201.66%200%201.05-.83%201.67-1.97%201.84z%22/%3E%0A%3C/svg%3E%0A") !important;
  mask-image: url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%0A%20%20%3Cpath%20d%3D%22M12.7%203.5c-.11%200-.2.09-.2.2v1.14c-2.2.15-4.24%201.27-4.24%203.73%200%202.54%202.11%203.27%204.24%203.74v4.21c-1.22-.14-2.42-.6-3.39-1.35a.2.2%200%200%200-.29.04l-1.14%201.55a.2.2%200%200%200%20.03.27c1.33%201.07%203%201.74%204.79%201.93v1.19c0%20.11.09.2.2.2h1.45c.11%200%20.2-.09.2-.2v-1.25c2.45-.27%204.31-1.67%204.31-4.08%200-2.56-2.03-3.34-4.31-3.84V6.97c.96.14%201.85.5%202.65%201.03.09.06.21.04.27-.04l1.08-1.51a.2.2%200%200%200-.04-.28c-1.1-.84-2.48-1.35-3.96-1.5V3.7a.2.2%200%200%200-.2-.2zM12.5%2010.4c-1.13-.26-1.84-.62-1.84-1.52%200-.86.7-1.48%201.84-1.64zm1.85%202.4c1.26.3%201.97.7%201.97%201.66%200%201.05-.83%201.67-1.97%201.84z%22/%3E%0A%3C/svg%3E%0A") !important;
}

.nt-icon-money-v95::after {
  display: none !important;
}

.nt-icon-city-v95::before {
  width: 18px !important;
  height: 18px !important;
  -webkit-mask-image: url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%0A%20%20%3Cpath%20d%3D%22M3%2020.5h18v-1.7h-1.5V9.2a.9.9%200%200%200-.9-.9h-4.1V4.8a.9.9%200%200%200-.9-.9H6.8a.9.9%200%200%200-.9.9v14H4.5V12a.9.9%200%200%200-.9-.9H3zM8%206.2h4.4v12.6H8zm2%202v1.4h1.1V8.2zm-2%200v1.4h1.1V8.2zm2%203v1.4h1.1v-1.4zm-2%200v1.4h1.1v-1.4zm2%203v1.4h1.1v-1.4zm-2%200v1.4h1.1v-1.4zM15.6%2010h2.2v8.8h-2.2zm.4%201.9v1.2h1.3v-1.2zm0%202.5v1.2h1.3v-1.2z%22/%3E%0A%3C/svg%3E%0A") !important;
  mask-image: url("data:image/svg+xml,%0A%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22black%22%3E%0A%20%20%3Cpath%20d%3D%22M3%2020.5h18v-1.7h-1.5V9.2a.9.9%200%200%200-.9-.9h-4.1V4.8a.9.9%200%200%200-.9-.9H6.8a.9.9%200%200%200-.9.9v14H4.5V12a.9.9%200%200%200-.9-.9H3zM8%206.2h4.4v12.6H8zm2%202v1.4h1.1V8.2zm-2%200v1.4h1.1V8.2zm2%203v1.4h1.1v-1.4zm-2%200v1.4h1.1v-1.4zm2%203v1.4h1.1v-1.4zm-2%200v1.4h1.1v-1.4zM15.6%2010h2.2v8.8h-2.2zm.4%201.9v1.2h1.3v-1.2zm0%202.5v1.2h1.3v-1.2z%22/%3E%0A%3C/svg%3E%0A") !important;
}

.nt-icon-city-v95::after {
  display: none !important;
}

/* V101: Figma exact What We Offer section from node 436:350 */
.nt-figma-offer-v101 {
  min-height: 100vh;
  background: #ffffff;
  padding: 54px 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.nt-figma-offer-shell-v101 {
  position: relative;
  width: 1300px;
  max-width: 100%;
  height: 916px;
  padding: 34px;
  border-radius: 28px;
  background: #ffffff;
  overflow: hidden;
}

.nt-figma-accent-v101 {
  position: absolute;
  left: 34px;
  top: 34px;
  width: 220px;
  height: 150px;
  pointer-events: none;
}

.nt-accent-square-one-v101,
.nt-accent-square-two-v101 {
  position: absolute;
  width: 48px;
  height: 48px;
  border: 1.2px solid rgba(164,110,244,0.36);
  border-radius: 10px;
}

.nt-accent-square-one-v101 {
  left: 18px;
  top: 16px;
}

.nt-accent-square-two-v101 {
  left: 48px;
  top: 42px;
  border-color: rgba(97,220,213,0.46);
}

.nt-accent-dots-v101 {
  position: absolute;
  left: 96px;
  top: 0;
  width: 74px;
  height: 54px;
  background-image: radial-gradient(circle, rgba(164,110,244,0.34) 2px, transparent 2px);
  background-size: 13px 13px;
}

.nt-accent-plus-v101 {
  position: absolute;
  left: 156px;
  top: 70px;
  width: 14px;
  height: 14px;
}

.nt-accent-plus-v101::before,
.nt-accent-plus-v101::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 0;
  width: 2px;
  height: 14px;
  border-radius: 2px;
  background: #f61db8;
}

.nt-accent-plus-v101::after {
  transform: rotate(90deg);
}

.nt-figma-offer-top-v101 {
  position: relative;
  width: 1232px;
  max-width: 100%;
  height: 300px;
}

.nt-figma-offer-copy-v101 {
  position: absolute;
  left: 207px;
  top: 0;
  width: 818px;
  height: 300px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.nt-figma-pill-v101 {
  height: 38px;
  padding: 9px 14px;
  border-radius: 18px;
  border: 1.3px solid rgba(97,220,213,0.9);
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #2a055f;
  font-family: var(--nt-heading-font) !important;
  font-size: 14px;
  line-height: normal;
  font-weight: 700;
  white-space: nowrap;
}

.nt-figma-offer-copy-v101 h2 {
  position: absolute;
  left: 50%;
  top: 75px;
  transform: translateX(-50%);
  width: 770px;
  height: 96px;
  margin: 0;
  color: #6b28d9;
  font-family: var(--nt-heading-font) !important;
  font-size: 72px;
  line-height: 85px;
  letter-spacing: -0.045em;
  font-weight: 800;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nt-figma-offer-copy-v101 p {
  position: absolute;
  left: 50%;
  top: 210px;
  transform: translateX(-50%);
  width: 770px;
  height: 74px;
  margin: 0;
  color: #493d64;
  font-family: var(--nt-body-font) !important;
  font-size: 20px;
  line-height: 27px;
  font-weight: 500;
  text-align: center;
  white-space: normal;
}

.nt-figma-feature-row-v101 {
  position: relative;
  width: 1232px;
  max-width: 100%;
  height: 170px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
}

.nt-figma-feature-v101 {
  width: 390px;
  height: 150px;
  padding: 18px 20px;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform .22s ease, box-shadow .22s ease;
}

.nt-figma-feature-v101:hover {
  transform: translateY(-5px);
}

.nt-figma-feature-pill-v101 {
  width: 350px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--nt-heading-font) !important;
  font-size: 18px;
  line-height: normal;
  font-weight: 800;
  text-align: center;
}

.nt-figma-feature-v101 p {
  margin: 0;
  width: 326px;
  height: 50px;
  color: #493d64;
  font-family: var(--nt-body-font) !important;
  font-size: 17px;
  line-height: 24px;
  font-weight: 500;
}

.nt-figma-feature-subjects-v101 {
  background: #f4fffd;
  border: 1.4px solid rgba(97,220,213,0.72);
  box-shadow: 0 10px 24px rgba(97,220,213,0.08);
}

.nt-figma-feature-subjects-v101 .nt-figma-feature-pill-v101 {
  background: #61dcd5;
  color: #2a055f;
}

.nt-figma-feature-languages-v101 {
  background: #f4eeff;
  border: 1.4px solid rgba(164,110,244,0.72);
  box-shadow: 0 10px 24px rgba(164,110,244,0.08);
}

.nt-figma-feature-languages-v101 .nt-figma-feature-pill-v101 {
  background: #6b28d9;
  color: #ffffff;
}

.nt-figma-feature-skills-v101 {
  background: #fff3f9;
  border: 1.4px solid #f61db8;
  box-shadow: 0 10px 24px rgba(244,39,134,0.08);
}

.nt-figma-feature-skills-v101 .nt-figma-feature-pill-v101 {
  background: #f61db8;
  color: #ffffff;
}

.nt-figma-support-v101 {
  position: absolute;
  left: 34px;
  top: 586px;
  width: 1232px;
  height: 188px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.nt-figma-support-heading-v101 {
  width: 960px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.nt-figma-support-heading-v101 span {
  width: 340px;
  height: 1px;
  background: rgba(164,110,244,0.34);
}

.nt-figma-support-heading-v101 span:last-child {
  background: rgba(97,220,213,0.38);
}

.nt-figma-support-heading-v101 strong {
  width: 203px;
  height: 28px;
  color: #2a055f;
  font-family: var(--nt-heading-font) !important;
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nt-figma-support-row-v101 {
  width: 990px;
  height: 118px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.nt-figma-chip-v101 {
  width: 314px;
  height: 104px;
  padding: 18px;
  border-radius: 22px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  transition: transform .22s ease, box-shadow .22s ease;
}

.nt-figma-chip-v101:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 22px rgba(43,26,82,0.08);
}

.nt-figma-chip-v101 b {
  width: 54px;
  height: 54px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--nt-heading-font) !important;
  font-size: 20px;
  line-height: 24px;
  font-weight: 700;
}

.nt-figma-chip-v101 div {
  width: 210px;
  height: 68px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}

.nt-figma-chip-v101 strong {
  display: flex;
  align-items: center;
  width: 210px;
  height: 24px;
  color: #2a055f;
  font-family: var(--nt-heading-font) !important;
  font-size: 18px;
  line-height: 23px;
  font-weight: 700;
}

.nt-figma-chip-v101 p {
  margin: 0;
  width: 210px;
  height: 38px;
  color: #493d64;
  font-family: var(--nt-body-font) !important;
  font-size: 13.2px;
  line-height: 18px;
  font-weight: 400;
  display: flex;
  align-items: center;
}

.nt-figma-chip-schedule-v101 {
  border: 1.4px solid rgba(97,220,213,0.72);
}

.nt-figma-chip-schedule-v101 b {
  background: #61dcd5;
  color: #2a055f;
}

.nt-figma-chip-expert-v101 {
  border: 1.4px solid rgba(164,110,244,0.72);
}

.nt-figma-chip-expert-v101 b {
  background: #6b28d9;
  color: #ffffff;
}

.nt-figma-chip-duration-v101 {
  border: 1.4px solid #f61db8;
}

.nt-figma-chip-duration-v101 b {
  background: #f61db8;
  color: #ffffff;
}

@media (max-width: 1180px) {
  .nt-figma-offer-v101 {
    padding: 72px 22px 44px;
  }

  .nt-figma-offer-shell-v101 {
    height: auto;
    min-height: 916px;
  }

  .nt-figma-offer-copy-v101 {
    position: relative;
    left: auto;
    width: 100%;
    height: auto;
    min-height: 270px;
  }

  .nt-figma-offer-copy-v101 h2,
  .nt-figma-offer-copy-v101 p {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 100%;
  }

  .nt-figma-offer-copy-v101 h2 {
    height: auto;
    margin-top: 24px;
    font-size: 48px;
    line-height: 1.1;
  }

  .nt-figma-offer-copy-v101 p {
    height: auto;
    margin-top: 18px;
  }

  .nt-figma-feature-row-v101,
  .nt-figma-support-v101,
  .nt-figma-support-row-v101 {
    width: 100%;
  }

  .nt-figma-feature-row-v101 {
    height: auto;
    flex-direction: column;
  }

  .nt-figma-feature-v101,
  .nt-figma-feature-pill-v101,
  .nt-figma-feature-v101 p {
    width: 100%;
  }

  .nt-figma-support-v101 {
    position: relative;
    left: auto;
    top: auto;
    height: auto;
    margin-top: 34px;
  }

  .nt-figma-support-heading-v101 {
    width: 100%;
  }

  .nt-figma-support-heading-v101 span {
    width: 24%;
  }

  .nt-figma-support-row-v101 {
    height: auto;
    flex-direction: column;
  }
}

@media (max-width: 700px) {
  .nt-figma-offer-shell-v101 {
    padding: 28px 18px;
  }

  .nt-figma-offer-copy-v101 h2 {
    font-size: 38px;
  }

  .nt-figma-support-heading-v101 span {
    display: none;
  }

  .nt-figma-chip-v101 {
    width: 100%;
  }
}

/* V101: hide only page 4 location helper text, keep first-page stat wording */
.nt-location-row-v96 small {
  display: none !important;
}

.nt-price-card-v96 .nt-location-row-v96 {
  min-height: 58px !important;
}

.nt-price-location-v96 {
  margin: 3px 0 0 !important;
}

/* V102: What We Offer heading update + hover-open cards */
.nt-figma-support-heading-v101 strong {
  width: 260px !important;
  white-space: nowrap !important;
}

.nt-figma-feature-row-v101 {
  align-items: flex-start;
}

.nt-figma-feature-v101 {
  height: 108px !important;
  cursor: pointer;
  justify-content: flex-start;
  transition: transform .28s ease, box-shadow .28s ease, height .32s ease, background-color .28s ease;
}

.nt-figma-feature-v101 .nt-figma-feature-pill-v101 {
  transition: transform .28s ease, box-shadow .28s ease;
}

.nt-figma-feature-v101 p {
  opacity: 0;
  transform: translateY(10px);
  max-height: 0;
  overflow: hidden;
  margin-top: -2px;
  transition: opacity .25s ease, transform .28s ease, max-height .3s ease;
}

.nt-figma-feature-v101:hover,
.nt-figma-feature-v101:focus-visible {
  height: 150px !important;
  transform: translateY(-6px);
  outline: none;
}

.nt-figma-feature-v101:hover p,
.nt-figma-feature-v101:focus-visible p {
  opacity: 1;
  transform: translateY(0);
  max-height: 80px;
}

.nt-figma-feature-v101:hover .nt-figma-feature-pill-v101,
.nt-figma-feature-v101:focus-visible .nt-figma-feature-pill-v101 {
  box-shadow: 0 8px 18px rgba(42, 5, 95, 0.08);
}

@media (max-width: 1180px) {
  .nt-figma-feature-v101 {
    height: 150px !important;
  }

  .nt-figma-feature-v101 p {
    opacity: 1;
    transform: translateY(0);
    max-height: 90px;
  }
}

/* V106: keep the Figma layout, but make the 3 frames open like v94 */
.nt-figma-feature-row-v101 {
  height: 170px !important;
  align-items: flex-start !important;
}

.nt-v106-hover-card {
  height: 150px !important;
  min-height: 150px !important;
  width: 390px !important;
  padding: 18px 20px !important;
  gap: 14px !important;
  position: relative !important;
  cursor: pointer !important;
  overflow: hidden !important;
  z-index: 2 !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: height .34s ease, transform .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}

/* Keep the original Figma frame look */
.nt-v106-hover-card.nt-figma-feature-subjects-v101 {
  background: #f4fffd !important;
  border: 1.4px solid rgba(97,220,213,0.72) !important;
  box-shadow: 0 10px 24px rgba(97,220,213,0.08) !important;
}

.nt-v106-hover-card.nt-figma-feature-languages-v101 {
  background: #f4eeff !important;
  border: 1.4px solid rgba(164,110,244,0.72) !important;
  box-shadow: 0 10px 24px rgba(164,110,244,0.08) !important;
}

.nt-v106-hover-card.nt-figma-feature-skills-v101 {
  background: #fff3f9 !important;
  border: 1.4px solid #f61db8 !important;
  box-shadow: 0 10px 24px rgba(244,39,134,0.08) !important;
}

/* Keep Figma pill size and colours */
.nt-v106-hover-card .nt-figma-feature-pill-v101 {
  width: 350px !important;
  height: 44px !important;
  margin: 0 !important;
  flex: 0 0 44px !important;
}

.nt-v106-hover-card.nt-figma-feature-subjects-v101 .nt-figma-feature-pill-v101 {
  background: #61dcd5 !important;
  color: #2a055f !important;
}

.nt-v106-hover-card.nt-figma-feature-languages-v101 .nt-figma-feature-pill-v101 {
  background: #6b28d9 !important;
  color: #ffffff !important;
}

.nt-v106-hover-card.nt-figma-feature-skills-v101 .nt-figma-feature-pill-v101 {
  background: #f61db8 !important;
  color: #ffffff !important;
}

/* Description remains visible like the Figma layout */
.nt-v106-hover-card > p {
  opacity: 1 !important;
  transform: none !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  width: 326px !important;
  height: 50px !important;
  color: #493d64 !important;
  font-family: var(--nt-body-font) !important;
  font-size: 17px !important;
  line-height: 24px !important;
  font-weight: 500 !important;
}

/* v94-style opening content */
.nt-v106-card-extra {
  display: grid !important;
  grid-template-rows: 0fr !important;
  opacity: 0 !important;
  margin-top: 0 !important;
  transition: grid-template-rows .34s ease, opacity .28s ease, margin-top .28s ease !important;
}

.nt-v106-card-extra > div {
  overflow: hidden !important;
}

.nt-v106-card-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  width: fit-content !important;
  font-family: var(--nt-heading-font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
}

.nt-v106-card-extra small {
  display: block !important;
  color: #5a4f76 !important;
  font-family: var(--nt-body-font) !important;
  font-size: 15px !important;
  line-height: 22px !important;
  font-weight: 500 !important;
}

.nt-figma-feature-subjects-v101 .nt-v106-card-tag {
  background: rgba(97,220,213,.14) !important;
  color: #1d5e58 !important;
}

.nt-figma-feature-languages-v101 .nt-v106-card-tag {
  background: rgba(107,40,217,.14) !important;
  color: #5a20bd !important;
}

.nt-figma-feature-skills-v101 .nt-v106-card-tag {
  background: rgba(246,29,184,.12) !important;
  color: #b31378 !important;
}

.nt-v106-topline {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 4px !important;
  opacity: 0 !important;
  transform: scaleX(.2) !important;
  transform-origin: left center !important;
  transition: opacity .3s ease, transform .3s ease !important;
}

.nt-figma-feature-subjects-v101 .nt-v106-topline { background: #61dcd5 !important; }
.nt-figma-feature-languages-v101 .nt-v106-topline { background: #6b28d9 !important; }
.nt-figma-feature-skills-v101 .nt-v106-topline { background: #f61db8 !important; }

.nt-v106-hover-card:hover,
.nt-v106-hover-card:focus-visible {
  height: 220px !important;
  transform: translateY(-10px) scale(1.01) !important;
  outline: none !important;
  z-index: 8 !important;
}

.nt-v106-hover-card:hover .nt-v106-topline,
.nt-v106-hover-card:focus-visible .nt-v106-topline {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.nt-v106-hover-card:hover .nt-v106-card-extra,
.nt-v106-hover-card:focus-visible .nt-v106-card-extra {
  grid-template-rows: 1fr !important;
  opacity: 1 !important;
  margin-top: 2px !important;
}

@media (max-width: 1180px) {
  .nt-v106-hover-card {
    width: 100% !important;
    height: auto !important;
    min-height: 220px !important;
  }

  .nt-v106-card-extra {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
  }

  .nt-v106-hover-card > p {
    width: 100% !important;
    height: auto !important;
  }
}

/* V107: more space when offer cards open + teal academic support tag */
.nt-figma-feature-row-v101 {
  height: 198px !important;
  overflow: visible !important;
}

.nt-v106-hover-card {
  overflow: visible !important;
}

.nt-v106-hover-card:hover,
.nt-v106-hover-card:focus-visible {
  height: 252px !important;
}

.nt-v106-card-extra {
  padding-bottom: 10px !important;
}

.nt-v106-card-extra small {
  line-height: 23px !important;
}

.nt-figma-feature-subjects-v101 .nt-v106-card-tag {
  background: rgba(97,220,213,.18) !important;
  color: #18bbb5 !important;
}

/* V108: Age Groups and Classes section from Figma node 436:351 */
.nt-age-page-v108 {
  min-height: 100vh;
  position: relative;
  background: #ffffff;
  overflow: hidden;
  padding: 58px 56px 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nt-age-wash-purple-v108,
.nt-age-wash-teal-v108 {
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.nt-age-wash-purple-v108 {
  left: -128px;
  top: -146px;
  width: 470px;
  height: 470px;
  background: radial-gradient(circle, rgba(164,110,244,0.16), rgba(164,110,244,0) 70%);
}

.nt-age-wash-teal-v108 {
  right: -60px;
  bottom: -150px;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(97,220,213,0.15), rgba(97,220,213,0) 70%);
}

.nt-age-content-v108 {
  position: relative;
  z-index: 2;
  width: min(1280px, 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.nt-age-header-v108 {
  width: 100%;
  min-height: 182px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.nt-age-badge-v108 {
  width: 190px;
  height: 38px;
  padding: 8px 16px;
  border: 1.3px solid rgba(97,220,213,0.90);
  border-radius: 999px;
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
}

.nt-age-badge-v108 i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #61dcd5;
  display: block;
}

.nt-age-header-v108 h2 {
  margin: 0;
  width: 760px;
  max-width: 100%;
  color: #6b28d9;
  font-family: var(--nt-heading-font) !important;
  font-size: clamp(44px, 5vw, 58px);
  line-height: 68px;
  letter-spacing: -0.045em;
  font-weight: 800;
}

.nt-age-header-v108 p {
  margin: 0;
  width: 720px;
  max-width: 100%;
  color: #493d64;
  font-family: var(--nt-body-font) !important;
  font-size: 20px;
  line-height: 27px;
  font-weight: 400;
}

.nt-age-cards-row-v108 {
  width: 100%;
  min-height: 610px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

.nt-age-card-v108 {
  width: 406px;
  height: 610px;
  border-radius: 24px;
  background: #ffffff;
  border: 1.4px solid var(--age-border);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 12px 26px rgba(43, 26, 82, 0.06);
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .6s ease, transform .6s ease, box-shadow .24s ease;
}

.nt-age-card-v108.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.nt-age-card-v108:hover {
  box-shadow: 0 18px 36px rgba(43, 26, 82, 0.12);
  transform: translateY(-5px);
}

.nt-age-card-label-v108 {
  width: 406px;
  height: 46px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.nt-age-card-label-v108 i {
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: var(--age-dot);
}

.nt-age-card-label-v108 strong {
  width: 270px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 20px;
  line-height: 26px;
  font-weight: 800;
  text-align: center;
}

.nt-age-card-head-v108 {
  width: 406px;
  height: 70px;
  background: var(--age-main);
  color: var(--age-text);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-align: center;
}

.nt-age-card-head-v108 h3 {
  margin: 0;
  width: 320px;
  height: 28px;
  color: var(--age-text);
  font-family: var(--nt-heading-font) !important;
  font-size: 22px;
  line-height: 28px;
  font-weight: 800;
}

.nt-age-card-head-v108 p {
  margin: 0;
  width: 330px;
  height: 22px;
  color: var(--age-text);
  opacity: 0.96;
  font-family: var(--nt-body-font) !important;
  font-size: 13.2px;
  line-height: 18px;
  font-weight: 500;
}

.nt-age-teal-v108 .nt-age-card-head-v108 p {
  color: rgba(46,9,101,0.92);
}

.nt-age-card-body-v108 {
  width: 406px;
  height: 436px;
  padding: 20px 22px;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.nt-age-select-wrap-v108 {
  width: 350px;
  height: 54px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1.4px solid var(--age-border);
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  cursor: pointer;
}

.nt-age-select-wrap-v108 span {
  width: 286px;
  height: 24px;
  display: flex;
  align-items: center;
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
}

.nt-age-select-wrap-v108 b {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: var(--age-main);
  font-family: var(--nt-heading-font) !important;
  font-size: 16px;
  font-weight: 800;
  pointer-events: none;
}

.nt-age-select-v108 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.nt-age-preview-list-v108 {
  width: 350px;
  height: 162px;
  padding: 14px;
  border-radius: 16px;
  border: 1.4px solid var(--age-border);
  background: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  list-style: none;
}

.nt-age-preview-list-v108 li {
  width: 320px;
  min-height: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #493d64;
  font-family: var(--nt-body-font) !important;
  font-size: 12.5px;
  line-height: 18px;
  font-weight: 500;
}

.nt-age-preview-list-v108 li span {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: var(--age-main);
  flex: 0 0 5px;
}

.nt-age-selected-card-v108 {
  width: 350px;
  height: 148px;
  padding: 13px 16px;
  border-radius: 18px;
  border: 1.4px solid var(--age-border);
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}

.nt-age-selected-tag-v108 {
  width: 142px;
  height: 28px;
  padding: 5px 11px;
  border-radius: 999px;
  background: var(--age-main);
  color: var(--age-text);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: var(--nt-heading-font) !important;
  font-size: 12px;
  line-height: 16px;
  font-weight: 700;
}

.nt-age-selected-tag-v108 i {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: currentColor;
  opacity: .72;
}

.nt-age-selected-card-v108 h4 {
  margin: 0;
  width: 318px;
  min-height: 26px;
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 19px;
  line-height: 24px;
  font-weight: 800;
}

.nt-age-selected-card-v108 p {
  margin: 0;
  width: 318px;
  color: #493d64;
  font-family: var(--nt-body-font) !important;
  font-size: 12.6px;
  line-height: 17px;
  font-weight: 400;
}

@media (max-width: 1280px) {
  .nt-age-page-v108 {
    padding: 80px 22px 48px;
  }

  .nt-age-cards-row-v108 {
    flex-wrap: wrap;
  }
}

@media (max-width: 520px) {
  .nt-age-header-v108 h2 {
    font-size: 38px;
    line-height: 44px;
  }

  .nt-age-card-v108,
  .nt-age-card-label-v108,
  .nt-age-card-head-v108,
  .nt-age-card-body-v108 {
    width: 100%;
  }

  .nt-age-select-wrap-v108,
  .nt-age-preview-list-v108,
  .nt-age-selected-card-v108 {
    width: 100%;
  }
}


/* V109 dropdown polish */
.nt-age-select-wrap-v108 {
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.nt-age-select-wrap-v108:hover {
  border-color: var(--age-main);
  box-shadow: 0 10px 24px rgba(43, 26, 82, 0.08);
}

.nt-age-select-wrap-v108:has(.nt-age-select-v108:focus) {
  border-color: var(--age-main);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--age-main) 15%, white);
}

.nt-age-select-wrap-v108 b {
  border-radius: 10px;
  background: color-mix(in srgb, var(--age-main) 12%, white);
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
}

.nt-age-select-wrap-v108 b svg {
  width: 16px;
  height: 16px;
  display: block;
}

.nt-age-selected-card-v108 {
  justify-content: flex-start;
}

.nt-age-selected-note-v109 {
  display: block;
  margin-top: 2px;
  color: #7a7390;
  font-family: var(--nt-body-font) !important;
  font-size: 11.8px;
  line-height: 16px;
  font-weight: 500;
}

/* V123: clean 4-page reset, no bridge/demarcation section */
.nt-learning-bridge-v112,
.nt-design-bridge-v110 {
  display: none !important;
}

/* Keep the page flow tight between page 2 and page 3 */
#what-we-offer {
  margin-bottom: 0 !important;
  padding-bottom: 48px !important;
}

#what-we-offer::after {
  display: none !important;
}

/* Age Groups page: clean white section, centred content, no teal gradient */
.nt-age-page-v108 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 58px 56px 48px !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow-x: hidden !important;
}

.nt-age-page-v108::before,
.nt-age-page-v108::after {
  display: none !important;
}

.nt-age-wash-purple-v108,
.nt-age-wash-teal-v108 {
  display: none !important;
}

.nt-age-content-v108 {
  width: min(1280px, 100%) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 24px !important;
}

.nt-age-header-v108 {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transform: none !important;
  align-items: center !important;
  text-align: center !important;
}

.nt-age-cards-row-v108 {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 30px !important;
  flex-wrap: nowrap !important;
}

.nt-age-card-v108 {
  width: 406px !important;
  min-width: 406px !important;
  max-width: 406px !important;
  flex: 0 0 406px !important;
  margin: 0 !important;
}

@media (max-width: 1320px) {
  .nt-age-page-v108 {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .nt-age-cards-row-v108 {
    max-width: 842px !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 900px) {
  .nt-age-cards-row-v108 {
    max-width: 406px !important;
  }
}

@media (max-width: 520px) {
  .nt-age-page-v108 {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .nt-age-card-v108 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
  }
}

/* V124: compact curved demarcation between page 2 and page 3 */
#what-we-offer {
  margin-bottom: 0 !important;
  padding-bottom: 8px !important;
}

.nt-compact-bridge-v124 {
  position: relative;
  margin: 0 !important;
  padding: 28px 38px 26px !important;
  background: #f7f1ff;
  overflow: hidden;
  z-index: 1;
}

.nt-compact-bridge-v124::before,
.nt-compact-bridge-v124::after {
  content: "";
  position: absolute;
  left: -15%;
  width: 130%;
  height: 110px;
  background: #ffffff;
  pointer-events: none;
}

.nt-compact-bridge-v124::before {
  top: -82px;
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
}

.nt-compact-bridge-v124::after {
  bottom: -82px;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

.nt-compact-bridge-inner-v124 {
  position: relative;
  z-index: 2;
  width: min(1260px, 100%);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.nt-compact-bridge-header-v124 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}

.nt-compact-bridge-pill-v124 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 14px;
  border: 1.2px solid rgba(164, 110, 244, 0.42);
  border-radius: 999px;
  background: rgba(255,255,255,0.85);
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 13px;
  line-height: 18px;
  font-weight: 700;
  white-space: nowrap;
}

.nt-compact-bridge-header-v124 h2 {
  margin: 0;
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 28px;
  line-height: 34px;
  letter-spacing: -0.02em;
  font-weight: 800;
  text-align: center;
}

.nt-compact-bridge-steps-v124 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: nowrap;
}

.nt-compact-step-v124 {
  width: 230px;
  min-height: 154px;
  padding: 14px 12px 12px;
  border-radius: 22px;
  border: 1.2px solid rgba(164,110,244,0.34);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 10px 22px rgba(60,45,100,0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transition: transform .22s ease, box-shadow .22s ease;
}

.nt-compact-step-v124:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 26px rgba(46, 9, 101, 0.10);
}

.nt-compact-step-v124 b {
  width: 62px;
  height: 62px;
  border-radius: 999px;
  background: #a46ef4;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--nt-heading-font) !important;
  font-size: 21px;
  line-height: 24px;
  font-weight: 800;
}

.nt-compact-step-active-v124 b {
  background: #f42786;
}

.nt-compact-step-v124 h3 {
  margin: 0;
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 15px;
  line-height: 19px;
  font-weight: 800;
  text-align: center;
}

.nt-compact-step-v124 p {
  margin: 0;
  color: #493d64;
  font-family: var(--nt-body-font) !important;
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
  text-align: center;
}

.nt-age-page-v108 {
  padding-top: 18px !important;
  margin-top: 0 !important;
}

@media (max-width: 1320px) {
  .nt-compact-bridge-v124 {
    padding: 24px 20px 22px !important;
  }

  .nt-compact-bridge-steps-v124 {
    flex-wrap: wrap;
  }

  .nt-compact-step-v124 {
    width: min(220px, 100%);
  }

  .nt-age-page-v108 {
    padding-top: 14px !important;
  }
}

@media (max-width: 680px) {
  .nt-compact-bridge-v124 {
    padding: 22px 14px 18px !important;
  }

  .nt-compact-bridge-v124::before,
  .nt-compact-bridge-v124::after {
    height: 78px;
  }

  .nt-compact-bridge-v124::before {
    top: -58px;
  }

  .nt-compact-bridge-v124::after {
    bottom: -58px;
  }

  .nt-compact-bridge-header-v124 h2 {
    font-size: 22px;
    line-height: 28px;
  }

  .nt-compact-step-v124 {
    min-height: 142px;
  }

  .nt-age-page-v108 {
    padding-top: 10px !important;
  }
}

/* V125: taller bend edges without adding extra page spacing */
.nt-compact-bridge-v124 {
  padding-top: 28px !important;
  padding-bottom: 26px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* make only the curved cut-outs taller, not the section spacing */
.nt-compact-bridge-v124::before,
.nt-compact-bridge-v124::after {
  left: -22% !important;
  width: 144% !important;
  height: 160px !important;
}

.nt-compact-bridge-v124::before {
  top: -126px !important;
  border-radius: 0 0 50% 50% / 0 0 100% 100% !important;
}

.nt-compact-bridge-v124::after {
  bottom: -126px !important;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0 !important;
}

/* keep page 3 close to the demarcation */
.nt-age-page-v108 {
  padding-top: 12px !important;
  margin-top: 0 !important;
}

@media (max-width: 680px) {
  .nt-compact-bridge-v124::before,
  .nt-compact-bridge-v124::after {
    height: 118px !important;
  }

  .nt-compact-bridge-v124::before {
    top: -92px !important;
  }

  .nt-compact-bridge-v124::after {
    bottom: -92px !important;
  }
}

/* V126: taller true curved demarcation, moved upward, no extra page spacing */
#what-we-offer {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.nt-compact-bridge-v124 {
  position: relative !important;
  margin: -10px 0 0 0 !important; /* pull bridge upward toward page 2 */
  padding: 22px 32px 12px !important;
  min-height: 400px !important;
  background: #f4eefb !important;
  overflow: hidden !important;
  z-index: 2 !important;
}

.nt-compact-bridge-v124::before,
.nt-compact-bridge-v124::after {
  content: "";
  position: absolute;
  left: 0 !important;
  width: 100% !important;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  z-index: 1;
  border-radius: 0 !important;
}

.nt-compact-bridge-v124::before {
  top: -2px !important;
  height: 152px !important;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 180' preserveAspectRatio='none'>\
<path fill='%23ffffff' d='M0,0H1440V0C1320,78 1105,128 740,128C372,128 118,82 0,0Z'/>\
</svg>");
}

.nt-compact-bridge-v124::after {
  bottom: -2px !important;
  height: 176px !important;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'>\
<path fill='%23ffffff' d='M0,200C145,82 365,38 720,38C1074,38 1297,82 1440,200V200H0Z'/>\
</svg>");
}

.nt-compact-bridge-inner-v124 {
  position: relative !important;
  z-index: 2 !important;
  width: min(1260px, 100%) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 14px !important;
  transform: translateY(-18px) !important; /* move content up */
}

.nt-compact-bridge-header-v124 {
  gap: 8px !important;
}

.nt-compact-bridge-header-v124 h2 {
  font-size: 30px !important;
  line-height: 36px !important;
}

.nt-compact-bridge-steps-v124 {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 22px !important;
  flex-wrap: nowrap !important;
}

.nt-compact-step-v124 {
  width: 242px !important;
  min-height: 192px !important;
  padding: 16px 16px 14px !important;
  border-radius: 24px !important;
}

.nt-age-page-v108 {
  margin-top: -2px !important;
  padding-top: 10px !important; /* keep age page close without a blank gap */
}

.nt-age-content-v108 {
  gap: 18px !important;
}

@media (max-width: 1320px) {
  .nt-compact-bridge-v124 {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .nt-compact-bridge-v124::before {
    height: 126px !important;
  }

  .nt-compact-bridge-v124::after {
    height: 150px !important;
  }

  .nt-compact-bridge-steps-v124 {
    flex-wrap: wrap !important;
  }

  .nt-compact-step-v124 {
    width: min(230px, 100%) !important;
  }
}

@media (max-width: 680px) {
  .nt-compact-bridge-v124 {
    min-height: auto !important;
    padding: 16px 14px 10px !important;
  }

  .nt-compact-bridge-v124::before {
    height: 96px !important;
  }

  .nt-compact-bridge-v124::after {
    height: 120px !important;
  }

  .nt-compact-bridge-inner-v124 {
    transform: translateY(-10px) !important;
  }

  .nt-compact-bridge-header-v124 h2 {
    font-size: 22px !important;
    line-height: 28px !important;
  }

  .nt-compact-step-v124 {
    min-height: 164px !important;
  }

  .nt-age-page-v108 {
    padding-top: 8px !important;
  }
}

/* V127: move the separator curves OUTSIDE the bridge section, with stronger bend */
#what-we-offer {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.nt-compact-bridge-v124 {
  position: relative !important;
  margin: -18px 0 0 0 !important;   /* pull the bridge upward a bit */
  padding: 22px 32px 18px !important;
  min-height: 340px !important;
  background: #f4eefb !important;
  overflow: visible !important;     /* allow curves to extend outside */
  z-index: 3 !important;
}

/* remove the previous inside-cut wave logic and replace with outward waves */
.nt-compact-bridge-v124::before,
.nt-compact-bridge-v124::after {
  content: "";
  position: absolute;
  left: 0 !important;
  width: 100% !important;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  z-index: 0 !important;
  border-radius: 0 !important;
}

/* top wave sits OUTSIDE above the section */
.nt-compact-bridge-v124::before {
  top: -148px !important;
  height: 156px !important;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 180' preserveAspectRatio='none'>\
<path fill='%23f4eefb' d='M0,180V72C92,22 208,46 332,72C478,102 622,116 770,108C923,99 1061,86 1179,50C1284,18 1372,12 1440,0V180H0Z'/>\
</svg>");
}

/* bottom wave sits OUTSIDE below the section */
.nt-compact-bridge-v124::after {
  bottom: -168px !important;
  height: 176px !important;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'>\
<path fill='%23f4eefb' d='M0,0V120C110,156 233,150 364,124C495,98 632,84 782,90C930,96 1072,120 1207,142C1310,159 1388,171 1440,200V0H0Z'/>\
</svg>");
}

.nt-compact-bridge-inner-v124 {
  position: relative !important;
  z-index: 2 !important;
  width: min(1260px, 100%) !important;
  margin: 0 auto !important;
  transform: translateY(-4px) !important;
}

.nt-compact-bridge-header-v124 {
  gap: 8px !important;
}

.nt-compact-bridge-steps-v124 {
  gap: 22px !important;
}

.nt-age-page-v108 {
  margin-top: 0 !important;
  padding-top: 28px !important;   /* keeps the age page readable below the outward curve */
  position: relative !important;
  z-index: 1 !important;
}

.nt-age-content-v108 {
  gap: 18px !important;
}

@media (max-width: 1320px) {
  .nt-compact-bridge-v124 {
    min-height: 332px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .nt-compact-bridge-v124::before {
    top: -124px !important;
    height: 132px !important;
  }

  .nt-compact-bridge-v124::after {
    bottom: -144px !important;
    height: 150px !important;
  }
}

@media (max-width: 680px) {
  .nt-compact-bridge-v124 {
    min-height: auto !important;
    margin-top: -12px !important;
    padding: 18px 14px 16px !important;
  }

  .nt-compact-bridge-v124::before {
    top: -92px !important;
    height: 100px !important;
  }

  .nt-compact-bridge-v124::after {
    bottom: -106px !important;
    height: 112px !important;
  }

  .nt-age-page-v108 {
    padding-top: 18px !important;
  }
}

/* V128: fix overlap with page 2 card and page 3 heading while keeping outward bends */
.nt-compact-bridge-v124 {
  margin-top: -8px !important;          /* still tight, but not too high */
  padding-top: 26px !important;
  padding-bottom: 14px !important;
  min-height: 332px !important;
}

/* top outward bend: still outside, but lowered a bit so it doesn't touch Why Parents Choose Us */
.nt-compact-bridge-v124::before {
  top: -124px !important;
  height: 130px !important;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 180' preserveAspectRatio='none'>\
<path fill='%23f4eefb' d='M0,180V86C88,28 212,48 340,72C488,99 636,110 786,104C932,98 1070,86 1186,54C1288,26 1374,14 1440,0V180H0Z'/>\
</svg>") !important;
}

/* bottom outward bend: moved further down/outside so it stops blocking page 3 heading */
.nt-compact-bridge-v124::after {
  bottom: -138px !important;
  height: 144px !important;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 200' preserveAspectRatio='none'>\
<path fill='%23f4eefb' d='M0,0V104C112,142 236,138 366,116C500,92 638,82 784,88C930,94 1070,114 1208,132C1310,146 1388,164 1440,200V0H0Z'/>\
</svg>") !important;
}

.nt-compact-bridge-inner-v124 {
  transform: translateY(-2px) !important;
}

/* give page 3 header just enough clearance so the lower wave never blocks it */
.nt-age-page-v108 {
  padding-top: 54px !important;
  margin-top: 0 !important;
}

.nt-age-content-v108 {
  gap: 14px !important;
}

.nt-age-header-v108 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 1320px) {
  .nt-compact-bridge-v124::before {
    top: -108px !important;
    height: 114px !important;
  }

  .nt-compact-bridge-v124::after {
    bottom: -118px !important;
    height: 126px !important;
  }

  .nt-age-page-v108 {
    padding-top: 44px !important;
  }
}

@media (max-width: 680px) {
  .nt-compact-bridge-v124 {
    margin-top: -6px !important;
    padding-top: 18px !important;
    min-height: auto !important;
  }

  .nt-compact-bridge-v124::before {
    top: -84px !important;
    height: 90px !important;
  }

  .nt-compact-bridge-v124::after {
    bottom: -92px !important;
    height: 100px !important;
  }

  .nt-age-page-v108 {
    padding-top: 32px !important;
  }
}

/* V130: revert to v128 feel, move only the bottom demarcation slightly up */
.nt-compact-bridge-v124::after {
  bottom: -124px !important;
}

@media (max-width: 1320px) {
  .nt-compact-bridge-v124::after {
    bottom: -106px !important;
  }
}

@media (max-width: 680px) {
  .nt-compact-bridge-v124::after {
    bottom: -82px !important;
  }
}

/* V131: move only the bottom demarcation slightly up again */
.nt-compact-bridge-v124::after {
  bottom: -118px !important;
}

@media (max-width: 1320px) {
  .nt-compact-bridge-v124::after {
    bottom: -100px !important;
  }
}

@media (max-width: 680px) {
  .nt-compact-bridge-v124::after {
    bottom: -76px !important;
  }
}

/* V132: cleaner professional hero icons for Subjects, Languages and Skills */
.nt-photo-card-icon-v84 svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  flex: 0 0 22px !important;
}

/* V134: animated background inspired by the shader reference for page 3 */
.nt-age-page-v108 {
  isolation: isolate;
}

.nt-age-shader-bg-v134 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  opacity: 0.7;
  mix-blend-mode: normal;
}

.nt-age-content-v108 {
  position: relative;
  z-index: 2;
}

.nt-age-card-v108 {
  position: relative;
  z-index: 2;
}

@media (max-width: 768px) {
  .nt-age-shader-bg-v134 {
    opacity: 0.52;
  }
}

/* V136: page 2 background shader + content scroll animation without breaking layout */
.nt-figma-offer-v101 {
  position: relative !important;
  isolation: isolate;
}

.nt-offer-shader-bg-v136 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  opacity: 0.42;
}

.nt-figma-offer-shell-v101 {
  position: relative !important;
  z-index: 2;
}

/* Keep existing layout positions intact; only animate visual state */
.nt-figma-offer-copy-v101,
.nt-figma-feature-row-v101,
.nt-figma-support-v101 {
  will-change: transform, opacity;
}

.nt-figma-offer-v101:not(.nt-offer-visible-v136) .nt-figma-offer-copy-v101 {
  opacity: 0;
  transform: translateY(26px);
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-offer-copy-v101 {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .75s ease, transform .75s ease;
}

.nt-figma-offer-v101:not(.nt-offer-visible-v136) .nt-v106-hover-card {
  opacity: 0;
  transform: translateY(34px) scale(.98);
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: opacity .68s ease, transform .68s ease, box-shadow .22s ease;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:nth-child(1) {
  transition-delay: .08s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:nth-child(2) {
  transition-delay: .16s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:nth-child(3) {
  transition-delay: .24s;
}

.nt-figma-offer-v101:not(.nt-offer-visible-v136) .nt-figma-chip-v101 {
  opacity: 0;
  transform: translateY(22px);
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-chip-v101 {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .62s ease, transform .62s ease;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-chip-v101:nth-child(1) {
  transition-delay: .10s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-chip-v101:nth-child(2) {
  transition-delay: .18s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-chip-v101:nth-child(3) {
  transition-delay: .26s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-chip-v101:nth-child(4) {
  transition-delay: .34s;
}

/* Preserve hover movement after reveal */
.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:hover,
.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:focus-visible {
  transform: translateY(-10px) scale(1.01) !important;
}

@media (prefers-reduced-motion: reduce) {
  .nt-figma-offer-v101 .nt-figma-offer-copy-v101,
  .nt-figma-offer-v101 .nt-v106-hover-card,
  .nt-figma-offer-v101 .nt-figma-chip-v101 {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 768px) {
  .nt-offer-shader-bg-v136 {
    opacity: 0.32;
  }
}

/* V138: page 2 stays white, no main frame, moving objects only */
.nt-figma-offer-v101 {
  background: #ffffff !important;
  position: relative !important;
  isolation: isolate !important;
}

.nt-figma-offer-shell-v101 {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 2 !important;
}

/* keep only the moving objects visible behind the content */
.nt-offer-shader-bg-v136 {
  opacity: 0.72 !important;
  z-index: 0 !important;
  mix-blend-mode: normal !important;
}

/* force all page 2 content to remain visible and above the background */
.nt-figma-offer-copy-v101,
.nt-figma-feature-row-v101,
.nt-figma-support-v101,
.nt-figma-support-heading-v101,
.nt-figma-support-row-v101 {
  z-index: 3 !important;
  visibility: visible !important;
}

.nt-figma-support-v101 {
  display: flex !important;
  opacity: 1 !important;
}

/* keep the lower three frames visible */
.nt-figma-support-heading-v101,
.nt-figma-chip-v101 {
  opacity: 1;
}

/* scroll-in animation without making content disappear permanently */
.nt-figma-offer-v101:not(.nt-offer-visible-v136) .nt-figma-offer-copy-v101 {
  opacity: 0;
  transform: translateY(22px);
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-offer-copy-v101 {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .75s ease, transform .75s ease;
}

.nt-figma-offer-v101:not(.nt-offer-visible-v136) .nt-v106-hover-card {
  opacity: 0;
  transform: translateY(28px) scale(.98);
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: opacity .65s ease, transform .65s ease, box-shadow .25s ease;
}

.nt-figma-offer-v101:not(.nt-offer-visible-v136) .nt-figma-chip-v101 {
  opacity: 0;
  transform: translateY(20px);
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-chip-v101 {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .65s ease, transform .65s ease, box-shadow .25s ease;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:nth-child(1) {
  transition-delay: .08s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:nth-child(2) {
  transition-delay: .16s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:nth-child(3) {
  transition-delay: .24s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-chip-v101:nth-child(1) {
  transition-delay: .12s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-chip-v101:nth-child(2) {
  transition-delay: .20s;
}

.nt-figma-offer-v101.nt-offer-visible-v136 .nt-figma-chip-v101:nth-child(3) {
  transition-delay: .28s;
}

/* preserve hover expansion after the reveal */
.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:hover,
.nt-figma-offer-v101.nt-offer-visible-v136 .nt-v106-hover-card:focus-visible {
  transform: translateY(-10px) scale(1.01) !important;
}

@media (prefers-reduced-motion: reduce) {
  .nt-figma-offer-v101 .nt-figma-offer-copy-v101,
  .nt-figma-offer-v101 .nt-v106-hover-card,
  .nt-figma-offer-v101 .nt-figma-chip-v101 {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 768px) {
  .nt-offer-shader-bg-v136 {
    opacity: 0.52 !important;
  }
}

/* V139: don't show class details until a class is selected */
.nt-age-selected-card-v108 {
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

.nt-age-selected-card-v108:not(.has-selection-v139) {
  border-style: dashed !important;
  background: rgba(255,255,255,0.92) !important;
  box-shadow: none !important;
}

.nt-age-selected-card-v108:not(.has-selection-v139) h4,
.nt-age-selected-card-v108:not(.has-selection-v139) p,
.nt-age-selected-card-v108:not(.has-selection-v139) small {
  color: #7a7390 !important;
}

.nt-age-placeholder-text-v139 {
  color: #7a7390 !important;
}

.nt-age-selected-card-v108.has-selection-v139 {
  border-style: solid !important;
}

/* V143: keep the last How It Works frame white, make only the 05 circle teal */
.nt-compact-step-v124.nt-compact-step-circle-teal-v143 {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: rgba(164, 110, 244, 0.34) !important;
  box-shadow: 0 10px 22px rgba(60, 45, 100, 0.05) !important;
}

.nt-compact-step-v124.nt-compact-step-circle-teal-v143 b {
  background: #61dcd5 !important;
  color: #2e0965 !important;
}

.nt-compact-step-v124.nt-compact-step-circle-teal-v143:hover {
  box-shadow: 0 14px 26px rgba(46, 9, 101, 0.10) !important;
}

/* V181 STEP 1 — EXACT NAVBAR + TRUE AUTO-LAYOUT RESPONSIVENESS
   Only navbar is touched. Page sections are untouched.
   Desktop keeps the old NaijaTutors visual style.
   Mobile: logo left, hamburger right, dropdown panel below.
*/

/* stop sideways layout shift without changing design */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.nt-logo img {
  object-fit: contain !important;
  height: auto !important;
}

/* desktop scroll state: same old white/glass effect */
@media (min-width: 901px) {
  .nt-header.is-scrolled .nt-nav-shell,
  .nt-header.nt-is-scrolled .nt-nav-shell,
  body.nt-scrolled .nt-nav-shell {
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: 0 16px 45px rgba(47, 9, 104, 0.10) !important;
    backdrop-filter: blur(16px) !important;
  }
}

/* mobile navbar auto-layout only */
@media (max-width: 900px) {
  .nt-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 22px rgba(46, 9, 101, 0.08) !important;
    z-index: 9999 !important;
  }

  .nt-nav-shell {
    width: 100% !important;
    max-width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    backdrop-filter: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  .nt-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 150px !important;
  }

  .nt-logo img {
    display: block !important;
    width: 132px !important;
    max-width: 42vw !important;
    height: auto !important;
  }

  .nt-desktop-nav,
  .nt-actions {
    display: none !important;
  }

  .nt-mobile-toggle {
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    margin-left: auto !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--nt-purple) !important;
    color: #ffffff !important;
    cursor: pointer !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    position: relative !important;
    z-index: 100001 !important;
  }

  .nt-mobile-toggle span {
    width: 20px !important;
    height: 2px !important;
    background: currentColor !important;
    border-radius: 3px !important;
    transition: transform 0.22s ease, opacity 0.22s ease !important;
  }

  .nt-mobile-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .nt-mobile-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0 !important;
  }

  .nt-mobile-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  .nt-mobile-panel,
  #mobileMenu {
    position: fixed !important;
    top: 72px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-height: calc(100vh - 88px) !important;
    overflow-y: auto !important;
    padding: 16px !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    box-shadow: 0 22px 60px rgba(46, 9, 101, 0.18) !important;
    z-index: 100000 !important;

    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
  }

  .nt-mobile-panel.open,
  #mobileMenu.open,
  body.nt-menu-open .nt-mobile-panel,
  body.nt-menu-open #mobileMenu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .nt-mobile-menu,
  .nt-mobile-children {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .nt-mobile-children {
    display: none !important;
    padding-left: 12px !important;
  }

  .nt-mobile-children.open {
    display: block !important;
  }

  .nt-mobile-menu a,
  .nt-mobile-subbutton {
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 8px !important;
    border: 0 !important;
    background: transparent !important;
    color: #2e0965 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: left !important;
    text-decoration: none !important;
    font: 800 15px/1.2 var(--nt-font) !important;
    cursor: pointer !important;
  }

  .nt-mobile-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 12px !important;
  }
}

@media (max-width: 380px) {
  .nt-logo img {
    width: 118px !important;
    max-width: 40vw !important;
  }
}

/* V182 STEP 2 — FIRST PAGE/HERO WRAP ONLY
   Desktop keeps the old exact hero design.
   Tablet/mobile converts the first page into proper flow:
   logo/title/text/buttons -> image/cards -> stats -> Available For.
*/

@media (max-width: 900px) {
  .nt-summer-hero-v63 {
    height: auto !important;
    min-height: auto !important;
    padding: 88px 16px 40px !important;
    overflow: hidden !important;
  }

  .nt-summer-hero-shell-v63 {
    width: min(430px, 100%) !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important;
  }

  .nt-soft-lavender-v63,
  .nt-soft-teal-v63,
  .nt-teal-ring-v63,
  .nt-dot-grid {
    display: none !important;
  }

  .nt-summer-copy-v63,
  .nt-summer-photo-v63,
  .nt-summer-stats-v63,
  .nt-available-strip-v63 {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  .nt-summer-copy-v63 {
    order: 1 !important;
    min-height: 0 !important;
    max-width: 390px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .nt-program-logo-badge-v66 {
    width: min(255px, 82vw) !important;
    height: auto !important;
    min-height: 58px !important;
    margin: 0 auto 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .nt-program-logo-badge-v66 img {
    display: block !important;
    width: min(255px, 82vw) !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .nt-summer-copy-v63 h1 {
    width: 100% !important;
    height: auto !important;
    margin: 8px 0 12px !important;
    font-size: clamp(42px, 13vw, 62px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.045em !important;
    text-align: center !important;
  }

  .nt-summer-copy-v63 p {
    width: 100% !important;
    max-width: 365px !important;
    height: auto !important;
    margin: 0 auto !important;
    font-size: 15.5px !important;
    line-height: 1.55 !important;
    text-align: center !important;
  }

  .nt-summer-cta-v63 {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: min(330px, 100%) !important;
    height: auto !important;
    margin: 18px auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .nt-register-btn-v63,
  .nt-date-pill-v63 {
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
  }

  .nt-summer-photo-v63 {
    order: 2 !important;
    width: 100% !important;
    max-width: 370px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 24px !important;
    border: 4px solid #ffffff !important;
    overflow: hidden !important;
    box-shadow: 0 14px 28px rgba(46, 15, 89, 0.14) !important;
  }

  .nt-summer-photo-v63 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .nt-photo-card-v84 {
    position: absolute !important;
    display: flex !important;
    width: auto !important;
    min-width: 122px !important;
    max-width: 158px !important;
    height: 50px !important;
    padding: 8px 9px !important;
    gap: 8px !important;
    border-radius: 14px !important;
    transform: none !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .nt-photo-card-subjects-v84 {
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
  }

  .nt-photo-card-languages-v84 {
    top: 50% !important;
    left: 12px !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
  }

  .nt-photo-card-skills-v84 {
    right: 12px !important;
    bottom: 12px !important;
    left: auto !important;
    top: auto !important;
  }

  .nt-photo-card-icon-v84 {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
  }

  .nt-photo-card-icon-v84 svg {
    width: 17px !important;
    height: 17px !important;
  }

  .nt-photo-card-text-v84 strong {
    font-size: 12px !important;
    line-height: 14px !important;
  }

  .nt-photo-card-text-v84 small {
    font-size: 9.5px !important;
    line-height: 12px !important;
  }

  .nt-summer-stats-v63 {
    order: 3 !important;
    max-width: 370px !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .nt-summer-stats-v63 .nt-stat-card-v63:last-child {
    grid-column: 1 / -1 !important;
  }

  .nt-stat-card-v63 {
    width: 100% !important;
    height: auto !important;
    min-height: 76px !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
  }

  .nt-stat-icon-v63 {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
  }

  .nt-stat-icon-v63 svg {
    width: 22px !important;
    height: 22px !important;
  }

  .nt-stat-card-v63 strong {
    font-size: 15px !important;
    line-height: 18px !important;
  }

  .nt-stat-card-v63 small {
    font-size: 11px !important;
    line-height: 14px !important;
  }

  .nt-available-strip-v63 {
    order: 4 !important;
    max-width: 370px !important;
    text-align: center !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .nt-available-heading-v63 {
    width: 100% !important;
    height: auto !important;
    margin: 0 auto 14px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
  }

  .nt-available-heading-v63 span {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 1px !important;
  }

  .nt-available-heading-v63 strong {
    white-space: nowrap !important;
    text-align: center !important;
  }

  .nt-flag-row-v63 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px 14px !important;
    width: 100% !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  /* Tablet landscape / small laptop: keep old desktop feel but avoid overflowing viewport */
  .nt-summer-hero-v63 {
    overflow: hidden !important;
  }

  .nt-summer-hero-shell-v63 {
    max-width: calc(100vw - 48px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 380px) {
  .nt-summer-hero-v63 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .nt-program-logo-badge-v66 img {
    width: 230px !important;
  }

  .nt-summer-copy-v63 h1 {
    font-size: 38px !important;
  }

  .nt-photo-card-v84 {
    min-width: 108px !important;
    max-width: 135px !important;
    height: 46px !important;
    padding: 7px !important;
  }

  .nt-photo-card-icon-v84 {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px !important;
  }

  .nt-photo-card-text-v84 small {
    display: none !important;
  }
}

/* V183 CLEAN REBUILD: pages 2, 3 and 4
   No canvas/prompt animation layers.
   Clean section containers, grid/flex, and responsive breakpoints.
   Footer is untouched.
*/
.nt-clean-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.nt-clean-section-head {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 34px;
}

.nt-clean-section-head-small {
  margin-bottom: 24px;
}

.nt-clean-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(164, 110, 244, 0.12);
  color: #2e0965;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .01em;
}

.nt-clean-section-head h2 {
  margin: 14px 0 10px;
  color: #22163f;
  font-size: clamp(38px, 4vw, 58px);
  line-height: .98;
  letter-spacing: -0.045em;
  font-weight: 900;
}

.nt-clean-section-head p {
  margin: 0 auto;
  color: #5d5273;
  font-size: 17px;
  line-height: 1.65;
  font-weight: 600;
}

.nt-clean-offer,
.nt-clean-age,
.nt-clean-pricing {
  position: relative;
  padding: 92px 0;
  background: #ffffff;
  overflow: hidden;
}

.nt-clean-flow {
  padding: 54px 0;
  background: linear-gradient(180deg, #ffffff 0%, #fbf8ff 100%);
  overflow: hidden;
}

.nt-clean-offer-grid,
.nt-clean-parent-grid,
.nt-clean-age-grid,
.nt-clean-price-grid {
  display: grid;
  gap: 24px;
}

.nt-clean-offer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nt-clean-offer-card {
  min-height: 250px;
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 24px 60px rgba(46, 9, 101, 0.10);
  border: 1px solid rgba(46, 9, 101, 0.08);
  transition: transform .25s ease, box-shadow .25s ease;
}

.nt-clean-offer-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 70px rgba(46, 9, 101, 0.15);
}

.nt-clean-card-purple { background: linear-gradient(135deg, #f5ecff 0%, #ffffff 100%); }
.nt-clean-card-teal { background: linear-gradient(135deg, #e8fffd 0%, #ffffff 100%); }
.nt-clean-card-pink { background: linear-gradient(135deg, #fff0f9 0%, #ffffff 100%); }

.nt-clean-card-kicker {
  display: inline-flex;
  color: #ffffff;
  background: #2e0965;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 900;
  margin-bottom: 28px;
}

.nt-clean-offer-card h3 {
  color: #22163f;
  font-size: 26px;
  line-height: 1.08;
  margin: 0 0 12px;
  font-weight: 900;
}

.nt-clean-offer-card p,
.nt-clean-parent-card p,
.nt-clean-step p,
.nt-clean-age-head p,
.nt-clean-selected-card p,
.nt-clean-price-row p,
.nt-clean-batch-guide p {
  color: #5d5273;
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
  font-weight: 600;
}

.nt-clean-subhead {
  width: min(960px, 100%);
  margin: 46px auto 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 24px;
}

.nt-clean-subhead span {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(164,110,244,.38));
}

.nt-clean-subhead span:last-child {
  background: linear-gradient(90deg, rgba(97,220,213,.42), transparent);
}

.nt-clean-subhead strong {
  color: #22163f;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
  letter-spacing: .02em;
}

.nt-clean-parent-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nt-clean-parent-card {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 116px;
  padding: 22px;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(46, 9, 101, 0.09);
  border: 1px solid rgba(46, 9, 101, 0.08);
}

.nt-clean-parent-card b,
.nt-clean-step b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #ffffff;
  background: #61dcd5;
  font-weight: 900;
}

.nt-clean-parent-card h3,
.nt-clean-step h3,
.nt-clean-age-head h3,
.nt-clean-batch-guide h3 {
  color: #22163f;
  margin: 0 0 6px;
  font-weight: 900;
}

.nt-clean-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.nt-clean-step {
  text-align: center;
  min-height: 188px;
  border-radius: 24px;
  padding: 22px 16px;
  background: #ffffff;
  border: 1px solid rgba(46,9,101,.08);
  box-shadow: 0 16px 38px rgba(46, 9, 101, .08);
}

.nt-clean-step b {
  margin: 0 auto 14px;
  background: #a46ef4;
}

.nt-clean-step-active {
  border-color: rgba(97,220,213,.55);
  box-shadow: 0 18px 48px rgba(97, 220, 213, .22);
}

.nt-clean-step-active b,
.nt-clean-step-final b {
  background: #159e9a;
}

.nt-clean-age {
  background: linear-gradient(180deg, #ffffff 0%, #fbf9ff 100%);
}

.nt-clean-age-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nt-clean-age-card {
  border-radius: 28px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(46, 9, 101, 0.10);
  border: 1px solid rgba(46, 9, 101, 0.08);
}

.nt-clean-age-label {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-weight: 900;
  letter-spacing: .02em;
  text-align: center;
  padding: 12px;
}

.nt-age-pink-card .nt-clean-age-label { background: #f61db8; }
.nt-age-purple-card .nt-clean-age-label { background: #7a37f0; }
.nt-age-teal-card .nt-clean-age-label { background: #159e9a; }

.nt-clean-age-head {
  text-align: center;
  padding: 22px;
  background: #fbf9ff;
}

.nt-clean-age-head h3 {
  font-size: 28px;
  margin-bottom: 8px;
}

.nt-clean-age-body {
  padding: 22px;
  display: grid;
  gap: 14px;
}

.nt-clean-select-label {
  color: #22163f;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nt-clean-subject-select,
.nt-clean-price-select {
  width: 100%;
  height: 50px;
  border-radius: 16px;
  border: 1px solid rgba(46, 9, 101, .14);
  background: #ffffff;
  color: #22163f;
  font: 800 14px/1 var(--nt-font);
  padding: 0 14px;
  outline: none;
}

.nt-clean-subject-select:focus,
.nt-clean-price-select:focus {
  border-color: #61dcd5;
  box-shadow: 0 0 0 4px rgba(97,220,213,.18);
}

.nt-clean-class-list {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.nt-clean-class-list li {
  padding: 9px 12px;
  border-radius: 12px;
  background: rgba(164,110,244,.08);
  color: #3a2a56;
  font-size: 13px;
  font-weight: 800;
}

.nt-clean-selected-card {
  border-radius: 20px;
  padding: 18px;
  background: #fbf9ff;
  border: 1px solid rgba(46, 9, 101, .08);
  min-height: 142px;
}

.nt-clean-selected-card span {
  color: #159e9a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.nt-clean-selected-card h4 {
  margin: 8px 0 8px;
  color: #22163f;
  font-size: 20px;
  font-weight: 900;
}

.nt-clean-selected-card small {
  display: block;
  margin-top: 10px;
  color: #7b718b;
  font-weight: 700;
}

.nt-clean-pricing {
  background: #ffffff;
}

.nt-clean-price-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.nt-clean-price-card {
  display: flex;
  flex-direction: column;
  border-radius: 28px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(46, 9, 101, 0.10);
  border: 1px solid rgba(46, 9, 101, 0.08);
  min-height: 560px;
}

.nt-clean-price-head {
  padding: 24px 20px;
  min-height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
}

.nt-price-teal-card .nt-clean-price-head { background: #159e9a; }
.nt-price-purple-card .nt-clean-price-head { background: #7a37f0; }
.nt-price-pink-card .nt-clean-price-head { background: #f61db8; }
.nt-price-deep-card .nt-clean-price-head { background: #2e0965; }

.nt-clean-price-head h3 {
  margin: 0;
  font-size: 27px;
  line-height: 1.05;
  font-weight: 900;
}

.nt-clean-price-head span {
  font-size: 17px;
  opacity: .88;
}

.nt-clean-price-body {
  flex: 1;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.nt-clean-price-row strong {
  display: block;
  color: #22163f;
  font-size: 12px;
  letter-spacing: .06em;
  margin-bottom: 6px;
}

.nt-clean-price-result {
  min-height: 50px;
  border-radius: 16px;
  padding: 14px;
  background: rgba(97, 220, 213, .12);
  border: 1px solid rgba(97, 220, 213, .28);
  color: #2e0965;
  font-weight: 900;
}

.nt-clean-price-result.has-price {
  color: #159e9a;
}

.nt-clean-select-btn {
  margin-top: auto;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none;
  background: #2e0965;
  color: #ffffff;
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease;
}

.nt-clean-select-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(46, 9, 101, .18);
}

.nt-clean-batch-guide {
  margin-top: 34px;
  padding: 24px;
  border-radius: 28px;
  background: linear-gradient(135deg, #fbf9ff 0%, #ffffff 100%);
  border: 1px solid rgba(46, 9, 101, .08);
}

.nt-clean-batch-guide h3 {
  margin-bottom: 18px;
  text-align: center;
}

.nt-clean-batch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.nt-clean-batch-grid article {
  background: #ffffff;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 14px 30px rgba(46, 9, 101, .07);
}

.nt-clean-batch-grid b {
  display: inline-flex;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #61dcd5;
  color: #ffffff;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}

.nt-clean-batch-grid strong {
  display: block;
  color: #22163f;
  margin-bottom: 6px;
}

@media (max-width: 1100px) {
  .nt-clean-offer-grid,
  .nt-clean-parent-grid,
  .nt-clean-age-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nt-clean-price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nt-clean-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nt-clean-age-card:last-child {
    grid-column: 1 / -1;
    max-width: 580px;
    width: 100%;
    justify-self: center;
  }
}

@media (max-width: 760px) {
  .nt-clean-container {
    width: min(430px, calc(100% - 32px));
  }

  .nt-clean-offer,
  .nt-clean-age,
  .nt-clean-pricing {
    padding: 58px 0;
  }

  .nt-clean-flow {
    padding: 46px 0;
  }

  .nt-clean-section-head {
    margin-bottom: 26px;
  }

  .nt-clean-section-head h2 {
    font-size: clamp(33px, 10vw, 44px);
    line-height: 1.05;
  }

  .nt-clean-section-head p {
    font-size: 15.5px;
  }

  .nt-clean-offer-grid,
  .nt-clean-parent-grid,
  .nt-clean-age-grid,
  .nt-clean-price-grid,
  .nt-clean-batch-grid,
  .nt-clean-steps {
    grid-template-columns: 1fr;
  }

  .nt-clean-age-card:last-child {
    grid-column: auto;
    max-width: 100%;
  }

  .nt-clean-offer-card {
    min-height: 0;
    padding: 24px;
  }

  .nt-clean-parent-card {
    min-height: 0;
  }

  .nt-clean-subhead {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
    margin-top: 34px;
  }

  .nt-clean-subhead strong {
    font-size: 13px;
  }

  .nt-clean-step {
    min-height: 0;
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 10px 14px;
    text-align: left;
    align-items: center;
  }

  .nt-clean-step b {
    grid-row: span 2;
    margin: 0;
  }

  .nt-clean-step h3,
  .nt-clean-step p {
    margin: 0;
  }

  .nt-clean-price-card {
    min-height: 0;
  }

  .nt-clean-price-head {
    min-height: 108px;
  }
}

/* V184 CLEAN FIRST PAGE REBUILD
   Navbar untouched.
   First page content rebuilt as proper web layout / auto-layout.
   No canvas positioning, no moving background prompts.
*/

.nt-clean-hero {
  position: relative;
  min-height: 100vh;
  padding: 122px 0 58px;
  background:
    radial-gradient(circle at 12% 20%, rgba(164,110,244,.16), transparent 26%),
    radial-gradient(circle at 90% 14%, rgba(97,220,213,.22), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #fbf9ff 100%);
  overflow: hidden;
}

.nt-clean-hero-container {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  min-height: calc(100vh - 180px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  grid-template-areas:
    "copy media"
    "stats media"
    "available available";
  gap: 28px 54px;
  align-items: center;
}

.nt-clean-hero-copy {
  grid-area: copy;
  align-self: end;
  min-width: 0;
}

.nt-clean-program-badge {
  width: min(285px, 100%);
  margin-bottom: 22px;
}

.nt-clean-program-badge img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.nt-clean-hero-copy h1 {
  margin: 0;
  max-width: 640px;
  color: #22163f;
  font-size: clamp(56px, 6vw, 86px);
  line-height: .92;
  letter-spacing: -0.06em;
  font-weight: 950;
}

.nt-clean-hero-copy p {
  margin: 22px 0 0;
  max-width: 570px;
  color: #5d5273;
  font-size: 18px;
  line-height: 1.65;
  font-weight: 600;
}

.nt-clean-hero-actions {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.nt-clean-primary-btn,
.nt-clean-date-pill {
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.nt-clean-primary-btn {
  background: #2e0965;
  color: #ffffff;
  box-shadow: 0 18px 32px rgba(46,9,101,.18);
  transition: transform .2s ease, box-shadow .2s ease;
}

.nt-clean-primary-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 38px rgba(46,9,101,.24);
}

.nt-clean-date-pill {
  background: #ffffff;
  color: #2e0965;
  border: 1px solid rgba(46,9,101,.12);
  box-shadow: 0 14px 28px rgba(46,9,101,.08);
}

.nt-clean-hero-media {
  grid-area: media;
  justify-self: end;
  width: 100%;
  max-width: 520px;
  min-width: 0;
}

.nt-clean-photo-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1.04;
  border-radius: 34px;
  border: 8px solid #ffffff;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(46,9,101,.16);
  background: #f6f1ff;
}

.nt-clean-photo-frame > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nt-clean-float-card {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 178px;
  min-height: 58px;
  padding: 10px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(46,9,101,.08);
  box-shadow: 0 16px 35px rgba(46,9,101,.14);
  backdrop-filter: blur(14px);
}

.nt-clean-float-icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #61dcd5;
  color: #ffffff;
  font-weight: 900;
}

.nt-clean-float-card strong {
  display: block;
  color: #22163f;
  font-size: 14px;
  line-height: 1.1;
  font-weight: 900;
}

.nt-clean-float-card small {
  display: block;
  margin-top: 2px;
  color: #6d637c;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
}

.nt-clean-float-subjects {
  top: 22px;
  right: 20px;
}

.nt-clean-float-languages {
  left: 18px;
  top: 48%;
  transform: translateY(-50%);
}

.nt-clean-float-skills {
  right: 20px;
  bottom: 22px;
}

.nt-clean-hero-stats {
  grid-area: stats;
  align-self: start;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 610px;
}

.nt-clean-hero-stats article {
  min-height: 94px;
  padding: 18px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(46,9,101,.08);
  box-shadow: 0 18px 40px rgba(46,9,101,.08);
}

.nt-clean-hero-stats span {
  display: block;
  color: #2e0965;
  font-size: 29px;
  line-height: 1;
  font-weight: 950;
}

.nt-clean-hero-stats small {
  display: block;
  margin-top: 8px;
  color: #6d637c;
  font-weight: 800;
}

.nt-clean-available {
  grid-area: available;
  width: min(900px, 100%);
  justify-self: center;
  margin-top: 4px;
  text-align: center;
}

.nt-clean-available-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  margin-bottom: 20px;
}

.nt-clean-available-heading span {
  height: 1px;
  background: #ded8ea;
}

.nt-clean-available-heading strong {
  color: #22163f;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .02em;
  white-space: nowrap;
}

.nt-clean-country-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 26px;
}

.nt-clean-country-row div {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #22163f;
  font-size: 15px;
  font-weight: 800;
}

.nt-clean-flag {
  display: inline-flex;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(46,9,101,.08) inset;
}

.nt-clean-flag-us {
  background:
    linear-gradient(to bottom, #b22234 0 14%, #fff 14% 28%, #b22234 28% 42%, #fff 42% 56%, #b22234 56% 70%, #fff 70% 84%, #b22234 84%),
    linear-gradient(#3c3b6e, #3c3b6e);
  background-size: 100% 100%, 48% 52%;
  background-position: center, top left;
  background-repeat: no-repeat;
}

.nt-clean-flag-ca {
  background: linear-gradient(90deg, #e21d2b 0 26%, #fff 26% 74%, #e21d2b 74%);
}

.nt-clean-flag-uk {
  background:
    linear-gradient(135deg, transparent 0 38%, #fff 38% 45%, #c8102e 45% 55%, #fff 55% 62%, transparent 62%),
    linear-gradient(45deg, transparent 0 38%, #fff 38% 45%, #c8102e 45% 55%, #fff 55% 62%, transparent 62%),
    linear-gradient(90deg, transparent 0 42%, #fff 42% 46%, #c8102e 46% 54%, #fff 54% 58%, transparent 58%),
    linear-gradient(0deg, transparent 0 42%, #fff 42% 46%, #c8102e 46% 54%, #fff 54% 58%, transparent 58%),
    #012169;
}

.nt-clean-flag-eu {
  background: radial-gradient(circle at 50% 28%, #ffcc00 0 5%, transparent 6%), #003399;
}

.nt-clean-flag-uae {
  background: linear-gradient(90deg, #ff0000 0 25%, transparent 25%),
              linear-gradient(180deg, #009739 0 33%, #fff 33% 66%, #000 66%);
}

@media (max-width: 1100px) {
  .nt-clean-hero-container {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 450px);
    gap: 26px 34px;
  }

  .nt-clean-hero-copy h1 {
    font-size: clamp(48px, 6vw, 70px);
  }

  .nt-clean-hero-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 840px) {
  .nt-clean-hero {
    min-height: auto;
    padding: 92px 0 46px;
  }

  .nt-clean-hero-container {
    width: min(430px, calc(100% - 32px));
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "media"
      "stats"
      "available";
    gap: 18px;
    align-items: start;
  }

  .nt-clean-hero-copy {
    text-align: center;
    align-self: start;
  }

  .nt-clean-program-badge {
    margin-left: auto;
    margin-right: auto;
    width: min(255px, 82vw);
  }

  .nt-clean-hero-copy h1 {
    font-size: clamp(42px, 13vw, 62px);
    line-height: .98;
    text-align: center;
  }

  .nt-clean-hero-copy p {
    font-size: 15.5px;
    line-height: 1.55;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .nt-clean-hero-actions {
    width: min(330px, 100%);
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: 1fr;
  }

  .nt-clean-primary-btn,
  .nt-clean-date-pill {
    width: 100%;
  }

  .nt-clean-hero-media {
    justify-self: center;
    max-width: 370px;
  }

  .nt-clean-photo-frame {
    border-radius: 24px;
    border-width: 4px;
  }

  .nt-clean-float-card {
    min-width: 122px;
    max-width: 158px;
    min-height: 50px;
    padding: 8px 9px;
    border-radius: 14px;
  }

  .nt-clean-float-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .nt-clean-float-card strong {
    font-size: 12px;
  }

  .nt-clean-float-card small {
    font-size: 9.5px;
  }

  .nt-clean-float-subjects {
    top: 12px;
    right: 12px;
  }

  .nt-clean-float-languages {
    left: 12px;
  }

  .nt-clean-float-skills {
    right: 12px;
    bottom: 12px;
  }

  .nt-clean-hero-stats {
    max-width: 370px;
    width: 100%;
    justify-self: center;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .nt-clean-hero-stats article:last-child {
    grid-column: 1 / -1;
  }

  .nt-clean-hero-stats article {
    min-height: 76px;
    padding: 14px;
    border-radius: 16px;
  }

  .nt-clean-hero-stats span {
    font-size: 24px;
  }

  .nt-clean-hero-stats small {
    font-size: 12px;
  }

  .nt-clean-available {
    max-width: 370px;
  }

  .nt-clean-available-heading {
    gap: 12px;
    margin-bottom: 14px;
  }

  .nt-clean-country-row {
    gap: 12px 14px;
  }

  .nt-clean-country-row div {
    min-width: 92px;
    justify-content: center;
    font-size: 13px;
    gap: 8px;
  }

  .nt-clean-flag {
    width: 34px;
    height: 34px;
  }
}

@media (max-width: 380px) {
  .nt-clean-hero-container {
    width: min(100% - 24px, 430px);
  }

  .nt-clean-hero-copy h1 {
    font-size: 38px;
  }

  .nt-clean-float-card {
    min-width: 108px;
    max-width: 136px;
  }

  .nt-clean-float-card small {
    display: none;
  }

  .nt-clean-flag {
    width: 30px;
    height: 30px;
  }
}


/* V185: restore missing old hero contents while keeping clean auto-layout */
.nt-clean-hero-copy h1 span {
  display: block;
}

.nt-clean-hero-stats-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  max-width: none;
  width: 100%;
}

.nt-clean-hero-stats-five article {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 88px;
}

.nt-clean-stat-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nt-clean-stat-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nt-clean-stat-purple {
  background: rgba(164,110,244,.13);
  color: #7a37f0;
}

.nt-clean-stat-teal {
  background: rgba(97,220,213,.16);
  color: #159e9a;
}

.nt-clean-stat-pink {
  background: rgba(246,29,184,.12);
  color: #f61db8;
}

.nt-clean-hero-stats article strong {
  display: block;
  color: #2e0965;
  font-size: 18px;
  line-height: 1.05;
  font-weight: 950;
}

.nt-clean-hero-stats article small {
  display: block;
  margin-top: 5px;
  color: #6d637c;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 1180px) and (min-width: 841px) {
  .nt-clean-hero-stats-five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 840px) {
  .nt-clean-hero-stats-five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 370px;
  }

  .nt-clean-hero-stats-five article:last-child {
    grid-column: 1 / -1;
  }

  .nt-clean-hero-stats-five article {
    min-height: 76px;
    padding: 12px;
  }

  .nt-clean-stat-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .nt-clean-stat-icon svg {
    width: 21px;
    height: 21px;
  }

  .nt-clean-hero-stats article strong {
    font-size: 15px;
  }

  .nt-clean-hero-stats article small {
    font-size: 11px;
  }
}


/* V186 — Figma hero rebuilt with real responsive auto-layout.
   Navbar is untouched. First page content follows Figma node 368:213.
*/
.nt-figma-hero {
  position: relative;
  min-height: 1024px;
  padding: 30px;
  background: #ffffff;
  overflow: hidden;
}

.nt-figma-hero-shell {
  position: relative;
  width: min(1380px, 100%);
  min-height: 964px;
  margin: 0 auto;
  background: #ffffff;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 32px;
  overflow: hidden;
}

.nt-figma-hero-stack {
  position: relative;
  z-index: 2;
  width: min(1248px, calc(100% - 130px));
  margin: 65px auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 36px;
}

.nt-figma-hero-top {
  width: 100%;
  display: grid;
  grid-template-columns: 476px minmax(0, 722px);
  gap: 50px;
  align-items: start;
}

.nt-figma-copy-col {
  position: relative;
  min-height: 540px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.nt-figma-program-badge {
  width: 180px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #61dcd5;
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 4px 6px rgba(46,15,89,.06);
}

.nt-figma-program-badge span {
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: #61dcd5;
}

.nt-figma-program-badge strong {
  color: #13afaa;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
}

.nt-figma-copy-col h1 {
  margin: 13px 0 0;
  width: 470px;
  color: #ff14b1;
  font-size: 92px;
  line-height: 1.04;
  letter-spacing: -0.055em;
  font-weight: 800;
}

.nt-figma-copy-col h1 span {
  display: block;
}

.nt-figma-copy-col h1 span:nth-child(2) {
  color: #f61db8;
}

.nt-figma-copy-col h1 span:nth-child(3) {
  color: #6b28d9;
}

.nt-figma-copy-col p {
  margin: 20px 0 0 6px;
  width: 466px;
  color: #342852;
  font-size: 22px;
  line-height: 34px;
  font-weight: 600;
}

.nt-figma-cta-row {
  margin-top: auto;
  width: 470px;
  display: flex;
  align-items: center;
  gap: 22px;
}

.nt-figma-register,
.nt-figma-date {
  height: 66px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 700;
  font-size: 21px;
}

.nt-figma-register {
  width: 238px;
  border-radius: 18px;
  background: #6b28d9;
  color: #ffffff;
  box-shadow: 0 8px 9px rgba(46,15,89,.2);
}

.nt-figma-date {
  width: 219px;
  border-radius: 28px;
  background: rgba(255,255,255,.84);
  border: 1px solid #6b28d9;
  color: #6b28d9;
  box-shadow: 0 4px 6px rgba(46,15,89,.06);
  font-size: 20px;
  font-weight: 600;
}

.nt-figma-photo-frame {
  width: 100%;
  height: 540px;
  border: 4px solid #ffffff;
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0 18px 34px rgba(46,15,89,.16);
  background: #f6f1ff;
}

.nt-figma-photo-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* No floating cards on this Figma node. */
.nt-figma-stats-row {
  width: 100%;
  min-height: 138px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}

.nt-figma-stat-card {
  min-height: 138px;
  padding: 20px;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 13px rgba(46,15,89,.09);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.nt-figma-stat-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nt-figma-stat-icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nt-figma-icon-purple {
  background: #f2e8ff;
  color: #2e0965;
}

.nt-figma-icon-teal {
  background: #e5faf8;
  color: #18bbb5;
}

.nt-figma-icon-pink {
  background: #ffe9e7;
  color: #f61db8;
}

.nt-figma-stat-card strong {
  display: block;
  width: 130px;
  color: #2e0965;
  font-size: 24px;
  line-height: 1.15;
  font-weight: 800;
}

.nt-figma-stat-card:nth-child(2) strong,
.nt-figma-stat-card:nth-child(5) strong {
  color: #18bbb5;
}

.nt-figma-stat-card:nth-child(3) strong {
  color: #f61db8;
  font-size: 21px;
}

.nt-figma-stat-card:nth-child(4) strong,
.nt-figma-stat-card:nth-child(5) strong {
  font-size: 21px;
}

.nt-figma-stat-card small {
  display: block;
  width: 130px;
  margin-top: 4px;
  color: #22163f;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 400;
}

.nt-figma-available-strip {
  width: 960px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.nt-figma-available-heading {
  width: 960px;
  height: 28px;
  display: grid;
  grid-template-columns: 360px 130px 360px;
  gap: 24px;
  align-items: center;
  justify-content: center;
}

.nt-figma-available-heading span {
  height: 1px;
  background: #ded8ea;
}

.nt-figma-available-heading strong {
  width: 130px;
  color: #22163f;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.nt-figma-flag-row {
  width: 760px;
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 38px;
}

.nt-figma-country {
  width: 120px;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.nt-figma-country span {
  color: #22163f;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 500;
}

.nt-figma-flag {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #ece7f7;
  box-shadow: 0 3px 8px rgba(46,15,89,.14);
}

.nt-figma-flag-ca {
  background:
    linear-gradient(90deg, #ff3b30 0 26%, #fff 26% 74%, #ff3b30 74%),
    #fff;
}

.nt-figma-flag-us {
  background:
    linear-gradient(to bottom, #ff3b30 0 8%, #fff 8% 14%, #ff3b30 14% 22%, #fff 22% 28%, #ff3b30 28% 36%, #fff 36% 42%, #ff3b30 42% 50%, #fff 50% 56%, #ff3b30 56% 64%, #fff 64% 70%, #ff3b30 70% 78%, #fff 78% 84%, #ff3b30 84% 92%, #fff 92%),
    linear-gradient(#2457d6, #2457d6);
  background-size: 100% 100%, 46% 52%;
  background-position: center, top left;
  background-repeat: no-repeat;
}

.nt-figma-flag-uk {
  background:
    linear-gradient(90deg, transparent 0 40%, #fff 40% 45%, #ff3b30 45% 55%, #fff 55% 60%, transparent 60%),
    linear-gradient(0deg, transparent 0 40%, #fff 40% 45%, #ff3b30 45% 55%, #fff 55% 60%, transparent 60%),
    #1f4fa3;
}

.nt-figma-flag-eu {
  background: radial-gradient(circle at 52% 38%, #ffd447 0 4%, transparent 4.5%), #1555d1;
}

.nt-figma-flag-uae {
  background:
    linear-gradient(90deg, #e5262e 0 29%, transparent 29%),
    linear-gradient(180deg, #00a651 0 33%, #fff 33% 66%, #111 66%);
}

.nt-figma-wash {
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.nt-figma-wash-lavender {
  width: 580px;
  height: 460px;
  left: -117px;
  top: -33px;
  background: rgba(164,110,244,.1);
  z-index: 3;
}

.nt-figma-wash-teal {
  width: 520px;
  height: 420px;
  right: 1px;
  bottom: 1px;
  background: rgba(97,220,213,.13);
}

.nt-figma-ring-teal {
  position: absolute;
  width: 360px;
  height: 360px;
  right: 11px;
  bottom: 11px;
  border: 2px solid rgba(97,220,213,.25);
  border-radius: 50%;
  pointer-events: none;
}

.nt-figma-dot-grid {
  position: absolute;
  width: 112px;
  height: 56px;
  pointer-events: none;
  opacity: .55;
  background-image: radial-gradient(rgba(164,110,244,.5) 2px, transparent 2px);
  background-size: 13px 13px;
}

.nt-figma-dot-grid-top {
  right: 62px;
  top: 43px;
}

.nt-figma-dot-grid-bottom {
  right: 20px;
  bottom: 312px;
  opacity: .42;
}

@media (max-width: 1180px) {
  .nt-figma-hero {
    min-height: auto;
  }

  .nt-figma-hero-stack {
    width: min(1000px, calc(100% - 72px));
  }

  .nt-figma-hero-top {
    grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
    gap: 36px;
  }

  .nt-figma-copy-col h1 {
    width: 100%;
    font-size: clamp(68px, 7vw, 86px);
  }

  .nt-figma-copy-col p,
  .nt-figma-cta-row {
    width: 100%;
  }

  .nt-figma-stats-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .nt-figma-available-strip,
  .nt-figma-available-heading {
    width: min(900px, 100%);
  }

  .nt-figma-available-heading {
    grid-template-columns: minmax(160px, 1fr) 130px minmax(160px, 1fr);
  }
}

@media (max-width: 840px) {
  .nt-figma-hero {
    padding: 86px 16px 40px;
  }

  .nt-figma-hero-shell {
    width: 100%;
    min-height: 0;
    border-radius: 24px;
    overflow: hidden;
  }

  .nt-figma-hero-stack {
    width: min(430px, calc(100% - 28px));
    margin: 34px auto;
    gap: 22px;
  }

  .nt-figma-hero-top {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .nt-figma-copy-col {
    min-height: 0;
    align-items: center;
    text-align: center;
  }

  .nt-figma-copy-col h1 {
    margin-top: 14px;
    font-size: clamp(44px, 14vw, 64px);
    text-align: center;
  }

  .nt-figma-copy-col p {
    margin: 14px auto 0;
    font-size: 16px;
    line-height: 1.45;
    text-align: center;
  }

  .nt-figma-copy-col p br {
    display: none;
  }

  .nt-figma-cta-row {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    max-width: 330px;
  }

  .nt-figma-register,
  .nt-figma-date {
    width: 100%;
    height: 54px;
    font-size: 16px;
  }

  .nt-figma-photo-frame {
    height: auto;
    aspect-ratio: 1.32 / 1;
    border-radius: 22px;
  }

  .nt-figma-stats-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .nt-figma-stat-card {
    min-height: 84px;
    justify-content: flex-start;
  }

  .nt-figma-stat-card strong,
  .nt-figma-stat-card small {
    width: auto;
  }

  .nt-figma-available-strip {
    width: 100%;
    gap: 14px;
  }

  .nt-figma-available-heading {
    width: 100%;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    gap: 12px;
  }

  .nt-figma-available-heading strong {
    width: auto;
    font-size: 15px;
  }

  .nt-figma-flag-row {
    width: 100%;
    flex-wrap: wrap;
    gap: 14px 18px;
  }

  .nt-figma-country {
    width: auto;
    min-width: 92px;
    min-height: 42px;
  }

  .nt-figma-flag {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
  }

  .nt-figma-wash-lavender,
  .nt-figma-wash-teal,
  .nt-figma-ring-teal,
  .nt-figma-dot-grid {
    display: none;
  }
}


/* V188 — Figma second page rebuilt with responsive auto-layout.
   Reference: Figma node 436:350.
   No canvas patching and no moving/prompt JavaScript designs.
*/
.nt-figma-offer2 {
  position: relative;
  padding: 54px 70px;
  background: #ffffff;
  overflow: hidden;
}

.nt-figma-offer2-shell {
  position: relative;
  width: min(1300px, 100%);
  min-height: 916px;
  margin: 0 auto;
  padding: 34px;
  border-radius: 28px;
  background: #ffffff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.nt-figma-offer2-decor {
  position: absolute;
  left: 34px;
  top: 70px;
  width: 220px;
  height: 150px;
  pointer-events: none;
}

.nt-figma-offer2-decor .decor-square {
  position: absolute;
  border: 1.4px solid rgba(164,110,244,.35);
  border-radius: 8px;
  width: 50px;
  height: 50px;
}

.decor-square-one {
  left: 0;
  top: 16px;
}

.decor-square-two {
  left: 30px;
  top: 40px;
  border-color: rgba(97,220,213,.55) !important;
}

.decor-plus {
  position: absolute;
  left: 140px;
  top: 56px;
  color: #f61db8;
  font-size: 24px;
  font-weight: 400;
}

.decor-dots {
  position: absolute;
  left: 78px;
  top: 0;
  width: 86px;
  height: 54px;
  background-image: radial-gradient(rgba(164,110,244,.45) 2px, transparent 2px);
  background-size: 13px 13px;
}

.nt-figma-offer2-top {
  position: relative;
  width: 100%;
  min-height: 300px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.nt-figma-offer2-copy {
  width: min(818px, 100%);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.nt-figma-offer2-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  min-height: 36px;
  border-radius: 18px;
  border: 1.3px solid rgba(97,220,213,.9);
  background: #ffffff;
  color: #2a055f;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.nt-figma-offer2-copy h2 {
  margin: 0;
  width: min(770px, 100%);
  color: #6b28d9;
  font-size: clamp(54px, 5vw, 72px);
  line-height: 1.18;
  letter-spacing: -0.055em;
  font-weight: 800;
  text-align: center;
}

.nt-figma-offer2-copy p {
  margin: 0;
  width: min(770px, 100%);
  color: #493d64;
  font-size: 20px;
  line-height: 27px;
  font-weight: 500;
  text-align: center;
}

.nt-figma-offer2-feature-row {
  width: 100%;
  min-height: 170px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 390px));
  justify-content: space-between;
  gap: 22px;
}

.nt-figma-offer2-feature {
  height: 150px;
  padding: 18px 20px;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 10px 24px rgba(97,220,213,.08);
}

.nt-figma-offer2-feature strong {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}

.nt-figma-offer2-feature p {
  margin: 0;
  width: 100%;
  color: #493d64;
  font-size: 17px;
  line-height: 24px;
  font-weight: 500;
}

.feature-subjects {
  background: #f4fffd;
  border: 1.4px solid rgba(97,220,213,.72);
}

.feature-subjects strong {
  background: #61dcd5;
  color: #2a055f;
}

.feature-languages {
  background: #f4eeff;
  border: 1.4px solid rgba(164,110,244,.72);
  box-shadow: 0 10px 24px rgba(164,110,244,.08);
}

.feature-languages strong {
  background: #6b28d9;
  color: #ffffff;
}

.feature-skills {
  background: #fff3f9;
  border: 1.4px solid #f61db8;
  box-shadow: 0 10px 24px rgba(244,39,134,.08);
}

.feature-skills strong {
  background: #f61db8;
  color: #ffffff;
}

.nt-figma-offer2-support {
  width: 100%;
  margin-top: 66px;
  min-height: 188px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.nt-figma-offer2-heading {
  width: min(960px, 100%);
  min-height: 30px;
  display: grid;
  grid-template-columns: minmax(0, 340px) 219px minmax(0, 340px);
  gap: 24px;
  align-items: center;
  justify-content: center;
}

.nt-figma-offer2-heading span {
  height: 1px;
}

.nt-figma-offer2-heading span:first-child {
  background: rgba(164,110,244,.34);
}

.nt-figma-offer2-heading span:last-child {
  background: rgba(97,220,213,.38);
}

.nt-figma-offer2-heading strong {
  color: #2a055f;
  font-size: 18px;
  line-height: 26px;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.nt-figma-offer2-chip-row {
  width: min(990px, 100%);
  min-height: 118px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 314px));
  justify-content: center;
  gap: 24px;
}

.nt-figma-offer2-chip {
  height: 104px;
  padding: 18px;
  border-radius: 22px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.nt-figma-offer2-chip b {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #2a055f;
  font-size: 20px;
  line-height: 24px;
  font-weight: 700;
}

.nt-figma-offer2-chip div {
  width: 210px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.nt-figma-offer2-chip h3 {
  margin: 0;
  color: #2a055f;
  font-size: 18px;
  line-height: 23px;
  font-weight: 700;
}

.nt-figma-offer2-chip p {
  margin: 0;
  color: #493d64;
  font-size: 13.2px;
  line-height: 18px;
  font-weight: 400;
}

.support-schedule {
  border: 1.4px solid rgba(97,220,213,.72);
}

.support-schedule b {
  background: #61dcd5;
}

.support-expert {
  border: 1.4px solid rgba(164,110,244,.72);
}

.support-expert b {
  background: #6b28d9;
  color: #ffffff;
}

.support-duration {
  border: 1.4px solid #f61db8;
}

.support-duration b {
  background: #f61db8;
  color: #ffffff;
}

@media (max-width: 1100px) {
  .nt-figma-offer2 {
    padding: 44px 32px;
  }

  .nt-figma-offer2-shell {
    min-height: auto;
  }

  .nt-figma-offer2-top {
    min-height: 260px;
  }

  .nt-figma-offer2-feature-row {
    grid-template-columns: repeat(2, minmax(0, 390px));
    justify-content: center;
  }

  .nt-figma-offer2-feature:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(390px, 100%);
  }

  .nt-figma-offer2-chip-row {
    grid-template-columns: repeat(2, minmax(0, 314px));
  }

  .nt-figma-offer2-chip:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(314px, 100%);
  }
}

@media (max-width: 760px) {
  .nt-figma-offer2 {
    padding: 44px 16px;
  }

  .nt-figma-offer2-shell {
    width: 100%;
    padding: 26px 14px;
    border-radius: 24px;
    gap: 22px;
  }

  .nt-figma-offer2-decor {
    display: none;
  }

  .nt-figma-offer2-top {
    min-height: auto;
  }

  .nt-figma-offer2-copy {
    gap: 14px;
  }

  .nt-figma-offer2-copy h2 {
    font-size: clamp(36px, 10.5vw, 48px);
    line-height: 1.08;
  }

  .nt-figma-offer2-copy p {
    font-size: 15.5px;
    line-height: 22px;
  }

  .nt-figma-offer2-copy p br {
    display: none;
  }

  .nt-figma-offer2-feature-row {
    grid-template-columns: 1fr;
    gap: 14px;
    min-height: auto;
  }

  .nt-figma-offer2-feature,
  .nt-figma-offer2-feature:last-child {
    width: 100%;
    height: auto;
    min-height: 140px;
    grid-column: auto;
  }

  .nt-figma-offer2-feature strong {
    min-height: 44px;
  }

  .nt-figma-offer2-support {
    margin-top: 24px;
    gap: 18px;
  }

  .nt-figma-offer2-heading {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
  }

  .nt-figma-offer2-heading strong {
    font-size: 14px;
  }

  .nt-figma-offer2-chip-row {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .nt-figma-offer2-chip,
  .nt-figma-offer2-chip:last-child {
    width: 100%;
    height: auto;
    min-height: 104px;
    grid-column: auto;
    justify-content: flex-start;
  }

  .nt-figma-offer2-chip div {
    width: auto;
    flex: 1;
  }
}

/* V189 — hard fix for mobile hamburger menu only */
@media (max-width: 980px) {
  .nt-header {
    z-index: 999999 !important;
  }

  .nt-mobile-toggle {
    display: inline-flex !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 1000001 !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  #mobileMenu,
  .nt-mobile-panel {
    position: fixed !important;
    top: 76px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100vh - 92px) !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    box-shadow: 0 24px 70px rgba(46, 9, 101, 0.22) !important;
    z-index: 1000000 !important;

    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
  }

  #mobileMenu.open,
  .nt-mobile-panel.open,
  body.nt-menu-open #mobileMenu,
  body.nt-menu-open .nt-mobile-panel {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .nt-mobile-children {
    display: none !important;
  }

  .nt-mobile-children.open {
    display: block !important;
  }

  .nt-mobile-menu,
  .nt-mobile-children {
    list-style: none !important;
  }

  .nt-mobile-menu a,
  .nt-mobile-subbutton {
    pointer-events: auto !important;
  }
}


/* V190 — Figma third page rebuilt with responsive auto-layout.
   Reference: Figma node 436:351.
   Clickable course buttons and dropdowns both update the selected details.
*/
.nt-figma-age3 {
  position: relative;
  min-height: 1024px;
  background: #ffffff;
  overflow: hidden;
  padding: 58px 80px 66px;
}

.nt-figma-age3-wash {
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.nt-figma-age3-wash-purple {
  width: 470px;
  height: 470px;
  left: -128px;
  top: -146px;
  background: rgba(164,110,244,.08);
}

.nt-figma-age3-wash-teal {
  width: 420px;
  height: 420px;
  right: -60px;
  bottom: -66px;
  background: rgba(97,220,213,.10);
}

.nt-figma-age3-content {
  position: relative;
  z-index: 2;
  width: min(1280px, 100%);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.nt-figma-age3-header {
  width: 100%;
  max-width: 1280px;
  min-height: 182px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.nt-figma-age3-badge {
  width: 190px;
  height: 38px;
  border: 1.3px solid rgba(97,220,213,.9);
  border-radius: 999px;
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #2e0965;
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
}

.nt-figma-age3-badge i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #61dcd5;
}

.nt-figma-age3-header h2 {
  width: min(760px, 100%);
  margin: 0;
  color: #6b28d9;
  font-size: clamp(44px, 4.2vw, 58px);
  line-height: 68px;
  letter-spacing: -0.045em;
  font-weight: 800;
}

.nt-figma-age3-header p {
  width: min(720px, 100%);
  margin: 0;
  color: #493d64;
  font-size: 20px;
  line-height: 27px;
  font-weight: 400;
}

.nt-figma-age3-cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 406px));
  justify-content: center;
  gap: 30px;
  align-items: stretch;
}

.nt-figma-age3-card {
  height: 610px;
  background: #ffffff;
  border: 1.4px solid var(--age-color);
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.nt-figma-age3-card.young {
  --age-color: rgba(244,39,134,.72);
  --age-solid: #f61db8;
  --age-text: #ffffff;
  --age-subtext: rgba(255,255,255,.96);
}

.nt-figma-age3-card.curious {
  --age-color: rgba(97,220,213,.72);
  --age-solid: #61dcd5;
  --age-text: #2e0965;
  --age-subtext: rgba(46,9,101,.92);
}

.nt-figma-age3-card.teen {
  --age-color: #6b28d9;
  --age-solid: #6b28d9;
  --age-text: #ffffff;
  --age-subtext: rgba(255,255,255,.96);
}

.nt-figma-age3-label {
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ffffff;
  color: #2e0965;
}

.nt-figma-age3-label i {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--age-solid);
}

.nt-figma-age3-label strong {
  width: 270px;
  text-align: center;
  font-size: 20px;
  line-height: 26px;
  font-weight: 700;
}

.nt-figma-age3-plan {
  height: 70px;
  background: var(--age-solid);
  color: var(--age-text);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-align: center;
}

.nt-figma-age3-plan h3 {
  width: 320px;
  margin: 0;
  font-size: 22px;
  line-height: 28px;
  font-weight: 700;
}

.nt-figma-age3-plan p {
  width: 330px;
  margin: 0;
  color: var(--age-subtext);
  font-size: 13.2px;
  line-height: 18px;
  font-weight: 500;
}

.nt-figma-age3-body {
  height: 436px;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  background: #ffffff;
}

.nt-figma-age3-select-wrap {
  position: relative;
  display: block;
  width: 350px;
  height: 54px;
}

.nt-figma-age3-select-wrap::after {
  content: "v";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--age-solid);
  font-size: 16px;
  font-weight: 700;
  pointer-events: none;
}

.nt-figma-age3-select {
  width: 100%;
  height: 54px;
  border: 1.4px solid var(--age-color);
  border-radius: 16px;
  background: #ffffff;
  color: #2e0965;
  font-size: 16px;
  font-weight: 600;
  padding: 0 42px 0 12px;
  outline: none;
  appearance: none;
  cursor: pointer;
}

.nt-figma-age3-select:focus {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--age-solid) 16%, transparent);
}

.nt-figma-age3-options {
  width: 350px;
  height: 162px;
  padding: 14px;
  border: 1.4px solid var(--age-color);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #ffffff;
}

.nt-figma-age3-options button {
  position: relative;
  width: 100%;
  height: 24px;
  border: 0;
  background: transparent;
  color: #493d64;
  font: 500 12.5px/18px var(--nt-font);
  text-align: left;
  padding: 0 0 0 13px;
  cursor: pointer;
}

.nt-figma-age3-options button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--age-solid);
}

.nt-figma-age3-options button:hover,
.nt-figma-age3-options button:focus {
  color: #2e0965;
  font-weight: 700;
}

.nt-figma-age3-selected {
  width: 350px;
  height: 148px;
  padding: 13px 16px;
  border: 1.4px solid var(--age-color);
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  background: #ffffff;
}

.nt-figma-age3-selected span {
  width: 142px;
  height: 28px;
  border-radius: 999px;
  background: var(--age-solid);
  color: var(--age-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
}

.nt-figma-age3-selected span i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  opacity: .75;
}

.nt-figma-age3-card.curious .nt-figma-age3-selected span {
  color: #2e0965;
}

.nt-figma-age3-selected h4 {
  margin: 0;
  width: 318px;
  color: #2e0965;
  font-size: 19px;
  line-height: 24px;
  font-weight: 700;
}

.nt-figma-age3-selected p {
  margin: 0;
  width: 318px;
  color: #493d64;
  font-size: 12.6px;
  line-height: 17px;
  font-weight: 400;
}

@media (max-width: 1200px) {
  .nt-figma-age3 {
    padding: 54px 32px 60px;
  }

  .nt-figma-age3-cards {
    grid-template-columns: repeat(2, minmax(0, 406px));
  }

  .nt-figma-age3-card.teen {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(406px, 100%);
  }
}

@media (max-width: 760px) {
  .nt-figma-age3 {
    min-height: auto;
    padding: 48px 16px 54px;
  }

  .nt-figma-age3-wash {
    display: none;
  }

  .nt-figma-age3-content {
    width: min(430px, 100%);
    gap: 24px;
  }

  .nt-figma-age3-header {
    min-height: auto;
  }

  .nt-figma-age3-header h2 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.08;
  }

  .nt-figma-age3-header p {
    font-size: 15.5px;
    line-height: 23px;
  }

  .nt-figma-age3-cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .nt-figma-age3-card,
  .nt-figma-age3-card.teen {
    width: 100%;
    height: auto;
    min-height: 0;
    grid-column: auto;
  }

  .nt-figma-age3-label,
  .nt-figma-age3-plan {
    width: 100%;
  }

  .nt-figma-age3-label strong {
    width: auto;
    font-size: 17px;
  }

  .nt-figma-age3-plan h3,
  .nt-figma-age3-plan p {
    width: calc(100% - 24px);
  }

  .nt-figma-age3-body {
    width: 100%;
    height: auto;
    padding: 18px;
  }

  .nt-figma-age3-select-wrap,
  .nt-figma-age3-options,
  .nt-figma-age3-selected {
    width: 100%;
  }

  .nt-figma-age3-options {
    height: auto;
    min-height: 150px;
  }

  .nt-figma-age3-selected {
    height: auto;
    min-height: 140px;
  }

  .nt-figma-age3-selected h4,
  .nt-figma-age3-selected p {
    width: 100%;
  }
}


/* V191 — first page no visible outer frame + Figma How It Works rebuild */

/* Remove the first page visual outer frame only.
   This keeps a semantic wrapper for layout, but it no longer looks/acts like a framed canvas. */
.nt-figma-hero {
  padding: 96px 30px 58px !important;
  min-height: auto !important;
  background: #ffffff !important;
}

.nt-figma-hero-shell {
  width: min(1380px, 100%) !important;
  min-height: auto !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.nt-figma-hero-stack {
  margin: 0 auto !important;
}

/* Decorative background stays as page decoration, not a frame clipping layer. */
.nt-figma-wash-lavender {
  left: -147px !important;
  top: -63px !important;
}

.nt-figma-wash-teal {
  right: 30px !important;
  bottom: 30px !important;
}

.nt-figma-ring-teal {
  right: 40px !important;
  bottom: 40px !important;
}

/* How It Works from Figma node 768:213 */
.nt-figma-bridge4 {
  position: relative;
  padding: 74px 70px 76px;
  background: #f0e4ff;
  overflow: hidden;
}

.nt-figma-bridge4-header {
  width: min(1120px, 100%);
  margin: 0 auto 34px;
  min-height: 92px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}

.nt-figma-bridge4-kicker {
  width: min(920px, 100%);
  height: 28px;
  display: grid;
  grid-template-columns: minmax(0, 300px) 276px minmax(0, 300px);
  gap: 22px;
  align-items: center;
  justify-content: center;
}

.nt-figma-bridge4-kicker span {
  height: 1px;
  background: rgba(164,110,244,.45);
}

.nt-figma-bridge4-kicker strong {
  color: #2e0965;
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.nt-figma-bridge4-header h2 {
  margin: 0;
  width: min(900px, 100%);
  color: #2e0965;
  font-size: 34px;
  line-height: 42px;
  font-weight: 800;
  text-align: center;
  letter-spacing: -0.025em;
}

.nt-figma-bridge4-row {
  width: min(1417px, 100%);
  margin: 0 auto;
  min-height: 303px;
  display: grid;
  grid-template-columns: repeat(5, 244px);
  gap: 34px;
  align-items: center;
  justify-content: center;
}

.nt-figma-bridge4-card {
  height: 224px;
  width: 244px;
  padding: 18px 16px;
  border-radius: 26px;
  background: #fbf7ff;
  border: 1.4px solid rgba(164,110,244,.72);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  box-sizing: border-box;
}

.nt-figma-bridge4-card b {
  width: 96px;
  height: 96px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  line-height: 32px;
  font-weight: 800;
}

.nt-figma-bridge4-card .circle-purple-dark,
.nt-figma-bridge4-card .circle-purple-light {
  background: #a46ef4;
}

.nt-figma-bridge4-card .circle-purple-dark,
.nt-figma-bridge4-card .circle-teal {
  color: #2e0965;
}

.nt-figma-bridge4-card .circle-purple-light,
.nt-figma-bridge4-card .circle-pink {
  color: #ffffff;
}

.nt-figma-bridge4-card .circle-pink {
  background: #f42786;
}

.nt-figma-bridge4-card .circle-teal {
  background: #61dcd5;
}

.nt-figma-bridge4-card h3 {
  margin: 0;
  width: 210px;
  color: #2e0965;
  font-size: 18px;
  line-height: 23px;
  font-weight: 700;
}

.nt-figma-bridge4-card p {
  margin: 0;
  width: 206px;
  color: #493d64;
  font-size: 13.2px;
  line-height: 18px;
  font-weight: 400;
}

@media (max-width: 1340px) {
  .nt-figma-bridge4-row {
    grid-template-columns: repeat(3, 244px);
  }
}

@media (max-width: 900px) {
  .nt-figma-hero {
    padding: 86px 16px 40px !important;
  }

  .nt-figma-hero-shell {
    width: 100% !important;
  }

  .nt-figma-bridge4 {
    padding: 52px 16px 56px;
  }

  .nt-figma-bridge4-header {
    min-height: auto;
    margin-bottom: 26px;
  }

  .nt-figma-bridge4-kicker {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
  }

  .nt-figma-bridge4-kicker strong {
    font-size: 13px;
  }

  .nt-figma-bridge4-header h2 {
    font-size: clamp(28px, 8vw, 36px);
    line-height: 1.15;
  }

  .nt-figma-bridge4-row {
    width: min(430px, 100%);
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .nt-figma-bridge4-card {
    width: 100%;
    height: auto;
    min-height: 132px;
    padding: 16px;
    display: grid;
    grid-template-columns: 72px 1fr;
    grid-template-areas:
      "circle title"
      "circle copy";
    gap: 6px 14px;
    align-items: center;
    text-align: left;
  }

  .nt-figma-bridge4-card b {
    grid-area: circle;
    width: 72px;
    height: 72px;
    font-size: 22px;
  }

  .nt-figma-bridge4-card h3 {
    grid-area: title;
    width: auto;
    text-align: left;
  }

  .nt-figma-bridge4-card p {
    grid-area: copy;
    width: auto;
    text-align: left;
  }
}


/* V192 — Figma last page / pricing rebuilt with responsive auto-layout.
   Reference: Figma node 436:352.
   Location dropdowns update the starting price on desktop and mobile.
*/
.nt-figma-price4 {
  position: relative;
  min-height: 1024px;
  background: #ffffff;
  overflow: hidden;
  padding: 58px 80px 66px;
}

.nt-figma-price4-wash {
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
}

.nt-figma-price4-wash-purple {
  width: 470px;
  height: 470px;
  left: -128px;
  top: -146px;
  background: rgba(164,110,244,.08);
}

.nt-figma-price4-wash-teal {
  width: 420px;
  height: 420px;
  right: -60px;
  bottom: -66px;
  background: rgba(97,220,213,.10);
}

.nt-figma-price4-content {
  position: relative;
  z-index: 2;
  width: min(1280px, 100%);
  margin: 0 auto;
  min-height: 900px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.nt-figma-price4-header {
  width: 100%;
  min-height: 202px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.nt-figma-price4-badge {
  width: 190px;
  height: 38px;
  border: 1px solid #61dcd5;
  border-radius: 19px;
  background: #f8ffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #159e9a;
  font-size: 16px;
  line-height: 21px;
  font-weight: 600;
}

.nt-figma-price4-badge i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #61dcd5;
}

.nt-figma-price4-header h2 {
  width: min(760px, 100%);
  margin: 0;
  color: #6b28d9;
  font-size: clamp(48px, 4.6vw, 64px);
  line-height: 72px;
  letter-spacing: -0.045em;
  font-weight: 800;
}

.nt-figma-price4-header p {
  width: min(598px, 100%);
  margin: 0;
  color: #40335f;
  font-size: 24px;
  line-height: 28px;
  font-weight: 500;
}

.nt-figma-price4-cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 303px);
  justify-content: center;
  align-items: start;
  gap: 22px;
}

.nt-figma-price4-card {
  width: 303px;
  height: 440px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e6daf7;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(43,26,82,.10);
  display: flex;
  flex-direction: column;
}

.nt-figma-price4-card {
  --tier-color: #6b28d9;
  --tier-soft: rgba(107,40,217,.12);
}

.nt-figma-price4-card.teal {
  --tier-color: #18bbb5;
  --tier-soft: rgba(24,187,181,.12);
}

.nt-figma-price4-card.purple,
.nt-figma-price4-card.deep-purple {
  --tier-color: #6b28d9;
  --tier-soft: rgba(107,40,217,.12);
}

.nt-figma-price4-card.pink {
  --tier-color: #f61db8;
  --tier-soft: rgba(246,29,184,.12);
}

.nt-figma-price4-top-spacer {
  height: 44px;
  flex: 0 0 44px;
  background: #ffffff;
}

.nt-figma-price4-plan {
  height: 66px;
  flex: 0 0 66px;
  background: var(--tier-color);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
}

.nt-figma-price4-plan h3 {
  margin: 0;
  width: 260px;
  font-size: 19px;
  line-height: 23px;
  font-weight: 800;
}

.nt-figma-price4-plan span {
  font: inherit;
}

.nt-figma-price4-details {
  height: 272px;
  flex: 0 0 272px;
  padding: 12px 25px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.nt-figma-price4-row {
  width: 252px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.nt-figma-price4-row > div {
  width: 214px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.nt-figma-price4-row strong {
  display: block;
  color: #2a055f;
  font-size: 10.5px;
  line-height: 14px;
  font-weight: 800;
  text-transform: uppercase;
}

.nt-figma-price4-row p {
  margin: 0;
  color: #20172f;
  font-size: 11.6px;
  line-height: 14.2px;
  font-weight: 500;
}

.nt-figma-price4-row.location-row {
  min-height: 62px;
}

.nt-price-icon {
  position: relative;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 9px;
  background: var(--tier-soft);
  color: var(--tier-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nt-price-icon.calendar::before {
  content: "";
  position: absolute;
  width: 17px;
  height: 15px;
  left: 6.5px;
  top: 9px;
  border: 1.7px solid var(--tier-color);
  border-radius: 3px;
}

.nt-price-icon.calendar::after {
  content: "";
  position: absolute;
  width: 14px;
  height: 1.6px;
  left: 8px;
  top: 14px;
  border-radius: 1px;
  background: var(--tier-color);
  box-shadow:
    3px -7.2px 0 -0.2px var(--tier-color),
    10px -7.2px 0 -0.2px var(--tier-color);
}

.nt-price-icon.location::before {
  content: "";
  width: 14px;
  height: 14px;
  border: 1.8px solid var(--tier-color);
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}

.nt-price-icon.location::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--tier-color);
}

.nt-price-icon.money {
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}

.nt-price-icon.city::before,
.nt-price-icon.city::after {
  content: "";
  position: absolute;
  bottom: 3px;
  background: var(--tier-color);
  border-radius: 1.5px;
}

.nt-price-icon.city::before {
  width: 6px;
  height: 17px;
  left: 5px;
  box-shadow: 8px -5px 0 1.5px var(--tier-color);
}

.nt-price-icon.city::after {
  width: 6px;
  height: 14px;
  right: 1px;
}

.nt-figma-price4-select-wrap {
  position: relative;
  width: 214px;
  height: 34px;
  display: block;
  margin-top: 5px;
}

.nt-figma-price4-select-wrap::after {
  content: "v";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--tier-color);
  font-size: 13px;
  font-weight: 700;
  pointer-events: none;
}

.nt-figma-price4-select {
  width: 214px;
  height: 34px;
  border: 1.3px solid color-mix(in srgb, var(--tier-color) 72%, transparent);
  border-radius: 10px;
  background: #ffffff;
  color: #493d64;
  font-size: 13px;
  line-height: 18px;
  font-weight: 600;
  padding: 0 34px 0 10px;
  outline: none;
  appearance: none;
  cursor: pointer;
}

.nt-figma-price4-select:focus {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--tier-color) 16%, transparent);
}

.nt-figma-price4-result {
  width: 214px;
  min-height: 38px;
  color: #493d64 !important;
  font-size: 13.2px !important;
  line-height: 18px !important;
  font-weight: 600 !important;
}

.nt-figma-price4-result.has-price {
  color: var(--tier-color) !important;
  font-weight: 800 !important;
}

.nt-figma-price4-row.cities p {
  min-height: 38px;
}

.nt-figma-price4-button-wrap {
  height: 58px;
  flex: 0 0 58px;
  padding: 4px 27px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nt-figma-price4-button-wrap a {
  width: 249px;
  height: 40px;
  border-radius: 9px;
  background: var(--tier-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 16px;
  line-height: 21px;
  font-weight: 800;
  text-decoration: none;
}

.nt-figma-price4-batches {
  width: 100%;
  min-height: 146px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.nt-figma-price4-batch-title {
  width: min(920px, 100%);
  height: 28px;
  display: grid;
  grid-template-columns: minmax(0, 330px) 190px minmax(0, 330px);
  gap: 18px;
  align-items: center;
  justify-content: center;
}

.nt-figma-price4-batch-title span {
  height: 1px;
  border-radius: 1px;
  background: rgba(164,110,244,.26);
}

.nt-figma-price4-batch-title strong {
  color: #2a055f;
  font-size: 18px;
  line-height: 23px;
  font-weight: 800;
  text-align: center;
  white-space: nowrap;
}

.nt-figma-price4-batch-row {
  width: min(1040px, 100%);
  display: grid;
  grid-template-columns: repeat(3, 318px);
  justify-content: center;
  gap: 42px;
}

.nt-figma-price4-batch-row article {
  width: 318px;
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.nt-figma-price4-batch-row b {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 26px;
  font-weight: 800;
}

.nt-figma-price4-batch-row .batch-a b {
  background: rgba(97,220,213,.16);
  color: #18bbb5;
}

.nt-figma-price4-batch-row .batch-b b {
  background: rgba(164,110,244,.16);
  color: #6b28d9;
}

.nt-figma-price4-batch-row .batch-c b {
  background: rgba(244,39,134,.16);
  color: #f61db8;
}

.nt-figma-price4-batch-row div {
  width: 260px;
}

.nt-figma-price4-batch-row h3 {
  margin: 0 0 2px;
  color: #2a055f;
  font-size: 16px;
  line-height: 21px;
  font-weight: 800;
}

.nt-figma-price4-batch-row p {
  margin: 0;
  color: #4d4168;
  font-size: 14.5px;
  line-height: 19px;
  font-weight: 500;
}

@media (max-width: 1280px) {
  .nt-figma-price4 {
    padding: 54px 32px 60px;
  }

  .nt-figma-price4-cards {
    grid-template-columns: repeat(2, 303px);
  }

  .nt-figma-price4-batch-row {
    grid-template-columns: repeat(2, 318px);
    gap: 22px;
  }

  .nt-figma-price4-batch-row .batch-c {
    grid-column: 1 / -1;
    justify-self: center;
  }
}

@media (max-width: 760px) {
  .nt-figma-price4 {
    min-height: auto;
    padding: 48px 16px 54px;
  }

  .nt-figma-price4-wash {
    display: none;
  }

  .nt-figma-price4-content {
    width: min(430px, 100%);
    min-height: auto;
    gap: 24px;
  }

  .nt-figma-price4-header {
    min-height: auto;
  }

  .nt-figma-price4-header h2 {
    font-size: clamp(36px, 10vw, 46px);
    line-height: 1.08;
  }

  .nt-figma-price4-header p {
    font-size: 17px;
    line-height: 24px;
  }

  .nt-figma-price4-cards {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .nt-figma-price4-card {
    width: 100%;
    height: auto;
    min-height: 440px;
  }

  .nt-figma-price4-top-spacer,
  .nt-figma-price4-plan,
  .nt-figma-price4-button-wrap {
    width: 100%;
  }

  .nt-figma-price4-details {
    width: 100%;
    height: auto;
    min-height: 272px;
    padding: 14px 20px 12px;
  }

  .nt-figma-price4-row {
    width: 100%;
  }

  .nt-figma-price4-row > div,
  .nt-figma-price4-select-wrap,
  .nt-figma-price4-select,
  .nt-figma-price4-result {
    width: 100%;
  }

  .nt-figma-price4-batches {
    min-height: auto;
  }

  .nt-figma-price4-batch-title {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
  }

  .nt-figma-price4-batch-title strong {
    font-size: 14px;
  }

  .nt-figma-price4-batch-row {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 14px;
  }

  .nt-figma-price4-batch-row .batch-c {
    grid-column: auto;
  }

  .nt-figma-price4-batch-row article {
    width: 100%;
  }

  .nt-figma-price4-batch-row div {
    width: auto;
    flex: 1;
  }
}

/* V194 — professional dropdown arrows for page 3 and page 4
   Replaces the text 'v' arrow with a clean chevron icon.
*/
.nt-figma-age3-select-wrap,
.nt-figma-price4-select-wrap {
  position: relative;
}

.nt-figma-age3-select-wrap::after,
.nt-figma-price4-select-wrap::after {
  content: "" !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  border-right: 2px solid var(--age-solid, var(--tier-color, #6b28d9)) !important;
  border-bottom: 2px solid var(--age-solid, var(--tier-color, #6b28d9)) !important;
  transform: translateY(-62%) rotate(45deg) !important;
  pointer-events: none !important;
  border-radius: 1px !important;
}

.nt-figma-price4-select-wrap::after {
  right: 13px !important;
  width: 8px !important;
  height: 8px !important;
  border-right-color: var(--tier-color, #6b28d9) !important;
  border-bottom-color: var(--tier-color, #6b28d9) !important;
}

.nt-figma-age3-select,
.nt-figma-price4-select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: none !important;
}

.nt-figma-age3-select::-ms-expand,
.nt-figma-price4-select::-ms-expand {
  display: none !important;
}

/* Slight hover/focus polish so the dropdown feels clickable */
.nt-figma-age3-select-wrap:hover .nt-figma-age3-select,
.nt-figma-price4-select-wrap:hover .nt-figma-price4-select {
  box-shadow: 0 4px 12px rgba(46, 9, 101, 0.06);
}

.nt-figma-age3-select:focus,
.nt-figma-price4-select:focus {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--age-solid, var(--tier-color, #6b28d9)) 16%, transparent) !important;
}

/* V195 — restore Page 3 dropdown frame style from the older/Figma design.
   Page 3 dropdown should feel like a small coloured framed field, not a plain select.
   Page 4 pricing dropdown arrows remain clean/professional from v194.
*/
.nt-figma-age3-select-wrap {
  width: 350px !important;
  height: 54px !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  border: 1.4px solid var(--age-color) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(46, 9, 101, 0.04) !important;
  overflow: hidden !important;
}

.nt-figma-age3-select-wrap::after {
  content: "" !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  width: 9px !important;
  height: 9px !important;
  border-right: 2px solid var(--age-solid) !important;
  border-bottom: 2px solid var(--age-solid) !important;
  transform: translateY(-68%) rotate(45deg) !important;
  border-radius: 1px !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

.nt-figma-age3-select {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #2e0965 !important;
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 600 !important;
  padding: 0 52px 0 18px !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.nt-figma-age3-select-wrap:hover {
  box-shadow: 0 10px 22px rgba(46, 9, 101, 0.075) !important;
}

.nt-figma-age3-select:focus {
  box-shadow: none !important;
}

.nt-figma-age3-select-wrap:focus-within {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--age-solid) 15%, transparent), 0 10px 22px rgba(46, 9, 101, 0.075) !important;
}

/* keep the frame colour tied to each age card */
.nt-figma-age3-card.young .nt-figma-age3-select-wrap {
  border-color: rgba(244, 39, 134, .72) !important;
}

.nt-figma-age3-card.curious .nt-figma-age3-select-wrap {
  border-color: rgba(97, 220, 213, .72) !important;
}

.nt-figma-age3-card.teen .nt-figma-age3-select-wrap {
  border-color: #6b28d9 !important;
}

@media (max-width: 760px) {
  .nt-figma-age3-select-wrap {
    width: 100% !important;
  }
}

/* V196 — Page 3 dropdown restored to the older professional framed style:
   long coloured field + small tinted arrow box on the right.
*/
.nt-figma-age3-select-wrap {
  width: 350px !important;
  height: 54px !important;
  position: relative !important;
  display: block !important;
  border: 1.4px solid var(--age-color) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* small coloured arrow frame */
.nt-figma-age3-select-wrap::before {
  content: "" !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--age-solid) 12%, #ffffff) !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* clean chevron inside the small frame */
.nt-figma-age3-select-wrap::after {
  content: "" !important;
  position: absolute !important;
  right: 29px !important;
  top: 50% !important;
  width: 8px !important;
  height: 8px !important;
  border-right: 2px solid var(--age-solid) !important;
  border-bottom: 2px solid var(--age-solid) !important;
  transform: translateY(-65%) rotate(45deg) !important;
  border-radius: 1px !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

.nt-figma-age3-select {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  color: #2e0965 !important;
  font-size: 20px !important;
  line-height: 26px !important;
  font-weight: 700 !important;
  padding: 0 70px 0 18px !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-transform: none !important;
}

.nt-figma-age3-select option {
  font-size: 15px !important;
  font-weight: 600 !important;
}

.nt-figma-age3-select:focus {
  box-shadow: none !important;
}

.nt-figma-age3-select-wrap:hover {
  box-shadow: 0 8px 18px rgba(46, 9, 101, 0.06) !important;
}

.nt-figma-age3-select-wrap:focus-within {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--age-solid) 14%, transparent) !important;
}

/* keep exact frame colours per card */
.nt-figma-age3-card.young .nt-figma-age3-select-wrap {
  border-color: rgba(246, 29, 184, .76) !important;
}

.nt-figma-age3-card.curious .nt-figma-age3-select-wrap {
  border-color: rgba(97, 220, 213, .78) !important;
}

.nt-figma-age3-card.teen .nt-figma-age3-select-wrap {
  border-color: rgba(107, 40, 217, .82) !important;
}

@media (max-width: 760px) {
  .nt-figma-age3-select-wrap {
    width: 100% !important;
  }

  .nt-figma-age3-select {
    font-size: 17px !important;
  }

  .nt-figma-age3-select-wrap::before {
    width: 38px !important;
    height: 38px !important;
    right: 12px !important;
  }

  .nt-figma-age3-select-wrap::after {
    right: 26px !important;
  }
}

/* V197 — Page 3 custom dropdowns that always open downward.
   Native select menus can open upward depending on the browser/viewport.
   This replaces only Page 3 class selects with controlled dropdown menus.
*/
.nt-figma-age3-cards,
.nt-figma-age3-card,
.nt-figma-age3-body {
  overflow: visible !important;
}

.nt-figma-age3-card {
  position: relative !important;
}

.nt-custom-age-dropdown {
  position: relative !important;
  z-index: 40 !important;
  overflow: visible !important;
}

.nt-custom-age-dropdown.open {
  z-index: 999 !important;
}

.nt-custom-age-trigger {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: transparent !important;
  color: #2e0965 !important;
  font-family: var(--nt-font) !important;
  font-size: 20px !important;
  line-height: 26px !important;
  font-weight: 700 !important;
  padding: 0 70px 0 18px !important;
  text-align: left !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
}

.nt-custom-age-trigger span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.nt-custom-age-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: 0 !important;
  max-height: 250px !important;
  overflow-y: auto !important;
  margin: 0 !important;
  padding: 8px !important;
  list-style: none !important;
  border: 1.4px solid var(--age-color) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 22px 52px rgba(46, 9, 101, 0.18) !important;
  display: none !important;
  z-index: 1000 !important;
}

.nt-custom-age-dropdown.open .nt-custom-age-menu {
  display: block !important;
}

.nt-custom-age-menu li {
  margin: 0 !important;
  padding: 0 !important;
}

.nt-custom-age-menu button {
  width: 100% !important;
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: #493d64 !important;
  font-family: var(--nt-font) !important;
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 650 !important;
  text-align: left !important;
  padding: 9px 10px !important;
  cursor: pointer !important;
}

.nt-custom-age-menu button:hover,
.nt-custom-age-menu button:focus {
  background: color-mix(in srgb, var(--age-solid) 10%, #ffffff) !important;
  color: #2e0965 !important;
  outline: none !important;
}

.nt-custom-age-menu button.selected {
  background: color-mix(in srgb, var(--age-solid) 16%, #ffffff) !important;
  color: #2e0965 !important;
  font-weight: 800 !important;
}

@media (max-width: 760px) {
  .nt-custom-age-trigger {
    font-size: 17px !important;
  }

  .nt-custom-age-menu {
    max-height: 230px !important;
  }
}

/* V198 — home hero logo, photo cards, and smaller desktop image
   Navbar untouched. Structure remains responsive.
*/

/* Replace text badge with the real iSummer Thrive logo */
.nt-figma-program-logo-badge {
  width: 285px !important;
  height: auto !important;
  min-height: 72px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  justify-content: flex-start !important;
}

.nt-figma-program-logo-badge img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Slightly reduce the desktop image frame so it does not dominate the hero */
@media (min-width: 841px) {
  .nt-figma-hero-top {
    grid-template-columns: 476px minmax(0, 620px) !important;
    justify-content: center !important;
    align-items: start !important;
  }

  .nt-figma-photo-frame {
    width: min(620px, 100%) !important;
    height: 470px !important;
    justify-self: end !important;
    position: relative !important;
    overflow: visible !important;
    border-radius: 30px !important;
  }

  .nt-figma-photo-frame > img {
    border-radius: 26px !important;
    overflow: hidden !important;
  }
}

/* Three picture overlay frames from the older hero design */
.nt-figma-photo-card {
  position: absolute;
  z-index: 4;
  width: 236px;
  min-height: 70px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(46, 9, 101, 0.08);
  box-shadow: 0 18px 40px rgba(46, 9, 101, 0.13);
  backdrop-filter: blur(14px);
  display: flex;
  align-items: center;
  gap: 12px;
  box-sizing: border-box;
}

.nt-figma-card-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  background: #61dcd5;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nt-figma-card-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nt-figma-photo-card strong {
  display: block;
  color: #22163f;
  font-size: 17px;
  line-height: 1.1;
  font-weight: 800;
}

.nt-figma-photo-card small {
  display: block;
  margin-top: 4px;
  color: #6d637c;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 650;
}

.nt-figma-card-subjects {
  top: 24px;
  right: -26px;
}

.nt-figma-card-languages {
  left: -28px;
  top: 50%;
  transform: translateY(-50%);
}

.nt-figma-card-skills {
  right: -22px;
  bottom: 26px;
}

.nt-figma-card-subjects .nt-figma-card-icon {
  background: #6b28d9;
}

.nt-figma-card-languages .nt-figma-card-icon {
  background: #f61db8;
}

.nt-figma-card-skills .nt-figma-card-icon {
  background: #61dcd5;
}

@media (max-width: 1180px) and (min-width: 841px) {
  .nt-figma-hero-top {
    grid-template-columns: minmax(360px, 430px) minmax(0, 540px) !important;
  }

  .nt-figma-photo-frame {
    height: 430px !important;
  }

  .nt-figma-photo-card {
    width: 210px;
  }
}

@media (max-width: 840px) {
  .nt-figma-program-logo-badge {
    width: min(255px, 82vw) !important;
    min-height: 58px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
  }

  .nt-figma-photo-frame {
    position: relative !important;
    overflow: visible !important;
  }

  .nt-figma-photo-frame > img {
    border-radius: 20px !important;
  }

  .nt-figma-photo-card {
    width: auto;
    min-width: 128px;
    max-width: 158px;
    min-height: 50px;
    padding: 8px 9px;
    border-radius: 14px;
    gap: 8px;
  }

  .nt-figma-card-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .nt-figma-card-icon svg {
    width: 17px;
    height: 17px;
  }

  .nt-figma-photo-card strong {
    font-size: 12px;
    line-height: 14px;
  }

  .nt-figma-photo-card small {
    font-size: 9.5px;
    line-height: 12px;
  }

  .nt-figma-card-subjects {
    top: 12px;
    right: 10px;
  }

  .nt-figma-card-languages {
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
  }

  .nt-figma-card-skills {
    right: 10px;
    bottom: 12px;
  }
}

@media (max-width: 380px) {
  .nt-figma-photo-card {
    min-width: 112px;
    max-width: 138px;
  }

  .nt-figma-photo-card small {
    display: none;
  }
}

/* V199 — compact responsive first page so the 5 stat cards show in the first fold.
   Home page only. Navbar and later pages are untouched.
*/
@media (min-width: 1181px) {
  .nt-figma-hero {
    padding-top: 84px !important;
    padding-bottom: 38px !important;
  }

  .nt-figma-hero-stack {
    width: min(1220px, calc(100% - 96px)) !important;
    gap: 22px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: 450px minmax(0, 560px) !important;
    gap: 54px !important;
    align-items: start !important;
  }

  .nt-figma-copy-col {
    min-height: 438px !important;
  }

  .nt-figma-program-logo-badge {
    width: 238px !important;
    min-height: 58px !important;
    margin-bottom: 8px !important;
  }

  .nt-figma-copy-col h1 {
    width: 450px !important;
    margin-top: 8px !important;
    font-size: 72px !important;
    line-height: .98 !important;
  }

  .nt-figma-copy-col p {
    width: 430px !important;
    margin-top: 14px !important;
    font-size: 18px !important;
    line-height: 28px !important;
  }

  .nt-figma-cta-row {
    width: 450px !important;
    margin-top: 22px !important;
    gap: 16px !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    height: 56px !important;
    font-size: 18px !important;
  }

  .nt-figma-register {
    width: 216px !important;
  }

  .nt-figma-date {
    width: 205px !important;
  }

  .nt-figma-photo-frame {
    width: 560px !important;
    height: 420px !important;
    justify-self: end !important;
  }

  .nt-figma-stats-row {
    width: 100% !important;
    min-height: 112px !important;
    gap: 14px !important;
  }

  .nt-figma-stat-card {
    min-height: 112px !important;
    padding: 15px 14px !important;
    border-radius: 17px !important;
    gap: 10px !important;
  }

  .nt-figma-stat-icon {
    width: 46px !important;
    height: 46px !important;
    flex-basis: 46px !important;
  }

  .nt-figma-stat-icon svg {
    width: 27px !important;
    height: 27px !important;
  }

  .nt-figma-stat-card strong {
    width: 112px !important;
    font-size: 21px !important;
  }

  .nt-figma-stat-card small {
    width: 112px !important;
    font-size: 12.5px !important;
  }

  .nt-figma-available-strip {
    margin-top: -2px !important;
    gap: 16px !important;
  }
}

/* Put the 3 hero frames more outside the photo, like the older previews */
@media (min-width: 841px) {
  .nt-figma-photo-frame {
    overflow: visible !important;
  }

  .nt-figma-photo-frame > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .nt-figma-photo-card {
    width: 218px !important;
    min-height: 64px !important;
  }

  .nt-figma-card-subjects {
    top: 20px !important;
    right: -72px !important;
  }

  .nt-figma-card-languages {
    left: -76px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .nt-figma-card-skills {
    right: -68px !important;
    bottom: 22px !important;
  }
}

@media (min-width: 841px) and (max-width: 1180px) {
  .nt-figma-hero {
    padding-top: 84px !important;
    padding-bottom: 42px !important;
  }

  .nt-figma-hero-stack {
    gap: 22px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: minmax(330px, 405px) minmax(0, 470px) !important;
    gap: 34px !important;
  }

  .nt-figma-copy-col {
    min-height: 410px !important;
  }

  .nt-figma-copy-col h1 {
    font-size: clamp(58px, 6vw, 66px) !important;
    line-height: .98 !important;
  }

  .nt-figma-copy-col p {
    font-size: 17px !important;
    line-height: 26px !important;
  }

  .nt-figma-photo-frame {
    height: 390px !important;
  }

  .nt-figma-photo-card {
    width: 194px !important;
    min-height: 60px !important;
  }

  .nt-figma-card-subjects {
    right: -44px !important;
  }

  .nt-figma-card-languages {
    left: -44px !important;
  }

  .nt-figma-card-skills {
    right: -40px !important;
  }

  .nt-figma-stats-row {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    min-height: 104px !important;
  }

  .nt-figma-stat-card {
    min-height: 104px !important;
    padding: 12px 10px !important;
    gap: 8px !important;
  }

  .nt-figma-stat-icon {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .nt-figma-stat-card strong {
    width: auto !important;
    font-size: 17px !important;
  }

  .nt-figma-stat-card small {
    width: auto !important;
    font-size: 11.5px !important;
  }
}

/* Mobile still wraps cleanly: text, picture, cards, available-for */
@media (max-width: 840px) {
  .nt-figma-hero {
    padding-top: 86px !important;
  }

  .nt-figma-photo-frame {
    max-width: 350px !important;
    margin: 0 auto !important;
  }

  .nt-figma-photo-card {
    z-index: 5 !important;
  }

  .nt-figma-card-subjects {
    right: -6px !important;
  }

  .nt-figma-card-languages {
    left: -6px !important;
  }

  .nt-figma-card-skills {
    right: -6px !important;
  }
}

@media (max-width: 380px) {
  .nt-figma-photo-frame {
    max-width: 322px !important;
  }

  .nt-figma-card-subjects {
    right: 2px !important;
  }

  .nt-figma-card-languages {
    left: 2px !important;
  }

  .nt-figma-card-skills {
    right: 2px !important;
  }
}



/* V200 — lower hero picture height and push the 3 overlay frames further outside.
   Keeps the whole section responsive. */
@media (min-width: 1181px) {
  .nt-figma-hero {
    padding-top: 92px !important;
    padding-bottom: 42px !important;
  }

  .nt-figma-hero-stack {
    width: min(1215px, calc(100% - 96px)) !important;
    margin-top: 58px !important;
    gap: 20px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: 452px minmax(0, 538px) !important;
    gap: 56px !important;
    align-items: start !important;
  }

  .nt-figma-copy-col {
    min-height: 418px !important;
  }

  .nt-figma-copy-col h1 {
    font-size: 70px !important;
    line-height: .98 !important;
  }

  .nt-figma-copy-col p {
    width: 430px !important;
  }

  .nt-figma-photo-frame {
    width: 538px !important;
    height: 386px !important;
    margin-top: 6px !important;
    justify-self: end !important;
  }

  .nt-figma-photo-card {
    width: 212px !important;
    min-height: 62px !important;
  }

  .nt-figma-card-subjects {
    top: 18px !important;
    right: -84px !important;
  }

  .nt-figma-card-languages {
    left: -86px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .nt-figma-card-skills {
    right: -78px !important;
    bottom: 18px !important;
  }

  .nt-figma-stats-row {
    min-height: 108px !important;
    gap: 14px !important;
  }

  .nt-figma-stat-card {
    min-height: 108px !important;
  }
}

@media (min-width: 841px) and (max-width: 1180px) {
  .nt-figma-hero {
    padding-top: 90px !important;
  }

  .nt-figma-hero-stack {
    margin-top: 54px !important;
    gap: 20px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: minmax(330px, 402px) minmax(0, 460px) !important;
    gap: 34px !important;
  }

  .nt-figma-copy-col {
    min-height: 398px !important;
  }

  .nt-figma-copy-col h1 {
    font-size: clamp(56px, 5.8vw, 64px) !important;
    line-height: .99 !important;
  }

  .nt-figma-photo-frame {
    width: 100% !important;
    height: 350px !important;
  }

  .nt-figma-photo-card {
    width: 190px !important;
    min-height: 58px !important;
  }

  .nt-figma-card-subjects {
    right: -50px !important;
    top: 16px !important;
  }

  .nt-figma-card-languages {
    left: -52px !important;
  }

  .nt-figma-card-skills {
    right: -46px !important;
    bottom: 16px !important;
  }
}

@media (max-width: 840px) {
  .nt-figma-photo-frame {
    max-width: 332px !important;
  }

  .nt-figma-photo-card {
    width: 168px !important;
    min-height: 56px !important;
  }

  .nt-figma-card-subjects {
    right: -14px !important;
    top: 12px !important;
  }

  .nt-figma-card-languages {
    left: -14px !important;
  }

  .nt-figma-card-skills {
    right: -14px !important;
    bottom: 12px !important;
  }
}

@media (max-width: 380px) {
  .nt-figma-photo-frame {
    max-width: 308px !important;
  }

  .nt-figma-photo-card {
    width: 158px !important;
  }

  .nt-figma-card-subjects {
    right: -8px !important;
  }

  .nt-figma-card-languages {
    left: -8px !important;
  }

  .nt-figma-card-skills {
    right: -8px !important;
  }
}

/* V201 — push first-page contents up safely so all 5 cards show fully in the main page fold.
   Keeps clearance below the navbar and preserves responsive wrapping.
*/

/* Desktop fold tuning */
@media (min-width: 1181px) {
  .nt-figma-hero {
    padding-top: 78px !important;
    padding-bottom: 32px !important;
    min-height: 100vh !important;
  }

  .nt-figma-hero-stack {
    width: min(1210px, calc(100% - 104px)) !important;
    margin-top: 36px !important;
    gap: 14px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: 438px minmax(0, 512px) !important;
    gap: 58px !important;
    align-items: start !important;
  }

  .nt-figma-copy-col {
    min-height: 368px !important;
  }

  .nt-figma-program-logo-badge {
    width: 218px !important;
    min-height: 48px !important;
    margin-bottom: 4px !important;
  }

  .nt-figma-copy-col h1 {
    width: 438px !important;
    margin-top: 4px !important;
    font-size: 64px !important;
    line-height: .96 !important;
    letter-spacing: -0.055em !important;
  }

  .nt-figma-copy-col p {
    width: 420px !important;
    margin-top: 10px !important;
    font-size: 17px !important;
    line-height: 25px !important;
  }

  .nt-figma-cta-row {
    width: 438px !important;
    margin-top: 18px !important;
    gap: 14px !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    height: 52px !important;
    font-size: 17px !important;
  }

  .nt-figma-register {
    width: 205px !important;
  }

  .nt-figma-date {
    width: 195px !important;
  }

  .nt-figma-photo-frame {
    width: 512px !important;
    height: 344px !important;
    margin-top: 2px !important;
    justify-self: end !important;
  }

  .nt-figma-photo-card {
    width: 204px !important;
    min-height: 60px !important;
    padding: 10px 12px !important;
  }

  .nt-figma-card-icon {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .nt-figma-photo-card strong {
    font-size: 15px !important;
  }

  .nt-figma-photo-card small {
    font-size: 11px !important;
  }

  .nt-figma-card-subjects {
    top: 16px !important;
    right: -92px !important;
  }

  .nt-figma-card-languages {
    left: -94px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .nt-figma-card-skills {
    right: -86px !important;
    bottom: 16px !important;
  }

  .nt-figma-stats-row {
    width: 100% !important;
    min-height: 96px !important;
    gap: 12px !important;
  }

  .nt-figma-stat-card {
    min-height: 96px !important;
    padding: 12px 10px !important;
    border-radius: 16px !important;
    gap: 8px !important;
  }

  .nt-figma-stat-icon {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
    border-radius: 13px !important;
  }

  .nt-figma-stat-icon svg {
    width: 24px !important;
    height: 24px !important;
  }

  .nt-figma-stat-card strong {
    width: auto !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
  }

  .nt-figma-stat-card small {
    width: auto !important;
    font-size: 11.5px !important;
    line-height: 1.15 !important;
  }

  .nt-figma-available-strip {
    margin-top: 0 !important;
    gap: 12px !important;
  }

  .nt-figma-available-heading {
    height: 22px !important;
  }

  .nt-figma-flag-row {
    min-height: 54px !important;
  }

  .nt-figma-country {
    min-height: 48px !important;
  }

  .nt-figma-flag {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }
}

/* Small laptop / tablet landscape: keep the 5 cards visible, but do not crush content */
@media (min-width: 841px) and (max-width: 1180px) {
  .nt-figma-hero {
    padding-top: 82px !important;
    padding-bottom: 34px !important;
  }

  .nt-figma-hero-stack {
    width: min(980px, calc(100% - 72px)) !important;
    margin-top: 36px !important;
    gap: 14px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: minmax(330px, 390px) minmax(0, 430px) !important;
    gap: 34px !important;
  }

  .nt-figma-copy-col {
    min-height: 350px !important;
  }

  .nt-figma-program-logo-badge {
    width: 205px !important;
    min-height: 46px !important;
  }

  .nt-figma-copy-col h1 {
    font-size: clamp(52px, 5.3vw, 60px) !important;
    line-height: .98 !important;
  }

  .nt-figma-copy-col p {
    font-size: 16px !important;
    line-height: 24px !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    height: 50px !important;
    font-size: 15.5px !important;
  }

  .nt-figma-photo-frame {
    height: 320px !important;
  }

  .nt-figma-card-subjects {
    right: -56px !important;
  }

  .nt-figma-card-languages {
    left: -58px !important;
  }

  .nt-figma-card-skills {
    right: -52px !important;
  }

  .nt-figma-stats-row {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
    min-height: 92px !important;
  }

  .nt-figma-stat-card {
    min-height: 92px !important;
    padding: 10px 8px !important;
    gap: 6px !important;
  }

  .nt-figma-stat-icon {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
  }

  .nt-figma-stat-card strong {
    font-size: 15px !important;
  }

  .nt-figma-stat-card small {
    font-size: 10.8px !important;
  }
}

/* Mobile: preserve the normal responsive order; don't force first-fold compression */
@media (max-width: 840px) {
  .nt-figma-hero {
    padding-top: 86px !important;
  }

  .nt-figma-hero-stack {
    margin-top: 34px !important;
  }
}

/* V202 — first fold: show 5 boxes fully, keep Available For below the first view.
   Also restores the older-preview white circular/pill frame for the How it works label.
*/

/* Desktop: 5 stat cards stay visible, Available For starts just after the first fold */
@media (min-width: 1181px) {
  .nt-figma-hero {
    padding-top: 80px !important;
    padding-bottom: 90px !important;
    min-height: 112vh !important;
  }

  .nt-figma-hero-stack {
    margin-top: 34px !important;
    gap: 14px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: 438px minmax(0, 505px) !important;
    gap: 60px !important;
  }

  .nt-figma-copy-col {
    min-height: 360px !important;
  }

  .nt-figma-photo-frame {
    width: 505px !important;
    height: 332px !important;
    margin-top: 4px !important;
  }

  .nt-figma-stats-row {
    min-height: 98px !important;
    margin-top: 0 !important;
    gap: 12px !important;
  }

  .nt-figma-stat-card {
    min-height: 98px !important;
    padding: 12px 10px !important;
  }

  .nt-figma-available-strip {
    margin-top: clamp(76px, 12vh, 124px) !important;
  }
}

/* Medium screens: keep Available For lower but not awkwardly far */
@media (min-width: 841px) and (max-width: 1180px) {
  .nt-figma-hero {
    padding-top: 82px !important;
    padding-bottom: 78px !important;
    min-height: 110vh !important;
  }

  .nt-figma-hero-stack {
    margin-top: 34px !important;
    gap: 14px !important;
  }

  .nt-figma-photo-frame {
    height: 306px !important;
  }

  .nt-figma-stats-row {
    min-height: 92px !important;
  }

  .nt-figma-available-strip {
    margin-top: clamp(58px, 10vh, 96px) !important;
  }
}

/* Mobile: do not hide the Available For section; keep it naturally after the cards */
@media (max-width: 840px) {
  .nt-figma-available-strip {
    margin-top: 34px !important;
  }
}

/* How it works label: older-preview white rounded/circular frame */
.nt-figma-bridge4-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 172px !important;
  height: 48px !important;
  padding: 0 24px !important;
  margin: 0 auto 10px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(164, 110, 244, 0.22) !important;
  box-shadow: 0 14px 34px rgba(46, 9, 101, 0.10) !important;
  color: #6b28d9 !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

/* If the old line elements exist around the label, keep them soft and balanced */
.nt-figma-bridge4-kicker::before,
.nt-figma-bridge4-kicker::after {
  display: none !important;
}

.nt-figma-bridge4-header {
  align-items: center !important;
}

/* V203 — restore the older web-preview first-page gradient.
   Home page only. Responsive layout from v202 is preserved.
*/
.nt-figma-hero {
  background:
    radial-gradient(circle at 8% 8%, rgba(255, 20, 177, 0.16) 0, rgba(255, 20, 177, 0.08) 24%, transparent 44%),
    radial-gradient(circle at 89% 18%, rgba(97, 220, 213, 0.28) 0, rgba(97, 220, 213, 0.12) 27%, transparent 48%),
    radial-gradient(circle at 18% 88%, rgba(107, 40, 217, 0.13) 0, rgba(107, 40, 217, 0.07) 28%, transparent 52%),
    linear-gradient(135deg, #fff7fd 0%, #f7efff 42%, #ecfffd 100%) !important;
}

.nt-figma-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.62) 42%, rgba(255,255,255,0.80) 100%),
    radial-gradient(circle at 68% 78%, rgba(244, 39, 134, 0.08) 0, transparent 44%) !important;
  z-index: 0 !important;
}

.nt-figma-hero-shell,
.nt-figma-hero-stack {
  position: relative !important;
  z-index: 2 !important;
}

/* keep cards readable over the gradient */
.nt-figma-stat-card,
.nt-figma-photo-card,
.nt-figma-country {
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(14px) !important;
}

/* softer mobile gradient so it does not overpower the content */
@media (max-width: 840px) {
  .nt-figma-hero {
    background:
      radial-gradient(circle at 0% 8%, rgba(255, 20, 177, 0.12) 0, transparent 42%),
      radial-gradient(circle at 100% 28%, rgba(97, 220, 213, 0.20) 0, transparent 48%),
      linear-gradient(145deg, #fff9fd 0%, #f8f1ff 48%, #f0fffd 100%) !important;
  }
}

/* V204 — page 3 card corner fix
   The card edges looked cut because a later override made the age-group cards overflow visible.
   Restore clean rounded cards while keeping the dropdown interaction working.
*/
.nt-figma-age3-card {
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 10px 28px rgba(46, 9, 101, 0.06) !important;
}

.nt-figma-age3-label {
  border-top-left-radius: 24px !important;
  border-top-right-radius: 24px !important;
}

.nt-figma-age3-card:last-child .nt-figma-age3-body,
.nt-figma-age3-body {
  border-bottom-left-radius: 24px !important;
  border-bottom-right-radius: 24px !important;
}

/* Keep the dropdown itself visible inside the card stack without making the whole card look broken */
.nt-figma-age3-cards {
  overflow: visible !important;
}

.nt-figma-age3-body {
  overflow: visible !important;
}

.nt-custom-age-dropdown {
  position: relative !important;
  z-index: 40 !important;
}

.nt-custom-age-dropdown.open {
  z-index: 999 !important;
}

.nt-custom-age-menu {
  border-radius: 16px !important;
}

/* V207 — restore Available For from v202 but use real local flag logos.
   The older v202 layout is kept, and the country flags are now clean SVG images.
*/
.nt-figma-available-strip {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px !important;
  background: transparent !important;
}

.nt-figma-available-heading {
  width: min(650px, 100%) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
}

.nt-figma-available-heading span {
  height: 1px !important;
  background: rgba(164,110,244,.30) !important;
  border-radius: 999px !important;
}

.nt-figma-available-heading strong {
  color: #2e0965 !important;
  font-size: 18px !important;
  line-height: 24px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.nt-figma-flag-row {
  width: min(860px, 100%) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 22px 34px !important;
}

.nt-figma-country {
  min-width: 92px !important;
  min-height: 82px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  text-align: center !important;
}

.nt-figma-country:hover {
  transform: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.nt-figma-flag,
.nt-figma-flag-img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  display: block !important;
  object-fit: cover !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: 0 8px 18px rgba(46, 9, 101, 0.10) !important;
}

.nt-figma-country strong {
  color: #2e0965 !important;
  font-size: 12.5px !important;
  line-height: 15px !important;
  font-weight: 800 !important;
}

@media (max-width: 760px) {
  .nt-figma-available-heading {
    width: 100% !important;
    gap: 10px !important;
  }

  .nt-figma-flag-row {
    gap: 18px 20px !important;
  }

  .nt-figma-country {
    min-width: 80px !important;
    min-height: 76px !important;
  }

  .nt-figma-flag-img,
  .nt-figma-flag {
    width: 42px !important;
    height: 42px !important;
  }

  .nt-figma-country strong {
    font-size: 11.5px !important;
  }
}

/* V208 — remove Australia from Available For and keep remaining countries on one line */
.nt-figma-flag-row {
  width: min(760px, 100%) !important;
  gap: 18px 24px !important;
  flex-wrap: nowrap !important;
}

.nt-figma-country {
  min-width: 78px !important;
}

@media (max-width: 840px) {
  .nt-figma-flag-row {
    width: min(100%, 420px) !important;
    flex-wrap: wrap !important;
    gap: 16px 18px !important;
  }

  .nt-figma-country {
    min-width: 72px !important;
  }
}

/* V210 — safe responsive animations rebuilt from v208.
   This avoids the v209 double-scroll issue.
*/
html,
body {
  overflow-x: hidden !important;
}

.nt-scroll-test-main,
main {
  overflow: visible !important;
}

/* First-page moving circular ball */
.nt-figma-hero {
  position: relative !important;
  overflow: hidden !important;
}

.nt-figma-hero::after {
  content: "" !important;
  position: absolute !important;
  width: clamp(130px, 14vw, 220px) !important;
  height: clamp(130px, 14vw, 220px) !important;
  left: clamp(-62px, -3.5vw, -34px) !important;
  top: clamp(96px, 9vw, 130px) !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,255,255,.82) 0 10%, rgba(255,20,177,.20) 11% 38%, rgba(107,40,217,.12) 39% 62%, rgba(97,220,213,.10) 63% 100%) !important;
  opacity: .70 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  animation: ntHeroBallFloatSafe 8s ease-in-out infinite !important;
}

@keyframes ntHeroBallFloatSafe {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  40% { transform: translate3d(14px, -10px, 0) scale(1.035); }
  75% { transform: translate3d(6px, 12px, 0) scale(.985); }
}

.nt-figma-hero-shell,
.nt-figma-hero-stack,
.nt-figma-hero-top {
  position: relative !important;
  z-index: 2 !important;
}

/* First page: only 3 picture frames move */
.nt-figma-photo-card {
  will-change: transform !important;
}

.nt-figma-card-subjects {
  animation: ntPhotoCardFloatSafeA 5.6s ease-in-out infinite !important;
}

.nt-figma-card-languages {
  animation: ntPhotoCardFloatSafeB 6.2s ease-in-out infinite !important;
}

.nt-figma-card-skills {
  animation: ntPhotoCardFloatSafeC 5.9s ease-in-out infinite !important;
}

@keyframes ntPhotoCardFloatSafeA {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -8px, 0); }
}

@keyframes ntPhotoCardFloatSafeB {
  0%, 100% { transform: translate3d(0, -50%, 0); }
  50% { transform: translate3d(0, calc(-50% + 10px), 0); }
}

@keyframes ntPhotoCardFloatSafeC {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, 8px, 0); }
}

/* Scroll reveal for sections after the first page */
.nt-reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity .68s cubic-bezier(.2,.8,.2,1),
    transform .68s cubic-bezier(.2,.8,.2,1);
  transition-delay: var(--nt-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.nt-reveal.nt-in-view {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.nt-reveal.nt-reveal-scale {
  transform: translate3d(0, 24px, 0) scale(.975);
}

.nt-reveal.nt-reveal-scale.nt-in-view {
  transform: translate3d(0, 0, 0) scale(1);
}

.nt-reveal.nt-reveal-left {
  transform: translate3d(-26px, 0, 0);
}

.nt-reveal.nt-reveal-right {
  transform: translate3d(26px, 0, 0);
}

.nt-reveal.nt-reveal-left.nt-in-view,
.nt-reveal.nt-reveal-right.nt-in-view {
  transform: translate3d(0, 0, 0);
}

.nt-in-view.nt-figma-bridge4-card,
.nt-in-view.nt-figma-age3-card,
.nt-in-view.nt-figma-price4-card {
  transition:
    opacity .68s cubic-bezier(.2,.8,.2,1),
    transform .25s ease,
    box-shadow .25s ease;
}

.nt-in-view.nt-figma-bridge4-card:hover,
.nt-in-view.nt-figma-age3-card:hover,
.nt-in-view.nt-figma-price4-card:hover {
  transform: translateY(-4px);
}

@media (max-width: 840px) {
  .nt-figma-hero::after {
    width: 138px !important;
    height: 138px !important;
    left: -56px !important;
    top: 102px !important;
    opacity: .52 !important;
  }

  .nt-reveal,
  .nt-reveal.nt-reveal-left,
  .nt-reveal.nt-reveal-right {
    transform: translate3d(0, 18px, 0);
    transition-duration: .55s;
  }

  .nt-reveal.nt-in-view,
  .nt-reveal.nt-reveal-left.nt-in-view,
  .nt-reveal.nt-reveal-right.nt-in-view {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nt-figma-hero::after,
  .nt-figma-card-subjects,
  .nt-figma-card-languages,
  .nt-figma-card-skills {
    animation: none !important;
  }

  .nt-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* V211 — home hero sizing and background bubble fix.
   - Five stat frames are narrower and centered.
   - Hero picture is slightly wider.
   - Top-right big bubble is smaller, sits behind content, and moves itself.
*/

/* Keep hero background bubbles behind content, not on top of logo/text */
.nt-figma-hero {
  isolation: isolate !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 20, 177, 0.13) 0, rgba(255, 20, 177, 0.06) 22%, transparent 40%),
    linear-gradient(135deg, #fff7fd 0%, #f7efff 44%, #ecfffd 100%) !important;
}

/* This is the actual big top-right bubble. It now moves, instead of placing a smaller bubble inside it. */
.nt-figma-hero::before {
  content: "" !important;
  position: absolute !important;
  width: clamp(250px, 24vw, 360px) !important;
  height: clamp(250px, 24vw, 360px) !important;
  right: clamp(-130px, -7vw, -80px) !important;
  top: clamp(82px, 8vw, 118px) !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,255,255,.64) 0 12%, rgba(97,220,213,.20) 13% 48%, rgba(107,40,217,.08) 49% 72%, rgba(255,20,177,.05) 73% 100%) !important;
  opacity: .66 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  filter: blur(.3px) !important;
  animation: ntTopRightBubbleMove 9s ease-in-out infinite !important;
}

/* Keep the smaller decorative ball subtle and in the background */
.nt-figma-hero::after {
  width: clamp(110px, 10vw, 170px) !important;
  height: clamp(110px, 10vw, 170px) !important;
  left: clamp(-54px, -3vw, -32px) !important;
  top: clamp(118px, 10vw, 150px) !important;
  opacity: .42 !important;
  z-index: 0 !important;
}

@keyframes ntTopRightBubbleMove {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  45% {
    transform: translate3d(-18px, 12px, 0) scale(.96);
  }
  75% {
    transform: translate3d(-8px, -10px, 0) scale(1.03);
  }
}

.nt-figma-hero-shell,
.nt-figma-hero-stack,
.nt-figma-hero-top,
.nt-figma-copy-col,
.nt-figma-photo-frame {
  position: relative !important;
  z-index: 2 !important;
}

/* Desktop: make five frames shorter/narrower and widen image slightly */
@media (min-width: 1181px) {
  .nt-figma-hero-top {
    grid-template-columns: 438px minmax(0, 548px) !important;
    gap: 62px !important;
  }

  .nt-figma-photo-frame {
    width: 548px !important;
    height: 342px !important;
  }

  .nt-figma-stats-row {
    width: min(100%, 1040px) !important;
    grid-template-columns: repeat(5, 188px) !important;
    justify-content: center !important;
    gap: 14px !important;
  }

  .nt-figma-stat-card {
    width: 188px !important;
    min-height: 96px !important;
    padding: 12px 10px !important;
  }

  .nt-figma-stat-card strong,
  .nt-figma-stat-card small {
    width: auto !important;
  }
}

/* Laptop/tablet landscape */
@media (min-width: 841px) and (max-width: 1180px) {
  .nt-figma-hero-top {
    grid-template-columns: minmax(330px, 390px) minmax(0, 455px) !important;
  }

  .nt-figma-photo-frame {
    height: 318px !important;
  }

  .nt-figma-stats-row {
    width: min(100%, 900px) !important;
    grid-template-columns: repeat(5, minmax(128px, 160px)) !important;
    justify-content: center !important;
    gap: 10px !important;
  }

  .nt-figma-stat-card {
    width: auto !important;
  }
}

/* Mobile remains responsive; bubbles stay behind and smaller */
@media (max-width: 840px) {
  .nt-figma-hero::before {
    width: 190px !important;
    height: 190px !important;
    right: -92px !important;
    top: 108px !important;
    opacity: .46 !important;
  }

  .nt-figma-hero::after {
    width: 112px !important;
    height: 112px !important;
    left: -48px !important;
    top: 128px !important;
    opacity: .32 !important;
  }

  .nt-figma-stats-row {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nt-figma-hero::before {
    animation: none !important;
  }
}

/* V212 — make iSummer Thrive logo clear and remove the unwanted big bubble.
   The large top-right bubble is removed so it no longer sits over the logo/text.
*/

/* Remove the large top-right bubble from v211 */
.nt-figma-hero::before {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Keep only a soft background gradient behind the first page */
.nt-figma-hero {
  background:
    radial-gradient(circle at 6% 14%, rgba(255, 20, 177, 0.12) 0, rgba(255, 20, 177, 0.055) 22%, transparent 42%),
    radial-gradient(circle at 92% 36%, rgba(97, 220, 213, 0.16) 0, rgba(97, 220, 213, 0.06) 24%, transparent 44%),
    linear-gradient(135deg, #fff7fd 0%, #f7efff 44%, #ecfffd 100%) !important;
}

/* Keep the smaller moving ball only as a background object */
.nt-figma-hero::after {
  z-index: 0 !important;
  opacity: .34 !important;
}

/* Make sure hero content and logo are always above background effects */
.nt-figma-hero-shell,
.nt-figma-hero-stack,
.nt-figma-hero-top,
.nt-figma-copy-col,
.nt-figma-program-logo-badge,
.nt-figma-program-logo-badge img {
  position: relative !important;
  z-index: 3 !important;
}

/* Let the whiteness/details of the real logo show clearly */
.nt-figma-program-logo-badge {
  background: transparent !important;
  filter: drop-shadow(0 8px 18px rgba(46, 9, 101, 0.10)) !important;
}

.nt-figma-program-logo-badge img {
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* V213 — home page alignment rebuilt from the uploaded old reference.
   Used only as a layout reference:
   - left content width/spacing
   - picture size and placement
   - five stat-box row width
   - Available For remains lower on the first page
   The current responsive structure stays in place.
*/

/* remove any old large bubble from blocking logo/text */
.nt-figma-hero::before {
  content: none !important;
  display: none !important;
}

/* keep the logo crisp above all background effects */
.nt-figma-program-logo-badge,
.nt-figma-program-logo-badge img {
  position: relative !important;
  z-index: 5 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

.nt-figma-program-logo-badge {
  background: transparent !important;
}

/* Desktop alignment copied from the old reference but converted to responsive grid/flex */
@media (min-width: 1181px) {
  .nt-figma-hero {
    padding: 92px 30px 30px !important;
    min-height: 112vh !important;
    align-items: flex-start !important;
  }

  .nt-figma-hero-stack {
    width: min(1248px, calc(100% - 80px)) !important;
    margin-top: 24px !important;
    gap: 24px !important;
  }

  .nt-figma-hero-top {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 465px minmax(0, 728px) !important;
    gap: 55px !important;
    align-items: start !important;
  }

  .nt-figma-copy-col {
    width: 465px !important;
    min-height: 374px !important;
  }

  .nt-figma-program-logo-badge {
    width: 220px !important;
    min-height: 68px !important;
    margin: 0 0 4px 0 !important;
    transform: translateY(4px) !important;
  }

  .nt-figma-copy-col h1 {
    width: 445px !important;
    margin: 0 0 16px !important;
    font-size: 70px !important;
    line-height: .94 !important;
    letter-spacing: -0.058em !important;
  }

  .nt-figma-copy-col p {
    width: 430px !important;
    max-width: 430px !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 26px !important;
    font-weight: 650 !important;
  }

  .nt-figma-cta-row {
    width: 430px !important;
    margin-top: 20px !important;
    gap: 16px !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    height: 52px !important;
    font-size: 17px !important;
  }

  .nt-figma-register {
    width: 198px !important;
  }

  .nt-figma-date {
    width: 198px !important;
    font-size: 16px !important;
  }

  .nt-figma-photo-frame {
    width: 728px !important;
    height: 365px !important;
    margin-top: 30px !important;
    justify-self: end !important;
    border: 4px solid #ffffff !important;
    border-radius: 34px !important;
    box-shadow: 0 10px 24px rgba(31,13,66,.08) !important;
  }

  .nt-figma-photo-frame > img {
    border-radius: 30px !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .nt-figma-stats-row {
    width: 100% !important;
    max-width: 1248px !important;
    min-height: 100px !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 0 !important;
  }

  .nt-figma-stat-card {
    width: auto !important;
    min-height: 100px !important;
    padding: 12px 14px !important;
    border-radius: 18px !important;
    gap: 10px !important;
  }

  .nt-figma-stat-icon {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    border-radius: 14px !important;
  }

  .nt-figma-stat-icon svg {
    width: 25px !important;
    height: 25px !important;
  }

  .nt-figma-stat-card strong {
    width: 128px !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
  }

  .nt-figma-stat-card small {
    width: 128px !important;
    font-size: 11.5px !important;
    line-height: 1.18 !important;
  }

  .nt-figma-available-strip {
    margin-top: clamp(72px, 10vh, 110px) !important;
  }
}

/* Large-but-short laptop screens: keep the same old alignment proportions but reduce just enough */
@media (min-width: 1181px) and (max-height: 850px) {
  .nt-figma-hero-stack {
    margin-top: 18px !important;
    gap: 20px !important;
  }

  .nt-figma-photo-frame {
    height: 350px !important;
    margin-top: 24px !important;
  }

  .nt-figma-copy-col h1 {
    font-size: 66px !important;
  }

  .nt-figma-stats-row {
    min-height: 96px !important;
  }

  .nt-figma-stat-card {
    min-height: 96px !important;
  }

  .nt-figma-available-strip {
    margin-top: clamp(58px, 8vh, 88px) !important;
  }
}

/* Tablet / small laptop: keep old visual balance, but allow width to shrink */
@media (min-width: 841px) and (max-width: 1180px) {
  .nt-figma-hero {
    padding-top: 88px !important;
    padding-bottom: 54px !important;
    min-height: auto !important;
  }

  .nt-figma-hero-stack {
    width: min(980px, calc(100% - 64px)) !important;
    margin-top: 32px !important;
    gap: 22px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: minmax(330px, 420px) minmax(0, 500px) !important;
    gap: 34px !important;
  }

  .nt-figma-copy-col {
    min-height: 360px !important;
  }

  .nt-figma-program-logo-badge {
    width: 205px !important;
    min-height: 62px !important;
  }

  .nt-figma-copy-col h1 {
    font-size: clamp(54px, 5.4vw, 64px) !important;
    line-height: .95 !important;
  }

  .nt-figma-copy-col p {
    font-size: 16.5px !important;
    line-height: 24px !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    height: 50px !important;
    font-size: 15.5px !important;
  }

  .nt-figma-photo-frame {
    width: 100% !important;
    height: 332px !important;
    margin-top: 22px !important;
    border: 4px solid #ffffff !important;
  }

  .nt-figma-stats-row {
    width: 100% !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    min-height: 94px !important;
  }

  .nt-figma-stat-card {
    min-height: 94px !important;
    padding: 10px 8px !important;
    gap: 7px !important;
  }

  .nt-figma-stat-icon {
    width: 36px !important;
    height: 36px !important;
    flex-basis: 36px !important;
  }

  .nt-figma-stat-card strong,
  .nt-figma-stat-card small {
    width: auto !important;
  }

  .nt-figma-stat-card strong {
    font-size: 15px !important;
  }

  .nt-figma-stat-card small {
    font-size: 10.8px !important;
  }

  .nt-figma-available-strip {
    margin-top: 58px !important;
  }
}

/* Mobile stays responsive; use stacked layout rather than the old fixed absolute layout */
@media (max-width: 840px) {
  .nt-figma-hero {
    padding-top: 86px !important;
    padding-bottom: 54px !important;
    min-height: auto !important;
  }

  .nt-figma-hero-stack {
    width: min(430px, calc(100% - 32px)) !important;
    margin-top: 34px !important;
    gap: 28px !important;
  }

  .nt-figma-program-logo-badge {
    width: min(220px, 70vw) !important;
    min-height: 58px !important;
  }

  .nt-figma-photo-frame {
    width: min(100%, 352px) !important;
    height: auto !important;
    aspect-ratio: 1.1 / 1 !important;
    border: 4px solid #ffffff !important;
  }

  .nt-figma-stats-row {
    width: 100% !important;
  }

  .nt-figma-available-strip {
    margin-top: 34px !important;
  }
}

/* V214 — reduce home picture width and tighten first-page spacing.
   Keeps the alignment direction from the uploaded reference, but stops the page feeling too spread out.
*/
@media (min-width: 1181px) {
  .nt-figma-hero-stack {
    width: min(1188px, calc(100% - 88px)) !important;
    margin-top: 24px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: 465px minmax(0, 610px) !important;
    gap: 44px !important;
    justify-content: center !important;
  }

  .nt-figma-photo-frame {
    width: 610px !important;
    height: 365px !important;
    justify-self: start !important;
  }

  .nt-figma-stats-row {
    max-width: 1120px !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 13px !important;
  }

  .nt-figma-stat-card {
    min-height: 98px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

@media (min-width: 1181px) and (max-height: 850px) {
  .nt-figma-photo-frame {
    width: 600px !important;
    height: 350px !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: 455px minmax(0, 600px) !important;
    gap: 40px !important;
  }

  .nt-figma-stats-row {
    max-width: 1100px !important;
  }
}

@media (min-width: 841px) and (max-width: 1180px) {
  .nt-figma-hero-stack {
    width: min(920px, calc(100% - 58px)) !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: minmax(320px, 395px) minmax(0, 455px) !important;
    gap: 28px !important;
  }

  .nt-figma-photo-frame {
    height: 318px !important;
  }

  .nt-figma-stats-row {
    max-width: 880px !important;
  }
}

/* V215 — first-page colour and picture/logo correction from uploaded reference.
   Reference feel: clean white page, soft lavender top-left wash, soft teal lower/right wash.
   Also reduces the picture from the LEFT side by anchoring it right.
*/
.nt-figma-hero {
  background:
    radial-gradient(ellipse 580px 460px at -8% 2%, rgba(164,110,244,0.10) 0%, rgba(164,110,244,0.07) 44%, transparent 72%),
    radial-gradient(ellipse 520px 420px at 93% 76%, rgba(97,220,213,0.13) 0%, rgba(97,220,213,0.07) 45%, transparent 76%),
    #ffffff !important;
}

/* Keep all background decoration behind the real content */
.nt-figma-hero::before {
  content: none !important;
  display: none !important;
}

.nt-figma-hero::after {
  z-index: 0 !important;
  opacity: .26 !important;
}

/* Make the iSummer Thrive logo readable and keep the white detail visible */
.nt-figma-program-logo-badge {
  position: relative !important;
  z-index: 8 !important;
  background: rgba(255,255,255,0.92) !important;
  border-radius: 22px !important;
  padding: 3px 4px !important;
  box-shadow: 0 8px 18px rgba(46, 9, 101, 0.08) !important;
  filter: none !important;
}

.nt-figma-program-logo-badge img {
  position: relative !important;
  z-index: 9 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* Desktop: reduce the picture width, but from the left side by anchoring the right edge */
@media (min-width: 1181px) {
  .nt-figma-hero-stack {
    width: min(1148px, calc(100% - 92px)) !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: 465px minmax(0, 560px) !important;
    gap: 42px !important;
    justify-content: center !important;
  }

  .nt-figma-photo-frame {
    width: 560px !important;
    height: 360px !important;
    justify-self: end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }

  .nt-figma-stats-row {
    max-width: 1088px !important;
    gap: 12px !important;
  }
}

@media (min-width: 1181px) and (max-height: 850px) {
  .nt-figma-hero-top {
    grid-template-columns: 455px minmax(0, 545px) !important;
    gap: 38px !important;
  }

  .nt-figma-photo-frame {
    width: 545px !important;
    height: 346px !important;
  }

  .nt-figma-stats-row {
    max-width: 1060px !important;
  }
}

@media (min-width: 841px) and (max-width: 1180px) {
  .nt-figma-hero {
    background:
      radial-gradient(ellipse 420px 330px at -12% 4%, rgba(164,110,244,0.10) 0%, transparent 72%),
      radial-gradient(ellipse 380px 310px at 104% 72%, rgba(97,220,213,0.12) 0%, transparent 76%),
      #ffffff !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: minmax(320px, 390px) minmax(0, 430px) !important;
    gap: 26px !important;
  }

  .nt-figma-photo-frame {
    width: 100% !important;
    max-width: 430px !important;
    height: 312px !important;
    justify-self: end !important;
  }
}

@media (max-width: 840px) {
  .nt-figma-hero {
    background:
      radial-gradient(ellipse 280px 230px at -20% 8%, rgba(164,110,244,0.10) 0%, transparent 72%),
      radial-gradient(ellipse 260px 220px at 110% 44%, rgba(97,220,213,0.11) 0%, transparent 74%),
      #ffffff !important;
  }

  .nt-figma-program-logo-badge {
    padding: 2px 3px !important;
  }
}

/* V216 — clean first page from uploaded reference, without extra frames.
   Fixes:
   1. No outer/main frame around the first-page content.
   2. No frame/box on the iSummer Thrive logo.
   3. Correct reference-style gradient/washes from the uploaded CSS.
   4. Picture reduced from the left side and kept responsive.
   5. All three photo cards float, including the left-side card.
*/

/* First page sits directly on the page, not inside a visible Figma/web frame */
.nt-figma-hero {
  background:
    radial-gradient(ellipse 580px 460px at -150px -60px, rgba(164,110,244,0.10) 0%, rgba(164,110,244,0.075) 42%, transparent 72%),
    radial-gradient(ellipse 520px 420px at calc(50% + 370px) 74%, rgba(97,220,213,0.13) 0%, rgba(97,220,213,0.075) 45%, transparent 76%),
    radial-gradient(circle 180px at calc(50% + 450px) 78%, transparent 66%, rgba(97,220,213,0.25) 67%, rgba(97,220,213,0.25) 68%, transparent 70%),
    #ffffff !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow-x: clip !important;
}

/* Remove the unwanted large bubble / frame-like pseudo layer */
.nt-figma-hero::before {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Keep only the small left moving ball subtle and behind everything */
.nt-figma-hero::after {
  z-index: 0 !important;
  opacity: .24 !important;
}

/* Remove any logo frame/box. Logo itself stays visible naturally. */
.nt-figma-program-logo-badge {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 8 !important;
}

.nt-figma-program-logo-badge img {
  opacity: 1 !important;
  filter: drop-shadow(0 5px 9px rgba(46,9,101,.08)) !important;
  mix-blend-mode: normal !important;
  position: relative !important;
  z-index: 9 !important;
}

/* Keep content above background washes */
.nt-figma-hero-shell,
.nt-figma-hero-stack,
.nt-figma-hero-top,
.nt-figma-copy-col,
.nt-figma-photo-frame,
.nt-figma-stats-row,
.nt-figma-available-strip {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Desktop: reduce photo width from the left side, match uploaded reference proportions more closely */
@media (min-width: 1181px) {
  .nt-figma-hero {
    padding: 92px 30px 30px !important;
    min-height: 112vh !important;
  }

  .nt-figma-hero-stack {
    width: min(1080px, calc(100% - 96px)) !important;
    margin-top: 24px !important;
    gap: 24px !important;
  }

  .nt-figma-hero-top {
    display: grid !important;
    grid-template-columns: 465px 560px !important;
    gap: 35px !important;
    justify-content: center !important;
    align-items: start !important;
  }

  .nt-figma-photo-frame {
    width: 560px !important;
    height: 400px !important;
    margin-top: 22px !important;
    justify-self: end !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    border: 4px solid #ffffff !important;
    border-radius: 30px !important;
    box-shadow: 0 10px 24px rgba(31,13,66,.08) !important;
    overflow: visible !important;
    background: transparent !important;
  }

  .nt-figma-photo-frame > img {
    border-radius: 26px !important;
    object-fit: cover !important;
    object-position: center center !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .nt-figma-stats-row {
    width: 100% !important;
    max-width: 1080px !important;
    min-height: 112px !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 0 !important;
  }

  .nt-figma-stat-card {
    min-height: 112px !important;
    padding: 14px !important;
    gap: 10px !important;
    justify-content: flex-start !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,0.94) !important;
    box-shadow: 0 12px 13px rgba(46,15,89,0.09) !important;
  }

  .nt-figma-stat-icon {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px !important;
  }

  .nt-figma-stat-icon svg {
    width: 26px !important;
    height: 26px !important;
  }

  .nt-figma-stat-card strong {
    width: auto !important;
    font-size: 20px !important;
  }

  .nt-figma-stat-card:nth-child(3) strong,
  .nt-figma-stat-card:nth-child(4) strong,
  .nt-figma-stat-card:nth-child(5) strong {
    font-size: 17px !important;
  }

  .nt-figma-stat-card small {
    width: auto !important;
    font-size: 12.5px !important;
  }

  .nt-figma-available-strip {
    margin-top: clamp(58px, 8vh, 82px) !important;
  }
}

@media (min-width: 1181px) and (max-height: 850px) {
  .nt-figma-hero-stack {
    width: min(1060px, calc(100% - 96px)) !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: 455px 545px !important;
    gap: 32px !important;
  }

  .nt-figma-photo-frame {
    width: 545px !important;
    height: 372px !important;
    margin-top: 18px !important;
  }

  .nt-figma-stats-row {
    max-width: 1060px !important;
    min-height: 104px !important;
  }

  .nt-figma-stat-card {
    min-height: 104px !important;
  }
}

/* Tablet/small laptop */
@media (min-width: 841px) and (max-width: 1180px) {
  .nt-figma-hero {
    background:
      radial-gradient(ellipse 430px 340px at -110px -40px, rgba(164,110,244,0.10) 0%, transparent 72%),
      radial-gradient(ellipse 390px 320px at 100% 72%, rgba(97,220,213,0.13) 0%, transparent 76%),
      #ffffff !important;
    padding-top: 88px !important;
  }

  .nt-figma-hero-stack {
    width: min(900px, calc(100% - 56px)) !important;
  }

  .nt-figma-hero-top {
    grid-template-columns: minmax(320px, 390px) minmax(0, 420px) !important;
    gap: 26px !important;
  }

  .nt-figma-photo-frame {
    width: 100% !important;
    max-width: 420px !important;
    height: 312px !important;
    justify-self: end !important;
    overflow: visible !important;
  }
}

/* Mobile: no outer frame, responsive stack */
@media (max-width: 840px) {
  .nt-figma-hero {
    background:
      radial-gradient(ellipse 300px 240px at -90px -35px, rgba(164,110,244,0.10) 0%, transparent 72%),
      radial-gradient(ellipse 270px 230px at 112% 46%, rgba(97,220,213,0.13) 0%, transparent 76%),
      #ffffff !important;
    padding-top: 86px !important;
    min-height: auto !important;
  }

  .nt-figma-photo-frame {
    overflow: visible !important;
  }
}

/* Fix all three hero photo cards floating. The left-side card must also move. */
.nt-figma-photo-card {
  will-change: transform !important;
}

.nt-figma-card-subjects {
  animation: ntPhotoCardFloatSubjectV216 5.6s ease-in-out infinite !important;
}

.nt-figma-card-languages {
  animation: ntPhotoCardFloatLanguageV216 6.2s ease-in-out infinite !important;
}

.nt-figma-card-skills {
  animation: ntPhotoCardFloatSkillsV216 5.9s ease-in-out infinite !important;
}

@keyframes ntPhotoCardFloatSubjectV216 {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -9px, 0); }
}

@keyframes ntPhotoCardFloatLanguageV216 {
  0%, 100% { transform: translate3d(0, -50%, 0); }
  50% { transform: translate3d(0, calc(-50% + 10px), 0); }
}

@keyframes ntPhotoCardFloatSkillsV216 {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, 9px, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .nt-figma-card-subjects,
  .nt-figma-card-languages,
  .nt-figma-card-skills {
    animation: none !important;
  }
}

/* V217 — exact first-page gradient from the uploaded reference file.
   The reference CSS had:
   teal wash at 10% 14%, pink wash at 84% 10%, purple wash at 90% 86%,
   plus a very soft white / pink-white / cool-white diagonal base.
*/

/* overall summer page background from the reference */
.nt-summer-page-v63,
.nt-scroll-test-main {
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 54%, #fbf7ff 100%) !important;
}

/* exact first-page hero gradient feel from reference V72 */
.nt-figma-hero {
  background:
    radial-gradient(circle at 10% 14%, rgba(97, 220, 213, 0.16) 0%, rgba(97, 220, 213, 0.08) 22%, transparent 42%),
    radial-gradient(circle at 84% 10%, rgba(246, 29, 184, 0.11) 0%, rgba(246, 29, 184, 0.05) 20%, transparent 44%),
    radial-gradient(circle at 90% 86%, rgba(107, 40, 217, 0.10) 0%, rgba(107, 40, 217, 0.04) 22%, transparent 46%),
    linear-gradient(135deg, #ffffff 0%, #fffafd 44%, #f7fbfb 100%) !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* no extra frame-like bubble layers over the gradient */
.nt-figma-hero::before {
  content: none !important;
  display: none !important;
}

/* keep the small moving ball very subtle so it doesn't change the overall gradient */
.nt-figma-hero::after {
  opacity: .18 !important;
  z-index: 0 !important;
}

/* logo stays unframed but visible */
.nt-figma-program-logo-badge {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  filter: none !important;
}

.nt-figma-program-logo-badge img {
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: drop-shadow(0 4px 7px rgba(46, 9, 101, 0.08)) !important;
}

/* keep the content directly on the page */
.nt-figma-hero-shell,
.nt-figma-hero-stack,
.nt-figma-hero-top {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* V218 — final logo visibility and Languages card float fix */

/* Make sure the iSummer Thrive logo is never under the gradient/circle layers.
   No frame is added — only stacking and a tiny shadow on the image itself. */
.nt-figma-program-logo-badge {
  position: relative !important;
  z-index: 50 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  filter: none !important;
  isolation: isolate !important;
}

.nt-figma-program-logo-badge img {
  position: relative !important;
  z-index: 51 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: drop-shadow(0 4px 7px rgba(46, 9, 101, 0.10)) !important;
}

/* Keep decorative gradient/circle layers behind the logo and content */
.nt-figma-hero::before {
  content: none !important;
  display: none !important;
}

.nt-figma-hero::after {
  z-index: 0 !important;
  opacity: .14 !important;
  pointer-events: none !important;
}

.nt-figma-hero-shell,
.nt-figma-hero-stack,
.nt-figma-hero-top,
.nt-figma-copy-col,
.nt-figma-photo-frame,
.nt-figma-stats-row {
  position: relative !important;
  z-index: 2 !important;
}

.nt-figma-copy-col {
  z-index: 20 !important;
}

/* Fix Languages card animation.
   Earlier transforms used translateY(-50%) for positioning, which can cancel or hide the floating motion.
   This animation keeps the -50% positioning and adds visible vertical movement. */
.nt-figma-card-languages {
  animation: ntLanguageCardFloatV218 5.8s ease-in-out infinite !important;
  will-change: transform !important;
  transform-origin: center center !important;
}

@keyframes ntLanguageCardFloatV218 {
  0%, 100% {
    transform: translate3d(0, -50%, 0);
  }
  50% {
    transform: translate3d(0, calc(-50% - 13px), 0);
  }
}

/* Keep the other two picture cards floating consistently too */
.nt-figma-card-subjects {
  animation: ntSubjectCardFloatV218 5.4s ease-in-out infinite !important;
  will-change: transform !important;
}

.nt-figma-card-skills {
  animation: ntSkillsCardFloatV218 5.9s ease-in-out infinite !important;
  will-change: transform !important;
}

@keyframes ntSubjectCardFloatV218 {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -10px, 0); }
}

@keyframes ntSkillsCardFloatV218 {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, 10px, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .nt-figma-card-languages,
  .nt-figma-card-subjects,
  .nt-figma-card-skills {
    animation: none !important;
  }
}

/* V219 — inspect-reference fix for logo position/layering and Languages card animation.
   Logo follows the uploaded reference positioning: unframed image at the top of the text column.
   Decorative circular object stays as background only.
*/

/* Keep gradient/circular decoration BEHIND everything */
.nt-figma-hero {
  isolation: isolate !important;
}

.nt-figma-hero::before {
  content: none !important;
  display: none !important;
}

.nt-figma-hero::after {
  z-index: 0 !important;
  opacity: .10 !important;
  pointer-events: none !important;
}

/* Hero layers */
.nt-figma-hero-shell,
.nt-figma-hero-stack,
.nt-figma-hero-top {
  position: relative !important;
  z-index: 1 !important;
}

/* Copy column and logo must sit above all background washes/circles */
.nt-figma-copy-col {
  position: relative !important;
  z-index: 20 !important;
}

/* iSummer Thrive logo: no frame, no background, no border. Just the real logo, positioned like the reference. */
.nt-figma-program-logo-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 220px !important;
  max-width: 220px !important;
  min-height: 68px !important;
  height: auto !important;
  margin: 0 0 4px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 50 !important;
  transform: translateY(4px) !important;
  isolation: isolate !important;
}

.nt-figma-program-logo-badge img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  position: relative !important;
  z-index: 60 !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  filter: none !important;
}

/* The picture area can stay below copy/logo, but overlay cards stay above the image */
.nt-figma-photo-frame {
  position: relative !important;
  z-index: 5 !important;
}

.nt-figma-photo-card {
  position: absolute !important;
  z-index: 30 !important;
  will-change: transform !important;
}

/* HARD FIX: Languages card float.
   The current card is positioned with top:50% + translateY(-50%).
   We animate the full transform, preserving its centering while adding a visible float.
*/
.nt-figma-card-languages,
.nt-figma-photo-card.nt-figma-card-languages {
  animation-name: ntLanguagesFloatV219 !important;
  animation-duration: 4.8s !important;
  animation-timing-function: ease-in-out !important;
  animation-iteration-count: infinite !important;
  animation-delay: 0s !important;
  transform-origin: center center !important;
}

@keyframes ntLanguagesFloatV219 {
  0%, 100% {
    transform: translateY(-50%) translate3d(0, 0, 0) !important;
  }
  50% {
    transform: translateY(-50%) translate3d(0, -16px, 0) !important;
  }
}

/* Keep the other two moving too, but don't affect the language transform */
.nt-figma-card-subjects,
.nt-figma-photo-card.nt-figma-card-subjects {
  animation: ntSubjectsFloatV219 5.2s ease-in-out infinite !important;
}

.nt-figma-card-skills,
.nt-figma-photo-card.nt-figma-card-skills {
  animation: ntSkillsFloatV219 5.6s ease-in-out infinite !important;
}

@keyframes ntSubjectsFloatV219 {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -12px, 0); }
}

@keyframes ntSkillsFloatV219 {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, 12px, 0); }
}

/* Desktop logo reference sizing */
@media (min-width: 1181px) {
  .nt-figma-program-logo-badge {
    width: 220px !important;
    max-width: 220px !important;
    min-height: 68px !important;
    transform: translateY(4px) !important;
    margin-bottom: 4px !important;
  }
}

/* Tablet/mobile logo scaling */
@media (max-width: 840px) {
  .nt-figma-program-logo-badge {
    width: min(220px, 68vw) !important;
    max-width: min(220px, 68vw) !important;
    min-height: auto !important;
    transform: none !important;
    margin-bottom: 8px !important;
  }

  .nt-figma-hero::after {
    opacity: .08 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nt-figma-card-languages,
  .nt-figma-card-subjects,
  .nt-figma-card-skills {
    animation: none !important;
  }
}

/* V226 — final float fix.
   Clean approach:
   - Picture frame floats as one full image/card group.
   - Languages frame floats by animating TOP, not transform, so old translateY positioning cannot cancel it.
   - No inner text-only animation.
*/

/* Disable old inner text float if it exists anywhere */
.nt-card-float-inner,
.nt-language-float-inner {
  animation: none !important;
  transform: none !important;
  will-change: auto !important;
}

/* Picture itself floats gently */
.nt-figma-photo-frame {
  animation: ntHeroPictureFloatV226 6.4s ease-in-out infinite !important;
  will-change: transform !important;
}

@keyframes ntHeroPictureFloatV226 {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -10px, 0);
  }
}

/* Keep photo cards as full frames */
.nt-figma-photo-card {
  will-change: transform, top !important;
}

/* Existing two cards keep floating as full frames */
.nt-figma-card-subjects {
  animation: ntSubjectFrameFloatV226 5.2s ease-in-out infinite !important;
}

.nt-figma-card-skills {
  animation: ntSkillsFrameFloatV226 5.8s ease-in-out infinite !important;
}

@keyframes ntSubjectFrameFloatV226 {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -12px, 0);
  }
}

@keyframes ntSkillsFrameFloatV226 {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, 12px, 0);
  }
}

/* Languages whole-frame float:
   It originally needs top:50% and transform:translateY(-50%).
   So we leave transform fixed and animate top instead.
   This moves the whole frame, not the text inside it.
*/
.nt-figma-card-languages {
  top: 50% !important;
  transform: translateY(-50%) !important;
  animation: ntLanguageFrameFloatV226 4.8s ease-in-out infinite !important;
}

@keyframes ntLanguageFrameFloatV226 {
  0%, 100% {
    top: calc(50% - 13px);
  }
  50% {
    top: calc(50% + 13px);
  }
}

@media (max-width: 840px) {
  .nt-figma-card-languages {
    top: 50% !important;
  }

  @keyframes ntLanguageFrameFloatV226 {
    0%, 100% {
      top: calc(50% - 9px);
    }
    50% {
      top: calc(50% + 9px);
    }
  }

  @keyframes ntHeroPictureFloatV226 {
    0%, 100% {
      transform: translate3d(0, 0, 0);
    }
    50% {
      transform: translate3d(0, -7px, 0);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .nt-figma-photo-frame,
  .nt-figma-card-subjects,
  .nt-figma-card-languages,
  .nt-figma-card-skills {
    animation: none !important;
  }

  .nt-figma-card-languages {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}

/* V227 — Page 4 pricing icons rebuilt using the uploaded reference V98 icon system.
   Fixes the rubbish-looking generated icons by replacing them with centred SVG mask icons.
*/

/* Base icon frame */
.nt-figma-price4 .nt-price-icon,
.nt-figma-price4 .nt-price-icon-v95 {
  position: relative !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  flex: 0 0 32px !important;
  border-radius: 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  color: var(--tier-color) !important;
  background: color-mix(in srgb, var(--tier-color) 11%, #ffffff) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tier-color) 16%, transparent) !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* Kill old hand-made icons */
.nt-figma-price4 .nt-price-icon.calendar::before,
.nt-figma-price4 .nt-price-icon.calendar::after,
.nt-figma-price4 .nt-price-icon.location::before,
.nt-figma-price4 .nt-price-icon.location::after,
.nt-figma-price4 .nt-price-icon.money::before,
.nt-figma-price4 .nt-price-icon.money::after,
.nt-figma-price4 .nt-price-icon.city::before,
.nt-figma-price4 .nt-price-icon.city::after,
.nt-figma-price4 .nt-price-icon-v95::before,
.nt-figma-price4 .nt-price-icon-v95::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  margin: auto !important;
  background-color: currentColor !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-repeat: no-repeat !important;
  mask-position: center !important;
  mask-size: contain !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Calendar from uploaded reference */
.nt-figma-price4 .nt-icon-calendar-v95::before {
  width: 18px !important;
  height: 18px !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2.5' ry='2.5'/%3E%3Cline x1='16' y1='3.8' x2='16' y2='8'/%3E%3Cline x1='8' y1='3.8' x2='8' y2='8'/%3E%3Cline x1='3.5' y1='10' x2='20.5' y2='10'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2.5' ry='2.5'/%3E%3Cline x1='16' y1='3.8' x2='16' y2='8'/%3E%3Cline x1='8' y1='3.8' x2='8' y2='8'/%3E%3Cline x1='3.5' y1='10' x2='20.5' y2='10'/%3E%3C/svg%3E") !important;
}
.nt-figma-price4 .nt-icon-calendar-v95::after { display: none !important; }

/* Location from uploaded reference */
.nt-figma-price4 .nt-icon-location-v95::before {
  width: 17px !important;
  height: 17px !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 21c-.3 0-.58-.12-.79-.33C10.41 19.88 5 14.45 5 10.2 5 6.23 8.13 3 12 3s7 3.23 7 7.2c0 4.25-5.41 9.68-6.21 10.47-.21.21-.49.33-.79.33zm0-15.8c-2.62 0-4.75 2.24-4.75 5 0 2.47 2.93 6.06 4.75 7.95 1.82-1.89 4.75-5.48 4.75-7.95 0-2.76-2.13-5-4.75-5zm0 7.2a2.35 2.35 0 1 1 0-4.7 2.35 2.35 0 0 1 0 4.7z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 21c-.3 0-.58-.12-.79-.33C10.41 19.88 5 14.45 5 10.2 5 6.23 8.13 3 12 3s7 3.23 7 7.2c0 4.25-5.41 9.68-6.21 10.47-.21.21-.49.33-.79.33zm0-15.8c-2.62 0-4.75 2.24-4.75 5 0 2.47 2.93 6.06 4.75 7.95 1.82-1.89 4.75-5.48 4.75-7.95 0-2.76-2.13-5-4.75-5zm0 7.2a2.35 2.35 0 1 1 0-4.7 2.35 2.35 0 0 1 0 4.7z'/%3E%3C/svg%3E") !important;
}
.nt-figma-price4 .nt-icon-location-v95::after { display: none !important; }

/* Money from uploaded reference */
.nt-figma-price4 .nt-icon-money-v95::before {
  width: 17px !important;
  height: 17px !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12.7 3.5c-.11 0-.2.09-.2.2v1.14c-2.2.15-4.24 1.27-4.24 3.73 0 2.54 2.11 3.27 4.24 3.74v4.21c-1.22-.14-2.42-.6-3.39-1.35a.2.2 0 0 0-.29.04l-1.14 1.55a.2.2 0 0 0 .03.27c1.33 1.07 3 1.74 4.79 1.93v1.19c0 .11.09.2.2.2h1.45c.11 0 .2-.09.2-.2v-1.25c2.45-.27 4.31-1.67 4.31-4.08 0-2.56-2.03-3.34-4.31-3.84V6.97c.96.14 1.85.5 2.65 1.03.09.06.21.04.27-.04l1.08-1.51a.2.2 0 0 0-.04-.28c-1.1-.84-2.48-1.35-3.96-1.5V3.7a.2.2 0 0 0-.2-.2zM12.5 10.4c-1.13-.26-1.84-.62-1.84-1.52 0-.86.7-1.48 1.84-1.64zm1.85 2.4c1.26.3 1.97.7 1.97 1.66 0 1.05-.83 1.67-1.97 1.84z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12.7 3.5c-.11 0-.2.09-.2.2v1.14c-2.2.15-4.24 1.27-4.24 3.73 0 2.54 2.11 3.27 4.24 3.74v4.21c-1.22-.14-2.42-.6-3.39-1.35a.2.2 0 0 0-.29.04l-1.14 1.55a.2.2 0 0 0 .03.27c1.33 1.07 3 1.74 4.79 1.93v1.19c0 .11.09.2.2.2h1.45c.11 0 .2-.09.2-.2v-1.25c2.45-.27 4.31-1.67 4.31-4.08 0-2.56-2.03-3.34-4.31-3.84V6.97c.96.14 1.85.5 2.65 1.03.09.06.21.04.27-.04l1.08-1.51a.2.2 0 0 0-.04-.28c-1.1-.84-2.48-1.35-3.96-1.5V3.7a.2.2 0 0 0-.2-.2zM12.5 10.4c-1.13-.26-1.84-.62-1.84-1.52 0-.86.7-1.48 1.84-1.64zm1.85 2.4c1.26.3 1.97.7 1.97 1.66 0 1.05-.83 1.67-1.97 1.84z'/%3E%3C/svg%3E") !important;
}
.nt-figma-price4 .nt-icon-money-v95::after { display: none !important; }

/* City from uploaded reference */
.nt-figma-price4 .nt-icon-city-v95::before {
  width: 18px !important;
  height: 18px !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3 20.5h18v-1.7h-1.5V9.2a.9.9 0 0 0-.9-.9h-4.1V4.8a.9.9 0 0 0-.9-.9H6.8a.9.9 0 0 0-.9.9v14H4.5V12a.9.9 0 0 0-.9-.9H3zM8 6.2h4.4v12.6H8zm2 2v1.4h1.1V8.2zm-2 0v1.4h1.1V8.2zm2 3v1.4h1.1v-1.4zm-2 0v1.4h1.1v-1.4zm2 3v1.4h1.1v-1.4zm-2 0v1.4h1.1v-1.4zM15.6 10h2.2v8.8h-2.2zm.4 1.9v1.2h1.3v-1.2zm0 2.5v1.2h1.3v-1.2z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3 20.5h18v-1.7h-1.5V9.2a.9.9 0 0 0-.9-.9h-4.1V4.8a.9.9 0 0 0-.9-.9H6.8a.9.9 0 0 0-.9.9v14H4.5V12a.9.9 0 0 0-.9-.9H3zM8 6.2h4.4v12.6H8zm2 2v1.4h1.1V8.2zm-2 0v1.4h1.1V8.2zm2 3v1.4h1.1v-1.4zm-2 0v1.4h1.1v-1.4zm2 3v1.4h1.1v-1.4zm-2 0v1.4h1.1v-1.4zM15.6 10h2.2v8.8h-2.2zm.4 1.9v1.2h1.3v-1.2zm0 2.5v1.2h1.3v-1.2z'/%3E%3C/svg%3E") !important;
}
.nt-figma-price4 .nt-icon-city-v95::after { display: none !important; }

/* V228 — remove the top-left circular ball on the first page.
   Keeps the soft page gradient, but removes the visible circular object from the Figma first page.
*/
.nt-figma-hero::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}

.nt-figma-hero .nt-floating-ball,
.nt-figma-hero .nt-soft-ball,
.nt-figma-hero .nt-hero-ball,
.nt-figma-hero [class*="ball"],
.nt-figma-hero [class*="circle"] {
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}

/* V229 — remove the VERY BIG top-left ball from the first page.
   The previous fix removed the small pseudo-element ball, but the big one was coming from
   the first radial-gradient layer at 10% 14%. This removes that layer completely.
*/
.nt-figma-hero {
  background:
    radial-gradient(circle at 84% 10%, rgba(246, 29, 184, 0.11) 0%, rgba(246, 29, 184, 0.05) 20%, transparent 44%),
    radial-gradient(circle at 90% 86%, rgba(107, 40, 217, 0.10) 0%, rgba(107, 40, 217, 0.04) 22%, transparent 46%),
    linear-gradient(135deg, #ffffff 0%, #fffafd 44%, #f7fbfb 100%) !important;
}

/* Remove all first-page circular pseudo objects */
.nt-figma-hero::before,
.nt-figma-hero::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}

/* Safety: hide any top-left decorative ball/circle elements only inside the first page */
.nt-figma-hero .nt-soft-lavender-v63,
.nt-figma-hero .nt-soft-teal-v63,
.nt-figma-hero .nt-teal-ring-v63,
.nt-figma-hero .nt-floating-ball,
.nt-figma-hero .nt-soft-ball,
.nt-figma-hero .nt-hero-ball,
.nt-figma-hero [class*="ball"],
.nt-figma-hero [class*="circle"] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
}

/* V230 — remove every massive circular/blob object from the first page.
   Uses a clean non-radial background so no hidden radial-gradient ball can remain.
*/
.nt-figma-hero {
  background:
    linear-gradient(135deg, #ffffff 0%, #fffafd 48%, #f7fbfb 100%) !important;
  background-image:
    linear-gradient(135deg, #ffffff 0%, #fffafd 48%, #f7fbfb 100%) !important;
}

/* Kill all pseudo decorative circles/blobs on the first page */
.nt-figma-hero::before,
.nt-figma-hero::after,
.nt-figma-hero-shell::before,
.nt-figma-hero-shell::after,
.nt-figma-hero-stack::before,
.nt-figma-hero-stack::after,
.nt-figma-hero-top::before,
.nt-figma-hero-top::after,
.nt-figma-copy-col::before,
.nt-figma-copy-col::after,
.nt-figma-photo-frame::before,
.nt-figma-photo-frame::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  background: none !important;
  background-image: none !important;
}

/* Hide any actual decorative circle/ball/blob elements only inside first page */
.nt-figma-hero [class*="ball"],
.nt-figma-hero [class*="circle"],
.nt-figma-hero [class*="blob"],
.nt-figma-hero [class*="wash"],
.nt-figma-hero [class*="ring"],
.nt-figma-hero [class*="soft-lavender"],
.nt-figma-hero [class*="soft-teal"],
.nt-figma-hero [class*="teal-ring"] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
}

/* Keep content itself visible even though decorative classes are hidden */
.nt-figma-hero-shell,
.nt-figma-hero-stack,
.nt-figma-hero-top,
.nt-figma-copy-col,
.nt-figma-photo-frame,
.nt-figma-stats-row,
.nt-figma-available-strip {
  opacity: 1 !important;
  visibility: visible !important;
}

/* V231 — apply the previous-file gradient colours, but without circular ball/blob layers.
   Uses the same white / pink-white / cool-white direction from the uploaded reference,
   plus soft linear colour washes instead of radial circles.
*/

/* Overall page gradient from the reference file */
.nt-summer-page-v63,
.nt-scroll-test-main,
body {
  background:
    linear-gradient(180deg, #ffffff 0%, #ffffff 54%, #fbf7ff 100%) !important;
}

/* First page: reference gradient feel, but no balls */
.nt-figma-hero {
  background:
    linear-gradient(155deg, rgba(97, 220, 213, 0.10) 0%, rgba(97, 220, 213, 0.035) 18%, transparent 40%),
    linear-gradient(25deg, transparent 0%, rgba(246, 29, 184, 0.055) 42%, rgba(107, 40, 217, 0.045) 100%),
    linear-gradient(135deg, #ffffff 0%, #fffafd 44%, #f7fbfb 100%) !important;
  background-image:
    linear-gradient(155deg, rgba(97, 220, 213, 0.10) 0%, rgba(97, 220, 213, 0.035) 18%, transparent 40%),
    linear-gradient(25deg, transparent 0%, rgba(246, 29, 184, 0.055) 42%, rgba(107, 40, 217, 0.045) 100%),
    linear-gradient(135deg, #ffffff 0%, #fffafd 44%, #f7fbfb 100%) !important;
}

/* Keep all circular/blob objects removed */
.nt-figma-hero::before,
.nt-figma-hero::after,
.nt-figma-hero-shell::before,
.nt-figma-hero-shell::after,
.nt-figma-hero-stack::before,
.nt-figma-hero-stack::after,
.nt-figma-hero-top::before,
.nt-figma-hero-top::after,
.nt-figma-copy-col::before,
.nt-figma-copy-col::after,
.nt-figma-photo-frame::before,
.nt-figma-photo-frame::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  background: none !important;
  background-image: none !important;
}

/* Hide any actual decorative circle/ball/blob elements only inside first page */
.nt-figma-hero [class*="ball"],
.nt-figma-hero [class*="circle"],
.nt-figma-hero [class*="blob"],
.nt-figma-hero [class*="ring"],
.nt-figma-hero [class*="soft-lavender"],
.nt-figma-hero [class*="soft-teal"],
.nt-figma-hero [class*="teal-ring"] {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
}

/* V236 — rebuilt second page from the user's Figma/uploaded design.
   Clean rebuild, not a patch. Scoped classes avoid old broken offer styles.
*/

.nt-figma-offer-v236 {
  position: relative !important;
  isolation: isolate !important;
  min-height: 100vh !important;
  padding: 54px 70px !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.nt-offer-v236-bg {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.nt-offer-v236-square {
  position: absolute !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 10px !important;
  border: 1.2px solid rgba(164,110,244,.36) !important;
  animation: ntV236SoftDrift 8s ease-in-out infinite !important;
}

.nt-offer-v236-square.one {
  left: clamp(26px, 7vw, 104px) !important;
  top: clamp(76px, 14vw, 166px) !important;
}

.nt-offer-v236-square.two {
  left: clamp(56px, 9vw, 134px) !important;
  top: clamp(102px, 17vw, 192px) !important;
  border-color: rgba(97,220,213,.46) !important;
  animation-delay: .9s !important;
}

.nt-offer-v236-dots {
  position: absolute !important;
  left: clamp(104px, 13vw, 198px) !important;
  top: clamp(70px, 12vw, 150px) !important;
  width: 74px !important;
  height: 54px !important;
  background-image: radial-gradient(circle, rgba(164,110,244,.34) 2px, transparent 2px) !important;
  background-size: 13px 13px !important;
  animation: ntV236DotsDrift 9s ease-in-out infinite !important;
}

.nt-offer-v236-plus {
  position: absolute !important;
  left: clamp(158px, 17vw, 258px) !important;
  top: clamp(138px, 21vw, 236px) !important;
  width: 14px !important;
  height: 14px !important;
  animation: ntV236SpinPulse 8s ease-in-out infinite !important;
}

.nt-offer-v236-plus::before,
.nt-offer-v236-plus::after {
  content: "" !important;
  position: absolute !important;
  left: 6px !important;
  top: 0 !important;
  width: 2px !important;
  height: 14px !important;
  border-radius: 2px !important;
  background: #f61db8 !important;
}

.nt-offer-v236-plus::after {
  transform: rotate(90deg) !important;
}

.nt-figma-offer-shell-v236 {
  position: relative !important;
  z-index: 2 !important;
  width: min(1300px, 100%) !important;
  min-height: 916px !important;
  padding: 34px !important;
  border-radius: 28px !important;
  background: transparent !important;
  overflow: visible !important;
}

.nt-figma-offer-top-v236 {
  width: 100% !important;
  min-height: 300px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.nt-figma-pill-v236 {
  height: 38px !important;
  padding: 9px 14px !important;
  border-radius: 18px !important;
  border: 1.3px solid rgba(97,220,213,.9) !important;
  background: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #2a055f !important;
  font-family: var(--nt-heading-font, Manrope, sans-serif) !important;
  font-size: 14px !important;
  line-height: normal !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.nt-figma-offer-top-v236 h2 {
  width: min(770px, 100%) !important;
  margin: 37px auto 0 !important;
  color: #6b28d9 !important;
  font-family: var(--nt-heading-font, Manrope, sans-serif) !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.045em !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.nt-figma-offer-top-v236 p {
  width: min(770px, 100%) !important;
  margin: 32px auto 0 !important;
  color: #493d64 !important;
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
  font-size: 20px !important;
  line-height: 27px !important;
  font-weight: 500 !important;
  text-align: center !important;
}

.nt-figma-feature-row-v236 {
  width: 100% !important;
  min-height: 190px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 390px)) !important;
  justify-content: space-between !important;
  align-items: start !important;
  gap: 22px !important;
}

.nt-figma-feature-v236 {
  position: relative !important;
  width: 100% !important;
  min-height: 150px !important;
  height: 150px !important;
  padding: 18px 20px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  cursor: pointer !important;
  opacity: 1 !important;
  transform: none !important;
  transition:
    height .34s ease,
    min-height .34s ease,
    transform .24s ease,
    box-shadow .24s ease,
    border-color .24s ease,
    background .24s ease !important;
}

.nt-v236-topline {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 4px !important;
  transform: scaleX(.2) !important;
  transform-origin: left center !important;
  opacity: 0 !important;
  transition: opacity .3s ease, transform .3s ease !important;
}

.nt-figma-feature-pill-v236 {
  width: 100% !important;
  height: 44px !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--nt-heading-font, Manrope, sans-serif) !important;
  font-size: 18px !important;
  line-height: normal !important;
  font-weight: 800 !important;
  text-align: center !important;
  transition: transform .28s ease, box-shadow .28s ease !important;
}

.nt-figma-feature-v236 p {
  margin: 0 !important;
  width: 100% !important;
  color: #493d64 !important;
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
  font-size: 17px !important;
  line-height: 24px !important;
  font-weight: 500 !important;
  opacity: 1 !important;
}

.nt-feature-subjects-v236 {
  background: #f4fffd !important;
  border: 1.4px solid rgba(97,220,213,.72) !important;
  box-shadow: 0 10px 24px rgba(97,220,213,.08) !important;
}

.nt-feature-subjects-v236 .nt-figma-feature-pill-v236 {
  background: #61dcd5 !important;
  color: #2a055f !important;
}

.nt-feature-subjects-v236 .nt-v236-topline {
  background: #61dcd5 !important;
}

.nt-feature-languages-v236 {
  background: #f4eeff !important;
  border: 1.4px solid rgba(164,110,244,.72) !important;
  box-shadow: 0 10px 24px rgba(164,110,244,.08) !important;
}

.nt-feature-languages-v236 .nt-figma-feature-pill-v236 {
  background: #6b28d9 !important;
  color: #ffffff !important;
}

.nt-feature-languages-v236 .nt-v236-topline {
  background: #6b28d9 !important;
}

.nt-feature-skills-v236 {
  background: #fff3f9 !important;
  border: 1.4px solid #f61db8 !important;
  box-shadow: 0 10px 24px rgba(244,39,134,.08) !important;
}

.nt-feature-skills-v236 .nt-figma-feature-pill-v236 {
  background: #f61db8 !important;
  color: #ffffff !important;
}

.nt-feature-skills-v236 .nt-v236-topline {
  background: #f61db8 !important;
}

.nt-v236-card-extra {
  display: grid !important;
  grid-template-rows: 0fr !important;
  opacity: 0 !important;
  margin-top: 0 !important;
  overflow: hidden !important;
  transition: grid-template-rows .34s ease, opacity .28s ease, margin-top .34s ease !important;
}

.nt-v236-card-extra > * {
  min-height: 0 !important;
}

.nt-v236-card-extra span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 6px 12px !important;
  width: fit-content !important;
  border-radius: 999px !important;
  font-family: var(--nt-heading-font, Manrope, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
}

.nt-v236-card-extra small {
  display: block !important;
  color: #5a4f76 !important;
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
  font-size: 15px !important;
  line-height: 22px !important;
  font-weight: 500 !important;
}

.nt-feature-subjects-v236 .nt-v236-card-extra span {
  background: rgba(97,220,213,.14) !important;
  color: #1d5e58 !important;
}

.nt-feature-languages-v236 .nt-v236-card-extra span {
  background: rgba(164,110,244,.14) !important;
  color: #6540a4 !important;
}

.nt-feature-skills-v236 .nt-v236-card-extra span {
  background: rgba(244,39,134,.12) !important;
  color: #b31961 !important;
}

.nt-figma-feature-v236:hover,
.nt-figma-feature-v236:focus-visible,
.nt-figma-feature-v236.is-active {
  height: 218px !important;
  min-height: 218px !important;
  transform: translateY(-10px) scale(1.01) !important;
  outline: none !important;
  z-index: 20 !important;
}

.nt-figma-feature-v236:hover .nt-v236-topline,
.nt-figma-feature-v236:focus-visible .nt-v236-topline,
.nt-figma-feature-v236.is-active .nt-v236-topline {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.nt-figma-feature-v236:hover .nt-figma-feature-pill-v236,
.nt-figma-feature-v236:focus-visible .nt-figma-feature-pill-v236,
.nt-figma-feature-v236.is-active .nt-figma-feature-pill-v236 {
  box-shadow: 0 8px 18px rgba(42,5,95,.08) !important;
}

.nt-figma-feature-v236:hover .nt-v236-card-extra,
.nt-figma-feature-v236:focus-visible .nt-v236-card-extra,
.nt-figma-feature-v236.is-active .nt-v236-card-extra {
  grid-template-rows: 1fr !important;
  opacity: 1 !important;
  margin-top: 2px !important;
}

.nt-feature-subjects-v236:hover,
.nt-feature-subjects-v236:focus-visible,
.nt-feature-subjects-v236.is-active {
  border-color: rgba(97,220,213,.95) !important;
  box-shadow: 0 20px 42px rgba(97,220,213,.18) !important;
}

.nt-feature-languages-v236:hover,
.nt-feature-languages-v236:focus-visible,
.nt-feature-languages-v236.is-active {
  border-color: rgba(164,110,244,.95) !important;
  box-shadow: 0 20px 42px rgba(164,110,244,.18) !important;
}

.nt-feature-skills-v236:hover,
.nt-feature-skills-v236:focus-visible,
.nt-feature-skills-v236.is-active {
  border-color: rgba(244,39,134,.95) !important;
  box-shadow: 0 20px 42px rgba(244,39,134,.18) !important;
}

/* Support row */
.nt-figma-support-v236 {
  width: 100% !important;
  margin-top: 76px !important;
  min-height: 188px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 24px !important;
}

.nt-figma-support-heading-v236 {
  width: min(960px, 100%) !important;
  min-height: 30px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 340px) auto minmax(0, 340px) !important;
  gap: 24px !important;
  align-items: center !important;
  justify-content: center !important;
}

.nt-figma-support-heading-v236 span {
  height: 1px !important;
  background: rgba(164,110,244,.34) !important;
}

.nt-figma-support-heading-v236 span:last-child {
  background: rgba(97,220,213,.38) !important;
}

.nt-figma-support-heading-v236 strong {
  color: #2a055f !important;
  font-family: var(--nt-heading-font, Manrope, sans-serif) !important;
  font-size: 18px !important;
  line-height: 26px !important;
  font-weight: 700 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.nt-figma-support-row-v236 {
  width: min(990px, 100%) !important;
  min-height: 118px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 314px)) !important;
  justify-content: center !important;
  gap: 24px !important;
}

.nt-figma-chip-v236 {
  min-height: 104px !important;
  padding: 18px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}

.nt-figma-chip-v236:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 22px rgba(43,26,82,.08) !important;
}

.nt-figma-chip-v236 b {
  width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  border-radius: 999px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--nt-heading-font, Manrope, sans-serif) !important;
  font-size: 20px !important;
  line-height: 24px !important;
  font-weight: 700 !important;
}

.nt-figma-chip-v236 div {
  width: 210px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 6px !important;
}

.nt-figma-chip-v236 strong {
  color: #2a055f !important;
  font-family: var(--nt-heading-font, Manrope, sans-serif) !important;
  font-size: 18px !important;
  line-height: 23px !important;
  font-weight: 700 !important;
}

.nt-figma-chip-v236 p {
  margin: 0 !important;
  color: #493d64 !important;
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
  font-size: 13.2px !important;
  line-height: 18px !important;
  font-weight: 400 !important;
}

.nt-chip-schedule-v236 {
  border: 1.4px solid rgba(97,220,213,.72) !important;
}

.nt-chip-schedule-v236 b {
  background: #61dcd5 !important;
  color: #2a055f !important;
}

.nt-chip-expert-v236 {
  border: 1.4px solid rgba(164,110,244,.72) !important;
}

.nt-chip-expert-v236 b {
  background: #6b28d9 !important;
  color: #ffffff !important;
}

.nt-chip-duration-v236 {
  border: 1.4px solid #f61db8 !important;
}

.nt-chip-duration-v236 b {
  background: #f61db8 !important;
  color: #ffffff !important;
}

/* Entrance animation. Content stays visible if JS fails. */
.nt-figma-offer-v236 .nt-figma-offer-top-v236,
.nt-figma-offer-v236 .nt-figma-feature-v236,
.nt-figma-offer-v236 .nt-figma-support-v236 {
  opacity: 1 !important;
}

.nt-figma-offer-v236:not(.is-visible) .nt-figma-offer-top-v236,
.nt-figma-offer-v236:not(.is-visible) .nt-figma-feature-v236,
.nt-figma-offer-v236:not(.is-visible) .nt-figma-support-v236 {
  opacity: 1 !important;
}

.nt-figma-offer-v236.is-visible .nt-figma-offer-top-v236 {
  animation: ntV236FadeUp .72s ease both !important;
}

.nt-figma-offer-v236.is-visible .nt-figma-feature-v236:nth-child(1) {
  animation: ntV236FadeUp .62s ease .08s both !important;
}

.nt-figma-offer-v236.is-visible .nt-figma-feature-v236:nth-child(2) {
  animation: ntV236FadeUp .62s ease .16s both !important;
}

.nt-figma-offer-v236.is-visible .nt-figma-feature-v236:nth-child(3) {
  animation: ntV236FadeUp .62s ease .24s both !important;
}

.nt-figma-offer-v236.is-visible .nt-figma-support-v236 {
  animation: ntV236FadeUp .68s ease .28s both !important;
}

@keyframes ntV236FadeUp {
  from { opacity: 0; transform: translateY(26px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes ntV236SoftDrift {
  0%,100% { transform: translate3d(0,0,0) rotate(0deg); }
  50% { transform: translate3d(10px,-8px,0) rotate(5deg); }
}

@keyframes ntV236DotsDrift {
  0%,100% { transform: translate3d(0,0,0); opacity: .9; }
  50% { transform: translate3d(-8px,10px,0); opacity: .65; }
}

@keyframes ntV236SpinPulse {
  0%,100% { transform: rotate(0deg) scale(1); opacity: .9; }
  50% { transform: rotate(12deg) scale(1.08); opacity: .65; }
}

/* Responsiveness */
@media (max-width: 1180px) {
  .nt-figma-offer-v236 {
    padding: 72px 22px 44px !important;
  }

  .nt-figma-offer-shell-v236 {
    min-height: auto !important;
    padding: 34px 24px !important;
  }

  .nt-figma-offer-top-v236 {
    min-height: auto !important;
    margin-bottom: 34px !important;
  }

  .nt-figma-feature-row-v236 {
    min-height: auto !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .nt-figma-feature-v236,
  .nt-figma-feature-v236:hover,
  .nt-figma-feature-v236:focus-visible,
  .nt-figma-feature-v236.is-active {
    width: 100% !important;
    max-width: 100% !important;
  }

  .nt-figma-feature-v236 {
    height: auto !important;
    min-height: 150px !important;
  }

  .nt-figma-feature-v236:hover,
  .nt-figma-feature-v236:focus-visible,
  .nt-figma-feature-v236.is-active {
    height: auto !important;
    min-height: 210px !important;
  }

  .nt-v236-card-extra {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
    margin-top: 2px !important;
  }

  .nt-figma-support-v236 {
    margin-top: 34px !important;
  }

  .nt-figma-support-row-v236 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .nt-figma-chip-v236 {
    justify-content: flex-start !important;
  }

  .nt-figma-chip-v236 div {
    width: auto !important;
    flex: 1 !important;
  }
}

@media (max-width: 700px) {
  .nt-figma-offer-v236 {
    padding: 54px 16px 36px !important;
  }

  .nt-figma-offer-shell-v236 {
    padding: 26px 14px !important;
    border-radius: 24px !important;
  }

  .nt-figma-offer-top-v236 h2 {
    font-size: clamp(36px, 10vw, 46px) !important;
    line-height: 1.08 !important;
    margin-top: 24px !important;
  }

  .nt-figma-offer-top-v236 p {
    font-size: 15.5px !important;
    line-height: 22px !important;
    margin-top: 18px !important;
  }

  .nt-figma-offer-top-v236 p br {
    display: none !important;
  }

  .nt-figma-feature-v236 {
    padding: 16px !important;
    min-height: 150px !important;
  }

  .nt-figma-feature-v236:hover,
  .nt-figma-feature-v236:focus-visible,
  .nt-figma-feature-v236.is-active {
    min-height: 220px !important;
    transform: translateY(-6px) scale(1.005) !important;
  }

  .nt-figma-feature-pill-v236 {
    font-size: 17px !important;
  }

  .nt-figma-feature-v236 p {
    font-size: 15.5px !important;
    line-height: 22px !important;
  }

  .nt-figma-support-heading-v236 {
    grid-template-columns: 1fr !important;
  }

  .nt-figma-support-heading-v236 span {
    display: none !important;
  }

  .nt-figma-chip-v236 {
    width: 100% !important;
    padding: 16px !important;
  }

  .nt-figma-chip-v236 b {
    width: 48px !important;
    height: 48px !important;
    flex-basis: 48px !important;
  }

  .nt-offer-v236-square,
  .nt-offer-v236-dots,
  .nt-offer-v236-plus {
    opacity: .45 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nt-figma-offer-v236 *,
  .nt-figma-offer-v236 {
    animation: none !important;
    transition: none !important;
  }
}

/* V237 — second page alignment fix.
   Fixes hover cards blocking the subheader and prevents hidden text under the frame.
*/

/* Give header and cards proper breathing space */
.nt-figma-offer-top-v236 {
  min-height: 338px !important;
  padding-bottom: 34px !important;
}

.nt-figma-offer-top-v236 h2 {
  margin-top: 34px !important;
  line-height: 1.08 !important;
}

.nt-figma-offer-top-v236 p {
  margin-top: 24px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Move the 3-card row lower so hover-open does not touch the second line of subheader */
.nt-figma-feature-row-v236 {
  margin-top: 22px !important;
  min-height: 240px !important;
  align-items: start !important;
  position: relative !important;
  z-index: 3 !important;
}

/* Make default frames slightly taller so wording never sits too low */
.nt-figma-feature-v236 {
  min-height: 168px !important;
  height: 168px !important;
  padding-bottom: 20px !important;
  gap: 12px !important;
}

/* On hover, open enough for the extra text fully */
.nt-figma-feature-v236:hover,
.nt-figma-feature-v236:focus-visible,
.nt-figma-feature-v236.is-active {
  height: 242px !important;
  min-height: 242px !important;
}

/* Keep the card body clear and readable */
.nt-figma-feature-v236 p {
  line-height: 23px !important;
}

/* Fix the hidden sentence under the first card by giving the extra area proper spacing */
.nt-v236-card-extra {
  margin-top: 4px !important;
  padding-bottom: 4px !important;
}

.nt-v236-card-extra small {
  line-height: 21px !important;
  padding-bottom: 2px !important;
}

.nt-figma-feature-v236:hover .nt-v236-card-extra,
.nt-figma-feature-v236:focus-visible .nt-v236-card-extra,
.nt-figma-feature-v236.is-active .nt-v236-card-extra {
  margin-top: 8px !important;
}

/* Push the support row down enough so open cards do not cover it */
.nt-figma-support-v236 {
  margin-top: 88px !important;
}

/* Tablet */
@media (max-width: 1180px) {
  .nt-figma-offer-top-v236 {
    min-height: auto !important;
    padding-bottom: 0 !important;
    margin-bottom: 42px !important;
  }

  .nt-figma-feature-row-v236 {
    margin-top: 0 !important;
    min-height: auto !important;
    gap: 20px !important;
  }

  .nt-figma-feature-v236 {
    height: auto !important;
    min-height: 172px !important;
  }

  .nt-figma-feature-v236:hover,
  .nt-figma-feature-v236:focus-visible,
  .nt-figma-feature-v236.is-active {
    height: auto !important;
    min-height: 238px !important;
  }

  .nt-v236-card-extra {
    display: grid !important;
    grid-template-rows: 0fr !important;
    opacity: 0 !important;
  }

  .nt-figma-feature-v236:hover .nt-v236-card-extra,
  .nt-figma-feature-v236:focus-visible .nt-v236-card-extra,
  .nt-figma-feature-v236.is-active .nt-v236-card-extra {
    grid-template-rows: 1fr !important;
    opacity: 1 !important;
  }

  .nt-figma-support-v236 {
    margin-top: 44px !important;
  }
}

/* Mobile: make extra content visible on tap/open with enough height */
@media (max-width: 700px) {
  .nt-figma-offer-top-v236 {
    margin-bottom: 30px !important;
  }

  .nt-figma-feature-v236 {
    min-height: 166px !important;
  }

  .nt-figma-feature-v236:hover,
  .nt-figma-feature-v236:focus-visible,
  .nt-figma-feature-v236.is-active {
    min-height: 246px !important;
  }

  .nt-figma-support-v236 {
    margin-top: 36px !important;
  }
}

/* V238 — tighten page-2 spacing and restore home-page frame alignment + pink Summer word */

/* Page 2: bring "Why Parents Choose Us" closer to Subjects/Languages/Skills */
.nt-figma-support-v236 {
  margin-top: 48px !important;
}

/* Keep enough room for hover-open cards, but reduce the dead gap after them */
.nt-figma-feature-row-v236 {
  min-height: 224px !important;
  margin-bottom: 0 !important;
}

/* The hover card opens to 242px, so support begins cleanly below without feeling far */
.nt-figma-feature-v236:hover,
.nt-figma-feature-v236:focus-visible,
.nt-figma-feature-v236.is-active {
  height: 238px !important;
  min-height: 238px !important;
}

/* Tablet/mobile spacing */
@media (max-width: 1180px) {
  .nt-figma-support-v236 {
    margin-top: 28px !important;
  }

  .nt-figma-feature-row-v236 {
    min-height: auto !important;
  }
}

@media (max-width: 700px) {
  .nt-figma-support-v236 {
    margin-top: 24px !important;
  }
}

/* Home page: make "Summer" the same pink as "Online" */
.nt-line-online-v94,
.nt-word-summer-v94 {
  color: #f61db8 !important;
}

/* Keep Classes purple */
.nt-word-classes-v94 {
  color: #6b28d9 !important;
}

/* Home page three floating frames: align using the uploaded older design file.
   Subjects sits on the left. Languages and Skills sit on the right. */
.nt-photo-card-subjects-v84,
.nt-figma-card-subjects {
  left: -128px !important;
  right: auto !important;
  top: 204px !important;
}

.nt-photo-card-languages-v84,
.nt-figma-card-languages {
  right: -102px !important;
  left: auto !important;
  top: 20px !important;
}

.nt-photo-card-skills-v84,
.nt-figma-card-skills {
  right: -68px !important;
  left: auto !important;
  bottom: -18px !important;
}

/* Keep home frame alignment responsive */
@media (max-width: 1100px) {
  .nt-photo-card-subjects-v84,
  .nt-figma-card-subjects {
    left: -54px !important;
    right: auto !important;
    top: 198px !important;
  }

  .nt-photo-card-languages-v84,
  .nt-figma-card-languages {
    right: -48px !important;
    left: auto !important;
    top: 20px !important;
  }

  .nt-photo-card-skills-v84,
  .nt-figma-card-skills {
    right: -24px !important;
    left: auto !important;
    bottom: -12px !important;
  }
}

@media (max-width: 860px) {
  .nt-photo-card-subjects-v84,
  .nt-figma-card-subjects {
    left: 10px !important;
    right: auto !important;
    top: auto !important;
    bottom: 92px !important;
  }

  .nt-photo-card-languages-v84,
  .nt-figma-card-languages {
    right: 10px !important;
    left: auto !important;
    top: 14px !important;
  }

  .nt-photo-card-skills-v84,
  .nt-figma-card-skills {
    right: 10px !important;
    left: auto !important;
    bottom: 18px !important;
  }
}

@media (max-width: 520px) {
  .nt-photo-card-subjects-v84,
  .nt-figma-card-subjects,
  .nt-photo-card-languages-v84,
  .nt-figma-card-languages,
  .nt-photo-card-skills-v84,
  .nt-figma-card-skills {
    max-width: calc(100% - 28px) !important;
  }
}

/* V239 — rebuild How It Works using the uploaded old design.
   This replaces the newer bridge with the old compact v124/v143 design from the files you uploaded.
*/

.nt-compact-bridge-v124 {
  position: relative;
  margin: 0 !important;
  padding: 28px 38px 26px !important;
  background: #f7f1ff;
  overflow: hidden;
  z-index: 1;
}

.nt-compact-bridge-v124::before,
.nt-compact-bridge-v124::after {
  content: "";
  position: absolute;
  left: -15%;
  width: 130%;
  height: 110px;
  background: #ffffff;
  pointer-events: none;
}

.nt-compact-bridge-v124::before {
  top: -82px;
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
}

.nt-compact-bridge-v124::after {
  bottom: -82px;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

.nt-compact-bridge-inner-v124 {
  position: relative;
  z-index: 2;
  width: min(1260px, 100%);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.nt-compact-bridge-header-v124 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}

.nt-compact-bridge-pill-v124 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 14px;
  border: 1.2px solid rgba(164, 110, 244, 0.42);
  border-radius: 999px;
  background: rgba(255,255,255,0.85);
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 13px;
  line-height: 18px;
  font-weight: 700;
  white-space: nowrap;
}

.nt-compact-bridge-header-v124 h2 {
  margin: 0;
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 28px;
  line-height: 34px;
  letter-spacing: -0.02em;
  font-weight: 800;
  text-align: center;
}

.nt-compact-bridge-steps-v124 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: nowrap;
}

.nt-compact-step-v124 {
  width: 230px;
  min-height: 154px;
  padding: 14px 12px 12px;
  border-radius: 22px;
  border: 1.2px solid rgba(164,110,244,0.34);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 10px 22px rgba(60,45,100,0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transition: transform .22s ease, box-shadow .22s ease;
}

.nt-compact-step-v124:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 26px rgba(46, 9, 101, 0.10);
}

.nt-compact-step-v124 b {
  width: 62px;
  height: 62px;
  border-radius: 999px;
  background: #a46ef4;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--nt-heading-font) !important;
  font-size: 21px;
  line-height: 24px;
  font-weight: 800;
}

.nt-compact-step-active-v124 b {
  background: #f42786;
}

.nt-compact-step-v124 h3 {
  margin: 0;
  color: #2e0965;
  font-family: var(--nt-heading-font) !important;
  font-size: 15px;
  line-height: 19px;
  font-weight: 800;
  text-align: center;
}

.nt-compact-step-v124 p {
  margin: 0;
  color: #493d64;
  font-family: var(--nt-body-font) !important;
  font-size: 12px;
  line-height: 16px;
  font-weight: 400;
  text-align: center;
}

/* V143: keep the last How It Works frame white, make only the 05 circle teal */
.nt-compact-step-v124.nt-compact-step-circle-teal-v143 {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: rgba(164, 110, 244, 0.34) !important;
  box-shadow: 0 10px 22px rgba(60, 45, 100, 0.05) !important;
}

.nt-compact-step-v124.nt-compact-step-circle-teal-v143 b {
  background: #61dcd5 !important;
  color: #2e0965 !important;
}

.nt-compact-step-v124.nt-compact-step-circle-teal-v143:hover {
  box-shadow: 0 14px 26px rgba(46, 9, 101, 0.10) !important;
}

/* V239 responsive rebuild and animation safety */
.nt-compact-bridge-v124 {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  overflow: hidden !important;
}

.nt-compact-bridge-inner-v124 {
  width: min(1240px, 100%) !important;
  margin: 0 auto !important;
}

.nt-compact-bridge-steps-v124 {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.nt-compact-step-v124 {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 154px !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
  will-change: transform, opacity !important;
}

.nt-compact-step-v124 p {
  max-width: 180px !important;
}

/* Animation: reveal the whole old section cleanly */
.nt-compact-bridge-v124.is-visible .nt-compact-bridge-header-v124 {
  animation: ntV239FadeUp .65s ease both !important;
}

.nt-compact-bridge-v124.is-visible .nt-compact-step-v124 {
  animation: ntV239FadeUp .62s ease both !important;
}

.nt-compact-bridge-v124.is-visible .nt-compact-step-v124:nth-child(1) { animation-delay: .06s !important; }
.nt-compact-bridge-v124.is-visible .nt-compact-step-v124:nth-child(2) { animation-delay: .12s !important; }
.nt-compact-bridge-v124.is-visible .nt-compact-step-v124:nth-child(3) { animation-delay: .18s !important; }
.nt-compact-bridge-v124.is-visible .nt-compact-step-v124:nth-child(4) { animation-delay: .24s !important; }
.nt-compact-bridge-v124.is-visible .nt-compact-step-v124:nth-child(5) { animation-delay: .30s !important; }

@keyframes ntV239FadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Keep the old design responsive instead of squeezing */
@media (max-width: 1180px) {
  .nt-compact-bridge-v124 {
    padding: 26px 22px 24px !important;
  }

  .nt-compact-bridge-steps-v124 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 760px) {
  .nt-compact-bridge-v124 {
    padding: 24px 16px 22px !important;
  }

  .nt-compact-bridge-inner-v124 {
    gap: 18px !important;
  }

  .nt-compact-bridge-header-v124 h2 {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  .nt-compact-bridge-steps-v124 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .nt-compact-step-v124 {
    min-height: 128px !important;
    padding: 14px 14px !important;
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    align-items: center !important;
    text-align: left !important;
  }

  .nt-compact-step-v124 b {
    grid-row: 1 / span 2 !important;
  }

  .nt-compact-step-v124 h3,
  .nt-compact-step-v124 p {
    text-align: left !important;
    max-width: none !important;
  }
}

@media (max-width: 420px) {
  .nt-compact-step-v124 {
    grid-template-columns: 56px minmax(0, 1fr) !important;
  }

  .nt-compact-step-v124 b {
    width: 56px !important;
    height: 56px !important;
    font-size: 19px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nt-compact-bridge-v124 *,
  .nt-compact-bridge-v124 {
    animation: none !important;
    transition: none !important;
  }
}

/* V241 — reverted to v239 and fixed ONLY the frame text fonts on Page 3 and Page 4.
   No page rebuild. No layout replacement. This only makes text inside the frames consistent.
*/

/* Page 3 Age Group frames — use the same text/font hierarchy across all cards */
.nt-figma-age3-card,
.nt-figma-age3-card * {
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
}

.nt-figma-age3-card h3,
.nt-figma-age3-card h4,
.nt-figma-age3-card strong,
.nt-figma-age3-card button,
.nt-figma-age3-card .nt-figma-age3-label strong,
.nt-figma-age3-card .nt-figma-age3-selected span,
.nt-figma-age3-card .nt-custom-age-trigger span {
  font-family: var(--nt-heading-font, Manrope, sans-serif) !important;
}

/* Keep Page 3 card text weight/size consistent */
.nt-figma-age3-label strong {
  font-weight: 700 !important;
}

.nt-figma-age3-plan h3 {
  font-weight: 800 !important;
}

.nt-figma-age3-plan p,
.nt-figma-age3-options button,
.nt-custom-age-menu button,
.nt-figma-age3-selected p {
  font-weight: 400 !important;
}

/* Page 4 Pricing frames — use the same text/font hierarchy across all pricing cards */
.nt-figma-price4-card,
.nt-figma-price4-card * {
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
}

.nt-figma-price4-card h3,
.nt-figma-price4-card strong,
.nt-figma-price4-card a,
.nt-figma-price4-card button,
.nt-figma-price4-card select,
.nt-figma-price4-card .nt-price-select-v95,
.nt-figma-price4-card .nt-price-location-v96 {
  font-family: var(--nt-heading-font, Manrope, sans-serif) !important;
}

/* Keep Page 4 frame text consistent and clean */
.nt-figma-price4-plan h3,
.nt-price-card-head-v95 h3 {
  font-weight: 800 !important;
}

.nt-figma-price4-details strong,
.nt-price-row-v95 strong {
  font-weight: 800 !important;
}

.nt-figma-price4-details p,
.nt-price-row-v95 p,
.nt-price-result-v96 {
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
  font-weight: 400 !important;
}

.nt-figma-price4-card select,
.nt-price-location-v96 {
  font-weight: 700 !important;
}

/* Preserve responsiveness from v239 */
@media (max-width: 760px) {
  .nt-figma-age3-card,
  .nt-figma-price4-card {
    font-size-adjust: none !important;
  }
}

/* V242 — fix the "Select classes" text font to match the uploaded design file.
   Only targets the dropdown/selector text on the age-group frames.
*/

/* The visible "Select classes" text in the current custom dropdown */
.nt-figma-age3 .nt-custom-age-trigger,
.nt-figma-age3 .nt-custom-age-trigger span,
.nt-figma-age3 .nt-figma-age3-select-wrap,
.nt-figma-age3 .nt-figma-age3-select-wrap span {
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: #2e0965 !important;
}

/* Dropdown menu option text should follow the same uploaded-design body font */
.nt-figma-age3 .nt-custom-age-menu button {
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
  font-size: 14px !important;
  line-height: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}

/* If the older native select exists anywhere, match its label text too */
.nt-age-select-wrap-v108,
.nt-age-select-wrap-v108 span,
.nt-age-select-wrap-v108 select {
  font-family: var(--nt-body-font, Rubik, sans-serif) !important;
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: #2e0965 !important;
}

/* Mobile consistency */
@media (max-width: 700px) {
  .nt-figma-age3 .nt-custom-age-trigger,
  .nt-figma-age3 .nt-custom-age-trigger span,
  .nt-age-select-wrap-v108,
  .nt-age-select-wrap-v108 span,
  .nt-age-select-wrap-v108 select {
    font-size: 15px !important;
    line-height: 21px !important;
  }
}

/* V243 — home hero upper-content alignment.
   Moves only the logo, title, subtitle, CTAs and main photo upward.
   Does NOT move/touch the 5 frames/stats underneath.
*/

/* Move the whole left hero content block closer to the nav without touching lower frames */
@media (min-width: 1101px) {
  .nt-summer-copy-v63 {
    top: 24px !important;
  }

  /* Summer Thrive logo goes higher, but stays below the navbar */
  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-32px) !important;
    margin-bottom: -18px !important;
  }

  .nt-summer-copy-v63 h1 {
    margin-top: -4px !important;
    margin-bottom: 12px !important;
  }

  .nt-summer-copy-v63 p {
    margin-top: 0 !important;
  }

  .nt-summer-cta-v63 {
    top: 486px !important;
  }

  /* Move only the main picture up a little, not the cards/frames underneath */
  .nt-summer-photo-v63 {
    top: 90px !important;
  }

  /* Keep the 5 frames/stat area exactly where it already sits */
  .nt-summer-stats-v63,
  .nt-available-strip-v63 {
    transform: none !important;
  }
}

/* Short laptop screens: keep the same upward alignment but avoid crowding */
@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-copy-v63 {
    top: 18px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-26px) !important;
    margin-bottom: -16px !important;
  }

  .nt-summer-cta-v63 {
    top: 500px !important;
  }

  .nt-summer-photo-v63 {
    top: 84px !important;
  }
}

/* Tablet/mobile: align upward gently and keep responsiveness */
@media (max-width: 1100px) {
  .nt-summer-copy-v63 {
    padding-top: 18px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-12px) !important;
    margin-bottom: -6px !important;
  }

  .nt-summer-copy-v63 h1 {
    margin-top: 0 !important;
  }

  .nt-summer-photo-v63 {
    margin-top: -8px !important;
  }
}

@media (max-width: 640px) {
  .nt-summer-copy-v63 {
    padding-top: 10px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-8px) !important;
    margin-bottom: -4px !important;
  }

  .nt-summer-photo-v63 {
    margin-top: -4px !important;
  }
}

/* V244 — move first-page upper hero text/logo higher.
   Targets only:
   iSummer Thrive logo, Online/Summer/Classes heading, diaspora subtitle, and the two buttons.
   Does NOT touch the 5 frames/stat cards underneath.
*/

@media (min-width: 1101px) {
  /* Take the whole text group higher */
  .nt-summer-copy-v63 {
    top: -12px !important;
  }

  /* Logo goes up much more, but remains below the navbar */
  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-54px) !important;
    margin-bottom: -36px !important;
  }

  .nt-program-logo-badge-v66 img {
    transform: none !important;
  }

  /* Pull the heading, subtitle and buttons up together */
  .nt-summer-copy-v63 h1 {
    margin-top: -12px !important;
    margin-bottom: 8px !important;
  }

  .nt-summer-copy-v63 p {
    margin-top: -2px !important;
    margin-bottom: 0 !important;
  }

  .nt-summer-cta-v63 {
    top: 452px !important;
  }

  /* Keep the picture moving up slightly with the upper hero only */
  .nt-summer-photo-v63 {
    top: 72px !important;
  }

  /* Protect lower 5 frames/stat strip */
  .nt-summer-stats-v63 {
    top: 490px !important;
  }

  .nt-available-strip-v63 {
    top: 725px !important;
  }
}

/* Short laptop screens */
@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-copy-v63 {
    top: -18px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-46px) !important;
    margin-bottom: -32px !important;
  }

  .nt-summer-copy-v63 h1 {
    margin-top: -8px !important;
  }

  .nt-summer-cta-v63 {
    top: 466px !important;
  }

  .nt-summer-photo-v63 {
    top: 66px !important;
  }

  .nt-summer-stats-v63 {
    top: 490px !important;
  }

  .nt-available-strip-v63 {
    top: 725px !important;
  }
}

/* Tablet and mobile: move up gently without crowding the navbar */
@media (max-width: 1100px) {
  .nt-summer-copy-v63 {
    padding-top: 0 !important;
    margin-top: -10px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-22px) !important;
    margin-bottom: -14px !important;
  }

  .nt-summer-copy-v63 h1 {
    margin-top: -4px !important;
    margin-bottom: 8px !important;
  }

  .nt-summer-copy-v63 p {
    margin-top: 0 !important;
  }

  .nt-summer-cta-v63 {
    margin-top: 14px !important;
  }

  .nt-summer-photo-v63 {
    margin-top: -14px !important;
  }
}

@media (max-width: 640px) {
  .nt-summer-copy-v63 {
    margin-top: -6px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-14px) !important;
    margin-bottom: -8px !important;
  }

  .nt-summer-copy-v63 h1 {
    margin-top: 0 !important;
  }

  .nt-summer-cta-v63 {
    margin-top: 12px !important;
  }

  .nt-summer-photo-v63 {
    margin-top: -8px !important;
  }
}

/* V245 — take the first-page upper hero up again.
   Moves only iSummer Thrive logo, Online/Summer/Classes, subtitle, buttons, and main photo.
   Lower 5 frames/stat cards remain untouched.
*/

@media (min-width: 1101px) {
  .nt-summer-copy-v63 {
    top: -42px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-78px) !important;
    margin-bottom: -54px !important;
  }

  .nt-summer-copy-v63 h1 {
    margin-top: -18px !important;
    margin-bottom: 6px !important;
  }

  .nt-summer-copy-v63 p {
    margin-top: -4px !important;
  }

  .nt-summer-cta-v63 {
    top: 420px !important;
  }

  .nt-summer-photo-v63 {
    top: 48px !important;
  }

  /* Lock lower 5 frames/stat area */
  .nt-summer-stats-v63 {
    top: 490px !important;
  }

  .nt-available-strip-v63 {
    top: 725px !important;
  }
}

@media (min-width: 1101px) and (max-height: 850px) {
  .nt-summer-copy-v63 {
    top: -48px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-66px) !important;
    margin-bottom: -48px !important;
  }

  .nt-summer-cta-v63 {
    top: 434px !important;
  }

  .nt-summer-photo-v63 {
    top: 44px !important;
  }

  .nt-summer-stats-v63 {
    top: 490px !important;
  }

  .nt-available-strip-v63 {
    top: 725px !important;
  }
}

@media (max-width: 1100px) {
  .nt-summer-copy-v63 {
    margin-top: -24px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-34px) !important;
    margin-bottom: -24px !important;
  }

  .nt-summer-copy-v63 h1 {
    margin-top: -8px !important;
  }

  .nt-summer-cta-v63 {
    margin-top: 10px !important;
  }

  .nt-summer-photo-v63 {
    margin-top: -22px !important;
  }
}

@media (max-width: 640px) {
  .nt-summer-copy-v63 {
    margin-top: -12px !important;
  }

  .nt-program-logo-badge-v66,
  .nt-program-badge-v63.nt-program-logo-badge-v66 {
    transform: translateY(-22px) !important;
    margin-bottom: -14px !important;
  }

  .nt-summer-copy-v63 h1 {
    margin-top: -4px !important;
  }

  .nt-summer-cta-v63 {
    margin-top: 10px !important;
  }

  .nt-summer-photo-v63 {
    margin-top: -12px !important;
  }
}

/* V249 — reverted to v245, effects on Page 2 and Page 3 only.
   Page 3 effect is now a real background behind the frames, not a separate empty space.
   Page 4 is untouched.
*/

/* Page 2 moving background */
.nt-figma-offer-v236 {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

.nt-offer-shader-bg-v249 {
  position: absolute !important;
  display: block !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 0.46 !important;
}

.nt-figma-offer-v236 > *:not(.nt-offer-shader-bg-v249) {
  position: relative !important;
  z-index: 2 !important;
}

/* Page 3 moving background behind age-group frames */
.nt-figma-age3,
.nt-age-page-v108 {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

.nt-figma-age3-content,
.nt-age-content-v108 {
  position: relative !important;
  z-index: 2 !important;
  isolation: isolate !important;
}

.nt-age-shader-bg-v249 {
  position: absolute !important;
  display: block !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 0.45 !important;
  grid-column: auto !important;
  flex: none !important;
}

.nt-figma-age3-header,
.nt-figma-age3-cards,
.nt-age-header-v108,
.nt-age-cards-row-v108 {
  position: relative !important;
  z-index: 2 !important;
}

/* Register Interest button animation */
.nt-register-btn-v63 {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  animation: ntV249RegisterPulse 2.6s ease-in-out infinite !important;
}

.nt-register-btn-v63::before {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  border-radius: inherit !important;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.46) 42%, transparent 70%) !important;
  transform: translateX(-120%) !important;
  animation: ntV249RegisterShine 3.1s ease-in-out infinite !important;
  z-index: -1 !important;
}

.nt-register-btn-v63::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  box-shadow: 0 0 0 0 rgba(107,40,217,.26) !important;
  animation: ntV249RegisterRing 2.6s ease-in-out infinite !important;
  pointer-events: none !important;
}

.nt-register-btn-v63:hover {
  animation-play-state: paused !important;
  transform: translateY(-3px) scale(1.015) !important;
}

/* Fun kidsy How It Works card animation */
.nt-compact-bridge-v124 {
  overflow: hidden !important;
}

.nt-compact-step-v124 {
  position: relative !important;
  overflow: hidden !important;
  transform-origin: center bottom !important;
  animation: ntV249StepFloat 4.8s ease-in-out infinite !important;
}

.nt-compact-step-v124:nth-child(2) {
  animation-delay: .25s !important;
}

.nt-compact-step-v124:nth-child(3) {
  animation-delay: .50s !important;
}

.nt-compact-step-v124:nth-child(4) {
  animation-delay: .75s !important;
}

.nt-compact-step-v124:nth-child(5) {
  animation-delay: 1s !important;
}

.nt-compact-step-v124::before {
  content: "" !important;
  position: absolute !important;
  width: 84px !important;
  height: 84px !important;
  right: -42px !important;
  top: -42px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(97,220,213,.22), rgba(97,220,213,0) 70%) !important;
  animation: ntV249BubblePulse 3.8s ease-in-out infinite !important;
  pointer-events: none !important;
}

.nt-compact-step-v124::after {
  content: "" !important;
  position: absolute !important;
  left: 18px !important;
  bottom: 16px !important;
  width: 42px !important;
  height: 20px !important;
  background-image: radial-gradient(circle, rgba(246,29,184,.45) 2px, transparent 2.5px);
  background-size: 12px 10px !important;
  opacity: .35 !important;
  animation: ntV249DotWiggle 3.6s ease-in-out infinite !important;
  pointer-events: none !important;
}

.nt-compact-step-v124 b {
  animation: ntV249NumberPop 3.2s ease-in-out infinite !important;
}

.nt-compact-step-v124:hover {
  animation-play-state: paused !important;
  transform: translateY(-8px) rotate(-1deg) scale(1.02) !important;
}

.nt-compact-step-v124:hover b {
  animation-play-state: paused !important;
  transform: rotate(8deg) scale(1.08) !important;
}

/* animation keyframes */
@keyframes ntV249RegisterPulse {
  0%, 100% { box-shadow: 0 8px 20px rgba(107,40,217,.20); }
  50% { box-shadow: 0 16px 34px rgba(246,29,184,.24); }
}

@keyframes ntV249RegisterShine {
  0% { transform: translateX(-125%); opacity: 0; }
  18% { opacity: 1; }
  48% { transform: translateX(125%); opacity: .75; }
  100% { transform: translateX(125%); opacity: 0; }
}

@keyframes ntV249RegisterRing {
  0%, 100% { box-shadow: 0 0 0 0 rgba(107,40,217,.24); }
  50% { box-shadow: 0 0 0 10px rgba(107,40,217,0); }
}

@keyframes ntV249StepFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  35% { transform: translateY(-7px) rotate(.45deg); }
  70% { transform: translateY(2px) rotate(-.35deg); }
}

@keyframes ntV249BubblePulse {
  0%, 100% { transform: scale(.82); opacity: .45; }
  50% { transform: scale(1.1); opacity: .86; }
}

@keyframes ntV249DotWiggle {
  0%, 100% { transform: translate(0, 0) rotate(0deg); }
  50% { transform: translate(6px, -4px) rotate(4deg); }
}

@keyframes ntV249NumberPop {
  0%, 100% { transform: scale(1); }
  45% { transform: scale(1.06); }
  60% { transform: scale(.98); }
}

/* Responsive safety */
@media (max-width: 768px) {
  .nt-offer-shader-bg-v249 {
    opacity: 0.34 !important;
  }

  .nt-age-shader-bg-v249 {
    opacity: 0.32 !important;
  }

  .nt-compact-step-v124 {
    animation-duration: 5.4s !important;
  }
}

@media (max-width: 520px) {
  .nt-compact-step-v124::before {
    width: 62px !important;
    height: 62px !important;
    right: -32px !important;
    top: -32px !important;
  }

  .nt-compact-step-v124::after {
    opacity: .25 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nt-register-btn-v63,
  .nt-register-btn-v63::before,
  .nt-register-btn-v63::after,
  .nt-compact-step-v124,
  .nt-compact-step-v124::before,
  .nt-compact-step-v124::after,
  .nt-compact-step-v124 b {
    animation: none !important;
  }

  .nt-offer-shader-bg-v249,
  .nt-age-shader-bg-v249 {
    display: none !important;
  }
}


/* V250 — targeted update from Figma node 436:351.
   1) Keep Subjects, Languages, and Skills open by default.
   2) Page 3 cards: Selected detail sits in the middle and has no visible inner frame.
   3) Last/Teenblazers card option text is bold.
*/

/* Keep the three Programme Overview cards open without needing hover/tap */
.nt-figma-feature-v236 {
  height: 242px !important;
  min-height: 242px !important;
  overflow: visible !important;
}

.nt-figma-feature-v236 .nt-v236-topline {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.nt-figma-feature-v236 .nt-v236-card-extra {
  grid-template-rows: 1fr !important;
  opacity: 1 !important;
  margin-top: 8px !important;
}

.nt-figma-feature-v236:hover,
.nt-figma-feature-v236:focus-visible,
.nt-figma-feature-v236.is-active {
  transform: none !important;
}

/* Page 3 middle selected area: keep only the selected tag + writing, no extra inner frame */
.nt-figma-age3-selected {
  order: 2 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 4px 16px 8px !important;
  height: 126px !important;
}

.nt-figma-age3-options {
  order: 3 !important;
}

/* Keep the dropdown selector first */
.nt-figma-age3-select-wrap,
.nt-custom-age-dropdown {
  order: 1 !important;
}

/* Last frame/card text should be bold */
.nt-figma-age3-card.teen .nt-figma-age3-options button,
.nt-figma-age3-card.teen .nt-custom-age-menu button {
  font-weight: 800 !important;
}

@media (max-width: 760px) {
  .nt-figma-age3-selected {
    height: auto !important;
    min-height: 116px !important;
  }
}



/* V251 — remove the top line bar from Subjects, Languages, and Skills cards.
   The cards now stay open, so only the card frames and content remain visible. */
.nt-figma-feature-v236 .nt-v236-topline {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* V252 — Selected middle area spacing update.
   Keep the selected detail clean/no frame, reduce the Selected state pill width,
   and move the course title/description slightly lower for better balance. */
.nt-figma-age3-selected {
  min-height: 136px !important;
  height: 136px !important;
  padding: 8px 16px 10px !important;
  gap: 0 !important;
}

.nt-figma-age3-selected span {
  width: 104px !important;
  min-width: 104px !important;
  height: 24px !important;
  padding: 0 10px !important;
  font-size: 11px !important;
  line-height: 14px !important;
  gap: 6px !important;
}

.nt-figma-age3-selected span i {
  width: 6px !important;
  height: 6px !important;
}

.nt-figma-age3-selected h4 {
  margin-top: 15px !important;
  margin-bottom: 0 !important;
}

.nt-figma-age3-selected p {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}

@media (max-width: 760px) {
  .nt-figma-age3-selected {
    min-height: 128px !important;
    height: auto !important;
  }
}

/* V253 — make all Page 3 course option rows bold, not only Teenblazers.
   Keeps the existing responsive layout untouched. */
.nt-figma-age3-card .nt-figma-age3-options button,
.nt-figma-age3-card .nt-custom-age-menu button {
  font-weight: 800 !important;
}


/* V254 — improve readability in Page 3 selected state and course option list.
   Increased the explanation text under the selected course, and made the
   course options / + more text slightly larger while keeping responsive layout intact. */
.nt-figma-age3-selected p {
  font-size: 14.2px !important;
  line-height: 20px !important;
  font-weight: 500 !important;
}

.nt-figma-age3-options button,
.nt-custom-age-menu button {
  font-size: 14px !important;
  line-height: 20px !important;
}

.nt-figma-age3-options button:last-child,
.nt-custom-age-menu button:last-child {
  font-size: 14.4px !important;
  line-height: 20px !important;
  font-weight: 800 !important;
}

@media (max-width: 760px) {
  .nt-figma-age3-selected p {
    font-size: 13.8px !important;
    line-height: 19.5px !important;
  }

  .nt-figma-age3-options button,
  .nt-custom-age-menu button {
    font-size: 13.8px !important;
    line-height: 19.5px !important;
  }
}


/* V255 final: make the age group title labels bolder only */
.nt-figma-age3-label strong {
  font-weight: 900 !important;
}

/* V256 mobile-only: increase How It Works frame text readability.
   Only targets the small frame title/description text on mobile. */
@media (max-width: 760px) {
  .nt-compact-step-v124 h3 {
    font-size: 18px !important;
    line-height: 20px !important;
  }

  .nt-compact-step-v124 p {
    font-size: 14.5px !important;
    line-height: 16.5px !important;
  }
}

@media (max-width: 420px) {
  .nt-compact-step-v124 h3 {
    font-size: 17.5px !important;
    line-height: 19.5px !important;
  }

  .nt-compact-step-v124 p {
    font-size: 14px !important;
    line-height: 16px !important;
  }
}


/* V257 mobile-only: reduce the vertical spacing between the title and description
   inside the small How It Works frames. No layout/style changes elsewhere. */
@media (max-width: 760px) {
  .nt-compact-step-v124 {
    row-gap: 1px !important;
  }

  .nt-compact-step-v124 h3 {
    margin-bottom: -3px !important;
    line-height: 19px !important;
  }

  .nt-compact-step-v124 p {
    margin-top: -3px !important;
    line-height: 15.5px !important;
  }
}

@media (max-width: 420px) {
  .nt-compact-step-v124 {
    row-gap: 0 !important;
  }

  .nt-compact-step-v124 h3 {
    margin-bottom: -4px !important;
    line-height: 18.5px !important;
  }

  .nt-compact-step-v124 p {
    margin-top: -4px !important;
    line-height: 15px !important;
  }
}


/* V258 desktop/web-only: increase the underneath description text inside the small How It Works frames. */
@media (min-width: 761px) {
  .nt-compact-step-v124 p {
    font-size: 14.5px !important;
    line-height: 17px !important;
  }
}


/* V259 mobile-only: increase the underneath description text again and tighten line spacing.
   Only targets the mobile How It Works frame description text. */
@media (max-width: 760px) {
  .nt-compact-step-v124 p {
    font-size: 16px !important;
    line-height: 16.8px !important;
    margin-top: -5px !important;
  }
}

@media (max-width: 420px) {
  .nt-compact-step-v124 p {
    font-size: 15.5px !important;
    line-height: 16.2px !important;
    margin-top: -5px !important;
  }
}


/* V260 mobile-only: correct target — increase ONLY the underneath text
   in the From interest to the right class frames and keep the lines tighter. */
@media (max-width: 760px) {
  .nt-compact-step-v124 p {
    font-size: 18px !important;
    line-height: 18.4px !important;
    margin-top: -6px !important;
  }
}

@media (max-width: 420px) {
  .nt-compact-step-v124 p {
    font-size: 17.5px !important;
    line-height: 18px !important;
    margin-top: -6px !important;
  }
}


/* V261 font-size only: match the underneath text size with the sub-header text.
   Targets only From interest/right class frames and Why Parents Choose Us frames. */
.nt-compact-step-v124 p {
  font-size: 15px !important;
}

.nt-figma-chip-v236 p {
  font-size: 18px !important;
}

@media (max-width: 760px) {
  .nt-compact-step-v124 p {
    font-size: 18px !important;
  }
}

@media (max-width: 420px) {
  .nt-compact-step-v124 p {
    font-size: 17.5px !important;
  }
}


/* V262 requested edits: font-size only for the top CTA buttons, restore Why Parents text size,
   and apply the previous header/subheader sizing format to the From interest frames. */
.nt-figma-register,
.nt-figma-date {
  font-size: 15.5px !important;
}

.nt-figma-chip-v236 p {
  font-size: 13.2px !important;
}

.nt-compact-step-v124 h3 {
  font-size: 18px !important;
}

.nt-compact-step-v124 p {
  font-size: 13.2px !important;
}


/* V266 targeted fix: make From interest to the right class frames use the same frame size/style as Why Parents Choose Us.
   Scope: only .nt-compact-step-v124 frames. No HTML/JS changes. */
@media (min-width: 1181px) {
  .nt-compact-bridge-steps-v124 {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    justify-content: center !important;
  }

  .nt-compact-step-v124 {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 104px !important;
    height: 104px !important;
    padding: 18px !important;
    border-radius: 22px !important;
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: left !important;
  }

  .nt-compact-step-v124 b {
    grid-row: 1 / span 2 !important;
    width: 54px !important;
    height: 54px !important;
    flex: 0 0 54px !important;
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
  }

  .nt-compact-step-v124 h3 {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 23px !important;
    font-weight: 700 !important;
    text-align: left !important;
  }

  .nt-compact-step-v124 p {
    margin: 0 !important;
    max-width: none !important;
    font-size: 13.2px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    text-align: left !important;
  }
}

@media (max-width: 1180px) {
  .nt-compact-step-v124 {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 104px !important;
    height: auto !important;
    padding: 18px !important;
    border-radius: 22px !important;
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: left !important;
  }

  .nt-compact-step-v124 b {
    grid-row: 1 / span 2 !important;
    width: 54px !important;
    height: 54px !important;
    flex: 0 0 54px !important;
    font-size: 20px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
  }

  .nt-compact-step-v124 h3 {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 23px !important;
    font-weight: 700 !important;
    text-align: left !important;
  }

  .nt-compact-step-v124 p {
    margin: 0 !important;
    max-width: none !important;
    font-size: 13.2px !important;
    line-height: 18px !important;
    font-weight: 400 !important;
    text-align: left !important;
  }
}

@media (max-width: 700px) {
  .nt-compact-step-v124 {
    min-height: 104px !important;
    padding: 16px !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }

  .nt-compact-step-v124 b {
    width: 48px !important;
    height: 48px !important;
    flex-basis: 48px !important;
    font-size: 20px !important;
    line-height: 24px !important;
  }

  .nt-compact-step-v124 h3 {
    font-size: 18px !important;
    line-height: 23px !important;
  }

  .nt-compact-step-v124 p {
    font-size: 13.2px !important;
    line-height: 18px !important;
    margin: 0 !important;
  }
}


/* V267 targeted fix: shorten only the top hero CTA buttons.
   Keeps the existing wording, layout, and previous frame-size fixes untouched. */
.nt-figma-cta-row {
  width: auto !important;
  max-width: 390px !important;
  gap: 14px !important;
  justify-content: flex-start !important;
}

.nt-figma-register {
  width: 174px !important;
  min-width: 174px !important;
}

.nt-figma-date {
  width: 194px !important;
  min-width: 194px !important;
}

@media (max-width: 840px) {
  .nt-figma-cta-row {
    width: 280px !important;
    max-width: 280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: 1fr !important;
    justify-content: center !important;
    justify-items: center !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 360px) {
  .nt-figma-cta-row {
    width: 258px !important;
    max-width: calc(100vw - 48px) !important;
  }
}


/* V268 targeted mobile fix: make the "From interest to the right class" step frames
   match the "Why Parents Choose Us" frame size on mobile.
   Scope: mobile .nt-compact-step-v124 frames only. */
@media (max-width: 700px) {
  .nt-compact-bridge-steps-v124 {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    align-items: stretch !important;
  }

  .nt-compact-step-v124 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 104px !important;
    height: auto !important;
    padding: 16px !important;
    border-radius: 22px !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .nt-compact-step-v124 b {
    grid-row: 1 / span 2 !important;
    width: 48px !important;
    height: 48px !important;
    flex: 0 0 48px !important;
    font-size: 20px !important;
    line-height: 24px !important;
  }

  .nt-compact-step-v124 h3 {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 23px !important;
    text-align: left !important;
    max-width: none !important;
  }

  .nt-compact-step-v124 p {
    margin: 0 !important;
    font-size: 13.2px !important;
    line-height: 18px !important;
    text-align: left !important;
    max-width: none !important;
  }
}

@media (max-width: 360px) {
  .nt-compact-bridge-steps-v124 {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }
}


/* V269 targeted fix: hero CTA wording now uses hyphen labels and buttons resize cleanly on mobile.
   Scope: only .nt-figma-cta-row, .nt-figma-register, and .nt-figma-date. */
.nt-figma-cta-row {
  width: auto !important;
  max-width: 410px !important;
  gap: 14px !important;
  justify-content: flex-start !important;
}

.nt-figma-register,
.nt-figma-date {
  width: auto !important;
  min-width: 0 !important;
  height: 52px !important;
  padding: 0 18px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 840px) {
  .nt-figma-cta-row {
    width: min(100%, 300px) !important;
    max-width: min(100%, 300px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    justify-content: center !important;
    justify-items: stretch !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 52px !important;
    padding: 0 14px !important;
    font-size: clamp(13px, 3.7vw, 15px) !important;
  }
}

@media (max-width: 360px) {
  .nt-figma-cta-row {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    font-size: 13px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* V270 final targeted fix: make the hero CTA buttons truly responsive.
   Scope: only Register - iSummer and Book - Private Classes buttons. */
.nt-figma-cta-row {
  width: 100% !important;
  max-width: 390px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

.nt-figma-register,
.nt-figma-date {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  flex: 0 1 auto !important;
  height: 50px !important;
  padding: 0 clamp(12px, 1.5vw, 18px) !important;
  font-size: clamp(13px, 1.05vw, 15px) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 700px) {
  .nt-figma-cta-row {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 48px !important;
    padding: 0 8px !important;
    font-size: clamp(11.5px, 3.35vw, 13.5px) !important;
    letter-spacing: -0.01em !important;
  }
}

@media (max-width: 340px) {
  .nt-figma-cta-row {
    gap: 6px !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    height: 46px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    font-size: 11px !important;
  }
}


/* V271 targeted fix: make both hero CTA buttons exactly the same size and radius.
   Scope: only Register - iSummer and Book - Private Classes buttons. */
.nt-figma-cta-row {
  width: 100% !important;
  max-width: 400px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.nt-figma-register,
.nt-figma-date {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 50px !important;
  padding: 0 10px !important;
  border-radius: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: clamp(12.5px, 1.02vw, 14.5px) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}

@media (max-width: 700px) {
  .nt-figma-cta-row {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    width: 100% !important;
    height: 48px !important;
    border-radius: 16px !important;
    padding: 0 6px !important;
    font-size: clamp(10.5px, 3.1vw, 13px) !important;
    letter-spacing: -0.02em !important;
  }
}

@media (max-width: 340px) {
  .nt-figma-cta-row {
    gap: 6px !important;
  }

  .nt-figma-register,
  .nt-figma-date {
    height: 46px !important;
    border-radius: 15px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    font-size: 10px !important;
  }
}


/* V272 targeted mobile fix: add a visible picture-frame stroke around the hero image on mobile only.
   Scope: only the mobile hero photo frame. */
@media (max-width: 840px) {
  .nt-figma-photo-frame {
    border: 4px solid #ffffff !important;
    outline: 1px solid rgba(107, 40, 217, 0.20) !important;
    outline-offset: 0 !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 30px rgba(46, 9, 101, 0.14) !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 420px) {
  .nt-figma-photo-frame {
    border-width: 4px !important;
    border-radius: 22px !important;
  }
}


/* V273 targeted mobile fix: restore the Subjects, Languages and Skills sub text on the hero picture cards.
   Scope: only the three mobile overlay cards inside the hero photo frame. */
@media (max-width: 840px) {
  .nt-figma-photo-frame .nt-figma-photo-card {
    min-height: 62px !important;
    align-items: center !important;
    overflow: visible !important;
  }

  .nt-figma-photo-frame .nt-figma-photo-card > div {
    display: block !important;
    min-width: 0 !important;
  }

  .nt-figma-photo-frame .nt-figma-photo-card small {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 2px !important;
    font-size: clamp(8.8px, 2.55vw, 10.5px) !important;
    line-height: 1.18 !important;
    font-weight: 650 !important;
    color: #6d637c !important;
  }
}

@media (max-width: 380px) {
  .nt-figma-photo-frame .nt-figma-photo-card {
    min-width: 145px !important;
    max-width: 165px !important;
    min-height: 60px !important;
    padding: 7px 8px !important;
    gap: 7px !important;
  }

  .nt-figma-photo-frame .nt-figma-card-icon {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
  }

  .nt-figma-photo-frame .nt-figma-photo-card strong {
    font-size: 11.5px !important;
    line-height: 13px !important;
  }

  .nt-figma-photo-frame .nt-figma-photo-card small {
    display: block !important;
    font-size: 8.8px !important;
    line-height: 10.2px !important;
  }
}


/* V274 — mobile-only: make the final four pricing frames larger and easier to read.
   Only targets the last pricing-card section on small screens. */
@media (max-width: 760px) {
  .nt-figma-price4-cards {
    gap: 24px !important;
  }

  .nt-figma-price4-card {
    width: min(100%, 420px) !important;
    max-width: 420px !important;
    min-height: 535px !important;
    height: auto !important;
    border-radius: 22px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .nt-figma-price4-top-spacer {
    height: 34px !important;
    flex-basis: 34px !important;
  }

  .nt-figma-price4-plan {
    height: 76px !important;
    flex-basis: 76px !important;
  }

  .nt-figma-price4-plan h3 {
    width: 100% !important;
    font-size: 23px !important;
    line-height: 27px !important;
  }

  .nt-figma-price4-details {
    min-height: 335px !important;
    height: auto !important;
    flex: 1 1 auto !important;
    padding: 20px 22px 16px !important;
    gap: 12px !important;
  }

  .nt-figma-price4-row {
    gap: 12px !important;
    align-items: flex-start !important;
  }

  .nt-price-icon,
  .nt-price-icon-v95 {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 12px !important;
  }

  .nt-figma-price4-row > div {
    gap: 3px !important;
  }

  .nt-figma-price4-row strong {
    font-size: 13px !important;
    line-height: 16px !important;
    letter-spacing: 0.01em !important;
  }

  .nt-figma-price4-row p,
  .nt-figma-price4-result {
    font-size: 15.2px !important;
    line-height: 19px !important;
  }

  .nt-figma-price4-select-wrap,
  .nt-figma-price4-select {
    height: 42px !important;
  }

  .nt-figma-price4-select {
    font-size: 15px !important;
    line-height: 20px !important;
    border-radius: 12px !important;
    padding-left: 12px !important;
  }

  .nt-figma-price4-row.location-row {
    min-height: 76px !important;
  }

  .nt-figma-price4-row.cities p {
    min-height: auto !important;
  }

  .nt-figma-price4-button-wrap {
    height: 70px !important;
    flex-basis: 70px !important;
    padding: 8px 22px 18px !important;
  }

  .nt-figma-price4-button-wrap a {
    width: 100% !important;
    height: 48px !important;
    border-radius: 12px !important;
    font-size: 17px !important;
    line-height: 22px !important;
  }
}

@media (max-width: 420px) {
  .nt-figma-price4 {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .nt-figma-price4-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .nt-figma-price4-details {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

