/*
Theme Name: Neural Connection
Theme URI: https://neuralconnection.ca
Author: Neural Connection Autism Services
Author URI: https://neuralconnection.ca
Description: Custom brand theme for Neural Connection Autism Services ? in-home ABA therapy in Windsor. SEO-ready with Open Graph, schema, and accessible markup.
Version: 2.9.72
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: neural-connection
Tags: custom-menu, custom-logo, one-column, two-columns, accessibility-ready, theme-options
*/

/* =========================================================
   Brand Color Schema (exact match to logo & flyers)
   ========================================================= */
:root {
  --nc-navy: #002D62;
  --nc-navy-deep: #001F5C;
  --nc-navy-mid: #014A7F;
  --nc-teal: #00A99D;
  --nc-sky: #00B5E2;
  --nc-blue: #0071BC;
  --nc-green: #7AC143;
  --nc-yellow: #FFCB05;
  --nc-pink: #E91E63;
  --nc-purple: #92278F;
  --nc-purple-deep: #6A1B68;
  --nc-coral: #EF4136;
  --nc-orange: #F39200;
  --nc-soft-blue: #A4D7F4;
  --nc-soft-sky: #E1F5FE;
  --nc-soft-yellow: #FFF9E6;
  --nc-soft-green: #E9F7EB;
  --nc-soft-purple: #F3E5F5;
  --nc-soft-pink: #FCE4EC;
  --nc-white: #FFFFFF;
  --nc-off-white: #FBF8F3;
  --nc-page-wash: #F6F1E8;
  --nc-gray: #5A6A7A;
  --nc-gray-light: #EBE4D8;
  --nc-icon-purple-bg: #EFE0F3;
  --nc-shadow: 0 12px 32px rgba(0, 45, 98, 0.08);
  --nc-shadow-lg: 0 24px 55px rgba(0, 45, 98, 0.14);
  --nc-radius: 24px;
  --nc-radius-sm: 16px;
  --nc-radius-pill: 999px;
  --nc-font-display: "Nunito", "Quicksand", system-ui, sans-serif;
  --nc-font-body: "Nunito Sans", "Open Sans", system-ui, sans-serif;
  --nc-font-script: "Caveat", "Patrick Hand", cursive;
  --nc-container: 1140px;
  --nc-space: 1rem;
  /* Semantic aliases ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â use these for surfaces / CTAs sitewide */
  --nc-ink: var(--nc-navy);
  --nc-ink-muted: var(--nc-gray);
  --nc-accent: var(--nc-teal);
  --nc-accent-soft: var(--nc-sky);
  --nc-cta-grad: linear-gradient(135deg, var(--nc-navy) 0%, var(--nc-navy-mid) 55%, var(--nc-teal) 160%);
  --nc-hero-wash: radial-gradient(circle at 12% 20%, rgba(0, 169, 157, 0.12), transparent 42%),
    radial-gradient(circle at 88% 10%, rgba(243, 146, 0, 0.08), transparent 38%),
    linear-gradient(180deg, #F4EFE6 0%, var(--nc-white) 70%);
  --nc-section-soft: radial-gradient(circle at 8% 0%, rgba(0, 169, 157, 0.08), transparent 42%),
    radial-gradient(circle at 92% 100%, rgba(243, 146, 0, 0.06), transparent 44%),
    linear-gradient(180deg, var(--nc-page-wash) 0%, var(--nc-white) 100%);
  --nc-form-surface: radial-gradient(circle at 100% 0%, rgba(0, 169, 157, 0.08), transparent 40%),
    linear-gradient(180deg, #fff 0%, #FBF8F3 100%);
  --nc-logo-mark-h: 74px;
  --nc-logo-mark-max-w: 120px;
  --nc-gutter: 1.25rem;
  --nc-card-pad: 1.5rem;
  --nc-prose-max: 100%;
  --nc-lead-max: 100%;
  --nc-section-head-max: 100%;
  --nc-text: 1.0625rem; /* 17px ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â comfortable body */
  --nc-text-sm: 0.975rem;
  --nc-text-lg: 1.175rem;
  --nc-h1: clamp(1.85rem, 4vw, 2.5rem);
  --nc-h2: clamp(1.45rem, 2.6vw, 1.9rem);
  --nc-h3: 1.1rem;
  --nc-lead-size: 1.1rem;
  --nc-lead-lh: 1.68;
  --nc-body-lh: 1.7;
  --nc-section-y: clamp(2.1rem, 4vw, 3.15rem);
  --nc-section-y-tight: clamp(1.6rem, 3vw, 2.35rem);
  --nc-grid-gap: 1.2rem;
  --nc-head-gap: 1.35rem;
  --nc-card-gap: 0.5rem;
  --nc-btn-pad-y: 0.8rem;
  --nc-btn-pad-x: 1.5rem;
  --nc-btn-radius: 999px;
  --nc-card-wash: linear-gradient(105deg, rgba(0, 169, 157, 0.08) 0%, #ffffff 46%, rgba(255, 203, 5, 0.12) 100%);
  --nc-card-surface: #ffffff;
  --nc-card-border: rgba(0, 45, 98, 0.08);
  --nc-card-shadow: 0 8px 24px rgba(0, 45, 98, 0.06);
  --nc-card-shadow-hover: 0 18px 40px rgba(0, 45, 98, 0.12);
  --nc-card-radius: 20px;
  --nc-section-alt: linear-gradient(180deg, #f6f1e8 0%, #ffffff 55%, #f8f4ee 100%);
  --nc-section-mint: radial-gradient(circle at 10% 0%, rgba(0, 169, 157, 0.07), transparent 45%),
    linear-gradient(180deg, #f4fbfa 0%, #ffffff 100%);
  --nc-bp-sm: 600px;
  --nc-bp-md: 900px;
  --nc-bp-lg: 1100px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--nc-font-body);
  font-size: var(--nc-text, 1.12rem);
  line-height: 1.7;
  color: var(--nc-navy);
  background:
    radial-gradient(circle at 0% 0%, rgba(0, 169, 157, 0.06), transparent 28%),
    radial-gradient(circle at 100% 0%, rgba(243, 146, 0, 0.05), transparent 26%),
    #fff;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

::selection {
  background: rgba(0, 169, 157, 0.22);
  color: var(--nc-navy);
}

body.nc-nav-open {
  overflow: hidden;
}

.nc-skip-link {
  position: absolute;
  left: 1rem;
  top: -100px;
  z-index: 100000;
  padding: 0.65rem 1rem;
  border-radius: 10px;
  background: var(--nc-navy);
  color: #fff;
  font-family: var(--nc-font-display);
  font-weight: 800;
  text-decoration: none;
  box-shadow: var(--nc-shadow);
}

.nc-skip-link:focus {
  top: 1rem;
  outline: 3px solid var(--nc-sky);
  outline-offset: 2px;
}


img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--nc-teal);
  text-decoration: none;
  transition: color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

a:hover {
  color: var(--nc-navy);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--nc-font-display);
  font-weight: 800;
  line-height: 1.2;
  color: var(--nc-navy);
  margin: 0 0 0.6em;
}

p {
  margin: 0 0 1em;
}

.nc-container {
  width: min(100%, var(--nc-container));
  margin-inline: auto;
  padding-inline: var(--nc-gutter);
  box-sizing: border-box;
}

.nc-cards--2 {
  grid-template-columns: repeat(2, 1fr);
}

.nc-cards--2 > .nc-card {
  grid-row: span 4;
  display: grid;
  grid-template-rows: subgrid;
  row-gap: 0;
}

.nc-section {
  padding: 4.5rem 0;
  position: relative;
}

.nc-section--soft {
  background: var(--nc-section-soft);
}

.nc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--nc-teal);
  margin-bottom: 0.75rem;
}

.nc-script {
  font-family: var(--nc-font-script);
  font-size: clamp(1.5rem, 2.5vw, 2.1rem);
  color: var(--nc-blue);
  font-weight: 600;
  line-height: 1.3;
}

.nc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.95rem 1.9rem;
  border-radius: var(--nc-radius-pill);
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0.01em;
}

.nc-btn--primary {
  background: var(--nc-cta-grad);
  color: var(--nc-white);
  box-shadow: 0 10px 24px rgba(0, 45, 98, 0.25);
}

.nc-btn--primary:hover {
  background: linear-gradient(135deg, var(--nc-teal), var(--nc-sky));
  color: var(--nc-white);
  transform: translateY(-2px);
}

.nc-btn--teal {
  background: var(--nc-teal);
  color: var(--nc-white);
}

.nc-btn--teal:hover {
  background: var(--nc-navy);
  color: var(--nc-white);
}

.nc-btn--outline {
  background: transparent;
  color: var(--nc-navy);
  border: 2px solid var(--nc-navy);
}

.nc-btn--outline:hover {
  background: var(--nc-navy);
  color: var(--nc-white);
}

.nc-btn--pink {
  background: var(--nc-pink);
  color: #fff;
}

.nc-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 1.15rem;
  border-radius: var(--nc-radius-pill);
  font-family: var(--nc-font-display);
  font-weight: 800;
  color: #fff;
  font-size: 0.95rem;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  transform-origin: center center;
}

.nc-tags .nc-pill {
  animation: nc-pill-sway 5.5s ease-in-out infinite;
}

.nc-tags .nc-pill:nth-child(2) { animation-delay: 0.4s; }
.nc-tags .nc-pill:nth-child(3) { animation-delay: 0.8s; }
.nc-tags .nc-pill:nth-child(4) { animation-delay: 1.2s; }

.nc-tags .nc-pill:hover {
  animation-play-state: paused;
  transform: rotate(4deg) scale(1.05);
  box-shadow: 0 10px 22px rgba(0, 45, 98, 0.16);
}

@keyframes nc-pill-sway {
  0%, 100% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
}

.nc-pill--sky { background: var(--nc-sky); }
.nc-pill--pink { background: var(--nc-pink); }
.nc-pill--green { background: var(--nc-green); }
.nc-pill--yellow { background: var(--nc-yellow); color: var(--nc-navy); }
.nc-pill--purple { background: var(--nc-purple); }
.nc-pill--navy { background: var(--nc-navy); }

/* ========== Header ========== */
.nc-header {
  position: relative;
  width: 100%;
  z-index: 1100;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  border-bottom: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: 0 8px 28px rgba(0, 45, 98, 0.05);
}

.nc-header::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--nc-pink),
    var(--nc-sky),
    var(--nc-teal),
    var(--nc-green),
    var(--nc-yellow),
    var(--nc-purple)
  );
  background-size: 200% 100%;
  animation: nc-nav-accent 10s linear infinite;
}

@keyframes nc-nav-accent {
  to { background-position: 200% 0; }
}

.nc-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 0.95rem 0;
  min-height: 96px;
  position: relative;
}

.nc-header__inner > * {
  align-self: center;
}

.nc-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: inherit;
  text-decoration: none;
  flex: 0 0 auto;
  min-width: 0;
  position: relative;
  z-index: 1102;
  transition: transform 0.25s ease;
}

.nc-logo picture {
  display: contents;
}

.nc-logo:hover {
  transform: translateY(-1px);
}

.nc-logo__mark {
  width: auto;
  height: var(--nc-logo-mark-h);
  max-width: var(--nc-logo-mark-max-w);
  object-fit: contain;
  object-position: center left;
  flex-shrink: 0;
  display: block;
  transform-origin: center center;
  filter: drop-shadow(0 3px 8px rgba(0, 45, 98, 0.1));
  transition: transform 0.3s ease, height 0.3s ease, max-width 0.3s ease;
}

.nc-logo:hover .nc-logo__mark {
  transform: scale(1.04) rotate(-2deg);
}

.nc-logo__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.1rem;
  line-height: 1.1;
  min-width: 0;
  text-align: left;
}

.nc-logo__brand {
  font-family: var(--nc-font-display);
  font-weight: 900;
  font-size: 1.28rem;
  letter-spacing: -0.025em;
  line-height: 1.05;
  white-space: nowrap;
}

.nc-logo__brand span:first-child { color: var(--nc-navy); }
.nc-logo__brand span:last-child { color: var(--nc-teal); }

.nc-logo__sub {
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nc-blue);
  font-weight: 800;
  margin-top: 0;
  white-space: nowrap;
  line-height: 1.2;
}

.nc-logo__tagline {
  display: block;
  font-family: var(--nc-font-script);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--nc-blue);
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.15;
  margin-top: 0.05rem;
  white-space: nowrap;
  max-width: 17.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0.9;
}

.nc-tagline,
.nc-script.nc-tagline {
  font-family: var(--nc-font-script);
  white-space: nowrap;
  display: inline-block;
  max-width: 100%;
  line-height: 1.3;
}

.nc-nav {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex: 1 1 auto;
  justify-content: center;
  overflow: visible;
  min-width: 0;
}

.nc-nav > ul {
  list-style: none;
  margin: 0;
  padding: 0.22rem;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.1rem;
  background: rgba(240, 250, 255, 0.92);
  border: 1px solid rgba(0, 45, 98, 0.06);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 6px 18px rgba(0, 45, 98, 0.04);
  overflow: visible;
}

.nc-nav > ul > li {
  flex: 0 0 auto;
}

.nc-nav > ul > li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0.62rem 0.95rem;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.15;
  color: var(--nc-navy);
  border-radius: 999px;
  white-space: nowrap;
  transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.nc-nav a {
  display: block;
  position: relative;
  padding: 0.55rem 1rem;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.92rem;
  color: var(--nc-navy);
  border-radius: 999px;
  transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.nc-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.35rem;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--nc-teal), var(--nc-sky));
  transform: translateX(-50%);
  transition: width 0.22s ease;
}

.nc-nav a:hover {
  color: var(--nc-teal);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 4px 12px rgba(0, 169, 157, 0.12);
  transform: translateY(-1px);
}

.nc-nav a:hover::after {
  width: 42%;
}

.nc-nav .current-menu-item > a,
.nc-nav .current_page_item > a,
.nc-nav > ul > li.current-menu-item > a,
.nc-nav > ul > li.current_page_item > a {
  color: #fff;
  background: var(--nc-cta-grad);
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.22);
}

.nc-nav .current-menu-item > a::after,
.nc-nav .current_page_item > a::after {
  display: none;
}

.nc-nav .current-menu-item > a:hover,
.nc-nav .current_page_item > a:hover {
  color: #fff;
  background: linear-gradient(135deg, var(--nc-teal), var(--nc-sky));
  transform: translateY(-1px);
}

.nc-header__cta {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.nc-header__cta .nc-btn {
  padding: 0.85rem 1.45rem;
  font-size: 0.98rem;
  line-height: 1;
  white-space: nowrap;
  border-radius: var(--nc-radius-pill);
  box-shadow: 0 10px 22px rgba(0, 45, 98, 0.2);
}

.nc-header__cta .nc-btn--primary {
  background: var(--nc-cta-grad);
  color: #fff;
}

.nc-header__cta .nc-btn--primary:hover {
  background: linear-gradient(135deg, var(--nc-teal), var(--nc-sky));
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0, 169, 157, 0.28);
}

.nc-nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 2px solid rgba(0, 45, 98, 0.14);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, var(--nc-page-wash));
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  padding: 0;
  flex-shrink: 0;
  margin-left: 0.35rem;
  position: relative;
  z-index: 1103;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 14px rgba(0, 45, 98, 0.08);
  transform: none !important;
}

.nc-nav-toggle:hover,
.nc-nav-toggle:focus-visible {
  background: var(--nc-soft-sky);
  border-color: var(--nc-teal);
  box-shadow: 0 6px 16px rgba(0, 169, 157, 0.18);
  outline: none;
}

.nc-nav-toggle:active {
  background: #E8F7FA;
  box-shadow: none;
}

.nc-nav-toggle.nc-ripple-host,
.nc-nav-toggle.nc-pressed {
  overflow: visible !important;
  transform: none !important;
}

.nc-nav-toggle .nc-ripple {
  display: none !important;
}

.nc-nav-toggle span {
  display: block;
  width: 18px;
  height: 2.5px;
  background: var(--nc-navy);
  border-radius: 2px;
  transition: transform 0.25s ease, opacity 0.25s ease, background 0.2s ease;
  transform-origin: center;
}

.nc-nav-toggle:hover span,
.nc-nav-toggle:focus-visible span {
  background: var(--nc-teal);
}

.nc-nav-toggle[aria-expanded="true"] {
  background: var(--nc-navy);
  border-color: var(--nc-navy);
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.22);
}

.nc-nav-toggle[aria-expanded="true"]:hover,
.nc-nav-toggle[aria-expanded="true"]:focus-visible {
  background: var(--nc-teal);
  border-color: var(--nc-teal);
}

.nc-nav-toggle[aria-expanded="true"] span {
  background: #fff;
}

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

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

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

@media (prefers-reduced-motion: reduce) {
  .nc-header::before {
    animation: none;
  }
}

/* ========== Home Slider ========== */
.nc-slider {
  position: relative;
  overflow: hidden;
  padding: 2.5rem 0 2rem;
  background:
    radial-gradient(circle at 8% 18%, rgba(0, 181, 226, 0.14), transparent 42%),
    radial-gradient(circle at 92% 12%, rgba(233, 30, 99, 0.10), transparent 36%),
    radial-gradient(circle at 70% 95%, rgba(122, 193, 67, 0.10), transparent 40%),
    linear-gradient(180deg, #fff 0%, var(--nc-page-wash) 100%);
}

.nc-slider__viewport {
  position: relative;
  min-height: 480px;
}

.nc-slide {
  display: none;
}

.nc-slide.is-active {
  display: block;
}

.nc-slide__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 2.5rem;
  align-items: center;
}

.nc-slide__brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.15rem;
}

.nc-slide__logo {
  width: auto;
  height: 78px;
  max-width: 120px;
  object-fit: contain;
  flex-shrink: 0;
}

.nc-slide__name {
  font-family: var(--nc-font-display);
  font-weight: 900;
  font-size: clamp(1.55rem, 2.6vw, 2rem);
  line-height: 1.05;
  margin: 0;
  letter-spacing: -0.02em;
}

.nc-slide__name span:first-child { color: var(--nc-navy); }
.nc-slide__name span:last-child { color: var(--nc-teal); }

.nc-slide__services {
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--nc-navy);
  display: inline-block;
  padding: 0.15rem 0;
  border-top: 1px solid rgba(0, 45, 98, 0.25);
  border-bottom: 1px solid rgba(0, 45, 98, 0.25);
}

.nc-slide__tagline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.55rem 0 0;
  font-family: var(--nc-font-script);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 600;
  color: var(--nc-blue);
  line-height: 1.25;
}

.nc-slide__hl {
  display: inline-block;
  background: var(--nc-navy);
  color: #fff;
  padding: 0.05em 0.35em;
  border-radius: 6px;
  line-height: 1.2;
}

.nc-slide__heart {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.nc-slide__cloud {
  display: inline-block;
  margin: 0 0 1rem;
  padding: 0.7rem 1.25rem;
  border-radius: var(--nc-radius-pill);
  background: linear-gradient(135deg, rgba(164, 215, 244, 0.7), rgba(225, 245, 254, 0.95));
  box-shadow: 0 8px 22px rgba(0, 113, 188, 0.12);
  font-family: var(--nc-font-script);
  font-size: clamp(1.2rem, 2.2vw, 1.5rem);
  font-weight: 600;
  color: var(--nc-navy);
  line-height: 1.3;
}

.nc-slide__title {
  font-size: clamp(2.1rem, 4.6vw, 3.2rem);
  margin: 0 0 1rem;
  color: var(--nc-navy);
  letter-spacing: -0.02em;
}

.nc-slide__title .is-pink {
  color: var(--nc-pink);
}

.nc-slide__pill {
  display: inline-flex;
  margin: 0 0 1.5rem;
  padding: 0.75rem 1.4rem;
  border-radius: var(--nc-radius-pill);
  background: linear-gradient(90deg, var(--nc-sky), var(--nc-blue));
  color: #fff;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: clamp(0.92rem, 1.5vw, 1.1rem);
  box-shadow: 0 10px 28px rgba(0, 181, 226, 0.28);
  line-height: 1.35;
}

.nc-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.nc-slide__visual {
  position: relative;
}

.nc-slide__photo-wrap {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: var(--nc-shadow);
  background: linear-gradient(160deg, #B3E5FC, #E1F5FE 45%, #FFF8E1);
  aspect-ratio: 4 / 5;
  max-height: 520px;
}

.nc-slide__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transform: scale(1.04);
  transition: transform 6.5s ease;
}

.nc-slide.is-active .nc-slide__photo {
  transform: scale(1);
}

.nc-slide__side-tags {
  position: absolute;
  top: 12%;
  right: 4%;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  z-index: 2;
}

.nc-slide__side-tags li {
  padding: 0.4rem 0.95rem;
  border-radius: 999px;
  font-family: var(--nc-font-script);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--nc-navy);
  box-shadow: 0 6px 16px rgba(0, 45, 98, 0.12);
  opacity: 0;
  transform: translateX(18px);
}

.nc-slide.is-animating .nc-slide__side-tags li {
  animation: nc-tag-in 0.55s ease forwards;
  animation-delay: calc(0.45s + var(--i, 0) * 0.12s);
}

.nc-slide__side-tags .is-pink { background: #F8BBD9; }
.nc-slide__side-tags .is-sky { background: #B3E5FC; }
.nc-slide__side-tags .is-yellow { background: #FFE082; }
.nc-slide__side-tags .is-green { background: #C5E1A5; }

@keyframes nc-tag-in {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Entrance animations */
.nc-anim {
  opacity: 0;
  transform: translateY(18px);
}

.nc-anim[data-anim="fade-left"] {
  transform: translateX(28px);
}

.nc-slide.is-animating .nc-anim {
  animation: nc-fade-up 0.65s ease forwards;
}

.nc-slide.is-animating .nc-anim[data-anim="fade-left"] {
  animation-name: nc-fade-left;
}

.nc-slide.is-animating .nc-anim[data-delay="1"] { animation-delay: 0.1s; }
.nc-slide.is-animating .nc-anim[data-delay="2"] { animation-delay: 0.2s; }
.nc-slide.is-animating .nc-anim[data-delay="3"] { animation-delay: 0.32s; }
.nc-slide.is-animating .nc-anim[data-delay="4"] { animation-delay: 0.42s; }

@keyframes nc-fade-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes nc-fade-left {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.nc-slider__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  margin-top: 1.75rem;
}

.nc-slider__btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 2px solid var(--nc-navy);
  background: #fff;
  color: var(--nc-navy);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.nc-slider__btn:hover {
  background: var(--nc-navy);
  color: #fff;
  transform: scale(1.05);
}

.nc-slider__dots {
  display: flex;
  gap: 0.45rem;
  align-items: center;
}

.nc-slider__dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: none;
  padding: 0;
  background: rgba(0, 45, 98, 0.22);
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, width 0.2s ease;
}

.nc-slider__dot.is-active {
  background: var(--nc-teal);
  width: 28px;
  border-radius: 999px;
}

/* ========== Home Promo Banner (legacy) ========== */
.nc-promo {
  position: relative;
  overflow: hidden;
  padding: 2.75rem 0 3.25rem;
  background:
    radial-gradient(circle at 8% 18%, rgba(0, 181, 226, 0.14), transparent 42%),
    radial-gradient(circle at 92% 12%, rgba(233, 30, 99, 0.10), transparent 36%),
    radial-gradient(circle at 70% 95%, rgba(122, 193, 67, 0.10), transparent 40%),
    linear-gradient(180deg, #fff 0%, var(--nc-page-wash) 100%);
}

.nc-promo__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 2.5rem;
  align-items: center;
}

.nc-promo__brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.nc-promo__logo {
  width: auto;
  height: 78px;
  max-width: 120px;
  object-fit: contain;
  flex-shrink: 0;
}

.nc-promo__name {
  font-family: var(--nc-font-display);
  font-weight: 900;
  font-size: clamp(1.55rem, 2.6vw, 2rem);
  line-height: 1.05;
  margin: 0;
  letter-spacing: -0.02em;
}

.nc-promo__name span:first-child { color: var(--nc-navy); }
.nc-promo__name span:last-child { color: var(--nc-teal); }

.nc-promo__services {
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--nc-navy);
  position: relative;
  display: inline-block;
  padding: 0.15rem 0;
  border-top: 1px solid rgba(0, 45, 98, 0.25);
  border-bottom: 1px solid rgba(0, 45, 98, 0.25);
}

.nc-promo__tagline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.55rem 0 0;
  font-family: var(--nc-font-script);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 600;
  color: var(--nc-blue);
  line-height: 1.25;
}

.nc-promo__heart {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.nc-promo__cloud {
  display: inline-block;
  margin: 0 0 1rem;
  padding: 0.7rem 1.25rem;
  border-radius: 40% 60% 55% 45% / 50% 45% 55% 50%;
  background: linear-gradient(135deg, rgba(164, 215, 244, 0.65), rgba(225, 245, 254, 0.9));
  font-family: var(--nc-font-script);
  font-size: clamp(1.25rem, 2.2vw, 1.55rem);
  font-weight: 600;
  color: var(--nc-navy);
  line-height: 1.3;
}

.nc-promo__title {
  font-size: clamp(2.2rem, 4.8vw, 3.35rem);
  margin: 0 0 1rem;
  color: var(--nc-navy);
  letter-spacing: -0.02em;
}

.nc-promo__title .is-pink {
  color: var(--nc-pink);
}

.nc-promo__pill {
  display: inline-flex;
  margin: 0 0 1.5rem;
  padding: 0.75rem 1.4rem;
  border-radius: var(--nc-radius-pill);
  background: linear-gradient(90deg, var(--nc-sky), var(--nc-blue));
  color: #fff;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: clamp(0.92rem, 1.5vw, 1.1rem);
  box-shadow: 0 10px 28px rgba(0, 181, 226, 0.28);
  line-height: 1.35;
}

.nc-promo__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.nc-promo__visual {
  position: relative;
}

.nc-promo__photo-wrap {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: var(--nc-shadow);
  background: linear-gradient(160deg, #B3E5FC, #E1F5FE 45%, #FFF8E1);
  aspect-ratio: 4 / 5;
  max-height: 520px;
}

.nc-promo__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.nc-promo__side-tags {
  position: absolute;
  top: 12%;
  right: 4%;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  z-index: 2;
}

.nc-promo__side-tags li {
  padding: 0.4rem 0.95rem;
  border-radius: 999px;
  font-family: var(--nc-font-script);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--nc-navy);
  box-shadow: 0 6px 16px rgba(0, 45, 98, 0.12);
  animation: nc-float 4s ease-in-out infinite;
}

.nc-promo__side-tags li:nth-child(2) { animation-delay: 0.5s; }
.nc-promo__side-tags li:nth-child(3) { animation-delay: 1s; }
.nc-promo__side-tags li:nth-child(4) { animation-delay: 1.5s; }

.nc-promo__side-tags .is-pink { background: #F8BBD9; }
.nc-promo__side-tags .is-sky { background: #B3E5FC; }
.nc-promo__side-tags .is-yellow { background: #FFE082; }
.nc-promo__side-tags .is-green { background: #C5E1A5; }

/* ========== Flyer Banner (matches campaign flyer) ========== */
.nc-flyer {
  position: relative;
  padding: 0.9rem 0 0.4rem;
  overflow: hidden;
  background: linear-gradient(180deg, var(--nc-white) 0%, var(--nc-off-white) 100%);
}

.nc-flyer__stage {
  position: relative;
  width: min(100% - 1.5rem, var(--nc-container));
  margin: 0 auto;
  padding: clamp(1rem, 2vw, 1.4rem) clamp(1rem, 2.2vw, 1.6rem);
  border-radius: var(--nc-radius);
  overflow: hidden;
  background:
    radial-gradient(circle at 6% 12%, rgba(255, 203, 5, 0.2), transparent 24%),
    radial-gradient(circle at 18% 90%, rgba(233, 30, 99, 0.12), transparent 26%),
    radial-gradient(circle at 92% 14%, rgba(0, 181, 226, 0.18), transparent 24%),
    radial-gradient(circle at 88% 88%, rgba(122, 193, 67, 0.16), transparent 26%),
    linear-gradient(160deg, #FFFEF8 0%, #F8FCFF 50%, #FFF8FB 100%);
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
  animation: nc-flyer-in 0.65s ease both;
}

.nc-flyer__splash {
  position: absolute;
  border-radius: 60% 40% 55% 45% / 45% 55% 40% 60%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
}

.nc-flyer__splash--tl {
  top: -10%; left: -4%; width: 140px; height: 110px;
  background: radial-gradient(circle, rgba(255, 203, 5, 0.5), transparent 70%);
  animation: nc-flyer-blob 8s ease-in-out infinite;
}
.nc-flyer__splash--tr {
  top: -8%; right: -3%; width: 150px; height: 120px;
  background: radial-gradient(circle, rgba(0, 181, 226, 0.4), transparent 70%);
  animation: nc-flyer-blob 9s ease-in-out 0.5s infinite reverse;
}
.nc-flyer__splash--bl {
  bottom: -12%; left: -2%; width: 160px; height: 120px;
  background: radial-gradient(circle, rgba(233, 30, 99, 0.25), transparent 70%);
  animation: nc-flyer-blob 10s ease-in-out 0.2s infinite;
}
.nc-flyer__splash--br {
  bottom: -10%; right: -4%; width: 150px; height: 115px;
  background: radial-gradient(circle, rgba(122, 193, 67, 0.35), transparent 70%);
  animation: nc-flyer-blob 8.5s ease-in-out 0.8s infinite reverse;
}

.nc-flyer__star {
  position: absolute; z-index: 1; pointer-events: none;
  font-size: 0.85rem; line-height: 1;
  animation: nc-flyer-twinkle 2.8s ease-in-out infinite;
}
.nc-flyer__star--1 { top: 14%; left: 40%; color: var(--nc-yellow); }
.nc-flyer__star--2 { top: 20%; right: 36%; color: var(--nc-pink); animation-delay: 0.5s; font-size: 0.7rem; }
.nc-flyer__star--3 { bottom: 16%; left: 34%; color: var(--nc-sky); animation-delay: 1s; }

.nc-flyer__dot {
  position: absolute; width: 8px; height: 8px; border-radius: 50%;
  z-index: 1; pointer-events: none;
  animation: nc-flyer-twinkle 3.2s ease-in-out infinite;
}
.nc-flyer__dot--1 { top: 30%; left: 8%; background: var(--nc-pink); }
.nc-flyer__dot--2 { top: 68%; left: 46%; background: var(--nc-sky); animation-delay: 0.7s; width: 6px; height: 6px; }
.nc-flyer__dot--3 { bottom: 20%; right: 42%; background: var(--nc-yellow); animation-delay: 1.2s; }

.nc-flyer__layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.15fr 0.65fr 0.9fr;
  gap: 0.85rem 1.1rem;
  align-items: center;
}

.nc-flyer__copy { animation: nc-flyer-slide-left 0.7s ease both; }

.nc-flyer__line {
  margin: 0 0 0.35rem;
  font-family: var(--nc-font-display);
  font-weight: 900;
  font-size: clamp(0.95rem, 1.9vw, 1.35rem);
  line-height: 1.25;
  letter-spacing: -0.02em;
}
.nc-flyer__line .is-navy { color: var(--nc-navy); }
.nc-flyer__line .is-pink { color: var(--nc-pink); }
.nc-flyer__line .is-orange { color: var(--nc-orange); }
.nc-flyer__line .is-sky { color: var(--nc-sky); }
.nc-flyer__line .is-green { color: var(--nc-green); }

.nc-flyer__headline {
  margin: 0 0 0.85rem;
  font-family: var(--nc-font-display);
  font-weight: 900;
  font-size: clamp(1.45rem, 3.2vw, 2.25rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  text-shadow: 0 1px 0 #fff;
}
.nc-flyer__headline span { display: inline-block; animation: nc-flyer-letter 0.5s ease both; }
.nc-flyer__headline .gap { width: 0.28em; animation: none !important; }
.nc-flyer__headline .c1 { color: var(--nc-pink); animation-delay: 0.04s; }
.nc-flyer__headline .c2 { color: var(--nc-sky); animation-delay: 0.07s; }
.nc-flyer__headline .c3 { color: var(--nc-orange); animation-delay: 0.1s; }
.nc-flyer__headline .c4 { color: var(--nc-green); animation-delay: 0.13s; }
.nc-flyer__headline .c5 { color: var(--nc-purple); animation-delay: 0.16s; }
.nc-flyer__headline .c6 { color: var(--nc-pink); animation-delay: 0.19s; }
.nc-flyer__headline .c7 { color: var(--nc-sky); animation-delay: 0.22s; }
.nc-flyer__headline .c8 { color: var(--nc-yellow); animation-delay: 0.25s; }
.nc-flyer__headline .c9 { color: var(--nc-orange); animation-delay: 0.28s; }

.nc-flyer__cta {
  animation: nc-flyer-cta-in 0.65s ease 0.25s both;
}

.nc-flyer__cloud {
  justify-self: center;
  max-width: 190px;
  padding: 0.95rem 1rem 1.05rem;
  text-align: center;
  border-radius: 55% 45% 50% 50% / 50% 55% 45% 50%;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.55), transparent 50%),
    linear-gradient(145deg, rgba(129, 212, 250, 0.85), rgba(179, 229, 252, 0.95));
  box-shadow: 0 10px 24px rgba(0, 181, 226, 0.2);
  animation: nc-flyer-float 4.5s ease-in-out infinite;
}

.nc-flyer__cloud-text {
  margin: 0;
  font-family: var(--nc-font-script);
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
  font-weight: 700;
  color: var(--nc-navy);
  line-height: 1.25;
}

.nc-flyer__heart {
  display: block;
  margin-top: 0.2rem;
  color: var(--nc-pink);
  font-size: 1rem;
  animation: nc-flyer-heartbeat 1.6s ease-in-out infinite;
}

.nc-flyer__visual {
  position: relative;
  animation: nc-flyer-slide-right 0.75s ease 0.08s both;
}

.nc-flyer__photo-wrap {
  width: min(100%, 230px);
  margin-left: auto;
  aspect-ratio: 1 / 1;
  max-height: 230px;
  border-radius: 48% 52% 45% 55% / 42% 48% 52% 58%;
  overflow: hidden;
  background: linear-gradient(160deg, var(--nc-soft-sky), #fff 45%, var(--nc-soft-yellow));
  box-shadow:
    0 0 0 5px rgba(255, 255, 255, 0.95),
    0 0 0 9px rgba(0, 181, 226, 0.18),
    var(--nc-shadow);
  animation: nc-flyer-photo-morph 10s ease-in-out infinite;
}

.nc-flyer__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  display: block;
  transform: scale(1.06);
}

.nc-flyer__tags {
  position: absolute;
  top: 2%;
  right: -0.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  z-index: 3;
}

.nc-flyer__tags li {
  padding: 0.32rem 0.85rem;
  border-radius: var(--nc-radius-pill);
  font-family: var(--nc-font-script);
  font-size: clamp(0.95rem, 1.5vw, 1.15rem);
  font-weight: 700;
  color: var(--nc-navy);
  box-shadow: 0 6px 14px rgba(0, 45, 98, 0.1);
  animation: nc-flyer-float 3.8s ease-in-out infinite;
  white-space: nowrap;
}
.nc-flyer__tags li:nth-child(2) { animation-delay: 0.4s; margin-left: 0.3rem; }
.nc-flyer__tags li:nth-child(3) { animation-delay: 0.8s; margin-left: 0.1rem; }
.nc-flyer__tags li:nth-child(4) { animation-delay: 1.2s; margin-left: 0.35rem; }
.nc-flyer__tags .is-pink { background: #F8BBD9; }
.nc-flyer__tags .is-sky { background: #B3E5FC; }
.nc-flyer__tags .is-yellow { background: #FFE082; }
.nc-flyer__tags .is-green { background: #C5E1A5; }

.nc-flyer + .nc-hero {
  padding-top: 2rem;
}

@keyframes nc-flyer-in {
  from { opacity: 0; transform: translateY(12px) scale(0.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes nc-flyer-slide-left {
  from { opacity: 0; transform: translateX(-18px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes nc-flyer-slide-right {
  from { opacity: 0; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes nc-flyer-letter {
  from { opacity: 0; transform: translateY(8px) scale(0.9); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes nc-flyer-cta-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes nc-flyer-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes nc-flyer-blob {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(8px, -8px) scale(1.05); }
}
@keyframes nc-flyer-twinkle {
  0%, 100% { opacity: 0.35; transform: scale(0.85); }
  50% { opacity: 1; transform: scale(1.12); }
}
@keyframes nc-flyer-heartbeat {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}
@keyframes nc-flyer-photo-morph {
  0%, 100% { border-radius: 48% 52% 45% 55% / 42% 48% 52% 58%; }
  50% { border-radius: 52% 48% 55% 45% / 48% 42% 58% 52%; }
}

@media (max-width: 992px) {
  .nc-flyer__layout {
    grid-template-columns: 1.1fr 0.9fr;
    grid-template-areas:
      "copy visual"
      "cloud visual";
  }
  .nc-flyer__copy { grid-area: copy; }
  .nc-flyer__cloud { grid-area: cloud; justify-self: start; }
  .nc-flyer__visual { grid-area: visual; }
}

@media (max-width: 768px) {
  .nc-flyer__stage {
    width: min(100% - 1.1rem, var(--nc-container));
    padding: 1rem 0.9rem 1.15rem;
  }
  .nc-flyer__layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "visual"
      "cloud";
    text-align: center;
  }
  .nc-flyer__cloud { justify-self: center; }
  .nc-flyer__photo-wrap {
    margin: 0 auto;
    width: min(70%, 200px);
    max-height: 200px;
  }
  .nc-flyer__tags { right: 0; }
  .nc-flyer__cta { margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .nc-flyer__stage,
  .nc-flyer__copy,
  .nc-flyer__visual,
  .nc-flyer__cta,
  .nc-flyer__headline span,
  .nc-flyer__cloud,
  .nc-flyer__tags li,
  .nc-flyer__splash,
  .nc-flyer__star,
  .nc-flyer__dot,
  .nc-flyer__heart,
  .nc-flyer__photo-wrap {
    animation: none !important;
  }
}


/* ========== Live flyer banner ========== */
.nc-live-banner {
  position: relative;
  background: #fff;
  overflow: hidden;
  width: 100%;
  max-width: 100vw;
}

.nc-live-banner__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 21 / 9;
  min-height: clamp(22rem, 44vw, 36rem);
  max-height: 38rem;
  background:
    radial-gradient(ellipse 48% 78% at 78% 50%, rgba(255, 203, 5, 0.48), transparent 68%),
    radial-gradient(ellipse 32% 50% at 72% 75%, rgba(0, 181, 226, 0.26), transparent 62%),
    radial-gradient(ellipse 24% 40% at 28% 55%, rgba(233, 30, 99, 0.08), transparent 70%),
    #fff;
  overflow: hidden;
}

.nc-live-banner__art {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.nc-lb-wave {
  position: absolute;
  left: -3%;
  height: clamp(0.85rem, 1.6vw, 1.25rem);
  border-radius: 999px;
  transform-origin: left center;
  filter: saturate(1.05);
  animation: nc-lb-sway 7s ease-in-out infinite;
}
.nc-lb-wave--a {
  top: 7%;
  width: 12%;
  background: linear-gradient(90deg, #d81b60, #ff6f91);
  transform: rotate(-30deg);
}
.nc-lb-wave--b {
  top: 13%;
  width: 16%;
  left: -2%;
  background: linear-gradient(90deg, #ffcb05, #f39200, #ff6f00);
  transform: rotate(-26deg);
  animation-delay: 0.35s;
}
.nc-lb-wave--c {
  top: 19%;
  width: 10%;
  left: 0;
  background: linear-gradient(90deg, #7b1fa2, #00b5e2);
  transform: rotate(-22deg);
  animation-delay: 0.7s;
}

.nc-lb-wash {
  position: absolute;
  border-radius: 50%;
  filter: blur(8px);
  animation: nc-lb-breathe 6.5s ease-in-out infinite;
}
.nc-lb-wash--y {
  width: 22%;
  height: 34%;
  left: 16%;
  bottom: 4%;
  background: rgba(255, 203, 5, 0.5);
}
.nc-lb-wash--b {
  width: 16%;
  height: 26%;
  left: 6%;
  top: 36%;
  background: rgba(0, 181, 226, 0.28);
  animation-delay: 1s;
}
.nc-lb-wash--photo {
  width: 38%;
  height: 70%;
  right: 2%;
  top: 12%;
  background: rgba(255, 203, 5, 0.35);
  filter: blur(18px);
  z-index: 2;
  animation-delay: 0.5s;
}

.nc-lb-dot {
  position: absolute;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  animation: nc-lb-twinkle 3s ease-in-out infinite;
}
.nc-lb-dot--1 { left: 27%; top: 16%; background: #e91e63; }
.nc-lb-dot--2 { left: 31%; top: 22%; background: #00b5e2; width: 0.4rem; height: 0.4rem; animation-delay: 0.5s; }
.nc-lb-dot--3 { left: 25%; top: 26%; background: #92278f; width: 0.35rem; height: 0.35rem; animation-delay: 1s; }
.nc-lb-dot--4 { left: 35%; bottom: 26%; background: #7ac143; animation-delay: 0.7s; }
.nc-lb-dot--5 { left: 12%; top: 48%; background: #00a99d; width: 0.45rem; height: 0.45rem; animation-delay: 1.3s; }
.nc-lb-dot--6 { left: 42%; top: 58%; background: #f39200; width: 0.38rem; height: 0.38rem; animation-delay: 1.6s; }

.nc-lb-star {
  position: absolute;
  font-size: clamp(0.75rem, 1.5vw, 1.2rem);
  line-height: 1;
  animation: nc-lb-twinkle 2.6s ease-in-out infinite;
}
.nc-lb-star--1 { left: 6%; bottom: 32%; color: #f39200; }
.nc-lb-star--2 { left: 21%; bottom: 16%; color: #ffcb05; animation-delay: 0.4s; }
.nc-lb-star--3 { left: 38%; top: 14%; color: #e91e63; font-size: 0.8em; animation-delay: 0.9s; }
.nc-lb-star--4 { left: 13%; top: 40%; color: #7ac143; font-size: 0.9em; animation-delay: 1.2s; }
.nc-lb-star--5 { left: 44%; bottom: 38%; color: #00b5e2; font-size: 0.75em; animation-delay: 1.5s; }

.nc-lb-orbit {
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(0, 181, 226, 0.35);
  pointer-events: none;
  animation: nc-lb-orbit 9s linear infinite;
}
.nc-lb-orbit--1 {
  width: clamp(2.5rem, 5vw, 3.75rem);
  height: clamp(2.5rem, 5vw, 3.75rem);
  left: 18%;
  top: 28%;
  border-color: rgba(233, 30, 99, 0.28);
}
.nc-lb-orbit--2 {
  width: clamp(1.75rem, 3.5vw, 2.6rem);
  height: clamp(1.75rem, 3.5vw, 2.6rem);
  left: 34%;
  bottom: 30%;
  border-color: rgba(122, 193, 67, 0.35);
  animation-duration: 7s;
  animation-direction: reverse;
}

.nc-lb-x {
  position: absolute;
  left: 33%;
  bottom: 20%;
  color: #ffcb05;
  font-weight: 900;
  font-size: clamp(0.85rem, 1.6vw, 1.25rem);
  animation: nc-lb-twinkle 3.2s ease-in-out infinite 0.3s;
}

.nc-lb-rainbow {
  position: absolute;
  left: 3%;
  bottom: 4%;
  width: clamp(5rem, 11vw, 8rem);
  height: clamp(2.6rem, 5.5vw, 4.1rem);
  border-radius: 100% 100% 0 0;
  background:
    radial-gradient(circle at 50% 100%, transparent 50%, #00b5e2 50% 56%, #7ac143 56% 62%, #ffcb05 62% 68%, #f39200 68% 74%, #e91e63 74% 80%, transparent 80%);
  animation: nc-lb-bob 5s ease-in-out infinite;
}

.nc-live-banner__copy {
  position: absolute;
  z-index: 5;
  left: clamp(1rem, 4.5vw, 3.5rem);
  top: 50%;
  transform: translateY(-50%);
  width: min(46%, 32rem);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.1rem;
  max-height: calc(100% - 2rem);
}

.nc-live-banner__title {
  margin: 0 0 0.55rem;
  font-weight: inherit;
  font-size: inherit;
}

.nc-live-banner__kicker,
.nc-live-banner__accept {
  display: block;
  font-family: "Nunito", system-ui, sans-serif;
  font-weight: 900;
  letter-spacing: -0.015em;
}

.nc-live-banner__kicker {
  margin: 0 0 0.4rem;
  font-size: clamp(1.15rem, 2.55vw, 2.2rem);
  line-height: 1.12;
}

.nc-live-banner__accept {
  margin: 0;
  font-size: clamp(1.95rem, 4.2vw, 3.5rem);
  line-height: 0.96;
}

.nc-live-banner__kicker .line,
.nc-live-banner__accept .line {
  display: block;
  opacity: 0;
  transform: translate3d(0, 0.85rem, 0);
  animation: nc-lb-line-in 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.line--1 { animation-delay: 0.08s; }
.line--2 { animation-delay: 0.18s; }
.line--3 { animation-delay: 0.28s; }
.line--4 { animation-delay: 0.4s; }
.line--5 { animation-delay: 0.52s; }

.nc-live-banner .c-navy { color: #002d62; }
.nc-live-banner .c-pink { color: #e91e63; }
.nc-live-banner .c-orange { color: #f39200; }
.nc-live-banner .c-sky { color: #00b5e2; }
.nc-live-banner .c-yellow { color: #ffcb05; text-shadow: 0 1px 0 rgba(243, 146, 0, 0.15); }
.nc-live-banner__kicker .line > span + span,
.nc-live-banner__accept .line > span + span {
  margin-left: 0.28em;
}

.nc-live-banner__offer {
  position: absolute;
  z-index: 8;
  left: clamp(30%, 36vw, 38%);
  bottom: clamp(28%, 34%, 38%);
  margin: 0;
  padding: 0;
  text-decoration: none;
  transform: none;
  animation: nc-lb-offer-pop 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.55s both,
    nc-lb-offer-pulse 2.4s ease-in-out 1.3s infinite;
}

.nc-live-banner__offer:hover,
.nc-live-banner__offer:focus-visible {
  transform: scale(1.06);
  animation-play-state: paused;
  outline: none;
}

.nc-live-banner__offer-badge {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  min-width: clamp(9.5rem, 14vw, 12.5rem);
  padding: 0.7rem 1.15rem 0.75rem;
  font-family: "Nunito", system-ui, sans-serif;
  line-height: 1.05;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.28), transparent 42%),
    linear-gradient(145deg, #e91e63 0%, #f39200 48%, #ffcb05 100%);
  border: 3px solid #fff;
  border-radius: 1.15rem;
  box-shadow:
    0 0 0 3px rgba(233, 30, 99, 0.2),
    0 10px 0 rgba(0, 45, 98, 0.12),
    0 18px 34px rgba(233, 30, 99, 0.28);
}

.nc-live-banner__offer-free {
  display: block;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  text-shadow: 0 2px 0 rgba(0, 45, 98, 0.18);
}

.nc-live-banner__offer-text {
  display: block;
  max-width: 11rem;
  font-size: clamp(0.72rem, 1.15vw, 0.88rem);
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.15;
  color: #14233a;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  padding: 0.28rem 0.65rem;
  margin-top: 0.15rem;
}

@keyframes nc-lb-offer-pop {
  from { opacity: 0; transform: scale(0.7) translateY(12px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes nc-lb-offer-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05) translateY(-4px); }
}

.nc-live-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.65rem;
  min-width: 11rem;
  padding: 0.9rem 1.75rem;
  opacity: 1;
  visibility: visible;
  position: relative;
  z-index: 8;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: 0.02em;
  box-shadow: 0 12px 28px rgba(0, 45, 98, 0.3);
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  animation-name: nc-lb-cta-in, nc-banner-cta-pulse;
  animation-duration: 0.7s, 2.8s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1), ease-in-out;
  animation-delay: 0.7s, 1.55s;
  animation-fill-mode: both, none;
  animation-iteration-count: 1, infinite;
}
.nc-live-banner__cta:hover {
  transform: translateY(-3px);
  background: var(--nc-teal);
  box-shadow: 0 16px 32px rgba(0, 169, 157, 0.32);
  animation-play-state: paused;
}

.nc-live-banner__brush {
  position: absolute;
  z-index: 6;
  left: 40%;
  top: 8%;
  width: clamp(6.25rem, 10.5vw, 8rem);
  max-width: 8rem;
  height: clamp(6.25rem, 10.5vw, 8rem);
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0.65rem 0.55rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: normal;
  overflow: hidden;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(0.95rem, 1.35vw, 1.15rem);
  font-weight: 700;
  line-height: 1.05;
  color: #14233a;
  background:
    radial-gradient(circle at 28% 28%, #b6e8f8 0%, #6ec8ea 48%, #3fb0dc 100%);
  border-radius: 50%;
  transform: rotate(-11deg);
  box-shadow:
    inset 0 -6px 12px rgba(255, 255, 255, 0.25),
    0 8px 0 rgba(20, 130, 170, 0.12);
  animation: nc-lb-wiggle 5.5s ease-in-out infinite;
}
.nc-live-banner__heart {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.75em;
  color: #002d62;
  animation: nc-lb-heart 1.8s ease-in-out infinite;
}

.nc-live-banner__photo {
  position: absolute;
  z-index: 3;
  right: 0;
  top: 0;
  bottom: 0;
  width: 54%;
  overflow: hidden;
}
.nc-live-banner__photo::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 28%;
  z-index: 2;
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.85) 35%, transparent 100%);
  pointer-events: none;
}
.nc-live-banner__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% 30%;
  display: block;
  transform-origin: 55% 30%;
  animation: nc-lb-kenburns 16s ease-in-out infinite alternate;
}

.nc-live-banner__pills {
  position: absolute;
  z-index: 7;
  right: 2%;
  top: 50%;
  transform: translateY(-50%);
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: clamp(0.5rem, 1.2vw, 0.85rem);
}
.nc-lb-pill {
  margin: 0;
  min-width: clamp(6rem, 10.5vw, 8.5rem);
  padding: 0.52rem 1.2rem 0.58rem;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.35rem, 2.3vw, 1.95rem);
  font-weight: 700;
  line-height: 1;
  color: #102a4a;
  text-align: center;
  border-radius: 0.45rem 1.6rem 1.6rem 0.55rem;
  box-shadow: 3px 6px 0 rgba(0, 45, 98, 0.12);
  opacity: 0;
  transform: rotate(-10deg) translate3d(1.25rem, 0.4rem, 0);
  animation-name: nc-lb-pill-in, nc-lb-pill;
  animation-duration: 0.6s, 3.5s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1), ease-in-out;
  animation-fill-mode: forwards, none;
  animation-iteration-count: 1, infinite;
}
.nc-lb-pill--pink { background: linear-gradient(180deg, #ff7aa8, #e91e63); color: #fff; animation-delay: 0.55s, 1.2s; }
.nc-lb-pill--sky { background: linear-gradient(180deg, #7dd8f7, #29b6f6); animation-delay: 0.7s, 1.4s; margin-right: 0.5rem; }
.nc-lb-pill--yellow { background: linear-gradient(180deg, #ffe082, #ffcb05); animation-delay: 0.85s, 1.6s; }
.nc-lb-pill--green { background: linear-gradient(180deg, #aed581, #7ac143); color: #fff; animation-delay: 1s, 1.8s; margin-right: 0.75rem; }

@keyframes nc-lb-sway {
  0%, 100% { transform: rotate(-28deg) translateY(0); }
  50% { transform: rotate(-22deg) translateY(5px); }
}
@keyframes nc-lb-breathe {
  0%, 100% { transform: scale(1); opacity: 0.55; }
  50% { transform: scale(1.1); opacity: 0.78; }
}
@keyframes nc-lb-twinkle {
  0%, 100% { opacity: 1; transform: scale(1) rotate(0deg); }
  50% { opacity: 0.35; transform: scale(0.72) rotate(14deg); }
}
@keyframes nc-lb-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes nc-lb-wiggle {
  0%, 100% { transform: rotate(-11deg); }
  50% { transform: rotate(-6deg) translateY(-6px); }
}
@keyframes nc-lb-kenburns {
  from { transform: scale(1.04) translate3d(0, 0, 0); }
  to { transform: scale(1.12) translate3d(-1.5%, 1%, 0); }
}
@keyframes nc-lb-pill {
  0%, 100% { transform: rotate(-6deg) translateY(0); }
  50% { transform: rotate(-2deg) translateY(-7px); }
}
@keyframes nc-lb-pill-in {
  from { opacity: 0; transform: rotate(-10deg) translate3d(1.5rem, 0.6rem, 0) scale(0.92); }
  to { opacity: 1; transform: rotate(-6deg) translate3d(0, 0, 0) scale(1); }
}
@keyframes nc-lb-line-in {
  from { opacity: 0; transform: translate3d(0, 0.85rem, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes nc-lb-cta-in {
  from { opacity: 0; transform: translate3d(0, 12px, 0) scale(0.96); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes nc-lb-heart {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.18); }
}
@keyframes nc-lb-orbit {
  0% { transform: rotate(0deg) scale(1); opacity: 0.55; }
  50% { transform: rotate(180deg) scale(1.08); opacity: 0.9; }
  100% { transform: rotate(360deg) scale(1); opacity: 0.55; }
}

/* Large desktop */
@media (min-width: 1400px) {
  .nc-live-banner__stage {
    max-height: 40rem;
    min-height: 34rem;
  }
  .nc-live-banner__copy { width: min(40%, 34rem); left: 5.5%; }
  .nc-live-banner__photo { width: 52%; }
  .nc-live-banner__offer { left: 36%; bottom: 34%; }
}

/* Laptop / small desktop ? keep side-by-side, tighten spacing */
@media (max-width: 1280px) and (min-width: 981px) {
  .nc-live-banner__stage {
    aspect-ratio: 2.1 / 1;
    min-height: 26rem;
    max-height: 32rem;
  }
  .nc-live-banner__copy {
    left: 3%;
    width: min(44%, 26rem);
  }
  .nc-live-banner__kicker { font-size: clamp(1.05rem, 2.1vw, 1.75rem); }
  .nc-live-banner__accept { font-size: clamp(1.7rem, 3.4vw, 2.75rem); }
  .nc-live-banner__brush {
    left: 38%;
    top: 7%;
    width: clamp(5.75rem, 9vw, 7.25rem);
    max-width: 7.25rem;
    height: clamp(5.75rem, 9vw, 7.25rem);
    font-size: clamp(0.9rem, 1.2vw, 1.05rem);
    padding: 0.55rem 0.45rem;
  }
  .nc-live-banner__photo { width: 52%; }
  .nc-live-banner__pills { right: 1.25%; }
  .nc-live-banner__offer { left: 33%; bottom: 32%; }
  .nc-lb-pill {
    min-width: clamp(5.2rem, 8.5vw, 7rem);
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  }
}

/* Tablet landscape / small laptop */
@media (max-width: 980px) {
  .nc-live-banner__stage {
    aspect-ratio: auto;
    max-height: none;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
    grid-template-areas:
      "copy photo"
      "offer photo"
      "brush photo"
      "pills pills";
    gap: 0.85rem 1rem;
    padding: clamp(1rem, 2.5vw, 1.5rem) clamp(0.85rem, 2vw, 1.25rem);
    align-items: center;
  }
  .nc-live-banner__art { opacity: 0.7; }
  .nc-lb-wash--photo { display: none; }
  .nc-lb-rainbow { left: 2%; bottom: 2%; width: 4.5rem; height: 2.3rem; }
  .nc-live-banner__copy,
  .nc-live-banner__offer,
  .nc-live-banner__brush,
  .nc-live-banner__photo,
  .nc-live-banner__pills {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    transform: none;
    width: auto;
    max-width: 100%;
  }
  .nc-live-banner__copy { grid-area: copy; }
  .nc-live-banner__offer {
    grid-area: offer;
    justify-self: start;
    transform: none;
    animation: nc-lb-offer-pulse 2.4s ease-in-out infinite;
  }
  .nc-live-banner__kicker { font-size: clamp(1.05rem, 2.8vw, 1.55rem); }
  .nc-live-banner__accept { font-size: clamp(1.65rem, 4.5vw, 2.45rem); }
  .nc-live-banner__brush {
    grid-area: brush;
    justify-self: start;
    width: 7rem;
    max-width: 7rem;
    height: 7rem;
    font-size: 1rem;
    padding: 0.55rem 0.45rem;
  }
  .nc-live-banner__photo {
    grid-area: photo;
    width: 100%;
    min-height: clamp(14rem, 42vw, 20rem);
    height: 100%;
    border-radius: 1.75rem 0.65rem 1.75rem 2.5rem;
    box-shadow: 0 14px 32px rgba(0, 45, 98, 0.14);
  }
  .nc-live-banner__photo::before { display: none; }
  .nc-live-banner__photo img {
    animation: none;
    object-position: 50% 12%;
  }
  .nc-live-banner__pills {
    grid-area: pills;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.55rem;
  }
  .nc-lb-pill {
    margin-right: 0 !important;
    min-width: 5.5rem;
    font-size: 1.25rem;
    transform: rotate(-3deg);
  }
}

/* Tablet portrait */
@media (max-width: 820px) {
  .nc-live-banner__stage {
    grid-template-columns: 1fr;
    grid-template-areas:
      "photo"
      "copy"
      "offer"
      "brush"
      "pills";
    text-align: center;
    gap: 0.75rem;
  }
  .nc-live-banner__copy {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .nc-live-banner__offer {
    justify-self: center;
  }
  .nc-live-banner__photo { min-height: 15rem; }
  .nc-live-banner__cta {
    min-width: 0;
    padding: 0.75rem 1.25rem;
    font-size: 0.95rem;
  }
}

/* Phones / large phones */
@media (max-width: 700px) {
  .nc-live-banner__stage {
    grid-template-columns: 1fr;
    grid-template-areas:
      "photo"
      "copy"
      "offer"
      "brush"
      "pills";
    text-align: center;
    padding: 0.75rem 0.75rem 1.15rem;
    gap: 0.65rem;
  }
  .nc-live-banner__copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
  .nc-live-banner__title {
    width: 100%;
    margin-bottom: 0.35rem;
  }
  .nc-live-banner__brush {
    justify-self: center;
    width: 6.75rem;
    max-width: 6.75rem;
    height: 6.75rem;
    font-size: 0.95rem;
    padding: 0.5rem 0.4rem;
    margin: 0.15rem 0;
  }
  .nc-live-banner__photo {
    min-height: clamp(14rem, 62vw, 19rem);
    border-radius: 1.15rem;
    aspect-ratio: 16 / 11;
    height: auto;
  }
  .nc-live-banner__kicker { font-size: clamp(1.1rem, 5vw, 1.4rem); }
  .nc-live-banner__accept { font-size: clamp(1.75rem, 8.5vw, 2.45rem); }
  .nc-live-banner__cta {
    display: inline-flex;
    width: min(100%, 16rem);
    margin-top: 0.85rem;
    justify-content: center;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .nc-lb-pill {
    min-width: 4.85rem;
    padding: 0.42rem 0.9rem;
    font-size: 1.15rem;
  }
  .nc-lb-wave { opacity: 0.45; }
  .nc-lb-rainbow { opacity: 0.5; width: 3.8rem; height: 2rem; }
}

/* Small phones */
@media (max-width: 400px) {
  .nc-live-banner__stage { padding: 0.85rem 0.7rem 1.15rem; gap: 0.7rem; }
  .nc-live-banner__photo { min-height: 12rem; }
  .nc-live-banner__accept { font-size: 1.55rem; }
  .nc-live-banner__brush {
    width: 6.25rem;
    max-width: 6.25rem;
    height: 6.25rem;
    font-size: 0.9rem;
    padding: 0.45rem 0.35rem;
  }
  .nc-lb-pill {
    min-width: 4.35rem;
    font-size: 1.05rem;
  }
  .nc-lb-star,
  .nc-lb-dot,
  .nc-lb-x { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .nc-lb-wave, .nc-lb-wash, .nc-lb-dot, .nc-lb-star, .nc-lb-x, .nc-lb-rainbow,
  .nc-lb-orbit,
  .nc-live-banner__brush, .nc-live-banner__photo img, .nc-lb-pill,
  .nc-live-banner__cta, .nc-live-banner__kicker .line,
  .nc-live-banner__accept .line, .nc-live-banner__offer,
  .nc-live-banner__heart,
  .nc-home-banner__edge {
    animation: none !important;
  }
  .nc-live-banner__kicker .line,
  .nc-live-banner__accept .line,
  .nc-live-banner__offer,
  .nc-live-banner__cta,
  .nc-lb-pill {
    opacity: 1 !important;
    visibility: visible !important;
  }
  .nc-live-banner__offer {
    transform: none !important;
  }
}

/* ========== Home Banner ========== */
.nc-home-banner {
  position: relative;
  padding: 0;
  background:
    radial-gradient(ellipse at 15% 0%, rgba(0, 181, 226, 0.12), transparent 45%),
    radial-gradient(ellipse at 85% 0%, rgba(233, 30, 99, 0.08), transparent 40%),
    linear-gradient(180deg, #fff 0%, var(--nc-page-wash) 100%);
  overflow: hidden;
}

.nc-home-banner__frame {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  animation: nc-banner-in 0.75s ease both;
}

.nc-home-banner__img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: middle;
  transform: scale(1.02);
  animation: nc-banner-kenburns 18s ease-in-out infinite alternate;
}

.nc-home-banner__shade {
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 45, 98, 0.18) 100%);
  pointer-events: none;
  z-index: 1;
}

.nc-home-banner__cta {
  position: absolute;
  left: clamp(1.25rem, 16vw, 250px);
  bottom: clamp(1.25rem, 9vw, 5.25rem);
  z-index: 3;
  min-width: 10.5rem;
  padding: 0.9rem 1.75rem;
  font-size: 1.02rem;
  box-shadow: 0 12px 28px rgba(0, 45, 98, 0.32);
  animation: nc-banner-cta-in 0.7s ease 0.25s both, nc-banner-cta-pulse 2.8s ease-in-out 1.2s infinite;
}

.nc-home-banner__cta:hover {
  transform: translateY(-3px) scale(1.03);
  background: var(--nc-teal);
  animation-play-state: paused;
}

.nc-home-banner__edge {
  display: block;
  height: 6px;
  width: 100%;
  background: linear-gradient(
    90deg,
    var(--nc-pink),
    var(--nc-yellow),
    var(--nc-green),
    var(--nc-sky),
    var(--nc-teal),
    var(--nc-purple)
  );
  background-size: 200% 100%;
  animation: nc-banner-edge 8s linear infinite;
}

.nc-home-banner + .nc-hero {
  padding-top: 2.25rem;
}

@keyframes nc-banner-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nc-banner-kenburns {
  from { transform: scale(1.02) translateY(0); }
  to { transform: scale(1.06) translateY(-1.2%); }
}

@keyframes nc-banner-cta-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nc-banner-cta-pulse {
  0%, 100% { box-shadow: 0 12px 28px rgba(0, 45, 98, 0.28); }
  50% { box-shadow: 0 14px 34px rgba(0, 169, 157, 0.38); }
}

@keyframes nc-banner-edge {
  to { background-position: 200% 0; }
}

@media (max-width: 1200px) {
  .nc-home-banner__cta {
    left: clamp(1rem, 6vw, 3.5rem);
    bottom: clamp(1rem, 5vw, 3.25rem);
  }
}

@media (max-width: 768px) {
  .nc-home-banner__img {
    width: 100%;
    height: clamp(16rem, 72vw, 26rem);
    object-fit: cover;
    object-position: center 42%;
    animation: none;
    transform: none;
  }

  .nc-home-banner__cta {
    left: 50%;
    bottom: clamp(0.85rem, 4.5vw, 1.4rem);
    transform: translateX(-50%);
    min-width: 9.5rem;
    padding: 0.75rem 1.4rem;
    font-size: 0.95rem;
  }

  .nc-home-banner__cta:hover {
    transform: translateX(-50%) translateY(-3px) scale(1.03);
  }
}

@media (max-width: 480px) {
  .nc-home-banner__img {
    height: clamp(14.5rem, 88vw, 20rem);
    object-position: center 38%;
  }

  .nc-home-banner__cta {
    min-width: 0;
    width: min(100% - 2rem, 16rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nc-home-banner__frame,
  .nc-home-banner__img,
  .nc-home-banner__cta,
  .nc-home-banner__edge {
    animation: none !important;
  }

  .nc-home-banner__img {
    transform: none;
  }
}

.nc-hero--cta {
  padding: 2.5rem 0 3rem;
}

.nc-hero__grid--cta {
  grid-template-columns: 1fr;
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

.nc-hero__grid--cta .nc-hero__lead {
  margin-inline: auto;
}

.nc-hero__grid--cta .nc-hero__actions,
.nc-hero__grid--cta .nc-tags {
  justify-content: center;
}

.nc-hero__grid--cta .nc-hero__banner {
  margin-inline: auto;
}

/* ========== Hero ========== */
.nc-hero {
  position: relative;
  overflow: visible;
  padding: 3.5rem 0 4rem;
  background:
    radial-gradient(circle at 12% 20%, rgba(0, 181, 226, 0.14), transparent 42%),
    radial-gradient(circle at 88% 10%, rgba(233, 30, 99, 0.10), transparent 38%),
    radial-gradient(circle at 70% 90%, rgba(122, 193, 67, 0.12), transparent 40%),
    linear-gradient(180deg, #fff 0%, var(--nc-page-wash) 100%);
}

.nc-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.95fr);
  gap: 2.5rem;
  align-items: center;
}

.nc-hero__content {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  align-self: center;
}

.nc-hero__content > *:not(.nc-hero__actions):not(.nc-tags) {
  width: 100%;
}

.nc-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.85rem;
  margin: 0 0 1.35rem;
  width: auto;
  max-width: 100%;
}

.nc-hero__title {
  font-size: clamp(2.2rem, 4.5vw, 3.4rem);
  margin: 0 0 0.5rem;
  text-align: left;
  line-height: 1.15;
  text-wrap: unset;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.08em;
}

.nc-page-hero__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.08em;
  line-height: 1.15;
}

.nc-hero__title-line {
  display: block !important;
  width: auto;
  max-width: 100%;
  white-space: normal;
}

@media (max-width: 700px) {
  .nc-hero__title {
    align-items: center;
    font-size: clamp(1.55rem, 6.5vw, 2.1rem);
  }

  .nc-hero__title-line {
    white-space: normal;
  }
}

.nc-hero__title .accent-pink { color: var(--nc-pink); }
.nc-hero__title .accent-sky { color: var(--nc-sky); }

.nc-hero__content .nc-script {
  margin: 0 0 0.85rem;
  text-align: left;
}

.nc-hero__banner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1.1rem;
  padding: 0.7rem 1.35rem;
  border-radius: var(--nc-radius-pill);
  background: linear-gradient(90deg, var(--nc-sky), var(--nc-blue));
  color: #fff;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: clamp(0.95rem, 1.6vw, 1.15rem);
  box-shadow: 0 10px 28px rgba(0, 181, 226, 0.28);
  max-width: 100%;
  width: fit-content;
  box-sizing: border-box;
  text-align: center;
  line-height: 1.35;
}

.nc-hero__lead {
  font-size: 1.1rem;
  color: var(--nc-gray);
  max-width: 34rem;
  margin: 0 0 0.65rem;
  text-align: left;
  line-height: 1.65;
}

.nc-hero__location {
  margin: 0 0 1.35rem;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--nc-teal);
  text-align: left;
}

.nc-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
}

.nc-eyebrow {
  text-align: left;
}

.nc-hero__visual {
  position: relative;
  overflow: visible;
  padding: 1rem 1.1rem 1.25rem;
  width: 100%;
  max-width: 560px;
  margin-inline: auto;
  justify-self: end;
}

.nc-hero__card {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  background: linear-gradient(145deg, var(--nc-soft-sky), #fff 55%, var(--nc-soft-pink));
  box-shadow: var(--nc-shadow);
  min-height: 460px;
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1.5rem;
  animation: nc-hero-card-in 0.85s ease both, nc-hero-card-float 5.5s ease-in-out 0.85s infinite;
  transform-origin: center center;
}

.nc-hero__card:hover {
  animation-play-state: paused;
  transform: translateY(-6px);
  box-shadow: 0 30px 64px rgba(0, 45, 98, 0.16);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@keyframes nc-hero-card-in {
  from {
    opacity: 0;
    transform: translateY(28px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes nc-hero-card-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.nc-hero__photo-frame {
  width: 100%;
  height: 100%;
  min-height: 420px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255, 203, 5, 0.35), transparent 40%),
    radial-gradient(circle at 80% 20%, rgba(0, 181, 226, 0.35), transparent 35%),
    linear-gradient(160deg, #B3E5FC 0%, #E1F5FE 40%, #FFF8E1 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  padding: 1.15rem 1.15rem 2.25rem;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.nc-hero__photo-frame::before {
  content: "";
  position: absolute;
  inset: auto -10% -20% auto;
  width: 180px;
  height: 180px;
  background: var(--nc-pink);
  opacity: 0.12;
  border-radius: 40% 60% 55% 45%;
}

.nc-hero__photo-icon {
  width: auto;
  height: auto;
  max-width: 220px;
  max-height: 160px;
  object-fit: contain;
  margin-bottom: 1rem;
  transform-origin: center center;
  animation: nc-img-sway 8s ease-in-out infinite;
  will-change: transform;
  filter: drop-shadow(0 12px 24px rgba(0, 45, 98, 0.12));
}

.nc-hero__session-img {
  width: 100%;
  max-height: 240px;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  border-radius: 18px;
  margin-bottom: 1rem;
  box-shadow: 0 10px 24px rgba(0, 45, 98, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.85);
}

@keyframes nc-img-sway {
  0%,
  100% {
    transform: rotate(-3deg) translateY(0);
  }
  50% {
    transform: rotate(3deg) translateY(-6px);
  }
}

@keyframes nc-img-float {
  0%,
  100% {
    transform: translateY(0) scale(1);
  }
  50% {
    transform: translateY(-8px) scale(1.02);
  }
}

@keyframes nc-img-drift {
  0%,
  100% {
    transform: rotate(-2deg) translateX(0);
  }
  50% {
    transform: rotate(2deg) translateX(4px);
  }
}

/* Soft motion only on intentional hero visuals (not every image) */
.nc-about__visual > div img,
.nc-about__visual .nc-hero__photo-icon {
  filter: drop-shadow(0 10px 22px rgba(0, 45, 98, 0.1));
}

.nc-header .nc-logo__mark,
.nc-boot__logo,
.nc-footer .nc-logo__mark {
  animation: none !important;
}

.nc-hero__photo-frame h3,
.nc-hero__card-title {
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  margin: 0 0 0.35rem;
  position: relative;
  z-index: 1;
  line-height: 1.3;
  text-wrap: balance;
  max-width: 16em;
  margin-inline: auto;
  animation: nc-hero-text-in 0.7s ease 0.25s both;
}

.nc-hero__photo-frame p,
.nc-hero__card-sub {
  color: var(--nc-gray);
  margin: 0;
  position: relative;
  z-index: 1;
}

.nc-hero__card-copy {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 20rem;
  margin-inline: auto;
  text-align: center;
}

.nc-hero__card-sub {
  font-family: var(--nc-font-display);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--nc-teal);
  margin-bottom: 0.55rem;
  animation: nc-hero-text-in 0.7s ease 0.4s both;
}

.nc-hero__photo-frame > .nc-script,
.nc-hero__card-script {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 0.15em 0.4em;
  max-width: 100%;
  margin: 0.35rem auto 0;
  font-size: clamp(1.15rem, 1.8vw, 1.4rem);
  animation: nc-hero-text-in 0.7s ease 0.55s both;
}

.nc-hero__card-script span:last-child {
  animation: nc-hero-heartbeat 1.8s ease-in-out 0.9s infinite;
  display: inline-block;
}

.nc-tags--hero {
  margin-top: 1.15rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.nc-tags--hero .nc-pill {
  animation: nc-pill-pop 0.55s ease both, nc-pill-sway 5.5s ease-in-out 0.7s infinite;
}

.nc-tags--hero .nc-pill:nth-child(1) { animation-delay: 0.15s, 0.7s; }
.nc-tags--hero .nc-pill:nth-child(2) { animation-delay: 0.28s, 1.1s; }
.nc-tags--hero .nc-pill:nth-child(3) { animation-delay: 0.41s, 1.5s; }
.nc-tags--hero .nc-pill:nth-child(4) { animation-delay: 0.54s, 1.9s; }

.nc-float-tag {
  position: absolute;
  z-index: 5;
  animation: nc-float-bob 3.6s ease-in-out infinite, nc-pill-pop 0.6s ease both;
  box-shadow: 0 10px 22px rgba(0, 45, 98, 0.16);
}

.nc-float-tag--1 { top: 8%; left: -4%; animation-delay: 0s, 0.2s; }
.nc-float-tag--2 { top: 18%; right: -2%; animation-delay: 0.5s, 0.35s; }
.nc-float-tag--3 { bottom: 16%; left: -0.75rem; animation-delay: 1s, 0.5s; }
.nc-float-tag--4 { bottom: 12%; right: -0.75rem; animation-delay: 1.5s, 0.65s; }

.nc-hero__visual {
  position: relative;
}

.nc-hero__session-img {
  animation: nc-hero-img-in 0.8s ease both;
}

@keyframes nc-hero-text-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nc-hero-img-in {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes nc-pill-pop {
  from { opacity: 0; transform: scale(0.7) translateY(8px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

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

@keyframes nc-hero-heartbeat {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  .nc-hero__card-title,
  .nc-hero__card-sub,
  .nc-hero__card-script,
  .nc-tags--hero .nc-pill,
  .nc-float-tag,
  .nc-hero__session-img,
  .nc-hero__card-script span:last-child {
    animation: none !important;
  }
}

.nc-hero__card-script span {
  white-space: nowrap;
}

/* float-tag motion defined above with nc-float-bob + nc-pill-pop */

/* ========== Value strip ========== */
.nc-strip {
  background: var(--nc-navy);
  color: #fff;
  padding: 1.35rem 0;
}

.nc-strip__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  text-align: center;
  align-items: center;
  justify-items: center;
}

.nc-strip__dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  flex-shrink: 0;
}

.nc-strip__dot--pink { background: var(--nc-pink); }
.nc-strip__dot--sky { background: var(--nc-sky); }
.nc-strip__dot--green { background: var(--nc-green); }
.nc-strip__dot--yellow { background: var(--nc-yellow); }

/* ========== Flyer icons (shared) ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â soft pastel circles + colored Phosphor fills ========== */
.nc-icon {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  color: var(--nc-navy);
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.08);
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.nc-icon svg {
  width: 42px;
  height: 42px;
  fill: currentColor;
}

.nc-icon--pink { background: #FCE4EC; color: #E91E63; }
.nc-icon--sky { background: var(--nc-soft-sky); color: var(--nc-sky); }
.nc-icon--green { background: var(--nc-soft-green); color: var(--nc-green); }
.nc-icon--purple { background: var(--nc-icon-purple-bg); color: var(--nc-purple); }
.nc-icon--yellow { background: var(--nc-soft-yellow); color: var(--nc-orange); }
.nc-icon--coral { background: var(--nc-soft-pink); color: var(--nc-pink); }
.nc-icon--blue { background: var(--nc-soft-sky); color: var(--nc-blue); }
.nc-icon--navy { background: #E8EEF6; color: #002D62; }

.nc-service-icon:hover .nc-icon,
.nc-value:hover .nc-icon,
.nc-card:hover .nc-icon {
  transform: translateY(-5px) scale(1.04);
}

.nc-strip__icon {
  display: inline-flex;
  width: 1.35rem;
  height: 1.35rem;
  flex-shrink: 0;
  color: #fff;
}

.nc-strip__icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.nc-strip__item {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-items: center;
  justify-items: start;
  column-gap: 0.7rem;
  width: 100%;
  max-width: 100%;
  padding: 0.35rem 0.5rem;
  font-family: var(--nc-font-display);
  font-weight: 700;
  font-size: 1rem;
  text-align: left;
  line-height: 1.35;
  box-sizing: border-box;
}

.nc-strip__item > .nc-strip__icon,
.nc-strip__item > .nc-strip__dot {
  justify-self: center;
}

@media (max-width: 900px) {
  .nc-cards.nc-cards--services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nc-cards.nc-cards--services > .nc-card:nth-child(2n) {
    border-right: none;
  }

  .nc-cards.nc-cards--services > .nc-card:nth-child(-n+2) {
    border-bottom: 1px solid rgba(0, 45, 98, 0.1);
  }
}

@media (max-width: 560px) {
  .nc-cards.nc-cards--services {
    grid-template-columns: 1fr;
  }

  .nc-cards.nc-cards--services > .nc-card {
    border-right: none;
    border-bottom: 1px solid rgba(0, 45, 98, 0.1);
  }

  .nc-cards.nc-cards--services > .nc-card:last-child {
    border-bottom: none;
  }
}

.nc-services-icons {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
  justify-items: stretch;
}

.nc-service-icon {
  text-align: center;
  padding: 1rem 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  box-sizing: border-box;
}

.nc-service-icon .nc-icon {
  margin: 0 auto 1rem;
}

.nc-service-icon__circle {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  color: var(--nc-navy);
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.08);
  transition: transform 0.25s ease;
  flex-shrink: 0;
}

.nc-service-icon:hover .nc-service-icon__circle {
  animation-play-state: paused;
  transform: translateY(-6px) scale(1.04);
}

.nc-service-icon__circle svg {
  width: 44px;
  height: 44px;
  fill: currentColor;
}

.nc-service-icon__circle--pink { background: #FCE4EC; color: #E91E63; }
.nc-service-icon__circle--sky { background: var(--nc-soft-sky); color: var(--nc-sky); }
.nc-service-icon__circle--green { background: var(--nc-soft-green); color: var(--nc-green); }
.nc-service-icon__circle--purple { background: var(--nc-icon-purple-bg); color: var(--nc-purple); }
.nc-service-icon__circle--yellow { background: #FFF3CD; color: #E6A800; }

.nc-service-icon h3 {
  font-size: 1.05rem;
  margin: 0 0 0.35rem;
  text-align: center;
  min-height: 2.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.25;
}

.nc-service-icon p {
  font-size: 0.9rem;
  color: var(--nc-gray);
  margin: 0;
  text-align: center;
  max-width: 16rem;
  line-height: 1.45;
  flex: 1;
  min-height: 2.9em;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

/* ========== Service cards ========== */
.nc-section-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 2.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.nc-section-head h2 {
  font-size: clamp(1.9rem, 3.5vw, 2.6rem);
  text-align: center;
  margin: 0 0 0.5rem;
}

.nc-section-head p {
  text-align: center;
  text-align-last: center;
  margin: 0;
}

.nc-section-head .nc-script {
  text-align: center;
  margin: 0;
}

.nc-section-head .nc-bar {
  display: inline-block;
  margin: 0 0 0.85rem;
  padding: 0.45rem 1.4rem;
  border-radius: var(--nc-radius-pill);
  background: var(--nc-teal);
  color: #fff;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.95rem;
  text-align: center;
}

.nc-script--teal {
  color: var(--nc-teal);
}

.nc-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 1.35rem;
  row-gap: 0;
  align-items: stretch;
  justify-content: center;
  justify-items: stretch;
}

.nc-cards:not(.nc-cards--services) > .nc-card {
  grid-row: span 4;
  display: grid;
  grid-template-rows: subgrid;
  row-gap: 0;
  height: auto;
  margin-bottom: 1.35rem;
}

/* Home services cards ? equal height, aligned ?Learn more? */
.nc-cards.nc-cards--services {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  column-gap: 0;
  row-gap: 0;
  background: #fff;
  border-radius: var(--nc-radius);
  box-shadow: var(--nc-shadow);
  overflow: hidden;
  border: 1px solid rgba(0, 45, 98, 0.06);
  align-items: stretch;
}

.nc-cards.nc-cards--services > .nc-card {
  grid-row: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  box-shadow: none;
  border: none;
  border-radius: 0;
  border-right: 1px solid rgba(0, 45, 98, 0.1);
  background: transparent;
  text-align: center;
  padding: 1.75rem 1.15rem 1.5rem;
  height: 100%;
  margin-bottom: 0;
  min-height: 100%;
}

.nc-cards.nc-cards--services > .nc-card:last-child {
  border-right: none;
}

.nc-cards.nc-cards--services .nc-card h3 {
  text-align: center;
  min-height: 2.6em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.nc-cards.nc-cards--services .nc-card p {
  text-align: center !important;
  text-align-last: center !important;
  flex: 1 1 auto;
  min-height: 0;
  margin-bottom: 0;
}

.nc-cards.nc-cards--services .nc-card__link {
  margin-top: auto;
  padding-top: 1rem;
  align-self: center;
  width: auto;
}

.nc-services-icons {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
  justify-items: stretch;
}

.nc-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  align-items: stretch;
  justify-items: stretch;
}

.nc-value {
  text-align: center;
  padding: 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  box-sizing: border-box;
}

.nc-value .nc-icon {
  margin: 0 auto 1rem;
}

.nc-value h3 {
  font-size: 1.15rem;
  margin: 0 0 0.35rem;
  text-align: center;
  min-height: 1.4em;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nc-value p {
  color: var(--nc-gray);
  font-size: 0.92rem;
  margin: 0;
  text-align: center;
  line-height: 1.45;
  flex: 1;
}

.nc-enroll {
  text-align: center;
  padding: 3.5rem 1.5rem;
  border-radius: 36px;
  background:
    radial-gradient(circle at 15% 50%, rgba(0, 181, 226, 0.18), transparent 40%),
    radial-gradient(circle at 85% 40%, rgba(233, 30, 99, 0.12), transparent 40%),
    linear-gradient(180deg, #F0FAFF, #fff);
  border: 1px solid rgba(0, 169, 157, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.nc-enroll h2,
.nc-enroll p,
.nc-enroll .nc-script,
.nc-enroll .nc-eyebrow {
  text-align: center;
}

.nc-page-hero {
  text-align: center;
}

.nc-page-hero h1,
.nc-page-hero p {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.nc-card {
  background: #fff;
  border-radius: var(--nc-radius);
  padding: 1.75rem 1.4rem 1.5rem;
  box-shadow: var(--nc-shadow);
  border: 1px solid rgba(0, 45, 98, 0.05);
  position: relative;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  align-items: start;
  justify-items: center;
  text-align: center;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
}

.nc-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 48px rgba(0, 45, 98, 0.14);
}

.nc-card:hover .nc-card__icon,
.nc-value:hover .nc-value__circle,
.nc-logo:hover .nc-logo__mark,
.nc-hero__card:hover,
.nc-hero__card:hover img,
.nc-about__visual:hover img {
  animation-play-state: paused;
}

.nc-card__icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1rem;
  color: #fff;
  flex-shrink: 0;
}

.nc-card__icon svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}

.nc-card__icon--blue { background: var(--nc-sky); }
.nc-card__icon--green { background: var(--nc-green); }
.nc-card__icon--yellow { background: var(--nc-yellow); color: var(--nc-navy); }
.nc-card__icon--purple { background: var(--nc-purple); }
.nc-card__icon--pink { background: var(--nc-pink); }

.nc-card h3 {
  font-size: 1.2rem;
  margin: 0 0 0.75rem;
  text-align: center;
  width: 100%;
  min-height: 2.7em;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  line-height: 1.35;
  align-self: stretch;
}

.nc-card p {
  color: var(--nc-gray);
  font-size: 0.95rem;
  margin: 0;
  text-align: center;
  text-align-last: center;
  width: 100%;
  line-height: 1.55;
  align-self: stretch;
  min-height: 4.65em;
}

.nc-card__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
  padding-top: 0.15rem;
  font-family: var(--nc-font-display);
  font-weight: 800;
  color: var(--nc-teal);
  text-align: center;
  align-self: end;
  justify-self: center;
  width: 100%;
}

/* ========== About / CTA band ========== */
.nc-about {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}

.nc-about__content {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.nc-about__content .nc-eyebrow,
.nc-about__content h2,
.nc-about__content .nc-script,
.nc-about__content p {
  text-align: left;
}

.nc-about__content h2,
.nc-about__content .nc-script,
.nc-about__content p {
  width: 100%;
}

.nc-about__content .nc-btn {
  margin-top: 0.35rem;
  align-self: flex-start;
}

.nc-checklist {
  list-style: none;
  margin: 1.25rem 0 1.75rem;
  padding: 0;
  text-align: left;
}

.nc-checklist li {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  font-weight: 600;
  text-align: left;
}

.nc-about__visual {
  border-radius: 32px;
  min-height: 360px;
  background:
    linear-gradient(135deg, rgba(0, 169, 157, 0.15), rgba(0, 181, 226, 0.2)),
    radial-gradient(circle at 70% 30%, rgba(255, 203, 5, 0.35), transparent 45%),
    #E8F7FA;
  display: grid;
  place-items: center;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  cursor: pointer;
}

.nc-about__visual:hover {
  animation-play-state: paused;
  transform: translateY(-12px);
  box-shadow: 0 22px 48px rgba(0, 45, 98, 0.16);
}

.nc-about__visual .nc-pill {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.nc-about__visual .nc-pill:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.18);
}

.nc-about__blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}

.nc-about__blob--1 {
  width: 140px; height: 140px;
  background: rgba(233, 30, 99, 0.18);
  top: 10%; left: 8%;
}

.nc-about__blob--2 {
  width: 100px; height: 100px;
  background: rgba(122, 193, 67, 0.25);
  bottom: 12%; right: 10%;
}

.nc-about__content .nc-script {
  margin-bottom: 1rem;
}

.nc-checklist {
  list-style: none;
  margin: 1.25rem 0 1.75rem;
  padding: 0;
}

.nc-checklist li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  font-weight: 600;
  animation: nc-check-row-in 0.55s ease both;
}

.nc-checklist li:nth-child(1) { animation-delay: 0.05s; }
.nc-checklist li:nth-child(2) { animation-delay: 0.15s; }
.nc-checklist li:nth-child(3) { animation-delay: 0.25s; }
.nc-checklist li:nth-child(4) { animation-delay: 0.35s; }

.nc-check {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 0.85rem;
  flex-shrink: 0;
  font-weight: 800;
  animation: nc-check-pop 2.8s ease-in-out infinite;
  transform-origin: center center;
}

.nc-checklist li:nth-child(2) .nc-check { animation-delay: 0.35s; }
.nc-checklist li:nth-child(3) .nc-check { animation-delay: 0.7s; }
.nc-checklist li:nth-child(4) .nc-check { animation-delay: 1.05s; }

.nc-check--green { background: var(--nc-green); }
.nc-check--sky { background: var(--nc-sky); }
.nc-check--pink { background: var(--nc-pink); }
.nc-check--orange { background: var(--nc-orange); }
.nc-check--purple { background: var(--nc-purple); }

@keyframes nc-check-row-in {
  from {
    opacity: 0;
    transform: translateX(-12px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes nc-check-pop {
  0%, 100% { transform: scale(1) rotate(0deg); }
  40% { transform: scale(1.08) rotate(-6deg); }
  70% { transform: scale(1.05) rotate(5deg); }
}

/* ========== Values ========== */
.nc-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.nc-value {
  text-align: center;
  padding: 1.5rem 1rem;
}

.nc-value__circle {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  margin: 0 auto 1rem;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 1.75rem;
}

.nc-value__circle--coral { background: var(--nc-coral); }
.nc-value__circle--sky { background: var(--nc-sky); }
.nc-value__circle--green { background: var(--nc-green); }
.nc-value__circle--purple { background: var(--nc-purple); }

.nc-value h3 {
  font-size: 1.15rem;
  margin-bottom: 0.35rem;
}

.nc-value p {
  color: var(--nc-gray);
  font-size: 0.92rem;
  margin: 0;
}

/* ========== Behavior functions ========== */
.nc-functions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.15rem;
}

.nc-function {
  border-radius: var(--nc-radius);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--nc-shadow);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.nc-function__head {
  padding: 1rem 1.1rem;
  color: #fff;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 1.05rem;
  text-align: center;
}

.nc-function__head--yellow { background: #FDB913; color: var(--nc-navy); }
.nc-function__head--green { background: var(--nc-green); }
.nc-function__head--sky { background: #00AEEF; }
.nc-function__head--purple { background: #92278F; }

.nc-function__body {
  padding: 1.25rem 1.15rem 1.4rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.nc-function__quote {
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 1.15rem;
  margin-bottom: 0.5rem;
}

.nc-function__quote--yellow { color: #C49000; }
.nc-function__quote--green { color: #2E7D32; }
.nc-function__quote--sky { color: #0077A8; }
.nc-function__quote--purple { color: var(--nc-purple-deep); }

.nc-function__body > p {
  color: var(--nc-gray);
  font-size: 0.92rem;
  flex: 1;
}

.nc-function__example {
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  font-size: 0.88rem;
}

.nc-function__example--yellow { background: var(--nc-soft-yellow); }
.nc-function__example--green { background: var(--nc-soft-green); }
.nc-function__example--sky { background: var(--nc-soft-sky); }
.nc-function__example--purple { background: var(--nc-soft-purple); }

.nc-function__example strong {
  display: block;
  margin-bottom: 0.25rem;
  font-family: var(--nc-font-display);
}

/* ========== Function of Behavior (flyer page) ========== */
.nc-fob {
  padding: 2.25rem 0 3rem;
  background:
    radial-gradient(circle at 8% 8%, rgba(0, 181, 226, 0.08), transparent 32%),
    radial-gradient(circle at 92% 12%, rgba(233, 30, 99, 0.06), transparent 30%),
    linear-gradient(180deg, #fff 0%, #F7FBFF 40%, #fff 100%);
}

.nc-fob__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.nc-fob__intro {
  text-align: center;
  width: 100%;
  max-width: 920px;
  margin: 0 auto 2rem;
  animation: nc-fob-in 0.65s ease both;
}

.nc-fob__title {
  margin: 0 0 0.55rem;
  font-family: var(--nc-font-display);
  font-weight: 900;
  font-size: clamp(2rem, 4.2vw, 2.9rem);
  color: var(--nc-navy);
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.nc-fob__tagline {
  margin: 0 0 1.15rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  font-family: var(--nc-font-display);
  font-weight: 700;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  color: var(--nc-sky);
}

.nc-fob__dash {
  display: inline-block;
  width: 2.25rem;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--nc-pink), var(--nc-yellow), var(--nc-green), var(--nc-sky));
}

.nc-fob__callout {
  width: 100%;
  margin: 0 auto;
  padding: 1rem 1.35rem;
  border-radius: 18px;
  background: linear-gradient(90deg, #FCE4EC, #F8BBD9 40%, #FCE4EC);
  color: var(--nc-navy);
  font-size: clamp(0.98rem, 1.5vw, 1.1rem);
  line-height: 1.55;
  box-shadow: 0 8px 22px rgba(233, 30, 99, 0.12);
  text-align: center;
}

.nc-fob__callout strong {
  font-weight: 800;
  color: var(--nc-pink);
}

.nc-fob__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.15rem;
  align-items: stretch;
  width: 100%;
  margin: 0 0 2.25rem;
}

.nc-fob-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--nc-shadow);
  border: 1px solid rgba(0, 45, 98, 0.05);
  animation: nc-fob-card-in 0.7s ease both;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.nc-fob-card:nth-child(2) { animation-delay: 0.08s; }
.nc-fob-card:nth-child(3) { animation-delay: 0.16s; }
.nc-fob-card:nth-child(4) { animation-delay: 0.24s; }

.nc-fob-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--nc-shadow-lg);
}

.nc-fob-card__head {
  padding: 0.9rem 0.75rem;
  text-align: center;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: clamp(0.95rem, 1.2vw, 1.05rem);
  line-height: 1.25;
  color: #fff;
  min-height: 3.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nc-fob-card--yellow .nc-fob-card__head { background: #FDB913; color: var(--nc-navy); }
.nc-fob-card--green .nc-fob-card__head { background: var(--nc-green); }
.nc-fob-card--sky .nc-fob-card__head { background: #00AEEF; }
.nc-fob-card--purple .nc-fob-card__head { background: #92278F; }

.nc-fob-card__body {
  padding: 1.1rem 1rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  flex: 1;
  text-align: center;
  align-items: stretch;
  min-height: 0;
}

.nc-fob-card__quote {
  margin: 0;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 1.12rem;
  line-height: 1.25;
  min-height: 1.5em;
  flex-shrink: 0;
}

.nc-fob-card--yellow .nc-fob-card__quote { color: #C49000; }
.nc-fob-card--green .nc-fob-card__quote { color: #2E7D32; }
.nc-fob-card--sky .nc-fob-card__quote { color: #0077A8; }
.nc-fob-card--purple .nc-fob-card__quote { color: var(--nc-purple-deep); }

.nc-fob-card__desc {
  margin: 0;
  color: var(--nc-gray);
  font-size: 0.9rem;
  line-height: 1.5;
  flex-shrink: 0;
}

.nc-fob-card__art {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 16px;
  margin: 0.15rem 0;
  background: #fff;
  position: relative;
  z-index: 0;
}

.nc-fob-card__art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
  border-radius: 14px;
  transition: transform 0.35s ease;
}

.nc-fob-card:hover .nc-fob-card__art img {
  transform: scale(1.03);
}

.nc-fob-illu {
  width: 130px;
  height: 115px;
}

.nc-fob-illu__rays { transform-origin: 80px 58px; animation: nc-fob-pulse 2.2s ease-in-out infinite; }
.nc-fob-illu__arm { transform-origin: 52px 92px; animation: nc-fob-wave 1.8s ease-in-out infinite; }
.nc-fob-illu__arm--r { transform-origin: 108px 92px; animation-delay: 0.2s; }
.nc-fob-illu__hands { animation: nc-fob-shake 1.4s ease-in-out infinite; transform-origin: 80px 52px; }
.nc-fob-illu__reach { transform-origin: 88px 88px; animation: nc-fob-reach 2s ease-in-out infinite; }
.nc-fob-illu__car { animation: nc-fob-bounce 1.8s ease-in-out infinite; }
.nc-fob-illu__waves { animation: nc-fob-pulse 2.4s ease-in-out infinite; }

.nc-fob-card__example {
  margin: 0.25rem 0 0;
  padding: 0.75rem 0.85rem;
  border-radius: 14px;
  font-size: 0.86rem;
  line-height: 1.4;
  text-align: left;
  color: var(--nc-navy);
  min-height: 4.25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.nc-fob-card--yellow .nc-fob-card__example { background: var(--nc-soft-yellow); }
.nc-fob-card--green .nc-fob-card__example { background: var(--nc-soft-green); }
.nc-fob-card--sky .nc-fob-card__example { background: var(--nc-soft-sky); }
.nc-fob-card--purple .nc-fob-card__example { background: var(--nc-soft-purple); }

.nc-fob-card__example strong {
  font-family: var(--nc-font-display);
  font-weight: 800;
}

.nc-fob__why {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.75rem;
  align-items: center;
  width: 100%;
  margin: 0 0 2.25rem;
  animation: nc-fob-in 0.7s ease 0.2s both;
}

.nc-fob__why-title {
  margin: 0 0 1rem;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-family: var(--nc-font-display);
  font-weight: 900;
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  color: var(--nc-navy);
}

.nc-fob__bulb {
  display: inline-flex;
  flex-shrink: 0;
  animation: nc-fob-pulse 2.5s ease-in-out infinite;
}

.nc-fob__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

.nc-fob__checks li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  font-size: 1.02rem;
  color: var(--nc-navy);
  font-weight: 600;
  line-height: 1.4;
}

.nc-fob__checks span {
  flex-shrink: 0;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 800;
  margin-top: 0.1rem;
}

.nc-fob__checks .is-green { background: var(--nc-green); }
.nc-fob__checks .is-sky { background: var(--nc-sky); }
.nc-fob__checks .is-pink { background: var(--nc-pink); }
.nc-fob__checks .is-orange { background: var(--nc-orange); }

.nc-fob__puzzle {
  position: relative;
  min-height: 220px;
  height: 100%;
  border-radius: 28px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1.5rem;
  background: linear-gradient(135deg, #7AC143, #00A99D 35%, #00B5E2 65%, #E91E63);
  box-shadow: var(--nc-shadow-lg);
}

.nc-fob__puzzle-piece {
  position: absolute;
  width: 70px;
  height: 70px;
  border-radius: 18px;
  opacity: 0.28;
  background: #fff;
}

.nc-fob__puzzle-piece--1 { top: 12%; left: 10%; animation: nc-fob-float 4s ease-in-out infinite; }
.nc-fob__puzzle-piece--2 { top: 18%; right: 12%; animation: nc-fob-float 4.5s ease-in-out 0.4s infinite; }
.nc-fob__puzzle-piece--3 { bottom: 16%; left: 16%; animation: nc-fob-float 3.8s ease-in-out 0.8s infinite; }
.nc-fob__puzzle-piece--4 { bottom: 12%; right: 14%; animation: nc-fob-float 4.2s ease-in-out 1.1s infinite; }

.nc-fob__puzzle-text {
  position: relative;
  z-index: 1;
  margin: 0;
  text-align: center;
  color: #fff;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  line-height: 1.35;
  text-shadow: 0 2px 10px rgba(0, 45, 98, 0.2);
  max-width: 16em;
}

.nc-fob__puzzle-text span {
  color: #fff;
  animation: nc-fob-heartbeat 1.6s ease-in-out infinite;
}

.nc-fob__guides {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.15rem;
  align-items: stretch;
  width: 100%;
  margin: 0 0 1.75rem;
}

.nc-fob-guide {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  animation: nc-fob-in 0.65s ease both;
}

.nc-fob-guide:nth-child(2) { animation-delay: 0.08s; }
.nc-fob-guide:nth-child(3) { animation-delay: 0.16s; }
.nc-fob-guide:nth-child(4) { animation-delay: 0.24s; }

.nc-fob-guide__icon {
  width: 68px;
  height: 68px;
  margin: 0 auto 0.75rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.08);
  animation: nc-fob-float 3.6s ease-in-out infinite;
}

.nc-fob-guide:nth-child(2) .nc-fob-guide__icon { animation-delay: 0.4s; }
.nc-fob-guide:nth-child(3) .nc-fob-guide__icon { animation-delay: 0.8s; }
.nc-fob-guide:nth-child(4) .nc-fob-guide__icon { animation-delay: 1.2s; }

/* Flyer style: soft pastel circle, coloured icon (not white on solid) */
.nc-fob-guide__icon--coral { background: #FCE4EC; color: #E91E63; }
.nc-fob-guide__icon--sky { background: var(--nc-soft-sky); color: #1E9CD7; }
.nc-fob-guide__icon--green { background: var(--nc-soft-green); color: var(--nc-green); }
.nc-fob-guide__icon--purple { background: var(--nc-icon-purple-bg); color: var(--nc-purple); }

.nc-fob-guide__icon svg {
  width: 34px;
  height: 34px;
  fill: currentColor;
  display: block;
}

.nc-fob__bulb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  margin-right: 0.45rem;
  vertical-align: middle;
  color: #F39200;
}

.nc-fob__bulb svg {
  width: 2.4rem;
  height: 2.4rem;
  fill: currentColor;
}

.nc-fob-guide p {
  margin: 0;
  font-size: 0.95rem;
  color: var(--nc-gray);
  line-height: 1.45;
  max-width: 16em;
}

.nc-fob-guide strong {
  display: block;
  color: var(--nc-navy);
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 1.05rem;
  margin-bottom: 0.2rem;
}

.nc-fob__footer-script {
  margin: 0;
  text-align: center;
  font-family: var(--nc-font-script);
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 600;
  color: var(--nc-blue);
  animation: nc-fob-in 0.7s ease 0.3s both;
}

@keyframes nc-fob-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nc-fob-card-in {
  from { opacity: 0; transform: translateY(18px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes nc-fob-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

@keyframes nc-fob-heartbeat {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.14); }
}

@keyframes nc-fob-pulse {
  0%, 100% { opacity: 0.85; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}

@keyframes nc-fob-wave {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-12deg); }
}

@keyframes nc-fob-shake {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@keyframes nc-fob-reach {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-6deg); }
}

@keyframes nc-fob-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@media (max-width: 1100px) {
  .nc-fob__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .nc-fob__why {
    grid-template-columns: 1fr;
  }

  .nc-fob__guides {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nc-fob-card__body {
    gap: 0.55rem;
  }
}

@media (max-width: 560px) {
  .nc-fob__grid,
  .nc-fob__guides {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nc-fob__intro,
  .nc-fob-card,
  .nc-fob__why,
  .nc-fob-guide,
  .nc-fob__footer-script,
  .nc-fob__bulb,
  .nc-fob__puzzle-piece,
  .nc-fob-guide__icon,
  .nc-fob-illu__rays,
  .nc-fob-illu__arm,
  .nc-fob-illu__hands,
  .nc-fob-illu__reach,
  .nc-fob-illu__car,
  .nc-fob-illu__waves,
  .nc-fob__puzzle-text span {
    animation: none !important;
  }
}

/* ========== Location / enroll CTA ========== */
.nc-enroll {
  text-align: center;
  padding: 3.5rem 1.5rem;
  border-radius: 36px;
  background:
    radial-gradient(circle at 15% 50%, rgba(0, 181, 226, 0.18), transparent 40%),
    radial-gradient(circle at 85% 40%, rgba(233, 30, 99, 0.12), transparent 40%),
    linear-gradient(180deg, #F0FAFF, #fff);
  border: 1px solid rgba(0, 169, 157, 0.15);
}

.nc-enroll .nc-script {
  margin-bottom: 0.75rem;
}

.nc-location-brush {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 1rem 0 1.5rem;
  padding: 0.65rem 1.5rem;
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(0, 181, 226, 0.22), rgba(0, 169, 157, 0.18));
  font-family: var(--nc-font-script);
  font-size: 1.45rem;
  color: var(--nc-navy);
  font-weight: 600;
}

/* ========== Page hero ========== */
.nc-page-hero {
  padding: 3rem 0 2.5rem;
  background:
    linear-gradient(180deg, #F0FAFF 0%, #fff 100%);
  border-bottom: 1px solid var(--nc-gray-light);
  text-align: center;
}

.nc-page-hero h1 {
  font-size: clamp(2rem, 4vw, 2.8rem);
  margin-bottom: 0.5rem;
}

.nc-page-hero p {
  max-width: 640px;
  margin: 0 auto;
  color: var(--nc-gray);
}

.nc-page-hero .nc-bar {
  display: inline-block;
  margin: 0 0 0.85rem;
}

.nc-page-hero__location {
  margin: 0.85rem auto 0;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.95rem;
  color: var(--nc-teal);
}

.nc-enroll__meta {
  max-width: 560px;
  margin: 0 auto 1.5rem;
  color: var(--nc-gray);
}

.nc-enroll__lead {
  max-width: 42rem;
  margin: 0.35rem auto 1.35rem;
  color: var(--nc-gray);
  font-size: 1.05rem;
  line-height: 1.55;
}

.nc-enroll__highlights {
  list-style: none;
  margin: 0 auto 1.75rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  width: 100%;
  max-width: 720px;
}

.nc-enroll__highlight {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
  margin: 0;
  padding: 1rem 0.85rem;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 8px 20px rgba(0, 45, 98, 0.06);
  text-align: center;
}

.nc-enroll__highlight .nc-icon,
.nc-enroll__highlight-icon {
  width: 48px;
  height: 48px;
  margin: 0;
  flex-shrink: 0;
}

.nc-enroll__highlight-text {
  display: block;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.35;
  color: var(--nc-navy);
  letter-spacing: -0.01em;
}

.nc-enroll__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.25rem;
}

@media (max-width: 700px) {
  .nc-enroll__highlights {
    grid-template-columns: 1fr;
    max-width: 22rem;
    gap: 0.7rem;
  }

  .nc-enroll__highlight {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    padding: 0.85rem 1rem;
    gap: 0.75rem;
  }

  .nc-enroll__highlight-text {
    text-align: left;
  }
}

/* ========== Contact ========== */
.nc-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: stretch;
}

.nc-info-card {
  background: #fff;
  border-radius: var(--nc-radius);
  padding: 1.75rem;
  box-shadow: var(--nc-shadow);
  margin-bottom: 1rem;
}

.nc-info-card h3 {
  font-size: 1.15rem;
  margin-bottom: 0.4rem;
}

.nc-info-card p {
  margin: 0;
  color: var(--nc-gray);
}

.nc-form {
  background: #fff;
  border-radius: var(--nc-radius);
  padding: 2rem;
  box-shadow: var(--nc-shadow);
  border: 1px solid rgba(0, 45, 98, 0.05);
}

.nc-form__head {
  margin-bottom: 1.35rem;
}

.nc-form__title {
  font-size: 1.45rem;
  margin: 0 0 0.25rem;
  letter-spacing: -0.02em;
}

.nc-form__subtitle {
  margin: 0 0 0.85rem;
  color: var(--nc-gray);
  font-size: 0.95rem;
}

.nc-form__progress {
  height: 6px;
  border-radius: 999px;
  background: rgba(0, 45, 98, 0.08);
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.nc-form__progress-bar {
  display: block;
  height: 100%;
  width: 0;
  max-width: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--nc-teal), var(--nc-sky), var(--nc-green));
  transition: width 0.35s ease;
}

.nc-form__progress-bar[data-complete="1"] {
  box-shadow: 0 0 12px rgba(122, 193, 67, 0.45);
}

.nc-form label {
  display: block;
  font-family: var(--nc-font-display);
  font-weight: 700;
  margin-bottom: 0.4rem;
  font-size: 0.95rem;
}

.nc-req {
  color: var(--nc-pink);
  font-weight: 800;
}

.nc-opt {
  color: var(--nc-gray);
  font-weight: 600;
  font-size: 0.85rem;
}

.nc-form > input,
.nc-form > textarea,
.nc-form > select {
  width: 100%;
  margin-bottom: 1rem;
  padding: 0.85rem 1rem;
  border: 2px solid var(--nc-gray-light);
  border-radius: 14px;
  font: inherit;
  color: var(--nc-navy);
  background: #fff;
  transition: border-color 0.2s ease;
}

.nc-form > input:focus,
.nc-form > textarea:focus,
.nc-form > select:focus {
  outline: none;
  border-color: var(--nc-teal);
}

.nc-form > textarea {
  min-height: 140px;
  resize: vertical;
}

.nc-field__control input:focus,
.nc-field__control textarea:focus {
  outline: none;
  border-color: var(--nc-teal);
  box-shadow: 0 0 0 4px rgba(0, 169, 157, 0.14);
}

.nc-alert {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1.1rem 1.2rem;
  border-radius: var(--nc-radius);
  margin-bottom: 1.15rem;
  border: 2px solid transparent;
  box-shadow: var(--nc-shadow);
}

.nc-alert--pop {
  animation: nc-alert-pop 0.45s ease;
}

.nc-alert--inline[hidden] {
  display: none !important;
}

.nc-alert--inline:not([hidden]) {
  animation: nc-alert-pop 0.35s ease;
}

@keyframes nc-alert-pop {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.nc-alert__icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  box-shadow: 0 6px 14px rgba(0, 45, 98, 0.12);
}

.nc-alert__body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.nc-alert__body strong {
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1.3;
}

.nc-alert__body span {
  color: var(--nc-gray);
  font-size: 0.95rem;
  line-height: 1.45;
}

.nc-alert--success {
  background: linear-gradient(135deg, #F1FAF2, #E9F7EB);
  border-color: var(--nc-green);
  color: var(--nc-navy);
}

.nc-alert--success .nc-alert__icon {
  background: var(--nc-green);
}

.nc-alert--error {
  background: linear-gradient(135deg, #FFF5F8, #FCE4EC);
  border-color: var(--nc-pink);
  color: var(--nc-navy);
}

.nc-alert--error .nc-alert__icon {
  background: var(--nc-pink);
}

.nc-field {
  margin-bottom: 1.15rem;
}

.nc-field label {
  display: block;
  font-family: var(--nc-font-display);
  font-weight: 700;
  margin-bottom: 0.4rem;
  font-size: 0.95rem;
}

.nc-field__control {
  position: relative;
}

.nc-field__control input,
.nc-field__control textarea {
  width: 100%;
  margin-bottom: 0;
  padding: 0.9rem 2.85rem 0.9rem 1.05rem;
  border: 2px solid rgba(0, 45, 98, 0.1);
  border-radius: 16px;
  font: inherit;
  color: var(--nc-navy);
  background: #FBFDFE;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}

.nc-field__control input::placeholder,
.nc-field__control textarea::placeholder {
  color: rgba(0, 45, 98, 0.35);
}

.nc-field__control--textarea textarea {
  min-height: 140px;
  resize: vertical;
  padding-right: 2.85rem;
}

.nc-field__status {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  width: 1.4rem;
  height: 1.4rem;
  margin-top: -0.7rem;
  border-radius: 50%;
  display: none;
  place-items: center;
  color: #fff;
  line-height: 0;
  pointer-events: none;
  box-shadow: 0 3px 8px rgba(0, 45, 98, 0.12);
  animation: nc-status-pop 0.28s ease;
}

.nc-field__control--textarea .nc-field__status {
  top: 0.85rem;
  margin-top: 0;
}

.nc-field__status::before {
  content: "";
  display: block;
  width: 0.72rem;
  height: 0.72rem;
  background: currentColor;
  -webkit-mask: no-repeat center / contain;
  mask: no-repeat center / contain;
}

@keyframes nc-status-pop {
  from {
    transform: scale(0.6);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.nc-field.is-valid .nc-field__status,
.nc-field.is-invalid .nc-field__status {
  display: grid;
}

.nc-field.is-valid .nc-field__status {
  background: linear-gradient(145deg, #7ac143, #5fa832);
}

.nc-field.is-valid .nc-field__status::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.4 11.7 2.9 8.2l1.2-1.2 2.3 2.3 5.5-5.5 1.2 1.2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M6.4 11.7 2.9 8.2l1.2-1.2 2.3 2.3 5.5-5.5 1.2 1.2z'/%3E%3C/svg%3E");
}

.nc-field.is-valid input,
.nc-field.is-valid textarea,
.nc-field.is-valid select {
  border-color: rgba(122, 193, 67, 0.7);
  background: #F7FCF8;
  box-shadow: 0 0 0 3px rgba(122, 193, 67, 0.14);
  padding-right: 2.75rem;
}

.nc-field.is-valid select,
.nc-field.is-invalid select {
  background-position: right 2.55rem center;
}

.nc-field.is-invalid .nc-field__status {
  background: linear-gradient(145deg, #f0437a, #e11d60);
}

.nc-field.is-invalid .nc-field__status::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M4.1 3 3 4.1 6.9 8 3 11.9 4.1 13 8 9.1 11.9 13 13 11.9 9.1 8 13 4.1 11.9 3 8 6.9z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M4.1 3 3 4.1 6.9 8 3 11.9 4.1 13 8 9.1 11.9 13 13 11.9 9.1 8 13 4.1 11.9 3 8 6.9z'/%3E%3C/svg%3E");
}

.nc-field.is-invalid input,
.nc-field.is-invalid textarea,
.nc-field.is-invalid select {
  border-color: rgba(233, 30, 99, 0.55);
  background: #FFF8FA;
  box-shadow: 0 0 0 3px rgba(233, 30, 99, 0.1);
  padding-right: 2.75rem;
}

.nc-field.is-shake {
  animation: nc-field-shake 0.4s ease;
}

@keyframes nc-field-shake {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-4px); }
  80% { transform: translateX(4px); }
}

.nc-field__hint {
  margin: 0.4rem 0 0;
  color: rgba(0, 45, 98, 0.5);
  font-size: 0.82rem;
  line-height: 1.35;
}

.nc-field__hint[hidden] {
  display: none !important;
}

.nc-field__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.4rem;
}

.nc-field__meta .nc-field__hint {
  margin: 0;
}

.nc-field__count {
  font-size: 0.78rem;
  font-weight: 700;
  color: rgba(0, 45, 98, 0.45);
  white-space: nowrap;
}

.nc-field__count.is-warn {
  color: var(--nc-pink);
}

.nc-field__error {
  margin: 0.5rem 0 0;
  display: inline-flex;
  align-items: flex-start;
  gap: 0.45rem;
  max-width: 100%;
  padding: 0.5rem 0.8rem 0.5rem 0.55rem;
  border-radius: 12px;
  background: #FFF1F5;
  border: 1px solid rgba(233, 30, 99, 0.14);
  color: #8E1748;
  font-size: 0.86rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.4;
  animation: nc-error-in 0.25s ease;
}

.nc-field__error[hidden] {
  display: none !important;
}

.nc-field__error-icon {
  display: inline-grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.05rem;
  border-radius: 50%;
  background: linear-gradient(145deg, #f0437a, #e11d60);
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(225, 29, 96, 0.25);
}

.nc-field__error-icon::before {
  content: "";
  display: block;
  width: 0.58rem;
  height: 0.58rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M4.1 3 3 4.1 6.9 8 3 11.9 4.1 13 8 9.1 11.9 13 13 11.9 9.1 8 13 4.1 11.9 3 8 6.9z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M4.1 3 3 4.1 6.9 8 3 11.9 4.1 13 8 9.1 11.9 13 13 11.9 9.1 8 13 4.1 11.9 3 8 6.9z'/%3E%3C/svg%3E") no-repeat center / contain;
}

@keyframes nc-error-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.nc-form__submit {
  width: auto;
  margin-top: 0.5rem;
  padding: 0.7rem 1.45rem;
  font-size: 0.92rem;
  min-height: 0;
}

.nc-form__submit.is-loading {
  pointer-events: none;
  opacity: 0.85;
}

.nc-form__submit.is-loading .nc-form__submit-label {
  opacity: 0.85;
}

.nc-form__submit.is-loading .nc-form__submit-label::after {
  content: "\2026";
}

.nc-form > .nc-field + .nc-btn,
.nc-form .nc-btn {
  margin-top: 0.5rem;
  width: auto;
}

/* ========== Footer ========== */
.nc-footer {
  margin-top: 2rem;
  background: var(--nc-navy);
  color: rgba(255, 255, 255, 0.88);
  position: relative;
  padding: 4.5rem 0 1.5rem;
}

.nc-footer::before {
  content: none;
}

.nc-footer__wave {
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  width: 100%;
  height: 72px;
  display: block;
  transform: translateY(-100%);
  overflow: visible;
}

.nc-footer__wave-path {
  fill: var(--nc-navy);
}

.nc-footer__wave-path--1 {
  fill: url(#none);
  fill: #00A99D;
  opacity: 0.85;
  animation: nc-wave-shift 8s ease-in-out infinite alternate;
}

.nc-footer__wave-path--2 {
  fill: var(--nc-navy);
  opacity: 0.95;
  animation: nc-wave-shift 10s ease-in-out infinite alternate-reverse;
}

@keyframes nc-wave-shift {
  from { transform: translateX(0); }
  to { transform: translateX(-40px); }
}

.nc-footer__blurb {
  margin-top: 1rem;
  opacity: 0.8;
}

.nc-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: 2rem;
  margin-bottom: 2.5rem;
  align-items: start;
}

.nc-footer__grid > * {
  min-width: 0;
}

.nc-footer h4 {
  color: #fff;
  font-size: 1.05rem;
  margin: 0 0 1rem;
  line-height: 1.3;
}

.nc-footer a {
  color: rgba(255, 255, 255, 0.85);
}

.nc-footer a:hover {
  color: var(--nc-yellow);
}

.nc-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.nc-footer li {
  margin-bottom: 0.55rem;
}

.nc-footer__brand .nc-logo__brand span:first-child { color: #fff; }
.nc-footer__brand .nc-logo__brand span:last-child { color: var(--nc-sky); }
.nc-footer__brand .nc-logo__sub { color: rgba(255,255,255,0.75); }

.nc-footer__tagline {
  font-family: var(--nc-font-script);
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  color: var(--nc-soft-blue);
  margin-top: 0.75rem;
  white-space: normal;
  display: block;
  max-width: 100%;
  line-height: 1.35;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.nc-footer__brand {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.nc-footer__blurb {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.nc-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.75rem;
  font-size: 0.9rem;
}

.nc-footer__offerings {
  color: rgba(255, 255, 255, 0.7);
}

/* ========== Content pages ========== */
.nc-content {
  padding: 3rem 0 4rem;
}

.nc-content .entry-content {
  max-width: 760px;
  margin: 0 auto;
}

.nc-content .entry-content h2 {
  margin-top: 1.75rem;
}

/* ========== Responsive ========== */

/* Large laptop */
@media (max-width: 1280px) {
  .nc-logo__tagline { display: none; }
}

@media (max-width: 1200px) {
  .nc-nav > ul > li > a {
    padding: 0.58rem 0.85rem;
    font-size: 0.9rem;
  }

  .nc-cards {
    column-gap: 1.1rem;
  }

  .nc-cards > .nc-card {
    margin-bottom: 1.1rem;
  }
}

@media (max-width: 1100px) {
  .nc-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: #fff;
  }

  .nc-header__inner {
    gap: 0.65rem;
    align-items: center;
    min-height: 70px;
  }

  .nc-nav-toggle {
    display: inline-flex;
    order: 3;
    align-self: center;
  }

  .nc-header__cta {
    display: none;
  }

  .nc-logo {
    order: 1;
    flex: 1 1 auto !important;
    max-width: calc(100% - 56px) !important;
    align-items: center;
    gap: 0.55rem !important;
  }

  .nc-logo__mark {
    height: 48px !important;
    max-width: 78px !important;
    animation: none;
  }

  .nc-logo__brand {
    font-size: 1.02rem !important;
  }

  .nc-logo__sub {
    display: block !important;
    font-size: 0.54rem !important;
  }

  .nc-logo__tagline {
    display: none !important;
  }

  .nc-nav {
    order: 2;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1050;
    width: 100%;
    height: 100%;
    height: 100dvh;
    background: #fff;
    padding: 6.75rem 1.5rem 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.5rem;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.28s ease, opacity 0.28s ease, visibility 0.28s ease;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .nc-nav.is-open {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nc-nav ul {
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
  }

  .nc-nav a {
    padding: 0.9rem 1rem;
    font-size: 1.05rem;
    border-radius: 14px;
    text-align: center;
    color: var(--nc-navy);
    background: rgba(240, 250, 255, 0.7);
    box-shadow: none;
    transform: none;
  }

  .nc-nav a::after {
    display: none;
  }

  .nc-nav a:hover,
  .nc-nav .current-menu-item > a,
  .nc-nav .current_page_item > a {
    color: var(--nc-teal);
    background: var(--nc-soft-sky);
    box-shadow: none;
    transform: none;
  }

  .nc-nav .current-menu-item > a,
  .nc-nav .current_page_item > a {
    color: #fff;
    background: var(--nc-cta-grad);
    box-shadow: 0 8px 18px rgba(0, 45, 98, 0.18);
  }

  .nc-nav__mobile-cta {
    display: flex;
    width: 100%;
    max-width: 360px;
    margin: 1.5rem auto 0;
    justify-content: center;
    padding-top: 0.5rem;
  }

  .nc-nav__mobile-cta .nc-btn,
  .nc-nav__mobile-cta .nc-btn--primary,
  .nc-nav a.nc-btn,
  .nc-nav a.nc-btn--primary {
    width: auto;
    max-width: none;
    min-width: 180px;
    padding: 0.75rem 1.5rem;
    font-size: 0.95rem;
    color: #fff !important;
    background: var(--nc-navy) !important;
    border: none;
    box-shadow: 0 8px 20px rgba(0, 45, 98, 0.22);
    animation: none;
  }

  .nc-nav__mobile-cta .nc-btn:hover,
  .nc-nav__mobile-cta .nc-btn--primary:hover,
  .nc-nav a.nc-btn--primary:hover {
    color: #fff !important;
    background: var(--nc-teal) !important;
    transform: translateY(-2px);
  }
}

@media (min-width: 1101px) {
  .nc-nav__mobile-cta {
    display: none;
  }
}

/* Tablet */
@media (max-width: 992px) {
  .nc-container {
    width: min(100% - 2rem, var(--nc-container));
  }

  .nc-section {
    padding: 3.5rem 0;
  }

  .nc-home-banner {
    padding: 0;
  }

  .nc-home-banner__img {
    border-radius: 0;
  }

  .nc-hero--cta {
    padding: 1.75rem 0 2.25rem;
  }

  .nc-promo__grid,
  .nc-slide__grid,
  .nc-hero__grid,
  .nc-about,
  .nc-contact-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .nc-promo__content,
  .nc-slide__content {
    text-align: center;
  }

  .nc-promo__brand,
  .nc-slide__brand {
    flex-direction: column;
    justify-content: center;
  }

  .nc-promo__brand-text,
  .nc-slide__brand-text {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .nc-promo__tagline,
  .nc-slide__tagline {
    justify-content: center;
  }

  .nc-promo__actions,
  .nc-slide__actions {
    justify-content: center;
  }

  .nc-promo__visual,
  .nc-slide__visual {
    max-width: 420px;
    margin-inline: auto;
    width: 100%;
  }

  .nc-promo__photo-wrap,
  .nc-slide__photo-wrap {
    max-height: 440px;
  }

  .nc-slider__viewport {
    min-height: 0;
  }

  .nc-slide__logo {
    height: 64px;
    max-width: 100px;
  }

  .nc-logo__tagline {
    max-width: none;
    font-size: 0.68rem;
    white-space: nowrap;
  }

  .nc-hero__visual {
    max-width: 520px;
    margin-inline: auto;
    width: 100%;
  }

  .nc-hero__content {
    text-align: center;
    align-items: center;
  }

  .nc-hero__content .nc-eyebrow,
  .nc-hero__title,
  .nc-hero__content .nc-script,
  .nc-hero__lead {
    text-align: center;
  }

  .nc-hero__lead {
    margin-inline: auto;
  }

  .nc-hero__banner {
    margin-inline: auto;
  }

  .nc-hero__actions,
  .nc-tags {
    justify-content: center;
  }

  .nc-strip__item {
    justify-content: center;
    text-align: center;
    padding-inline: 0.25rem;
  }

  .nc-strip__grid {
    justify-items: center;
  }

  .nc-about__content {
    text-align: center;
    align-items: center;
  }

  .nc-about__content .nc-eyebrow {
    width: auto;
    align-self: center;
    justify-content: center;
    text-align: center;
    margin-inline: auto;
  }

  .nc-about__content h2,
  .nc-about__content .nc-script,
  .nc-about__content p {
    text-align: center;
  }

  .nc-about__content .nc-btn {
    align-self: center;
    margin-inline: auto;
  }

  .nc-enroll {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .nc-enroll h2,
  .nc-enroll p,
  .nc-enroll .nc-script {
    text-align: center;
  }

  .nc-value {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .nc-value h3,
  .nc-value p {
    text-align: center;
  }

  .nc-hero__banner {
    max-width: 100%;
    text-align: center;
    white-space: normal;
    line-height: 1.35;
  }

  .nc-cards,
  .nc-cards--2,
  .nc-functions,
  .nc-values {
    grid-template-columns: repeat(2, 1fr);
  }

  .nc-cards > .nc-card,
  .nc-cards--2 > .nc-card {
    grid-row: span 4;
    margin-bottom: 1.25rem;
  }

  .nc-services-icons {
    grid-template-columns: repeat(3, 1fr);
  }

  .nc-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
  }

  .nc-strip__grid {
    grid-template-columns: 1fr;
    gap: 0.85rem;
    justify-items: center;
  }

  .nc-strip__item {
    width: min(100%, 20.5rem);
    margin-inline: auto;
    justify-content: unset;
    text-align: left;
    padding-inline: 0.5rem;
  }

  .nc-about__visual {
    min-height: 280px;
  }

  .nc-float-tag--1,
  .nc-float-tag--3 {
    left: 0;
  }
}

/* Mobile */
@media (max-width: 768px) {
  body {
    font-size: 1rem;
  }

  .nc-container {
    width: min(100% - 1.5rem, var(--nc-container));
  }

  .nc-section {
    padding: 2.75rem 0;
  }

  .nc-page-hero {
    padding: 2.25rem 0 1.75rem;
  }

  .nc-header__inner {
    min-height: 82px;
    padding: 0.75rem 0;
  }

  .nc-logo__mark {
    height: 56px;
    max-width: 92px;
  }

  .nc-logo__brand {
    font-size: 1.15rem;
  }

  .nc-logo__sub {
    font-size: 0.62rem;
    letter-spacing: 0.12em;
  }

  .nc-logo__tagline {
    display: none;
  }

  .nc-tagline,
  .nc-script.nc-tagline {
    white-space: normal;
    font-size: clamp(0.85rem, 3.2vw, 1.15rem);
  }

  .nc-footer__tagline {
    white-space: normal;
    font-size: clamp(0.95rem, 3.2vw, 1.2rem);
  }

  .nc-promo {
    padding: 1.75rem 0 2.25rem;
  }

  .nc-slider {
    padding: 1.75rem 0 1.5rem;
  }

  .nc-promo__logo {
    height: 64px;
    max-width: 100px;
  }

  .nc-promo__title,
  .nc-slide__title {
    font-size: clamp(1.85rem, 8vw, 2.5rem);
  }

  .nc-promo__side-tags,
  .nc-slide__side-tags {
    right: 3%;
    top: 8%;
  }

  .nc-promo__side-tags li,
  .nc-slide__side-tags li {
    font-size: 1rem;
    padding: 0.3rem 0.75rem;
  }

  .nc-promo__actions .nc-btn,
  .nc-slide__actions .nc-btn {
    width: 100%;
    max-width: 320px;
  }

  .nc-promo__actions,
  .nc-slide__actions {
    flex-direction: column;
    align-items: center;
  }

  .nc-hero__title {
    font-size: clamp(1.85rem, 8vw, 2.4rem);
  }

  .nc-hero__card,
  .nc-hero__photo-frame {
    min-height: 260px;
  }

  .nc-hero__photo-frame {
    padding: 1.35rem;
  }

  .nc-hero__photo-icon {
    max-width: 160px;
    max-height: 120px;
  }

  .nc-hero__photo-frame h3 {
    font-size: 1.2rem;
  }

  .nc-float-tag {
    display: flex;
    font-size: 0.78rem;
    padding: 0.35rem 0.7rem;
  }

  .nc-float-tag--1 { top: 2%; left: 0; }
  .nc-float-tag--2 { top: 2%; right: 0; }
  .nc-float-tag--3 { bottom: 14%; left: 0; }
  .nc-float-tag--4 { bottom: 10%; right: 0; }

  .nc-hero__photo-frame {
    padding-bottom: 3.75rem;
  }

  .nc-hero__photo-frame > .nc-script {
    max-width: 78%;
    font-size: 1.1rem !important;
  }

  .nc-hero__visual {
    padding-inline: 0.5rem;
  }

  .nc-cards,
  .nc-cards--2,
  .nc-functions {
    grid-template-columns: 1fr;
    column-gap: 1rem;
  }

  .nc-cards > .nc-card,
  .nc-cards--2 > .nc-card {
    grid-row: span 4;
    margin-bottom: 1rem;
  }

  .nc-values {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }

  .nc-services-icons {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }

  .nc-services-icons .nc-service-icon:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: 220px;
    margin-inline: auto;
  }

  .nc-service-icon__circle {
    width: 76px;
    height: 76px;
  }

  .nc-service-icon__circle svg {
    width: 34px;
    height: 34px;
  }

  .nc-footer__grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    text-align: center;
  }

  .nc-footer__brand .nc-logo {
    justify-content: center;
  }

  .nc-footer__bottom {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .nc-enroll {
    padding: 2.25rem 1.15rem;
    border-radius: 24px;
  }

  .nc-location-brush {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    font-size: 1.2rem;
    padding: 0.6rem 1rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .nc-hero__actions {
    flex-direction: column;
    align-items: center;
  }

  .nc-hero__actions .nc-btn {
    width: 100%;
    max-width: 320px;
  }

  .nc-form {
    padding: 1.35rem;
  }

  .nc-form .nc-btn,
  .nc-form__submit {
    width: auto;
  }

  .nc-card {
    padding: 1.35rem 1.15rem;
  }

  .nc-section-head {
    margin-bottom: 2rem;
  }

  .nc-content {
    padding: 2rem 0 3rem;
  }
}

/* Small phones */
@media (max-width: 480px) {
  .nc-container {
    width: min(100% - 1.25rem, var(--nc-container));
  }

  .nc-section {
    padding: 2.25rem 0;
  }

  .nc-tags .nc-pill {
    font-size: 0.82rem;
    padding: 0.45rem 0.85rem;
  }

  .nc-value {
    padding: 1rem 0.5rem;
  }

  .nc-value__circle {
    width: 68px;
    height: 68px;
    font-size: 1.4rem;
  }

  .nc-strip__item {
    font-size: 0.95rem;
  }

  .nc-btn {
    padding: 0.85rem 1.35rem;
  }

  .nc-about__visual {
    min-height: 220px;
    border-radius: 24px;
  }

  .nc-hero__card {
    border-radius: 22px;
    padding: 1rem;
  }

  .nc-hero__photo-frame {
    border-radius: 18px;
    min-height: 220px;
  }

  .nc-function__head {
    font-size: 0.95rem;
  }
}

/* Landscape phones */
@media (max-height: 480px) and (orientation: landscape) {
  .nc-nav {
    padding-top: 4.25rem;
  }

  .nc-hero {
    padding: 1.5rem 0 2rem;
  }

  .nc-hero__card,
  .nc-hero__photo-frame {
    min-height: 200px;
  }
}

/* ========== Motion: ripple, wave ========== */

.nc-btn {
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.nc-btn:hover {
  transform: translateY(-3px);
}

.nc-btn--primary {
  animation: nc-btn-glow 3s ease-in-out infinite;
}

@keyframes nc-btn-glow {
  0%, 100% { box-shadow: 0 10px 24px rgba(0, 45, 98, 0.25); }
  50% { box-shadow: 0 12px 32px rgba(0, 169, 157, 0.35); }
}

.nc-card,
.nc-service-icon,
.nc-value {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.nc-service-icon:hover,
.nc-value:hover {
  transform: translateY(-6px);
}

.nc-ripple-host {
  position: relative;
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
}

.nc-float-tag.nc-ripple-host,
.nc-float-tag.nc-pressed {
  position: absolute !important;
  overflow: visible !important;
  transform: none !important;
}

.nc-wave {
  position: fixed;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  pointer-events: none;
  z-index: 99999;
}

.nc-wave__ring {
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 8px;
  margin: -4px 0 0 -4px;
  border-radius: 50%;
  border: 2px solid var(--nc-wave-color, rgba(0, 181, 226, 0.55));
  box-shadow: 0 0 6px var(--nc-wave-color, rgba(0, 181, 226, 0.2));
  animation: nc-click-wave 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
}

.nc-wave--strong .nc-wave__ring {
  border-width: 2px;
  width: 10px;
  height: 10px;
  margin: -5px 0 0 -5px;
}

@keyframes nc-click-wave {
  0% {
    transform: scale(0.5);
    opacity: 0.9;
  }
  100% {
    transform: scale(2.2);
    opacity: 0;
  }
}

.nc-ripple {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.12) 55%, transparent 70%);
  transform: scale(0);
  animation: nc-ripple 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  pointer-events: none;
  z-index: 5;
}

.nc-btn--outline .nc-ripple,
.nc-card .nc-ripple,
.nc-service-icon .nc-ripple,
.nc-value .nc-ripple,
.nc-pill .nc-ripple {
  background: radial-gradient(circle, rgba(0, 181, 226, 0.4) 0%, rgba(0, 169, 157, 0.15) 50%, transparent 70%);
}

.nc-pressed {
  transform: scale(0.98) !important;
  transition: transform 0.12s ease !important;
}

@keyframes nc-ripple {
  0% {
    transform: scale(0);
    opacity: 0.8;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

.nc-footer__wave-path--1 {
  fill: #00B5E2;
}

.nc-footer__wave-path--2 {
  fill: var(--nc-navy);
}

/* Colorful top accent under wave */
.nc-footer::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--nc-pink),
    var(--nc-yellow),
    var(--nc-green),
    var(--nc-sky),
    var(--nc-purple),
    var(--nc-teal)
  );
  background-size: 200% 100%;
  animation: nc-rainbow 8s linear infinite;
}

@keyframes nc-rainbow {
  to { background-position: 200% 0; }
}

/* =========================================================
   UI Polish Pass
   ========================================================= */
/* Navbar styles live in the main header block above */

.nc-hero {
  padding: 4rem 0 4.25rem;
}

.nc-hero__grid {
  gap: 3rem;
}

.nc-hero__title {
  letter-spacing: -0.03em;
}

.nc-hero__banner {
  box-shadow: 0 12px 28px rgba(0, 181, 226, 0.22);
}

.nc-hero__card {
  border-radius: 28px;
  min-height: 480px;
  box-shadow: var(--nc-shadow-lg);
  border: 1px solid rgba(255, 255, 255, 0.8);
  background:
    linear-gradient(145deg, rgba(225, 245, 254, 0.95), #fff 50%, rgba(252, 228, 236, 0.55));
  padding: 1.35rem;
}

.nc-hero__photo-frame {
  border-radius: 22px;
  min-height: 440px;
  border: 1px solid rgba(0, 45, 98, 0.04);
}

.nc-hero__photo-frame h3,
.nc-hero__card-title {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  max-width: 22em;
  margin-inline: auto;
  text-wrap: balance;
}

.nc-pill {
  box-shadow: 0 6px 16px rgba(0, 45, 98, 0.08);
}

.nc-strip {
  padding: 1.5rem 0;
  background: linear-gradient(90deg, #001F5C, #002D62 40%, #003A7A);
}

.nc-strip__item {
  font-size: 1.02rem;
}

.nc-section {
  padding: 5rem 0;
}

.nc-section--soft {
  background: var(--nc-section-soft);
}

.nc-section-head {
  margin-bottom: 3rem;
}

.nc-section-head h2 {
  letter-spacing: -0.02em;
}

.nc-bar {
  box-shadow: 0 8px 20px rgba(0, 169, 157, 0.2);
}

.nc-service-icon {
  background: #fff;
  border-radius: var(--nc-radius);
  padding: 1.5rem 1rem 1.35rem;
  box-shadow: var(--nc-shadow);
  border: 1px solid rgba(0, 45, 98, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nc-service-icon:hover {
  transform: translateY(-8px);
  box-shadow: var(--nc-shadow-lg);
}

.nc-service-icon__circle {
  width: 82px;
  height: 82px;
  margin-bottom: 1.15rem;
  box-shadow: 0 10px 22px rgba(0, 45, 98, 0.14);
}

.nc-card {
  padding: 2rem 1.5rem 1.5rem;
  border-radius: var(--nc-radius);
  box-shadow: var(--nc-shadow);
  border: 1px solid rgba(0, 45, 98, 0.045);
}

.nc-cards > .nc-card {
  grid-row: span 4;
  display: grid;
  grid-template-rows: subgrid;
  row-gap: 0;
}

.nc-card:hover {
  box-shadow: var(--nc-shadow-lg);
}

.nc-card__icon {
  width: 68px;
  height: 68px;
  margin-bottom: 1rem;
  box-shadow: 0 10px 22px rgba(0, 45, 98, 0.12);
}

.nc-card h3 {
  font-size: 1.22rem;
  letter-spacing: -0.01em;
  min-height: 2.7em;
  margin: 0 0 0.75rem;
  align-items: flex-start;
}

.nc-card p {
  min-height: 4.65em;
}

.nc-card__link {
  margin-top: 1rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  transition: background 0.2s ease, color 0.2s ease;
  align-self: center;
}

.nc-card__link:hover {
  background: var(--nc-soft-sky);
  color: var(--nc-navy);
}

.nc-about__visual {
  border-radius: 28px;
  min-height: 380px;
  box-shadow: var(--nc-shadow);
  border: 1px solid rgba(0, 45, 98, 0.04);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.nc-about__visual:hover {
  transform: translateY(-12px);
  box-shadow: var(--nc-shadow-lg);
}

.nc-about__content h2 {
  font-size: clamp(1.7rem, 3vw, 2.2rem);
  letter-spacing: -0.02em;
}

.nc-checklist li {
  padding: 0.35rem 0;
  border-bottom: 1px solid rgba(0, 45, 98, 0.05);
}

.nc-checklist li:last-child {
  border-bottom: none;
}

.nc-check {
  box-shadow: 0 4px 12px rgba(0, 45, 98, 0.12);
}

.nc-value {
  background: #fff;
  border-radius: var(--nc-radius);
  padding: 1.75rem 1.15rem;
  box-shadow: var(--nc-shadow);
  border: 1px solid rgba(0, 45, 98, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nc-value:hover {
  transform: translateY(-6px);
  box-shadow: var(--nc-shadow-lg);
}

.nc-value__circle {
  width: 78px;
  height: 78px;
  margin-bottom: 1.1rem;
  box-shadow: 0 10px 22px rgba(0, 45, 98, 0.14);
}

.nc-enroll {
  padding: 3.75rem 2rem;
  border-radius: 32px;
  box-shadow: var(--nc-shadow);
  border: 1px solid rgba(0, 169, 157, 0.12);
  background:
    radial-gradient(circle at 12% 40%, rgba(0, 181, 226, 0.16), transparent 42%),
    radial-gradient(circle at 88% 30%, rgba(233, 30, 99, 0.1), transparent 40%),
    linear-gradient(180deg, #F3FBFF, #fff);
}

.nc-enroll h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.4rem);
  letter-spacing: -0.02em;
  margin-bottom: 0.35rem;
}

.nc-location-brush {
  box-shadow: 0 8px 20px rgba(0, 181, 226, 0.12);
}

.nc-page-hero {
  padding: 3.25rem 0 2.75rem;
  background:
    radial-gradient(circle at 20% 0%, rgba(0, 181, 226, 0.1), transparent 45%),
    linear-gradient(180deg, #F0FAFF 0%, #fff 100%);
}

.nc-form,
.nc-info-card {
  border: 1px solid rgba(0, 45, 98, 0.05);
}

.nc-form input,
.nc-form textarea,
.nc-form select {
  border-radius: 14px;
  background: #FBFDFE;
}

.nc-form input:focus,
.nc-form textarea:focus,
.nc-form select:focus {
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 169, 157, 0.12);
}

.nc-btn--primary {
  background: var(--nc-cta-grad);
  color: #fff;
}

.nc-btn--primary:hover {
  background: linear-gradient(135deg, var(--nc-teal), var(--nc-sky));
  color: #fff;
}

.nc-btn--outline {
  border-width: 2px;
  background: rgba(255, 255, 255, 0.7);
}

.nc-btn--outline:hover {
  box-shadow: 0 10px 24px rgba(0, 45, 98, 0.12);
}

.nc-footer {
  padding-top: 5rem;
}

@media (max-width: 768px) {
  .nc-section {
    padding: 3.25rem 0;
  }

  .nc-hero {
    padding: 2.5rem 0 2.75rem;
  }

  .nc-service-icon {
    padding: 1.25rem 0.85rem;
  }

  .nc-enroll {
    padding: 2.5rem 1.25rem;
    border-radius: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .nc-float-tag,
  .nc-hero__photo-icon,
  .nc-logo__mark,
  body img,
  .nc-hero__card,
  .nc-about__visual,
  .nc-about__blob,
  .nc-card__icon,
  .nc-service-icon__circle,
  .nc-value__circle,
  .nc-slide__photo,
  .nc-promo__photo,
  .nc-tags .nc-pill,
  .nc-check,
  .nc-checklist li,
  .nc-nav,
  .nc-btn--primary,
  .nc-footer__wave-path,
  .nc-footer::after,
  .nc-field__error,
  .nc-field.is-shake,
  .nc-alert--pop,
  .nc-alert--inline:not([hidden]),
  .nc-field__status {
    animation: none !important;
    transition: none !important;
  }

  .nc-wave,
  .nc-wave__ring,
  .nc-ripple {
    display: none !important;
  }
}

/* =========================================================
   Beauty Pass ? cohesive polish across the site
   ========================================================= */
.nc-btn {
  position: relative;
  overflow: hidden;
  letter-spacing: 0.01em;
}

.nc-btn--primary {
  background: linear-gradient(135deg, #013872 0%, var(--nc-navy) 55%, var(--nc-navy-mid) 100%);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0, 45, 98, 0.24);
}

.nc-btn--primary:hover {
  background: linear-gradient(135deg, var(--nc-teal), var(--nc-sky));
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(0, 169, 157, 0.28);
}

.nc-btn--outline {
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(8px);
}

.nc-btn--outline:hover {
  background: var(--nc-navy);
  color: #fff;
  transform: translateY(-2px);
}

.nc-btn--teal {
  box-shadow: 0 10px 24px rgba(0, 169, 157, 0.25);
}

.nc-hero {
  padding: 4rem 0 4.5rem;
  background:
    radial-gradient(circle at 10% 15%, rgba(0, 181, 226, 0.16), transparent 40%),
    radial-gradient(circle at 90% 8%, rgba(233, 30, 99, 0.11), transparent 36%),
    radial-gradient(circle at 75% 95%, rgba(122, 193, 67, 0.12), transparent 38%),
    radial-gradient(circle at 40% 70%, rgba(255, 203, 5, 0.08), transparent 35%),
    linear-gradient(180deg, #fff 0%, #F3FAFF 55%, #fff 100%);
}

.nc-hero__title {
  letter-spacing: -0.03em;
}

.nc-hero__banner {
  background: linear-gradient(100deg, var(--nc-sky) 0%, var(--nc-blue) 55%, var(--nc-teal) 120%);
  box-shadow: 0 14px 34px rgba(0, 181, 226, 0.28);
}

.nc-hero__card {
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 26px 60px rgba(0, 45, 98, 0.14);
}

.nc-hero__photo-frame {
  border: 1px solid rgba(255, 255, 255, 0.55);
}

.nc-tags {
  gap: 0.55rem;
}

.nc-pill {
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.12);
  letter-spacing: 0.01em;
}

.nc-strip {
  padding: 1.35rem 0;
  background:
    linear-gradient(90deg, rgba(233, 30, 99, 0.18), transparent 18%),
    linear-gradient(270deg, rgba(0, 181, 226, 0.18), transparent 18%),
    linear-gradient(90deg, #001A4A, #002D62 40%, #003A7A);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.nc-strip__item {
  color: rgba(255, 255, 255, 0.94);
  font-weight: 700;
  letter-spacing: 0.01em;
}

.nc-section {
  padding: 5.25rem 0;
}

.nc-section--soft {
  background: var(--nc-section-soft);
}

.nc-section-head h2 {
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.nc-bar {
  background: linear-gradient(135deg, var(--nc-teal), #00c4b5);
  box-shadow: 0 10px 24px rgba(0, 169, 157, 0.28);
}

.nc-card {
  border: 1px solid rgba(0, 45, 98, 0.05);
  background: linear-gradient(180deg, #fff 0%, #FBF8F3 100%);
  box-shadow: var(--nc-shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.nc-card:hover {
  transform: translateY(-8px);
  border-color: rgba(0, 169, 157, 0.18);
  box-shadow: 0 28px 55px rgba(0, 45, 98, 0.14);
}

.nc-card__icon {
  box-shadow: 0 12px 26px rgba(0, 45, 98, 0.16);
}

.nc-card__link {
  color: var(--nc-teal);
}

.nc-card__link:hover {
  background: linear-gradient(135deg, var(--nc-soft-sky), #E8FFF9);
  color: var(--nc-navy);
}

.nc-service-icon {
  background: linear-gradient(180deg, #fff, #FBF8F3);
  border: 1px solid rgba(0, 45, 98, 0.05);
}

.nc-service-icon:hover {
  border-color: rgba(0, 181, 226, 0.2);
}

.nc-value {
  background: linear-gradient(180deg, #fff, #FBF8F3);
  border: 1px solid rgba(0, 45, 98, 0.05);
}

.nc-value:hover {
  border-color: rgba(233, 30, 99, 0.15);
}

.nc-about__visual {
  box-shadow: 0 24px 55px rgba(0, 45, 98, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.65);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.nc-about__visual:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 60px rgba(0, 45, 98, 0.16);
}

.nc-checklist li {
  transition: background 0.2s ease, transform 0.2s ease;
  border-radius: 12px;
  padding-inline: 0.35rem;
}

.nc-checklist li:hover {
  background: rgba(225, 245, 254, 0.55);
  transform: translateX(4px);
}

.nc-check {
  box-shadow: 0 6px 14px rgba(0, 45, 98, 0.14);
}

.nc-enroll {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(0, 169, 157, 0.14);
  box-shadow: 0 22px 50px rgba(0, 45, 98, 0.08);
  background:
    radial-gradient(circle at 12% 40%, rgba(0, 181, 226, 0.2), transparent 42%),
    radial-gradient(circle at 88% 30%, rgba(233, 30, 99, 0.12), transparent 40%),
    radial-gradient(circle at 50% 100%, rgba(122, 193, 67, 0.12), transparent 45%),
    linear-gradient(180deg, #F0FAFF, #fff);
}

.nc-enroll h2 {
  letter-spacing: -0.02em;
}

.nc-location-brush {
  box-shadow: 0 8px 20px rgba(0, 181, 226, 0.12);
}

.nc-page-hero {
  background:
    radial-gradient(circle at 15% 20%, rgba(0, 181, 226, 0.12), transparent 40%),
    radial-gradient(circle at 85% 10%, rgba(233, 30, 99, 0.08), transparent 35%),
    linear-gradient(180deg, #F0FAFF 0%, #fff 100%);
}

.nc-page-hero h1 {
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.nc-info-card {
  border: 1px solid rgba(0, 45, 98, 0.05);
  background: linear-gradient(180deg, #fff, #FBF8F3);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nc-info-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--nc-shadow-lg);
}

.nc-form {
  border: 1px solid rgba(0, 45, 98, 0.06);
  background: linear-gradient(180deg, #fff 0%, #FBF8F3 100%);
  box-shadow: var(--nc-shadow-lg);
}

.nc-function {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nc-function:hover {
  transform: translateY(-6px);
  box-shadow: var(--nc-shadow-lg);
}

.nc-footer {
  background:
    radial-gradient(circle at 15% 20%, rgba(0, 181, 226, 0.18), transparent 35%),
    radial-gradient(circle at 85% 30%, rgba(0, 169, 157, 0.12), transparent 35%),
    var(--nc-navy);
}

.nc-footer a:hover {
  color: #fff;
}

.nc-script {
  text-wrap: balance;
}

.nc-float-tag {
  box-shadow: 0 10px 22px rgba(0, 45, 98, 0.16);
}

/* ========== Hero card: wider + motion ========== */
@media (min-width: 993px) {
  .nc-hero__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.95fr);
  }
}

.nc-hero__visual {
  max-width: 520px;
  width: 100%;
}

.nc-hero__title {
  font-size: clamp(2rem, 3.6vw, 3rem);
  overflow: visible;
}

.nc-hero__title-line {
  white-space: normal !important;
}

.nc-hero__card {
  min-height: 460px;
}

.nc-hero__photo-icon {
  max-width: 240px;
  max-height: 175px;
}

@media (max-width: 1100px) {
  .nc-hero__visual {
    max-width: 480px;
    justify-self: center;
  }
}

@media (max-width: 900px) {
  .nc-hero__visual {
    max-width: 100%;
    justify-self: stretch;
  }

  .nc-hero__card {
    min-height: 420px;
    animation: nc-hero-card-in 0.7s ease both;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nc-hero__card,
  .nc-float-tag,
  .nc-hero__photo-icon {
    animation: none !important;
  }
}

/* ========== Performance: skip offscreen paint work ========== */
.nc-section,
.nc-enroll,
.nc-footer {
  content-visibility: auto;
  contain-intrinsic-size: auto 640px;
}

.nc-hero,
.nc-strip,
.nc-page-hero {
  content-visibility: visible;
}

/* =========================================================
   Contact page ? refined layout
   ========================================================= */
.nc-page-hero--contact {
  padding: 3.25rem 0 2.75rem;
  background:
    radial-gradient(circle at 18% 20%, rgba(0, 181, 226, 0.14), transparent 42%),
    radial-gradient(circle at 88% 12%, rgba(233, 30, 99, 0.1), transparent 38%),
    radial-gradient(circle at 50% 100%, rgba(122, 193, 67, 0.08), transparent 45%),
    linear-gradient(180deg, #F0FAFF 0%, #fff 100%);
}

.nc-page-hero__lead {
  max-width: 36rem;
  margin: 0.35rem auto 0;
}

.nc-page-hero__tags {
  justify-content: center;
  margin-top: 1.25rem;
}

.nc-section--contact {
  padding-top: 3.25rem;
  content-visibility: visible;
}

.nc-contact-grid {
  align-items: stretch;
  gap: 2.25rem;
}

.nc-contact-aside {
  position: sticky;
  top: 6.5rem;
}

.nc-contact-panel {
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 181, 226, 0.12), transparent 42%),
    radial-gradient(circle at 100% 80%, rgba(233, 30, 99, 0.07), transparent 40%),
    linear-gradient(180deg, #fff 0%, #FBF8F3 100%);
  border: 1px solid rgba(0, 45, 98, 0.06);
  border-radius: 28px;
  padding: 1.75rem 1.7rem 1.85rem;
  box-shadow: var(--nc-shadow);
}

.nc-contact-panel .nc-bar {
  margin-bottom: 0.85rem;
}

.nc-contact-panel__title {
  font-size: clamp(1.35rem, 2.4vw, 1.7rem);
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: 0 0 0.65rem;
}

.nc-contact-panel__text {
  margin: 0 0 1.35rem;
  color: var(--nc-gray);
  font-size: 0.98rem;
}

.nc-contact-list {
  list-style: none;
  margin: 0 0 1.35rem;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}

.nc-contact-list__item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: 0.85rem;
  align-items: center;
  padding: 0.85rem 0.9rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(0, 45, 98, 0.05);
  text-align: left;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.nc-contact-list__item:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 169, 157, 0.18);
  box-shadow: 0 10px 24px rgba(0, 45, 98, 0.08);
}

.nc-contact-list__body {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
  align-content: center;
}

.nc-contact-list__item strong {
  display: block;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.95rem;
  margin: 0;
  line-height: 1.3;
  color: var(--nc-navy);
}

.nc-contact-list__body span,
.nc-contact-list__body a {
  color: var(--nc-gray);
  font-size: 0.92rem;
  line-height: 1.45;
  text-decoration: none;
  word-break: break-word;
}

.nc-contact-list__item a:hover {
  color: var(--nc-teal);
}

.nc-contact-list__icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 14px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  align-self: center;
  line-height: 0;
  font-size: 0;
  color: #fff;
  box-sizing: border-box;
}

.nc-contact-list__icon svg {
  width: 20px;
  height: 20px;
  display: block;
  flex-shrink: 0;
}

.nc-contact-list__icon svg,
.nc-contact-list__icon path {
  fill: #fff !important;
  color: #fff;
}

.nc-contact-list__icon--pink { background: linear-gradient(135deg, var(--nc-pink), #ff5a8a); }
.nc-contact-list__icon--sky { background: linear-gradient(135deg, var(--nc-sky), var(--nc-blue)); }
.nc-contact-list__icon--teal { background: linear-gradient(135deg, var(--nc-teal), #00c4b5); }
.nc-contact-list__icon--yellow { background: linear-gradient(135deg, #f5c542, #e8a317); }
.nc-contact-list__icon--green { background: linear-gradient(135deg, var(--nc-green, #4caf50), #2e8b57); }

.nc-contact-offer {
  margin: 0 0 1.1rem;
  padding: 0.75rem 1rem;
  border-radius: 14px;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.98rem;
  text-align: center;
  color: var(--nc-navy);
  background: linear-gradient(135deg, rgba(233, 30, 99, 0.1), rgba(0, 181, 226, 0.12));
  border: 1px solid rgba(233, 30, 99, 0.14);
}

.nc-contact-list__areas {
  display: block;
}

.nc-contact-qr {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 0.9rem;
  align-items: center;
  margin: 0 0 1.2rem;
  padding: 0.95rem 1rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 45, 98, 0.06);
}

.nc-contact-qr__img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  display: block;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
}

.nc-contact-qr__copy {
  min-width: 0;
  display: grid;
  gap: 0.2rem;
  align-content: center;
}

.nc-contact-qr__copy strong {
  display: block;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.88rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--nc-navy);
  margin-bottom: 0.35rem;
}

.nc-contact-qr__copy a {
  color: var(--nc-teal);
  font-size: 0.92rem;
  text-decoration: none;
  word-break: break-word;
}

.nc-contact-qr__copy a:hover {
  text-decoration: underline;
}

@media (max-width: 420px) {
  .nc-contact-qr {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
}

.nc-contact-promise {
  padding: 1rem 1.05rem;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(0, 169, 157, 0.08), rgba(0, 181, 226, 0.1));
  border: 1px solid rgba(0, 169, 157, 0.12);
}

.nc-contact-promise__label {
  margin: 0 0 0.55rem;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--nc-teal);
}

.nc-contact-steps {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--nc-navy);
  font-size: 0.92rem;
  line-height: 1.55;
}

.nc-contact-steps li + li {
  margin-top: 0.3rem;
}

.nc-contact-promise .nc-contact-aside__script {
  margin: 1rem 0 0.35rem;
  font-size: 1.1rem;
  text-align: left;
}

.nc-contact-promise .nc-contact-aside__meta {
  margin: 0;
  text-align: left;
  color: var(--nc-gray);
  font-size: 0.85rem;
}

.nc-form--contact {
  padding: 2rem 2rem 1.75rem;
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 181, 226, 0.08), transparent 40%),
    linear-gradient(180deg, #fff 0%, #FBF8F3 100%);
  box-shadow: var(--nc-shadow-lg);
}

.nc-form__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.75rem;
  padding: 0.35rem 0.8rem;
  border-radius: var(--nc-radius-pill);
  background: rgba(122, 193, 67, 0.14);
  color: #3d7a18;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
}

.nc-form__badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--nc-green);
  box-shadow: 0 0 0 3px rgba(122, 193, 67, 0.25);
}

.nc-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.nc-form__stack {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

.nc-form__stack .nc-field {
  width: 100%;
}

.nc-form__note {
  margin: 0.85rem 0 0;
  font-size: 0.8rem;
  color: var(--nc-gray);
  text-align: center;
  line-height: 1.45;
}

.nc-form--contact .nc-form__submit {
  width: 100%;
  margin-top: 0.85rem;
  min-height: 3.35rem;
  padding: 1rem 1.75rem;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #002D62 0%, #014A7F 48%, #00A99D 140%) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(0, 45, 98, 0.22);
  font-family: var(--nc-font-display);
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.nc-form--contact .nc-form__submit:hover,
.nc-form--contact .nc-form__submit:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0, 45, 98, 0.28);
  filter: brightness(1.04);
  color: #fff !important;
}

.nc-form--contact .nc-form__submit:active {
  transform: translateY(0);
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.2);
}

.nc-form--contact .nc-form__submit-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
}

.nc-form--contact .nc-form__submit-label::after {
  content: "→";
  font-size: 1.15em;
  line-height: 1;
  transition: transform 0.2s ease;
}

.nc-form--contact .nc-form__submit:hover .nc-form__submit-label::after,
.nc-form--contact .nc-form__submit:focus-visible .nc-form__submit-label::after {
  transform: translateX(3px);
}

.nc-form--contact .nc-form__submit.is-loading {
  opacity: 0.85;
  pointer-events: none;
  transform: none;
}

@media (max-width: 900px) {
  .nc-contact-aside {
    position: static;
  }

  .nc-form__row {
    grid-template-columns: 1fr;
  }

  .nc-contact-panel {
    padding: 1.4rem 1.25rem 1.5rem;
  }

  .nc-form--contact {
    padding: 1.5rem 1.25rem 1.35rem;
  }

  .nc-contact-aside__script,
  .nc-contact-aside__meta {
    text-align: left;
  }
}

@media (max-width: 700px) {
  .nc-contact-grid {
    grid-template-columns: 1fr;
  }
}

/* ========== Home alignment lock (v1.9.66) ========== */
.nc-cards.nc-cards--services > .nc-card {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  box-shadow: none;
  margin-bottom: 0;
  height: 100%;
}

.nc-cards.nc-cards--services .nc-card__link {
  margin-top: auto;
}

.nc-hero__grid {
  align-items: center;
}

.nc-strip__grid {
  align-items: center;
  justify-items: center;
}

.nc-strip__item {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-items: center;
  justify-items: start;
  column-gap: 0.7rem;
  width: min(100%, 22rem);
  text-align: left;
}

.nc-about {
  align-items: center;
}

.nc-about__content {
  align-items: flex-start;
}

.nc-footer__grid {
  align-items: start;
}

/* ========== Site-wide mobile lock (must stay last) ========== */
@media (max-width: 992px) {
  .nc-hero__grid,
  .nc-about,
  .nc-contact-grid,
  .nc-promo__grid,
  .nc-slide__grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .nc-hero__content {
    align-items: center;
    text-align: center;
  }

  .nc-hero__title {
    align-items: center;
    text-align: center;
  }

  .nc-hero__lead,
  .nc-hero__content .nc-script {
    text-align: center;
  }

  .nc-hero__actions {
    justify-content: center;
    width: 100%;
  }

  .nc-hero__visual {
    max-width: 100%;
    justify-self: stretch;
    margin-inline: auto;
  }

  .nc-about__content,
  .nc-about__visual {
    text-align: center !important;
    align-items: center !important;
  }

  .nc-about__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    justify-content: center;
  }

  .nc-about__content .nc-eyebrow {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100%;
    align-self: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin-inline: auto !important;
  }

  .nc-about__content h2,
  .nc-about__content .nc-script,
  .nc-about__content p,
  .nc-about__content .nc-bar {
    text-align: center !important;
    width: 100%;
    margin-inline: auto;
  }

  .nc-about__content .nc-btn {
    align-self: center !important;
    margin-inline: auto !important;
  }

  .nc-about__visual {
    display: flex;
    justify-content: center;
    margin-inline: auto;
  }

  .nc-strip__grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    justify-items: center;
  }

  .nc-strip__item {
    display: grid;
    grid-template-columns: 1.5rem minmax(0, 1fr);
    align-items: center;
    justify-items: start;
    column-gap: 0.75rem;
    width: min(100%, 20.5rem);
    margin-inline: auto;
    text-align: left;
    padding: 0.15rem 0.5rem;
    box-sizing: border-box;
  }

  .nc-strip__icon,
  .nc-strip__dot {
    flex-shrink: 0;
    justify-self: center;
  }

  .nc-page-hero {
    padding: 2.25rem 0 1.75rem;
  }

  .nc-page-hero h1,
  .nc-page-hero p,
  .nc-page-hero__lead {
    text-wrap: balance;
  }
}

@media (max-width: 900px) {
  .nc-cards.nc-cards--services,
  .nc-cards,
  .nc-cards--2,
  .nc-functions {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .nc-cards.nc-cards--services > .nc-card {
    border-right: none;
    border-bottom: 1px solid rgba(0, 45, 98, 0.1);
    padding: 1.5rem 1.25rem 1.35rem;
  }

  .nc-cards.nc-cards--services > .nc-card:last-child {
    border-bottom: none;
  }

  .nc-cards.nc-cards--services .nc-card h3 {
    min-height: 0;
  }

  .nc-cards--2 {
    gap: 1rem;
  }

  .nc-cards--2 > .nc-card {
    grid-row: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
    height: auto;
  }

  .nc-services-icons,
  .nc-values {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .nc-services-icons .nc-service-icon:last-child:nth-child(odd) {
    grid-column: auto;
    max-width: none;
    margin-inline: 0;
  }

  .nc-service-icon {
    max-width: none;
    width: 100%;
  }

  .nc-service-icon h3,
  .nc-value h3 {
    min-height: 0;
  }

  .nc-fob__grid,
  .nc-fob__guides,
  .nc-fob__why {
    grid-template-columns: 1fr;
  }

  .nc-form__row {
    grid-template-columns: 1fr;
  }

  .nc-contact-aside {
    position: static;
  }

  .nc-footer__grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .nc-footer__brand .nc-logo {
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .nc-tagline,
  .nc-script.nc-tagline,
  .nc-footer__tagline {
    white-space: normal;
    text-wrap: balance;
  }

  .nc-hero__actions .nc-btn,
  .nc-page-hero .nc-btn,
  .nc-enroll .nc-btn {
    width: 100%;
    max-width: 320px;
  }

  .nc-hero__card,
  .nc-hero__photo-frame {
    min-height: 0;
  }

  .nc-hero__photo-frame {
    aspect-ratio: 4 / 3;
  }

  .nc-float-tag {
    font-size: 0.72rem;
    padding: 0.3rem 0.6rem;
  }

  .nc-fob-card__body {
    padding-inline: 0.85rem;
  }

  .nc-container {
    width: min(100% - 1.5rem, var(--nc-container));
  }
}

@media (max-width: 560px) {
  .nc-section {
    padding: 2.5rem 0;
  }

  .nc-service-icon,
  .nc-value,
  .nc-card,
  .nc-fob-card {
    padding-inline: 1.1rem;
  }
}

/* ========== Soft pastel Phosphor icons (home + all pages) ========== */
.nc-icon,
.nc-service-icon__circle {
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.08);
}

.nc-icon--pink,
.nc-service-icon__circle--pink,
.nc-card__icon--pink { background: #FCE4EC !important; color: #E91E63 !important; }

.nc-icon--sky,
.nc-service-icon__circle--sky,
.nc-card__icon--sky { background: var(--nc-soft-sky) !important; color: var(--nc-sky) !important; }

.nc-icon--green,
.nc-service-icon__circle--green,
.nc-card__icon--green { background: var(--nc-soft-green) !important; color: var(--nc-green) !important; }

.nc-icon--purple,
.nc-service-icon__circle--purple,
.nc-card__icon--purple { background: var(--nc-icon-purple-bg) !important; color: var(--nc-purple) !important; }

.nc-icon--yellow,
.nc-service-icon__circle--yellow,
.nc-card__icon--yellow { background: #FFF3CD !important; color: #E6A800 !important; }

.nc-icon--coral { background: #FCE4EC !important; color: #E91E63 !important; }
.nc-icon--blue { background: var(--nc-soft-sky) !important; color: #0071BC !important; }
.nc-icon--navy { background: #E8EEF6 !important; color: #002D62 !important; }

.nc-icon svg,
.nc-service-icon__circle svg,
.nc-card__icon svg {
  fill: currentColor;
}

/* =========================================================
   Home Welcome block (matches theme cards / section rhythm)
   ========================================================= */
.nc-welcome .nc-section-head {
  margin-bottom: 1.75rem;
}
.nc-welcome__panel {
  max-width: 1120px;
  margin: 0 auto;
  padding: 2.1rem 1.35rem 2.25rem;
  border-radius: var(--nc-radius);
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 181, 226, 0.12), transparent 40%),
    radial-gradient(circle at 92% 6%, rgba(233, 30, 99, 0.08), transparent 36%),
    radial-gradient(circle at 50% 100%, rgba(0, 166, 153, 0.06), transparent 42%),
    #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: 0 16px 40px rgba(0, 45, 98, 0.08);
}
@media (min-width: 768px) {
  .nc-welcome__panel { padding: 2.5rem 2.6rem 2.65rem; }
}
.nc-welcome__lead,
.nc-welcome__body {
  margin: 0 auto 1.25rem;
  max-width: 48rem;
  text-align: center;
  color: var(--nc-gray);
  line-height: 1.75;
  font-size: 1.05rem;
}
.nc-welcome__panel > .nc-welcome__lead {
  margin-bottom: 1.6rem;
  padding: 0 0.5rem;
}
.nc-welcome .nc-training {
  margin: 0 0 1.75rem;
  text-align: center;
}
.nc-welcome .nc-training .nc-eyebrow {
  margin: 0 0 1.15rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}
.nc-welcome__body { margin-bottom: 1.5rem; }
.nc-welcome .nc-training__grid.nc-welcome__points {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.15rem !important;
  margin: 0 !important;
  align-items: stretch !important;
}
@media (min-width: 700px) and (max-width: 1099px) {
  .nc-welcome .nc-training__grid.nc-welcome__points {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.2rem !important;
  }
}
@media (min-width: 1100px) {
  .nc-welcome .nc-training__grid.nc-welcome__points {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.1rem !important;
  }
}
.nc-welcome .nc-training__item.nc-welcome__point {
  position: relative;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-height: 100%;
  height: auto !important;
  padding: 1.55rem 1.2rem 1.25rem !important;
  background: #fff !important;
  border: 1px solid rgba(0, 45, 98, 0.07) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 30px rgba(0, 45, 98, 0.07) !important;
  text-align: left;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.nc-welcome .nc-training__item.nc-welcome__point:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 166, 153, 0.24) !important;
  box-shadow: 0 18px 38px rgba(0, 45, 98, 0.11) !important;
}
.nc-welcome .nc-training__item.nc-welcome__point::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(90deg, var(--nc-sky), var(--nc-teal));
  opacity: 1;
}
.nc-welcome .nc-training__item.nc-welcome__point:nth-child(1)::before {
  background: linear-gradient(90deg, var(--nc-pink), #F48FB1);
}
.nc-welcome .nc-training__item.nc-welcome__point:nth-child(2)::before {
  background: linear-gradient(90deg, var(--nc-sky), var(--nc-teal));
}
.nc-welcome .nc-training__item.nc-welcome__point:nth-child(3)::before {
  background: linear-gradient(90deg, var(--nc-green), #81C784);
}
.nc-welcome .nc-training__item.nc-welcome__point:nth-child(4)::before {
  background: linear-gradient(90deg, var(--nc-orange), #FFD54F);
}
.nc-welcome .nc-training__item.nc-welcome__point .nc-icon {
  flex: 0 0 auto;
  width: 62px !important;
  height: 62px !important;
  margin: 0.4rem auto 0.75rem !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.07);
}
.nc-welcome .nc-training__item.nc-welcome__point .nc-icon svg {
  width: 28px !important;
  height: 28px !important;
}
.nc-welcome .nc-training__item.nc-welcome__point h3 {
  flex: 0 0 auto;
  margin: 0 0 0.65rem !important;
  min-height: 2.6em;
  font-size: 1.02rem !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  color: var(--nc-navy) !important;
  text-align: center;
}
.nc-welcome .nc-welcome__excerpt {
  position: relative;
  flex: 1 1 auto;
  max-height: calc(0.9rem * 1.6 * 4); /* ~4 lines */
  overflow: hidden;
  margin: 0 0 0.15rem;
}
.nc-welcome .nc-welcome__point.is-expanded .nc-welcome__excerpt {
  max-height: none;
  overflow: visible;
}
.nc-welcome .nc-welcome__excerpt::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2.4em;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 85%);
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.nc-welcome .nc-welcome__point.is-expanded .nc-welcome__excerpt::after,
.nc-welcome .nc-welcome__point.is-short .nc-welcome__excerpt::after {
  opacity: 0;
}
.nc-welcome .nc-training__item.nc-welcome__point p {
  margin: 0 0 0.65rem !important;
  color: #5a6b7d !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  text-align: left;
}
.nc-welcome .nc-training__item.nc-welcome__point p:last-child {
  margin-bottom: 0 !important;
}
.nc-welcome .nc-welcome__more {
  appearance: none;
  margin: 0.85rem auto 0;
  padding: 0.35rem 0.15rem;
  border: 0;
  background: transparent;
  color: var(--nc-teal);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.18s ease;
}
.nc-welcome .nc-welcome__more:hover,
.nc-welcome .nc-welcome__more:focus-visible {
  color: var(--nc-navy);
  outline: none;
}
.nc-welcome .nc-welcome__more::after {
  content: " ↓";
  font-weight: 700;
}
.nc-welcome .nc-welcome__point.is-expanded .nc-welcome__more::after {
  content: " ↑";
}
.nc-welcome .nc-welcome__point.is-short .nc-welcome__more {
  display: none;
}
.nc-welcome .nc-welcome__actions--points {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin: 1.4rem 0 0;
  width: 100%;
}
.nc-welcome .nc-welcome__actions--points .nc-btn {
  font-size: 0.92rem;
  padding: 0.72rem 1.15rem;
}
.nc-welcome__next {
  text-align: center;
  margin-top: 0.25rem;
  padding: 1.6rem 1.35rem 1.45rem;
  border-radius: 18px;
  border: 1px solid rgba(0, 166, 153, 0.16);
  background: #fff;
}
.nc-welcome__next h3 {
  margin: 0 0 0.55rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 800;
  color: var(--nc-navy);
}
.nc-welcome__next p {
  margin: 0 auto 1.2rem;
  max-width: 40rem;
  color: var(--nc-gray);
  line-height: 1.7;
  font-size: 0.98rem;
}
.nc-welcome__next .nc-welcome__actions {
  justify-content: center;
}
.nc-training {
  margin: 0.25rem 0 1.75rem;
  text-align: center;
}
.nc-training .nc-eyebrow {
  margin-bottom: 1rem;
}
.nc-training__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
}
@media (min-width: 900px) {
  .nc-training__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.nc-training__item {
  margin: 0;
  padding: 1.25rem 0.85rem 1.15rem;
  border-radius: var(--nc-radius-sm);
  background: linear-gradient(180deg, #F7FBFD 0%, #fff 70%);
  border: 1px solid rgba(0, 45, 98, 0.06);
  text-align: center;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.nc-training__item:hover {
  transform: translateY(-4px);
  box-shadow: var(--nc-shadow);
}
.nc-training__item .nc-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 0.7rem;
}
.nc-training__item .nc-icon svg {
  width: 30px;
  height: 30px;
}
.nc-training__item h3 {
  margin: 0;
  font-family: var(--nc-font-display);
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.35;
  color: var(--nc-navy);
}
.nc-welcome__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
@media (max-width: 560px) {
  .nc-training__grid { grid-template-columns: 1fr 1fr; gap: 0.7rem; }
  .nc-training__item { padding: 1rem 0.6rem; }
  .nc-training__item h3 { font-size: 0.9rem; }
}

/* =========================================================
   Home Getting Started steps
   ========================================================= */
.nc-steps__grid {
  display: grid;
  gap: 1.15rem;
}
@media (min-width: 768px) {
  .nc-steps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
}
.nc-step {
  position: relative;
  margin: 0;
  padding: 1.7rem 1.35rem 1.5rem;
  border-radius: var(--nc-radius);
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 181, 226, 0.1), transparent 45%),
    #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
  text-align: center;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.nc-step:hover {
  transform: translateY(-4px);
  box-shadow: var(--nc-shadow-lg);
}
.nc-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.55rem;
  height: 2.55rem;
  margin-bottom: 0.9rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--nc-sky), var(--nc-teal));
  color: #fff;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 1.15rem;
  box-shadow: 0 8px 18px rgba(0, 181, 226, 0.28);
}
.nc-step h3 {
  margin: 0 0 0.55rem;
  font-family: var(--nc-font-display);
  font-size: 1.25rem;
  color: var(--nc-navy);
}
.nc-step p {
  margin: 0;
  color: var(--nc-gray);
  line-height: 1.65;
  font-size: 1rem;
}
@media (max-width: 767px) {
  .nc-step { text-align: left; display: grid; grid-template-columns: auto 1fr; column-gap: 0.9rem; align-items: start; }
  .nc-step__num { grid-row: 1 / span 2; margin: 0.15rem 0 0; }
  .nc-step h3 { margin-top: 0; }
}

/* =========================================================
   Home Who We Serve (Children / Schools / Groups)
   ========================================================= */
.nc-audiences__grid {
  display: grid;
  gap: 1.6rem;
}
@media (min-width: 900px) {
  .nc-audiences__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.nc-audience {
  margin: 0;
  padding: 1.6rem 1.35rem 1.45rem;
  border-radius: var(--nc-radius);
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.nc-audience:hover {
  transform: translateY(-4px);
  box-shadow: var(--nc-shadow-lg);
}
.nc-audience .nc-icon {
  width: 72px;
  height: 72px;
  margin: 0 0 0.85rem;
}
.nc-audience .nc-icon svg {
  width: 34px;
  height: 34px;
}
.nc-audience h3 {
  margin: 0 0 0.55rem;
  font-family: var(--nc-font-display);
  font-size: 1.35rem;
  color: var(--nc-navy);
}
.nc-audience > p {
  margin: 0 0 1rem;
  color: var(--nc-gray);
  line-height: 1.65;
  font-size: 0.98rem;
}
.nc-audience ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nc-audience li {
  position: relative;
  padding: 0.4rem 0 0.4rem 1.35rem;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--nc-navy);
  border-top: 1px solid rgba(0, 45, 98, 0.05);
}
.nc-audience li:first-child { border-top: 0; }
.nc-audience li::before {
  content: "" !important;
  position: absolute !important;
  left: 0.15rem !important;
  top: 0.55em !important;
  display: block !important;
  width: 0.42rem !important;
  height: 0.42rem !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: var(--nc-teal) !important;
  color: transparent !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  line-height: 0 !important;
}
@media (max-width: 899px) {
  .nc-audiences__grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
}

/* =========================================================
   Home Reassure block
   ========================================================= */
.nc-reassure__box {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
  padding: 2.6rem 1.75rem 2.4rem;
  border-radius: var(--nc-radius);
  background:
    radial-gradient(circle at 15% 0%, rgba(0, 181, 226, 0.12), transparent 42%),
    radial-gradient(circle at 85% 10%, rgba(233, 30, 99, 0.08), transparent 40%),
    #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow-lg);
}
.nc-reassure__box .nc-eyebrow {
  margin-bottom: 0.45rem;
  color: var(--nc-pink);
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem;
}
.nc-reassure__box h2 {
  margin: 0 0 1rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.55rem, 3.2vw, 2.2rem);
  line-height: 1.25;
  color: var(--nc-navy);
}
.nc-reassure__box > p {
  margin: 0 auto 1.5rem;
  max-width: 38rem;
  color: var(--nc-gray);
  line-height: 1.75;
  font-size: 1.05rem;
}
.nc-reassure__box .nc-btn {
  min-width: 9.5rem;
}

.nc-welcome__photo {
  margin: 0 0 1.5rem;
  border-radius: calc(var(--nc-radius) - 4px);
  overflow: hidden;
  box-shadow: var(--nc-shadow);
}
.nc-welcome__photo img {
  display: block;
  width: 100%;
  max-height: 280px;
  object-fit: cover;
  object-position: center 25%;
}

.nc-reassure__panel--split {
  display: grid;
  gap: 1.5rem;
  align-items: stretch;
}
@media (min-width: 900px) {
  .nc-reassure__panel--split {
    grid-template-columns: 1.05fr 1fr;
    gap: 1.75rem;
  }
  .nc-reassure__panel--split .nc-reassure__box {
    max-width: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
  }
  .nc-reassure__panel--split .nc-reassure__box > p {
    margin-left: 0;
    margin-right: 0;
  }
}
.nc-reassure__photo {
  margin: 0;
  border-radius: var(--nc-radius);
  overflow: hidden;
  box-shadow: var(--nc-shadow-lg);
  min-height: 260px;
}
.nc-reassure__photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  object-position: center 30%;
}

.nc-home-photos__grid {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: 1fr;
}
@media (min-width: 700px) {
  .nc-home-photos__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.nc-home-photos__item {
  margin: 0;
  border-radius: var(--nc-radius);
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
}
.nc-home-photos__item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.nc-home-photos__item figcaption {
  padding: 0.85rem 1rem 1rem;
  font-weight: 700;
  color: var(--nc-navy);
  font-size: 0.98rem;
  text-align: center;
}

/* =========================================================
   Home Skill Areas (How We Can Help)
   ========================================================= */
.nc-skills__grid {
  display: grid;
  gap: 1.15rem;
}
@media (min-width: 700px) {
  .nc-skills__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nc-skills__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.nc-skill {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 1.5rem 1.35rem 1.4rem;
  border-radius: var(--nc-radius);
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.nc-skill:hover {
  transform: translateY(-4px);
  box-shadow: var(--nc-shadow-lg);
}
.nc-skill .nc-icon {
  width: 72px;
  height: 72px;
  margin: 0 0 0.85rem;
}
.nc-skill .nc-icon svg {
  width: 34px;
  height: 34px;
}
.nc-skill h3 {
  margin: 0 0 0.55rem;
  font-family: var(--nc-font-display);
  font-size: 1.18rem;
  line-height: 1.3;
  color: var(--nc-navy);
}
.nc-skill p {
  margin: 0 0 1.15rem;
  color: var(--nc-gray);
  line-height: 1.65;
  font-size: 0.98rem;
  flex: 1;
}
.nc-skill__btn {
  align-self: flex-start;
  padding: 0.55rem 1.1rem;
  font-size: 0.9rem;
}

/* =========================================================
   About page ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â trust / story / pillars
   ========================================================= */
.nc-about-story__wrap { max-width: 820px; margin: 0 auto; }
.nc-about-know .nc-section-head,
.nc-about-pillars .nc-section-head {
  text-align: center;
}
.nc-about-know .nc-section-head h2,
.nc-about-pillars .nc-section-head h2 {
  max-width: none;
  white-space: normal;
  text-wrap: balance;
}
@media (max-width: 640px) {
  .nc-about-know .nc-section-head h2,
  .nc-about-pillars .nc-section-head h2 {
    font-size: clamp(1.15rem, 4.6vw, 1.5rem) !important;
  }
}

/* About intro: styled points above cards */
.nc-about-intro {
  position: relative;
}

.nc-about-intro .nc-section-head {
  text-align: center;
  margin-bottom: 1.15rem;
}

.nc-about-intro .nc-section-head h2 {
  max-width: none;
  white-space: normal;
  text-wrap: balance;
  color: var(--nc-navy);
}

.nc-about-intro__panel {
  position: relative;
  max-width: 820px;
  margin: 0 auto;
  padding: 0.25rem 0 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
  overflow: visible;
}

.nc-about-intro__panel::before {
  display: none;
}

.nc-about-intro__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.nc-about-intro__item {
  --nc-intro-accent: var(--nc-teal);
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  align-items: flex-start;
  margin: 0;
  padding: 0 0 1.15rem;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.nc-about-intro__item:not(:last-child) {
  border-bottom: 1px solid rgba(0, 45, 98, 0.08);
}

.nc-about-intro__item:hover {
  transform: none;
  box-shadow: none;
}

.nc-about-intro__item--pink {
  --nc-intro-accent: var(--nc-pink);
}

.nc-about-intro__item--sky {
  --nc-intro-accent: var(--nc-sky);
}

.nc-about-intro__item--green {
  --nc-intro-accent: var(--nc-green);
}

.nc-about-intro__item--purple {
  --nc-intro-accent: var(--nc-purple);
}

.nc-about-intro__bullet {
  display: block;
  width: 0.55rem;
  height: 0.55rem;
  margin-top: 0.55rem;
  border-radius: 50%;
  background: var(--nc-intro-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--nc-intro-accent) 16%, transparent);
  flex-shrink: 0;
}

.nc-about-intro__copy {
  min-width: 0;
}

.nc-about-intro__label {
  display: block;
  margin: 0 0 0.3rem;
  font-family: var(--nc-font-display);
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--nc-navy);
  letter-spacing: -0.01em;
}

.nc-about-intro__copy p {
  margin: 0;
  color: var(--nc-gray);
  font-family: var(--nc-font-body);
  font-size: var(--nc-text);
  font-weight: 500;
  line-height: 1.65;
}

@media (max-width: 640px) {
  .nc-about-intro__item {
    gap: 0.7rem;
    padding-bottom: 1rem;
  }

  .nc-about-intro__bullet {
    width: 0.5rem;
    height: 0.5rem;
    margin-top: 0.5rem;
  }

  .nc-about-intro__label {
    font-size: 1rem;
  }

  .nc-about-intro__copy p {
    font-size: var(--nc-text-sm);
    line-height: 1.6;
  }

  .nc-about-intro .nc-section-head h2 {
    font-size: clamp(1.15rem, 4.6vw, 1.5rem) !important;
  }
}

/* About know: 4 content cards */
.nc-about-know {
  position: relative;
}
.nc-about-cards {
  display: grid;
  gap: 1.35rem;
  align-items: stretch;
}
@media (min-width: 780px) {
  .nc-about-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
  }
}
.nc-about-card {
  --nc-about-accent: var(--nc-teal);
  --nc-about-tint: rgba(0, 169, 157, 0.07);
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 1.7rem 1.55rem 1.55rem;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, #ffffff 58%),
    var(--nc-about-tint);
  border: 1px solid rgba(0, 45, 98, 0.07);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 10px 28px rgba(0, 45, 98, 0.06);
  overflow: hidden;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}
.nc-about-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(180deg, var(--nc-about-accent) 0%, color-mix(in srgb, var(--nc-about-accent) 45%, white) 100%);
  border-radius: 22px 0 0 22px;
}
.nc-about-card--pink {
  --nc-about-accent: #E91E63;
  --nc-about-tint: linear-gradient(145deg, #fff7fa 0%, #ffffff 55%);
  background: var(--nc-about-tint);
}
.nc-about-card--sky {
  --nc-about-accent: var(--nc-sky);
  --nc-about-tint: linear-gradient(145deg, #f3fbff 0%, #ffffff 55%);
  background: var(--nc-about-tint);
}
.nc-about-card--green {
  --nc-about-accent: var(--nc-green);
  --nc-about-tint: linear-gradient(145deg, #f5fbf0 0%, #ffffff 55%);
  background: var(--nc-about-tint);
}
.nc-about-card--purple {
  --nc-about-accent: var(--nc-purple);
  --nc-about-tint: linear-gradient(145deg, #faf5fb 0%, #ffffff 55%);
  background: var(--nc-about-tint);
}
.nc-about-card:hover {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--nc-about-accent) 28%, rgba(0, 45, 98, 0.08));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 20px 44px rgba(0, 45, 98, 0.12);
}
.nc-about-card h3 {
  position: relative;
  margin: 0 0 1.15rem;
  padding: 0 0 0.85rem;
  padding-left: 0.35rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.2rem, 2.1vw, 1.42rem);
  font-weight: 800;
  line-height: 1.28;
  color: var(--nc-navy);
  text-wrap: balance;
  letter-spacing: -0.015em;
}
.nc-about-card h3::after {
  content: "";
  position: absolute;
  left: 0.35rem;
  bottom: 0;
  width: 2.75rem;
  height: 3px;
  border-radius: 999px;
  background: var(--nc-about-accent);
}
.nc-about-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-left: 0.35rem;
  gap: 0.85rem;
}
.nc-about-card__body p {
  margin: 0;
  color: var(--nc-gray);
  line-height: 1.75;
  font-size: 1.02rem;
}
.nc-about-analyst__reg {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.55rem;
  margin-top: auto !important;
  padding: 0.8rem 1rem;
  border-radius: 14px;
  background: rgba(0, 181, 226, 0.08);
  border: 1px solid rgba(0, 181, 226, 0.18);
  color: var(--nc-navy) !important;
  font-size: 0.92rem !important;
  line-height: 1.4 !important;
}
.nc-about-analyst__reg strong {
  display: inline-block;
  padding: 0.15rem 0.55rem;
  border-radius: 8px;
  background: #fff;
  color: var(--nc-sky);
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 1px 3px rgba(0, 45, 98, 0.06);
}
.nc-about-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: auto;
  padding-top: 0.55rem;
}
.nc-about-card__actions .nc-btn {
  flex: 1 1 auto;
  justify-content: center;
  text-align: center;
  min-width: 9.5rem;
  font-size: 0.95rem;
}
@media (max-width: 480px) {
  .nc-about-card {
    padding: 1.4rem 1.2rem 1.25rem 1.3rem;
  }
  .nc-about-card__actions .nc-btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .nc-about-card,
  .nc-about-card:hover {
    transition: none;
    transform: none;
  }
}
.nc-about-pillars .nc-section-head {
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem 1rem;
  max-width: none;
}
.nc-about-pillars .nc-section-head .nc-bar,
.nc-about-pillars .nc-section-head h2 {
  margin: 0;
  white-space: nowrap;
}
.nc-about-pillars__grid {
  display: grid;
  gap: 1.15rem;
}
@media (min-width: 900px) {
  .nc-about-pillars__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.nc-about-pillar {
  margin: 0;
  padding: 1.55rem 1.3rem 1.4rem;
  border-radius: var(--nc-radius);
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
  text-align: center;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.nc-about-pillar:hover {
  transform: translateY(-4px);
  box-shadow: var(--nc-shadow-lg);
}
.nc-about-pillar .nc-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 0.85rem;
}
.nc-about-pillar .nc-icon svg { width: 34px; height: 34px; }
.nc-about-pillar h3 {
  margin: 0 0 0.5rem;
  font-family: var(--nc-font-display);
  font-size: 1.2rem;
  color: var(--nc-navy);
}
.nc-about-pillar p {
  margin: 0;
  color: var(--nc-gray);
  line-height: 1.65;
  font-size: 0.98rem;
}

/* =========================================================
   About page ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â free consultation CTA
   ========================================================= */
.nc-about-consult__box {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
  padding: 2.5rem 1.6rem 2.3rem;
  border-radius: var(--nc-radius);
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 181, 226, 0.16), transparent 42%),
    radial-gradient(circle at 90% 20%, rgba(0, 169, 157, 0.12), transparent 40%),
    linear-gradient(135deg, var(--nc-navy) 0%, var(--nc-navy-mid) 60%, #02608f 100%);
  color: #fff;
  box-shadow: var(--nc-shadow-lg);
}
.nc-about-consult__box .nc-eyebrow {
  color: var(--nc-yellow);
  margin-bottom: 0.5rem;
}
.nc-about-consult__box h2 {
  margin: 0 0 0.85rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.3;
  color: #fff;
}
.nc-about-consult__phone {
  display: inline-block;
  margin-left: 0.35rem;
  color: var(--nc-yellow);
  text-decoration: none;
  white-space: nowrap;
}
.nc-about-consult__phone:hover { color: #fff; }
.nc-about-consult__box > p {
  margin: 0 auto 1.4rem;
  max-width: 34rem;
  color: rgba(255,255,255,0.9);
  line-height: 1.65;
  font-size: 1.05rem;
}
.nc-about-consult__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.nc-about-consult__actions .nc-btn--outline {
  border-color: rgba(255,255,255,0.55);
  color: #fff;
  background: transparent;
}
.nc-about-consult__actions .nc-btn--outline:hover {
  background: #fff;
  color: var(--nc-navy);
  border-color: #fff;
}
.nc-about-consult__actions .nc-btn--primary {
  background: linear-gradient(135deg, var(--nc-teal), var(--nc-sky));
  color: #fff;
}

/* =========================================================
   Nav dropdown + What Is ABA Therapy page
   ========================================================= */
.nc-nav .menu-item-has-children {
  position: relative;
}
/* Keep submenu open while moving cursor into it (no hover gap). */
.nc-nav,
.nc-nav > ul,
.nc-nav > ul > li {
  overflow: visible !important;
}
.nc-nav ul,
.nc-nav .sub-menu {
  list-style: none !important;
  list-style-type: none !important;
}
.nc-nav .sub-menu li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0;
  padding: 0;
}
.nc-nav .sub-menu li::marker {
  content: none;
  font-size: 0;
}
.nc-nav .sub-menu li::before {
  content: none !important;
  display: none !important;
}
.nc-nav .menu-item-has-children > .sub-menu {
  display: flex;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 0.2rem);
  left: 0;
  min-width: 250px;
  flex-direction: column;
  align-items: stretch;
  gap: 0.15rem;
  margin: 0;
  padding: 0.7rem 0.55rem 0.55rem;
  padding-inline-start: 0.55rem;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: var(--nc-shadow-lg);
  z-index: 1300;
  transform: translateY(6px);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
  list-style: none !important;
}
.nc-nav .menu-item-has-children > .sub-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
}
.nc-nav .menu-item-has-children:hover > .sub-menu,
.nc-nav .menu-item-has-children:focus-within > .sub-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.nc-nav .sub-menu a {
  border-radius: 12px;
  white-space: nowrap;
}
/* Match hamburger breakpoint so drawer submenus open on tap */
@media (max-width: 1100px) {
  .nc-nav .menu-item-has-children > .sub-menu {
    position: static !important;
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    box-shadow: none !important;
    border: 0 !important;
    background: rgba(0, 45, 98, 0.04) !important;
    margin: 0.25rem 0 0.5rem !important;
    padding: 0.45rem !important;
    min-width: 0 !important;
    z-index: 1 !important;
  }
  .nc-nav .menu-item-has-children > .sub-menu::before { display: none !important; }
  .nc-nav .menu-item-has-children.is-open > .sub-menu,
  body.nc-nav-open .nc-nav .menu-item-has-children.is-open > .sub-menu {
    display: flex !important;
  }
}

.nc-page-hero__crumbs {
  margin: 0.35rem 0 1rem;
  font-size: 0.92rem;
  color: var(--nc-gray);
}
.nc-page-hero__crumbs a { color: var(--nc-teal); font-weight: 700; }
.nc-page-hero__actions {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.nc-page-hero__actions--center { justify-content: center; }
.nc-page-hero--stack {
  text-align: center;
  padding: 3.25rem 0 2.5rem;
  background: var(--nc-hero-wash);
}
.nc-page-hero--stack h1,
.nc-page-hero--stack p,
.nc-page-hero--stack .nc-script,
.nc-page-hero--stack .nc-eyebrow,
.nc-page-hero--stack .nc-page-hero__lead {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.nc-page-hero--stack .nc-crumbs { justify-content: center; }
.nc-page-hero--stack .nc-page-hero__lead {
  max-width: 42rem;
  margin-top: 0.75rem;
  color: var(--nc-gray);
  line-height: 1.7;
  font-size: 1.05rem;
}
.nc-page-hero__media {
  margin: 1.75rem auto 0;
  max-width: 920px;
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--nc-shadow-lg);
  background: var(--nc-soft-sky);
}
.nc-page-hero__media img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 220px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

/* =========================================================
   What Is ABA Therapy ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Neural Connection layout
   ========================================================= */
.nc-aba-page {
  --aba-gap: 1.5rem;
  --aba-section-y: 4rem;
  --aba-radius: var(--nc-radius);
}
/* Stack heroes must win over ABA left-aligned hero rules */
.nc-aba-page .nc-page-hero.nc-page-hero--stack,
.nc-aba-page .nc-page-hero.nc-page-hero--stack h1,
.nc-aba-page .nc-page-hero.nc-page-hero--stack p,
.nc-aba-page .nc-page-hero.nc-page-hero--stack .nc-script,
.nc-aba-page .nc-page-hero.nc-page-hero--stack .nc-eyebrow,
.nc-aba-page .nc-page-hero.nc-page-hero--stack .nc-page-hero__lead,
.nc-aba-page .nc-page-hero.nc-page-hero--stack .nc-school-hero__sub,
.nc-aba-page .nc-page-hero.nc-page-hero--stack .nc-school-hero__lead {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.nc-aba-page .nc-page-hero.nc-page-hero--stack .nc-crumbs {
  justify-content: center !important;
}
.nc-aba-page .nc-page-hero.nc-page-hero--stack .nc-page-hero__actions {
  justify-content: center !important;
}
.nc-aba-page .nc-section {
  padding: var(--aba-section-y) 0;
}
.nc-aba-page .nc-page-hero {
  display: block;
  text-align: left;
  padding: 3.25rem 0 2.75rem;
  background: var(--nc-hero-wash);
}
.nc-aba-page .nc-page-hero h1,
.nc-aba-page .nc-page-hero p,
.nc-aba-page .nc-page-hero .nc-script,
.nc-aba-page .nc-page-hero .nc-eyebrow {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}
.nc-aba-page .nc-section-head {
  max-width: 720px;
  margin: 0 auto 2.25rem;
  text-align: center;
}
.nc-aba-page .nc-section-head p {
  text-align: center;
  text-align-last: center;
  max-width: 560px;
}

.nc-aba-hero-grid {
  display: grid;
  gap: 2rem;
  align-items: stretch;
}
@media (min-width: 960px) {
  .nc-aba-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem;
    align-items: center;
  }
}
.nc-aba-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  min-width: 0;
}
.nc-aba-hero-copy .nc-page-hero__crumbs {
  margin: 0 0 0.85rem;
}
.nc-aba-hero-copy .nc-crumbs,
.nc-aba-hero-copy .nc-crumbs--left {
  justify-content: flex-start;
}
.nc-aba-hero-copy,
.nc-aba-hero-copy h1,
.nc-aba-hero-copy p,
.nc-aba-hero-copy .nc-script,
.nc-aba-hero-copy .nc-eyebrow,
.nc-aba-hero-copy .nc-page-hero__lead {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}
.nc-aba-hero-copy .nc-eyebrow { margin: 0 0 0.65rem; }
.nc-aba-hero-copy h1 {
  margin: 0 0 0.75rem;
  max-width: 18ch;
  line-height: 1.2;
}
.nc-aba-hero-copy .nc-tagline { margin: 0 0 1rem; }
.nc-aba-hero-copy > p { margin: 0 0 0.95rem; line-height: 1.7; color: var(--nc-gray); }
.nc-aba-hero-copy .nc-page-hero__actions {
  margin-top: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-start;
}
.nc-aba-hero-photo {
  margin: 0;
  border-radius: var(--aba-radius);
  overflow: hidden;
  box-shadow: var(--nc-shadow-lg);
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 520px;
  min-height: 280px;
  justify-self: end;
  background: var(--nc-soft-sky);
}
.nc-aba-hero-photo img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.nc-aba-prose {
  max-width: 720px;
  width: 100%;
  margin-inline: auto;
  min-width: 0;
}
.nc-aba-split__grid .nc-aba-prose {
  margin-inline: 0;
  max-width: none;
}
.nc-aba-prose .nc-bar { display: inline-flex; margin-bottom: 0.65rem; }
.nc-aba-prose h2 {
  margin: 0 0 1rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
  color: var(--nc-navy);
  line-height: 1.25;
}
.nc-aba-prose p {
  margin: 0 0 1rem;
  color: var(--nc-gray);
  line-height: 1.75;
  font-size: 1.05rem;
}
.nc-aba-prose p:last-child { margin-bottom: 0; }

.nc-aba-split__grid {
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 900px) {
  .nc-aba-split__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem;
  }
  .nc-aba-split__grid--reverse .nc-aba-prose { order: 1; }
  .nc-aba-split__grid--reverse .nc-aba-split__visual { order: 2; }
}
.nc-aba-split__visual {
  position: relative;
  border-radius: var(--aba-radius);
  overflow: hidden;
  box-shadow: var(--nc-shadow-lg);
  aspect-ratio: 4 / 3;
  width: 100%;
  margin: 0;
}
.nc-aba-split__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nc-aba-list {
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
}
.nc-aba-list--grid {
  display: grid;
  gap: 1rem 1.35rem;
  align-items: stretch;
}
@media (min-width: 700px) {
  .nc-aba-list--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.nc-aba-list li {
  position: relative;
  display: flex;
  align-items: flex-start;
  min-height: 3rem;
  padding: 0.7rem 0.85rem 0.7rem 2rem;
  color: var(--nc-navy);
  font-weight: 600;
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  border-radius: 14px;
  box-shadow: 0 6px 16px rgba(0, 45, 98, 0.04);
  line-height: 1.4;
}
.nc-aba-list li::before {
  content: "";
  position: absolute;
  left: 0.7rem;
  top: 0.7rem;
  color: var(--nc-teal);
  font-weight: 800;
}
.nc-aba-note {
  margin: 0 auto;
  color: var(--nc-gray);
  line-height: 1.7;
  max-width: 720px;
  text-align: center;
}

.nc-aba-settings {
  display: grid;
  gap: var(--aba-gap);
  align-items: stretch;
}
@media (min-width: 900px) {
  .nc-aba-settings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.nc-aba-setting-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--aba-radius);
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
}
.nc-aba-setting-card__body {
  padding: 1.5rem 1.45rem 1.6rem;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.nc-aba-setting-card__body .nc-icon {
  margin-bottom: 0.75rem;
}
.nc-aba-setting-card__body h3 {
  margin: 0 0 0.75rem;
  font-family: var(--nc-font-display);
  color: var(--nc-navy);
  font-size: 1.25rem;
  line-height: 1.25;
  min-height: 2.5rem;
}
.nc-aba-setting-card__body p {
  margin: 0 0 0.85rem;
  color: var(--nc-gray);
  line-height: 1.7;
}
.nc-aba-setting-card__body p:last-child {
  margin-top: auto;
  margin-bottom: 0;
  padding-top: 0.35rem;
}
.nc-aba-setting-card__body ul {
  margin: 0 0 0.85rem;
  padding: 0;
  list-style: none;
}
.nc-aba-setting-card__body li {
  position: relative;
  padding: 0.45rem 0 0.45rem 1.2rem;
  color: var(--nc-navy);
  font-weight: 600;
  border-top: 1px solid rgba(0, 45, 98, 0.05);
  line-height: 1.4;
}
.nc-aba-setting-card__body li::before {
  content: "";
  position: absolute;
  left: 0;
  color: var(--nc-teal);
  font-weight: 800;
}

.nc-aba-cities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--aba-gap);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 700px) {
  .nc-aba-cities { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.nc-aba-cities li {
  display: grid;
  place-items: center;
  min-height: 4.25rem;
  padding: 1rem 0.85rem;
  border-radius: var(--nc-radius-sm);
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  text-align: center;
  font-weight: 800;
  font-family: var(--nc-font-display);
  color: var(--nc-navy);
  box-shadow: var(--nc-shadow);
}

.nc-aba-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.85rem;
  counter-reset: aba-step;
  width: 100%;
  max-width: none;
}
.nc-aba-steps li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  column-gap: 1rem;
  row-gap: 0.2rem;
  align-items: start;
  padding: 1.2rem 1.35rem;
  border-radius: var(--nc-radius-sm);
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
  counter-increment: aba-step;
}
.nc-aba-steps li::before {
  content: counter(aba-step);
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--nc-sky), var(--nc-teal));
  color: #fff;
  font-weight: 800;
  font-family: var(--nc-font-display);
  grid-row: 1 / span 2;
  margin-top: 0.1rem;
}
.nc-aba-steps strong {
  font-family: var(--nc-font-display);
  font-size: 1.1rem;
  color: var(--nc-navy);
  line-height: 1.3;
}
.nc-aba-steps span {
  color: var(--nc-gray);
  line-height: 1.65;
}

.nc-aba-topics {
  display: grid;
  gap: var(--aba-gap);
  grid-template-columns: 1fr;
  align-items: stretch;
}
@media (min-width: 700px) {
  .nc-aba-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nc-aba-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.nc-aba-topic {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.45rem;
  height: 100%;
  padding: 1.35rem 1.25rem 1.4rem;
  border-radius: var(--nc-radius-sm);
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
  color: var(--nc-navy);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.nc-aba-topic:hover {
  transform: translateY(-3px);
  box-shadow: var(--nc-shadow-lg);
  color: var(--nc-navy);
}
.nc-aba-topic .nc-icon {
  margin-bottom: 0.35rem;
}
.nc-aba-topic strong {
  font-family: var(--nc-font-display);
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.25;
}
.nc-aba-topic em {
  font-style: normal;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--nc-gray);
  flex: 1 1 auto;
}
.nc-aba-topic__more {
  margin-top: auto;
  padding-top: 0.65rem;
  font-weight: 800;
  color: var(--nc-teal);
  font-size: 0.92rem;
}

.nc-aba-page .nc-reassure__box,
.nc-aba-page .nc-about-consult__box {
  text-align: center;
  margin-inline: auto;
  max-width: 820px;
}
.nc-aba-page .nc-about-consult__actions {
  justify-content: center;
}

@media (max-width: 959px) {
  .nc-aba-page .nc-page-hero {
    text-align: center;
    padding: 2.5rem 0 2rem;
  }
  .nc-aba-page .nc-page-hero h1,
  .nc-aba-page .nc-page-hero p,
  .nc-aba-page .nc-page-hero .nc-script,
  .nc-aba-page .nc-page-hero .nc-eyebrow {
    text-align: center;
  }
  .nc-aba-hero-copy .nc-page-hero__actions { justify-content: center; }
  .nc-aba-hero-copy h1 { max-width: none; margin-inline: auto; }
  .nc-aba-hero-photo {
    justify-self: center;
    max-width: 420px;
    aspect-ratio: 16 / 11;
  }
}
@media (max-width: 700px) {
  .nc-aba-page { --aba-section-y: 3rem; --aba-gap: 1rem; }
  .nc-aba-list li { min-height: 0; }
}

/* Shared page HCI: scan, navigate, act */
.nc-page-hci {
  --nc-page-header-offset: 6.5rem;
}
.nc-page-hci section[id] {
  scroll-margin-top: calc(var(--nc-page-header-offset) + 3.25rem);
}
.nc-page-hci .nc-aba-topic:focus-visible,
.nc-page-hci .nc-btn:focus-visible,
.nc-page-toc a:focus-visible,
.nc-back-top:focus-visible,
.nc-crumbs a:focus-visible,
.nc-strip__item:focus-visible {
  outline: 3px solid var(--nc-sky);
  outline-offset: 3px;
}
.nc-aba-hero-sub {
  margin: 0 0 0.65rem;
  font-size: 0.98rem;
  font-weight: 600;
  color: var(--nc-navy);
  opacity: 0.78;
  line-height: 1.45;
}
.nc-crumbs--left { justify-content: flex-start; }
.nc-about__content--full { max-width: 720px; margin-inline: auto; }
a.nc-strip__item {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
a.nc-strip__item:hover { color: var(--nc-navy); }
a.nc-training__item {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
}
a.nc-training__item:hover { color: var(--nc-navy); }
.nc-training__more {
  font-weight: 800;
  font-size: 0.88rem;
  color: var(--nc-teal);
}

.nc-crumbs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem 0.5rem;
  list-style: none;
  margin: 0 0 0.85rem;
  padding: 0;
  font-size: 0.92rem;
  color: var(--nc-gray);
}
.nc-crumbs li:not(:last-child)::after {
  content: "/";
  margin-left: 0.5rem;
  opacity: 0.55;
}
.nc-crumbs a {
  color: var(--nc-teal);
  font-weight: 700;
  text-decoration: none;
}
.nc-crumbs a:hover { text-decoration: underline; }
.nc-crumbs [aria-current="page"] {
  color: var(--nc-navy);
  font-weight: 700;
}

.nc-school-hero h1 {
  max-width: 20ch;
  margin: 0 auto 0.45rem;
  font-size: clamp(1.85rem, 4vw, 2.65rem);
  line-height: 1.15;
  text-align: center;
}
.nc-school-hero__sub {
  max-width: 42rem;
  margin: 0 auto 0.65rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--nc-navy);
  opacity: 0.78;
  line-height: 1.45;
  text-align: center;
}
.nc-school-hero__lead {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
}

.nc-page-toc,
.nc-school-toc {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 8px 20px rgba(0, 45, 98, 0.05);
  padding: 0.65rem 0;
}
.nc-page-toc__label,
.nc-school-toc__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.nc-page-toc .nc-container,
.nc-school-toc .nc-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.nc-page-toc__label,
.nc-school-toc__label {
  text-align: center;
  width: 100%;
}
.nc-page-toc__list,
.nc-school-toc__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0.15rem 0;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.nc-page-toc__list a,
.nc-school-toc__list a {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  padding: 0.45rem 0.8rem;
  border-radius: var(--nc-radius-pill);
  font-weight: 800;
  font-size: 0.88rem;
  color: var(--nc-navy);
  text-decoration: none;
  background: var(--nc-off-white);
  border: 1px solid rgba(0, 45, 98, 0.06);
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.nc-page-toc__list a:hover,
.nc-school-toc__list a:hover {
  background: var(--nc-soft-sky);
  color: var(--nc-navy);
}
.nc-page-toc__list a.is-active,
.nc-school-toc__list a.is-active {
  background: var(--nc-navy);
  color: #fff;
  border-color: var(--nc-navy);
}
.nc-page-toc__cta,
.nc-school-toc__cta {
  background: var(--nc-teal) !important;
  color: #fff !important;
  border-color: var(--nc-teal) !important;
}
.nc-page-toc__cta:hover,
.nc-page-toc__cta.is-active,
.nc-school-toc__cta:hover,
.nc-school-toc__cta.is-active {
  background: var(--nc-navy) !important;
  border-color: var(--nc-navy) !important;
}

.nc-school-page .nc-aba-topics {
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 700px) {
  .nc-school-page .nc-aba-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nc-school-page .nc-aba-topics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.nc-school-page .nc-aba-topic {
  min-height: 100%;
}
.nc-school-page .nc-aba-topic:hover .nc-aba-topic__more,
.nc-school-page .nc-aba-topic:focus-visible .nc-aba-topic__more {
  text-decoration: underline;
}

.nc-school-section-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  align-items: center;
  margin: 1.75rem 0 0;
  text-align: center;
}
.nc-school-section-cta--spaced { margin-top: 2rem; }
.nc-school-section-cta--start {
  justify-content: flex-start;
  margin-top: 1.25rem;
}
.nc-aba-note--spaced { margin-top: 1.25rem; }
.nc-aba-prose--narrow {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
}

.nc-back-top,
.nc-school-top {
  position: fixed;
  right: 1rem;
  bottom: 1.25rem;
  z-index: 45;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.65rem 0.9rem;
  border-radius: var(--nc-radius-pill);
  background: var(--nc-navy);
  color: #fff;
  font-weight: 800;
  font-size: 0.88rem;
  text-decoration: none;
  box-shadow: var(--nc-shadow-lg);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.nc-back-top.is-visible,
.nc-school-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.nc-back-top:hover,
.nc-school-top:hover { color: #fff; background: var(--nc-teal); }
.nc-back-top__text,
.nc-school-top__text { letter-spacing: 0.02em; }

@media (prefers-reduced-motion: reduce) {
  .nc-page-toc__list a,
  .nc-school-toc__list a,
  .nc-back-top,
  .nc-school-top { transition: none; }
}

/* =========================================================
   Blog ÃƒÂƒÃ‚Â¯ÃƒÂ‚Ã‚Â¿ÃƒÂ‚Ã‚Â½ Neural Connection theme colors/style
   ========================================================= */
.nc-blog-hero { text-align: center; }
.nc-blog-hero .nc-crumbs { justify-content: center; }
.nc-blog-hero__lead {
  max-width: 40rem;
  margin: 0.75rem auto 0;
  color: var(--nc-gray);
  line-height: 1.7;
  font-size: 1.05rem;
}
.nc-blog-grid {
  display: grid;
  gap: 2rem 1.75rem;
  grid-template-columns: 1fr;
  align-items: stretch;
}
@media (min-width: 700px) {
  .nc-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nc-blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.nc-blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-radius: var(--nc-radius);
  overflow: hidden;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.nc-blog-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--nc-shadow-lg);
}
.nc-blog-card__media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--nc-soft-sky);
}
.nc-blog-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.nc-blog-card:hover .nc-blog-card__media img { transform: scale(1.03); }
.nc-blog-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.55rem;
  padding: 1.25rem 1.25rem 1.4rem;
  flex: 1 1 auto;
}
.nc-blog-card__meta {
  margin: 0;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--nc-teal);
}
.nc-blog-card__title {
  margin: 0;
  font-family: var(--nc-font-display);
  font-size: 1.2rem;
  line-height: 1.3;
  color: var(--nc-navy);
}
.nc-blog-card__title a {
  color: inherit;
  text-decoration: none;
}
.nc-blog-card__title a:hover { color: var(--nc-teal); }
.nc-blog-card__excerpt {
  margin: 0;
  color: var(--nc-gray);
  line-height: 1.6;
  flex: 1 1 auto;
}
.nc-blog-card__btn { align-self: center; margin-top: auto; }
.nc-blog-card:focus-within,
.nc-blog-card__btn:focus-visible,
.nc-blog-single a:focus-visible {
  outline: 3px solid var(--nc-sky);
  outline-offset: 3px;
}
.nc-blog-pagination {
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
}
.nc-blog-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
}
.nc-blog-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  border-radius: var(--nc-radius-pill);
  font-weight: 800;
  text-decoration: none;
  color: var(--nc-navy);
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
}
.nc-blog-pagination .page-numbers.current,
.nc-blog-pagination .page-numbers:hover {
  background: var(--nc-navy);
  color: #fff;
  border-color: var(--nc-navy);
}
.nc-blog-empty {
  text-align: center;
  color: var(--nc-gray);
  font-size: 1.05rem;
}

.nc-blog-single__hero { text-align: center; padding-bottom: 1.5rem; }
.nc-blog-single__intro { max-width: 760px; margin-inline: auto; }
.nc-blog-single__intro h1 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.7rem, 3.5vw, 2.4rem);
  line-height: 1.2;
}
.nc-blog-single__meta {
  margin: 0;
  color: var(--nc-gray);
  font-weight: 600;
}
.nc-blog-single__figure {
  margin: 0 0 0.5rem;
}
.nc-blog-single__figure .nc-container { max-width: 900px; }
.nc-blog-single__img {
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: cover;
  border-radius: var(--nc-radius);
  box-shadow: var(--nc-shadow-lg);
  display: block;
}
.nc-blog-prose {
  max-width: 720px;
  margin-inline: auto;
  color: var(--nc-gray);
  font-size: 1.05rem;
  line-height: 1.8;
}
.nc-blog-prose h2,
.nc-blog-prose h3 {
  font-family: var(--nc-font-display);
  color: var(--nc-navy);
  margin: 2rem 0 0.85rem;
  line-height: 1.25;
}
.nc-blog-prose p { margin: 0 0 1.1rem; }
.nc-blog-prose ul,
.nc-blog-prose ol {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
}
.nc-blog-prose li { margin: 0.35rem 0; }
.nc-blog-prose a { color: var(--nc-teal); font-weight: 700; }
.nc-blog-single__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

/* =========================================================
   FAQ page — Neural Connection
   ========================================================= */
.nc-faq-hero__lead {
  max-width: 40rem;
  margin: 0.75rem auto 0;
  color: var(--nc-gray);
  line-height: 1.7;
  font-size: 1.05rem;
  text-align: center;
}
.nc-faq-page .nc-faq-list {
  display: grid;
  gap: 0.85rem;
  max-width: 860px;
  margin: 0.5rem auto 0;
}
.nc-faq-list {
  display: grid;
  gap: 0.85rem;
  max-width: 860px;
  margin: 0 auto;
}
.nc-faq-item {
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.1);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 45, 98, 0.045);
  overflow: hidden;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}
.nc-faq-item:hover {
  border-color: rgba(0, 169, 157, 0.28);
  box-shadow: 0 12px 28px rgba(0, 45, 98, 0.07);
}
.nc-faq-item[open] {
  border-color: rgba(0, 169, 157, 0.35);
  box-shadow: 0 14px 32px rgba(0, 45, 98, 0.08);
}
.nc-faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.2rem 1.35rem;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 1.06rem;
  color: var(--nc-navy);
  line-height: 1.35;
  transition: color 0.18s ease, background-color 0.18s ease;
}
.nc-faq-item summary:hover {
  background: linear-gradient(180deg, rgba(225, 245, 254, 0.55), rgba(255, 255, 255, 0));
}
.nc-faq-item summary::-webkit-details-marker { display: none; }
.nc-faq-item summary:focus-visible {
  outline: 3px solid var(--nc-sky);
  outline-offset: -3px;
}
.nc-faq-item__q {
  flex: 1 1 auto;
  padding-right: 0.25rem;
}
.nc-faq-item__icon {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--nc-soft-sky), #d7f0fb);
  color: var(--nc-navy);
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(0, 45, 98, 0.06);
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.nc-faq-item__icon::before,
.nc-faq-item__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.72rem;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transform: translate(-50%, -50%);
}
.nc-faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.nc-faq-item[open] .nc-faq-item__icon {
  background: linear-gradient(145deg, var(--nc-teal), #14b8a6);
  color: #fff;
  transform: rotate(180deg);
}
.nc-faq-item[open] .nc-faq-item__icon::after {
  opacity: 0;
}
.nc-faq-item[open] summary { color: var(--nc-teal); }
.nc-faq-item__a {
  padding: 0 1.35rem 1.35rem;
  color: var(--nc-gray);
  line-height: 1.75;
  font-size: 1.02rem;
  border-top: 1px solid rgba(0, 45, 98, 0.06);
  animation: ncFaqReveal 0.28s ease;
}
.nc-faq-item__a p { margin: 0.85rem 0 0; }
.nc-faq-item__a p:first-child { margin-top: 1rem; }
@keyframes ncFaqReveal {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
.nc-faq-page .nc-school-section-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  margin-top: 2.25rem;
}
.nc-faq-page #faq-list .nc-section-head {
  text-align: center;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
.nc-faq-page #faq-areas .nc-section-head {
  text-align: center;
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 640px) {
  .nc-faq-item summary {
    padding: 1.05rem 1.1rem;
    font-size: 1rem;
    gap: 0.75rem;
  }
  .nc-faq-item__a {
    padding: 0 1.1rem 1.15rem;
    font-size: 0.98rem;
  }
  .nc-faq-item__icon {
    width: 1.85rem;
    height: 1.85rem;
  }
}

/* Getting Started + Referral */
.nc-start-hero__lead {
  max-width: 42rem;
  margin: 0.75rem auto 0;
  color: var(--nc-gray);
  line-height: 1.7;
  font-size: 1.05rem;
  text-align: center;
}
.nc-start-page .nc-aba-topics {
  grid-template-columns: 1fr;
}
@media (min-width: 700px) {
  .nc-start-page .nc-aba-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .nc-start-page .nc-aba-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.nc-start-page .nc-school-section-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
.nc-start-meet {
  display: grid;
  gap: 1.75rem;
  align-items: center;
  text-align: left;
}
@media (min-width: 900px) {
  .nc-start-meet { grid-template-columns: 1.05fr 1fr; gap: 2.25rem; text-align: left; }
}
.nc-start-meet__photo {
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--nc-shadow-lg);
}
.nc-start-meet__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 10;
}
.nc-start-meet__copy { max-width: none; margin: 0; text-align: left; }
.nc-start-meet__copy .nc-school-section-cta { justify-content: flex-start; }
@media (min-width: 900px) {
  .nc-start-meet__copy .nc-school-section-cta { justify-content: flex-start; }
}
.nc-referral-wrap { max-width: 820px; margin-inline: auto; }
.nc-referral-form select {
  width: 100%;
  min-height: 3rem;
  border-radius: 12px;
  border: 1px solid rgba(0, 45, 98, 0.12);
  padding: 0.65rem 0.9rem;
  font: inherit;
  color: var(--nc-navy);
  background: #fff;
}
.nc-referral-form select:focus {
  outline: 3px solid var(--nc-sky);
  outline-offset: 2px;
}

/* ========== Now Enrolling modal ========== */
.nc-header__cta .nc-btn,
.nc-nav__mobile-cta .nc-btn {
  cursor: pointer;
  border: 0;
  font: inherit;
}
.nc-enroll-modal[hidden] { display: none !important; }
.nc-enroll-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
}
.nc-enroll-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 45, 98, 0.55);
  backdrop-filter: blur(2px);
}
.nc-enroll-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  max-height: min(92vh, 820px);
  overflow: auto;
  outline: none;
}
.nc-enroll-modal__close {
  position: absolute;
  top: 0.65rem;
  right: 0.75rem;
  z-index: 2;
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.nc-enroll-modal__close:hover { background: rgba(255, 255, 255, 0.28); }
.nc-enroll-modal__close:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}
.nc-enroll-modal__panel {
  background: linear-gradient(165deg, var(--nc-navy) 0%, var(--nc-navy-mid) 48%, var(--nc-teal) 130%);
  border-radius: 28px;
  padding: 2rem 1.65rem 1.75rem;
  box-shadow: 0 24px 60px rgba(0, 45, 98, 0.42);
  color: #fff;
}
.nc-enroll-modal__panel .nc-alert--inline {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  border: 0;
  margin-bottom: 0.85rem;
}
.nc-enroll-modal__panel .nc-field.is-invalid input,
.nc-enroll-modal__panel .nc-field.is-invalid textarea {
  outline: none;
  box-shadow: none;
}
.nc-enroll-modal__panel .nc-field__error {
  color: #ffe3e3;
}
.nc-enroll-modal__title {
  margin: 0 2rem 1.35rem 0;
  font-family: var(--nc-font-display);
  font-size: clamp(1.35rem, 3.5vw, 1.75rem);
  line-height: 1.25;
  font-weight: 800;
  text-align: center;
  color: #fff;
}
.nc-enroll-modal__alert {
  display: grid;
  gap: 0.2rem;
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.16);
  text-align: center;
  font-size: 0.95rem;
}
.nc-enroll-modal__alert--success { background: rgba(122, 193, 67, 0.28); }
.nc-enroll-modal__alert--error { background: rgba(239, 65, 54, 0.28); }
.nc-enroll-modal__form {
  display: grid;
  gap: 0.95rem;
}
.nc-enroll-modal__field {
  display: grid;
  gap: 0.4rem;
  text-align: left;
}
.nc-enroll-modal__field label {
  font-weight: 800;
  font-size: 0.98rem;
  color: #fff;
}
.nc-enroll-modal__field input,
.nc-enroll-modal__field textarea {
  width: 100%;
  border: 0;
  border-radius: 12px;
  background: var(--nc-off-white);
  color: var(--nc-navy);
  font: inherit;
  padding: 0.85rem 1rem;
  box-sizing: border-box;
}
.nc-enroll-modal__field textarea {
  min-height: 7rem;
  resize: vertical;
}
.nc-enroll-modal__field input::placeholder,
.nc-enroll-modal__field textarea::placeholder {
  color: var(--nc-gray);
}
.nc-enroll-modal__field input:focus,
.nc-enroll-modal__field textarea:focus {
  outline: 3px solid rgba(255, 255, 255, 0.75);
  outline-offset: 2px;
}
.nc-enroll-modal__submit {
  margin-top: 0.35rem;
  width: 100%;
  border: 0;
  border-radius: 12px;
  padding: 0.95rem 1.25rem;
  background: var(--nc-green);
  color: #fff;
  font: inherit;
  font-weight: 800;
  font-size: 1.05rem;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}
.nc-enroll-modal__submit:hover { filter: brightness(0.95); }
.nc-enroll-modal__submit:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
body.nc-enroll-open { overflow: hidden; }
@media (max-width: 520px) {
  .nc-enroll-modal__panel {
    border-radius: 22px;
    padding: 1.6rem 1.15rem 1.35rem;
  }
}

/* ========== Clinic location pages ========== */
.nc-location-page .nc-school-section-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
.nc-loc-info {
  display: grid;
  gap: 1.5rem;
  align-items: stretch;
}
@media (min-width: 900px) {
  .nc-loc-info {
    grid-template-columns: 1.1fr 1fr;
    gap: 2rem;
  }
}
.nc-loc-info__card {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 181, 226, 0.12), transparent 42%),
    radial-gradient(circle at 0% 100%, rgba(0, 169, 157, 0.1), transparent 40%),
    #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
  border-radius: var(--nc-radius);
  box-shadow: var(--nc-shadow-lg);
  padding: 0;
  text-align: left;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.nc-loc-info__head {
  padding: 1.35rem 1.4rem 1.2rem;
  background: linear-gradient(135deg, var(--nc-navy) 0%, var(--nc-navy-mid) 58%, #0277a3 100%);
  color: #fff;
  text-align: left;
}
.nc-loc-info__badge {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0.55rem;
  padding: 0.28rem 0.7rem;
  border-radius: var(--nc-radius-pill);
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.nc-loc-info__head-title {
  margin: 0 0 0.25rem !important;
  font-family: var(--nc-font-display);
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  font-weight: 800;
  color: #fff !important;
  text-align: left !important;
  max-width: none !important;
  line-height: 1.25;
}
.nc-loc-info__head-sub {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: 0.95rem;
  line-height: 1.45;
  text-align: left !important;
  max-width: none !important;
}
.nc-loc-info__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  width: 100%;
  padding: 1.1rem 1.15rem 0.35rem;
  box-sizing: border-box;
}
.nc-loc-info__notes {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.15rem;
}
@media (min-width: 560px) {
  .nc-loc-info__notes {
    grid-template-columns: 1fr 1fr;
  }
}
.nc-loc-info__note {
  display: grid;
  gap: 0.55rem;
  align-content: start;
  padding: 0.85rem 0.85rem 0.95rem;
  border: 1px solid rgba(0, 45, 98, 0.06);
  border-radius: var(--nc-radius-sm);
  background: rgba(255, 255, 255, 0.88);
}
.nc-loc-aside {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-width: 0;
  height: 100%;
}
.nc-loc-aside__lead {
  margin: 0 !important;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nc-teal);
  text-align: left !important;
  max-width: none !important;
}
.nc-loc-info__row {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.85rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(0, 45, 98, 0.06);
  border-radius: var(--nc-radius-sm);
  background: rgba(255, 255, 255, 0.88);
  text-align: left;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.nc-loc-info__row:hover {
  border-color: rgba(0, 169, 157, 0.28);
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.08);
  transform: translateY(-1px);
}
.nc-loc-info__ico {
  width: 2.55rem;
  height: 2.55rem;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.nc-loc-info__ico svg {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
}
.nc-loc-info__ico--teal { background: rgba(0, 169, 157, 0.14); color: var(--nc-teal); }
.nc-loc-info__ico--sky { background: var(--nc-soft-sky); color: var(--nc-sky); }
.nc-loc-info__ico--green { background: var(--nc-soft-green); color: var(--nc-green); }
.nc-loc-info__ico--pink { background: var(--nc-soft-pink); color: var(--nc-pink); }
.nc-loc-info__copy {
  min-width: 0;
  display: grid;
  gap: 0.15rem;
}
.nc-loc-info__card .nc-loc-info__actions,
.nc-loc-info__card .nc-school-section-cta {
  margin: 0 !important;
  margin-top: auto !important;
  padding: 1rem 1.15rem 1.25rem;
  justify-content: stretch;
  flex-wrap: nowrap;
  gap: 0.65rem;
  width: 100%;
  box-sizing: border-box;
}
.nc-loc-info__card .nc-loc-info__actions .nc-btn {
  flex: 1 1 0;
  min-width: 0;
  justify-content: center;
}
@media (max-width: 420px) {
  .nc-loc-info__card .nc-loc-info__actions {
    flex-wrap: wrap;
  }
  .nc-loc-info__card .nc-loc-info__actions .nc-btn {
    flex: 1 1 100%;
  }
}
.nc-loc-info__label {
  margin: 0 !important;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--nc-teal);
  text-align: left !important;
  max-width: none !important;
}
.nc-loc-info__value {
  margin: 0 !important;
  color: var(--nc-navy);
  font-weight: 700;
  line-height: 1.45;
  font-size: 0.98rem;
  text-align: left !important;
  max-width: none !important;
}
.nc-loc-info__value span { display: block; }
.nc-loc-info__value a {
  color: var(--nc-navy);
  text-decoration: none;
}
.nc-loc-info__value a span { display: block; }
.nc-loc-info__value a:hover { color: var(--nc-teal); text-decoration: underline; }
.nc-loc-highlights {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
  height: 100%;
  align-content: stretch;
  grid-auto-rows: 1fr;
}
@media (min-width: 900px) {
  .nc-loc-highlights {
    gap: 1rem;
  }
}
.nc-loc-highlight {
  background:
    linear-gradient(180deg, rgba(225, 245, 254, 0.55) 0%, #fff 48%);
  border: 1px solid rgba(0, 45, 98, 0.08);
  border-left: 4px solid var(--nc-teal);
  border-radius: var(--nc-radius-sm);
  box-shadow: var(--nc-shadow);
  padding: 1.15rem 1.15rem 1.15rem 1.05rem;
  text-align: left;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.85rem;
  row-gap: 0.2rem;
  align-content: center;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.nc-loc-highlight:nth-child(2) { border-left-color: var(--nc-sky); }
.nc-loc-highlight:nth-child(3) { border-left-color: var(--nc-green); }
.nc-loc-highlight__ico {
  grid-row: 1 / span 2;
  align-self: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.nc-loc-highlight__ico svg {
  width: 1.15rem;
  height: 1.15rem;
  display: block;
}
.nc-loc-highlight__ico--sky { background: var(--nc-soft-sky); color: var(--nc-sky); }
.nc-loc-highlight__ico--pink { background: var(--nc-soft-pink); color: var(--nc-pink); }
.nc-loc-highlight__ico--green { background: var(--nc-soft-green); color: var(--nc-green); }
.nc-loc-highlight strong {
  font-family: var(--nc-font-display);
  color: var(--nc-navy);
  font-size: 1.05rem;
  text-align: left;
}
.nc-loc-highlight span {
  color: var(--nc-gray);
  line-height: 1.5;
  font-size: 0.95rem;
  text-align: left;
}
.nc-loc-area {
  text-align: center;
  max-width: none;
  width: 100%;
  margin-inline: auto;
}
.nc-loc-area__address {
  font-weight: 800;
  color: var(--nc-navy);
  font-size: 1.1rem;
  margin: 0 0 1rem;
  max-width: none;
  width: 100%;
}
.nc-loc-area__nearby-label {
  margin: 0 0 0.75rem;
  color: var(--nc-gray);
  font-weight: 700;
  max-width: none;
  width: 100%;
}
.nc-location-page .nc-aba-topics {
  grid-template-columns: 1fr;
}
@media (min-width: 800px) {
  .nc-location-page .nc-aba-topics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* =========================================================
   Equal-height section cards (sitewide)
   ========================================================= */
.nc-steps__grid,
.nc-audiences__grid,
.nc-skills__grid,
.nc-training__grid,
.nc-about-pillars__grid,
.nc-services-icons,
.nc-values,
.nc-fob__grid,
.nc-aba-settings,
.nc-aba-topics,
.nc-aba-cities,
.nc-aba-list--grid,
.nc-blog-grid,
.nc-cards,
.nc-cards--2,
.nc-loc-highlights {
  align-items: stretch;
}

.nc-step,
.nc-audience,
.nc-skill,
.nc-training__item,
.nc-about-pillar,
.nc-service-icon,
.nc-value,
.nc-fob-card,
.nc-aba-setting-card,
.nc-aba-topic,
.nc-blog-card,
.nc-card,
.nc-loc-highlight {
  height: 100%;
  box-sizing: border-box;
}

.nc-step,
.nc-audience,
.nc-skill,
.nc-training__item,
.nc-about-pillar {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.nc-step p,
.nc-skill p,
.nc-about-pillar p {
  flex: 1 1 auto;
}

.nc-step h3,
.nc-audience h3,
.nc-skill h3,
.nc-about-pillar h3,
.nc-aba-topic strong,
.nc-blog-card__title,
.nc-training__item h3 {
  min-height: 2.6em;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
}

.nc-audience h3,
.nc-skill h3 {
  justify-content: flex-start;
  text-align: left;
}

.nc-audience ul {
  flex: 1 1 auto;
  width: 100%;
}

.nc-audience > p:has(a.nc-btn),
.nc-skill__btn,
.nc-skill .nc-btn,
.nc-card__link,
.nc-blog-card__btn,
.nc-aba-topic__more {
  margin-top: auto;
}

.nc-skill .nc-btn,
.nc-skill__btn {
  align-self: flex-start;
}

.nc-cards:not(.nc-cards--services) > .nc-card,
.nc-cards--2 > .nc-card {
  grid-row: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  margin-bottom: 0;
}

.nc-cards:not(.nc-cards--services),
.nc-cards--2 {
  gap: 1.35rem;
  row-gap: 1.35rem;
}

.nc-cards:not(.nc-cards--services) .nc-card p,
.nc-cards--2 .nc-card p {
  flex: 1 1 auto;
}

.nc-cards:not(.nc-cards--services) .nc-card__link,
.nc-cards--2 .nc-card__link {
  margin-top: auto;
}

.nc-fob-card__desc {
  flex: 1 1 auto;
}

.nc-fob-card__example {
  margin-top: auto;
}

.nc-aba-topic em {
  min-height: 3em;
}

.nc-blog-card__excerpt {
  min-height: 4.5em;
}

.nc-aba-list--grid > li {
  height: 100%;
}

.nc-loc-highlight {
  height: 100%;
}

.nc-aba-setting-card__body h3 {
  min-height: 2.6em;
}

@media (max-width: 699px) {
  .nc-step h3,
  .nc-audience h3,
  .nc-skill h3,
  .nc-about-pillar h3,
  .nc-aba-topic strong,
  .nc-blog-card__title,
  .nc-training__item h3,
  .nc-aba-topic em,
  .nc-blog-card__excerpt,
  .nc-card h3,
  .nc-card p {
    min-height: 0;
  }

  .nc-step {
    height: auto;
  }
}

/* =========================================================
   Brand lock v2.3.3 ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â logo, sections, gradients, forms
   ========================================================= */

/* Logo: consistent size + vertical center */
.nc-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
}
.nc-logo__mark,
.nc-header .nc-logo__mark,
.nc-footer .nc-logo__mark {
  width: auto;
  height: var(--nc-logo-mark-h);
  max-width: var(--nc-logo-mark-max-w);
  object-fit: contain;
  object-position: center;
  display: block;
  margin: 0;
}
.nc-logo__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}
.nc-header__inner {
  align-items: center;
  min-height: 100px;
}
.nc-boot {
  display: grid;
  place-items: center;
  text-align: center;
}
.nc-boot__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.nc-boot__logo {
  width: auto;
  height: 72px;
  max-width: 120px;
  object-fit: contain;
  object-position: center;
  margin: 0 auto 0.75rem;
  display: block;
}
.nc-footer__brand .nc-logo {
  align-items: center;
}
.nc-footer__brand .nc-logo__text {
  text-align: left;
}
@media (max-width: 900px) {
  :root {
    --nc-logo-mark-h: 50px;
    --nc-logo-mark-max-w: 82px;
  }
}

/* Sections: centered heads + same soft gradient */
.nc-section {
  padding: clamp(3.25rem, 6vw, 4.5rem) 0;
}
.nc-section--soft,
.nc-section.nc-section--soft {
  background: var(--nc-section-soft);
}
.nc-section-head {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.nc-section-head h2,
.nc-section-head p,
.nc-section-head .nc-script,
.nc-section-head .nc-bar {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Page heroes: one brand wash everywhere */
.nc-page-hero,
.nc-page-hero--contact,
.nc-page-hero--stack {
  background: var(--nc-hero-wash);
}
.nc-page-hero:not(.nc-page-hero--split),
.nc-page-hero--contact,
.nc-page-hero--stack {
  text-align: center;
}
.nc-page-hero--contact .nc-container,
.nc-page-hero--stack .nc-container,
.nc-page-hero:not(:has(.nc-aba-hero-grid)) .nc-container {
  text-align: center;
}
.nc-page-hero--contact h1,
.nc-page-hero--contact p,
.nc-page-hero--stack h1,
.nc-page-hero--stack p,
.nc-page-hero--stack .nc-script,
.nc-page-hero--stack .nc-eyebrow,
.nc-page-hero--stack .nc-page-hero__lead,
.nc-page-hero--contact .nc-page-hero__lead,
.nc-page-hero--contact .nc-bar {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
/* Keep ABA split hero left-aligned copy; only shared wash */
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) {
  background: var(--nc-hero-wash);
  text-align: left;
}

/* Contact + referral forms: same surface */
.nc-form,
.nc-form--contact,
.nc-referral-form {
  background: var(--nc-form-surface);
  border: 1px solid rgba(0, 45, 98, 0.06);
  border-radius: 28px;
  box-shadow: var(--nc-shadow-lg);
}
.nc-form__head {
  text-align: center;
}
.nc-form__title,
.nc-form__subtitle {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.nc-form__progress {
  margin-inline: auto;
}
.nc-section--contact {
  background: var(--nc-section-soft);
}
.nc-contact-grid {
  align-items: stretch;
}
.nc-contact-panel {
  background: var(--nc-form-surface);
  height: 100%;
}
.nc-field__control input,
.nc-field__control textarea,
.nc-field__control select,
.nc-referral-form select {
  border: 2px solid var(--nc-gray-light);
  border-radius: 14px;
  background: #FBFDFE;
  padding: 0.85rem 1rem;
  color: var(--nc-navy);
  font: inherit;
  width: 100%;
  box-sizing: border-box;
}
.nc-field__control input:focus,
.nc-field__control textarea:focus,
.nc-field__control select:focus,
.nc-referral-form select:focus {
  outline: none;
  border-color: var(--nc-teal);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 169, 157, 0.14);
}

/* Enroll modal = same form language as Contact */
.nc-enroll-modal__panel {
  background: var(--nc-form-surface);
  color: var(--nc-navy);
  border: 1px solid rgba(0, 45, 98, 0.06);
  padding: 0;
  overflow: hidden;
}
.nc-enroll-modal__panel::before {
  content: "";
  display: block;
  height: 6px;
  background: linear-gradient(90deg, var(--nc-navy), var(--nc-navy-mid), var(--nc-teal), var(--nc-sky));
}
.nc-enroll-modal__title {
  color: var(--nc-navy);
  margin: 1.5rem 1.5rem 1rem;
  padding-right: 2rem;
}
.nc-enroll-modal__close {
  background: rgba(0, 45, 98, 0.08);
  color: var(--nc-navy);
  top: 1rem;
  right: 1rem;
}
.nc-enroll-modal__close:hover {
  background: rgba(0, 45, 98, 0.14);
}
.nc-enroll-modal__form {
  padding: 0 1.5rem 1.5rem;
  gap: 1rem;
}
.nc-enroll-modal__field label {
  color: var(--nc-navy);
  font-family: var(--nc-font-display);
  font-weight: 700;
}
.nc-enroll-modal__field input,
.nc-enroll-modal__field textarea {
  border: 2px solid var(--nc-gray-light);
  border-radius: 14px;
  background: #FBFDFE;
  color: var(--nc-navy);
  padding: 0.85rem 1rem;
}
.nc-enroll-modal__field input:focus,
.nc-enroll-modal__field textarea:focus {
  outline: none;
  border-color: var(--nc-teal);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0, 169, 157, 0.14);
}
.nc-enroll-modal__panel .nc-alert--inline {
  background: #fff5f5;
  color: var(--nc-navy);
  border: 2px solid rgba(239, 65, 54, 0.25);
  margin: 0 1.5rem 0.85rem;
}
.nc-enroll-modal__panel .nc-field__error {
  color: #c62828;
}
.nc-enroll-modal__alert {
  margin: 0 1.5rem 1rem;
  color: var(--nc-navy);
}
.nc-enroll-modal__alert--success {
  background: rgba(122, 193, 67, 0.16);
}
.nc-enroll-modal__alert--error {
  background: rgba(239, 65, 54, 0.12);
}
.nc-enroll-modal__submit {
  width: 100%;
  margin-top: 0.25rem;
  background: var(--nc-cta-grad);
  color: #fff;
  border: 0;
  border-radius: var(--nc-radius-pill);
  box-shadow: 0 10px 24px rgba(0, 45, 98, 0.22);
}
.nc-enroll-modal__submit:hover {
  filter: brightness(1.03);
}
.nc-enroll-modal__close:focus-visible,
.nc-enroll-modal__submit:focus-visible {
  outline: 3px solid var(--nc-sky);
  outline-offset: 3px;
}
@media (max-width: 520px) {
  .nc-enroll-modal__title { margin: 1.25rem 1.15rem 0.85rem; }
  .nc-enroll-modal__form { padding: 0 1.15rem 1.25rem; }
  .nc-enroll-modal__panel .nc-alert--inline,
  .nc-enroll-modal__alert { margin-left: 1.15rem; margin-right: 1.15rem; }
}

/* =========================================================
   Text alignment lock v2.3.4 ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â equal 4-side balance sitewide
   ========================================================= */
@media (min-width: 768px) {
  :root { --nc-gutter: 1.5rem; --nc-card-pad: 1.75rem; }
}
@media (max-width: 560px) {
  :root { --nc-gutter: 1.1rem; --nc-card-pad: 1.35rem; }
}

/* Equal L/R page gutters */
.nc-container,
.nc-header .nc-container,
.nc-footer .nc-container,
.nc-main .nc-container {
  width: min(100%, var(--nc-container));
  margin-inline: auto;
  padding-inline: var(--nc-gutter);
  box-sizing: border-box;
}

/* Section vertical rhythm + centered content blocks */
.nc-section {
  padding-block: clamp(3.25rem, 6vw, 4.5rem);
  padding-inline: 0;
}
.nc-section-head {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
  margin-bottom: 2.5rem;
  padding-inline: 0;
  text-align: center;
  align-items: center;
}
.nc-section-head > * {
  text-align: center;
  margin-inline: auto;
}

/* Content cards: equal pad + centered text */
.nc-card,
.nc-cards.nc-cards--services > .nc-card,
.nc-cards--2 > .nc-card,
.nc-skill,
.nc-audience,
.nc-step,
.nc-value,
.nc-training__item,
.nc-about-pillar,
.nc-aba-topic,
.nc-aba-setting-card__body,
.nc-service-icon,
.nc-fob-card__body,
.nc-blog-card__body,
.nc-loc-highlight,
.nc-info-card,
.nc-welcome__panel,
.nc-reassure__box,
.nc-enroll,
.nc-contact-panel,
.nc-form,
.nc-form--contact,
.nc-referral-form {
  text-align: center;
  padding: var(--nc-card-pad);
  box-sizing: border-box;
}

.nc-card,
.nc-skill,
.nc-audience,
.nc-step,
.nc-value,
.nc-training__item,
.nc-about-pillar,
.nc-aba-topic,
.nc-service-icon,
.nc-blog-card__body,
.nc-loc-highlight,
.nc-info-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.nc-card h3,
.nc-card p,
.nc-card__link,
.nc-skill h3,
.nc-skill p,
.nc-audience h3,
.nc-audience > p,
.nc-step h3,
.nc-step p,
.nc-value h3,
.nc-value p,
.nc-training__item h3,
.nc-about-pillar h3,
.nc-about-pillar p,
.nc-aba-topic strong,
.nc-aba-topic em,
.nc-aba-topic__more,
.nc-service-icon h3,
.nc-service-icon p,
.nc-blog-card__title,
.nc-blog-card__excerpt,
.nc-blog-card__meta,
.nc-loc-highlight strong,
.nc-loc-highlight span,
.nc-info-card h3,
.nc-info-card p,
.nc-fob-card__quote,
.nc-fob-card__desc,
.nc-form__title,
.nc-form__subtitle,
.nc-form__note,
.nc-contact-panel__title,
.nc-contact-panel__text,
.nc-reassure__box h2,
.nc-reassure__box > p,
.nc-enroll h2,
.nc-enroll p,
.nc-welcome__lead,
.nc-welcome__body {
  text-align: center !important;
  text-align-last: center;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 100%;
}

.nc-skill__btn,
.nc-skill .nc-btn,
.nc-card__link,
.nc-blog-card__btn,
.nc-reassure__box .nc-btn,
.nc-enroll .nc-btn,
.nc-welcome__actions,
.nc-page-hero__actions,
.nc-school-section-cta,
.nc-form__submit {
  align-self: center;
  margin-inline: auto;
  justify-content: center;
}

.nc-welcome__actions,
.nc-page-hero__actions,
.nc-page-hero__actions--center,
.nc-school-section-cta,
.nc-tags,
.nc-page-hero__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}

/* Prose / long copy: centered column, equal sides */
.nc-aba-prose,
.nc-about-story__wrap,
.nc-about-story__copy,
.nc-referral-wrap,
.nc-page-hero__lead,
.nc-blog-hero__lead {
  max-width: var(--nc-prose-max);
  margin-inline: auto;
  text-align: center;
}
.nc-aba-prose p,
.nc-about-story__copy p,
.nc-aba-note {
  text-align: center;
  margin-inline: auto;
  max-width: var(--nc-prose-max);
}

/* Stack / contact heroes stay centered */
.nc-page-hero--stack,
.nc-page-hero--contact,
.nc-blog-hero {
  text-align: center;
}
.nc-page-hero--stack *,
.nc-page-hero--contact *:not(input):not(textarea):not(select):not(label),
.nc-blog-hero * {
  text-align: center;
}

/* Form fields: equal pad; labels stay readable left inside balanced card */
.nc-form .nc-field,
.nc-referral-form .nc-field,
.nc-enroll-modal__field {
  text-align: left;
  width: 100%;
}
.nc-form .nc-field label,
.nc-referral-form .nc-field label,
.nc-enroll-modal__field label {
  text-align: left;
  justify-content: flex-start;
}
.nc-form__row {
  width: 100%;
}

/* Cities / topic cards stay centered; bullet points stay left */
.nc-aba-cities li,
.nc-aba-topic {
  text-align: center;
  justify-content: center;
  align-items: center;
}

/* FOB example box: keep readable but centered block */
.nc-fob-card__example {
  text-align: center;
  width: 100%;
}

/* Contact list items: balanced inner pad + icon lock */
.nc-contact-list__item {
  text-align: left;
  padding: 0.9rem;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  column-gap: 0.85rem;
}
.nc-contact-list__item strong,
.nc-contact-list__body,
.nc-contact-list__body span,
.nc-contact-list__body a {
  text-align: left;
}
.nc-contact-list__icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

/* Footer brand text balance on small screens already; desktop left OK */
@media (max-width: 700px) {
  .nc-footer__grid,
  .nc-footer__brand,
  .nc-footer__brand .nc-logo__text {
    text-align: center;
  }
  .nc-footer__brand .nc-logo {
    justify-content: center;
  }
  .nc-step {
    text-align: center !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
  }
  .nc-step__num {
    margin: 0 0 0.75rem;
  }
}

/* ABA split hero: keep two-column left copy; still equal container gutters */
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy,
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy h1,
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy p,
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy .nc-script,
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy .nc-eyebrow {
  text-align: left !important;
  text-align-last: left;
  margin-left: 0;
  margin-right: 0;
}
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-page-hero__actions {
  justify-content: flex-start;
}

/* Undo left-lock from earlier equal-height pass */
.nc-audience h3,
.nc-skill h3,
.nc-step h3,
.nc-about-pillar h3,
.nc-training__item h3 {
  justify-content: center !important;
  text-align: center !important;
  align-items: center;
}

/* =========================================================
   Header polish v2.3.5 ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â no wrap, matched CTA colors
   ========================================================= */
.nc-header__inner {
  align-items: center;
  gap: 0.85rem;
}
.nc-logo {
  flex: 0 1 320px;
  max-width: 380px;
}
.nc-nav > ul {
  flex-wrap: nowrap !important;
}
.nc-nav > ul > li > a {
  white-space: nowrap !important;
  text-align: center;
  line-height: 1.15 !important;
}
.nc-nav > ul > li.menu-item-has-children > a {
  padding-right: 1.35rem !important;
}
.nc-btn--primary,
.nc-header__cta .nc-btn--primary,
.nc-nav__mobile-cta .nc-btn--primary,
.nc-form__submit.nc-btn--primary {
  background: var(--nc-cta-grad) !important;
  color: #fff !important;
}
.nc-btn--primary:hover,
.nc-header__cta .nc-btn--primary:hover,
.nc-nav__mobile-cta .nc-btn--primary:hover {
  background: linear-gradient(135deg, var(--nc-teal), var(--nc-sky)) !important;
  color: #fff !important;
}
.nc-nav > ul > li.current-menu-item > a,
.nc-nav > ul > li.current_page_item > a,
.nc-nav > ul > li.current-menu-ancestor > a {
  background: var(--nc-cta-grad) !important;
  color: #fff !important;
}
@media (max-width: 1100px) {
  .nc-nav > ul {
    flex-wrap: wrap !important;
    flex-direction: column;
    border-radius: 22px;
    align-items: stretch;
  }
  .nc-nav > ul > li > a {
    width: 100%;
    justify-content: flex-start;
    white-space: normal !important;
    font-size: 1.05rem !important;
    padding: 0.85rem 1rem !important;
  }
}

/* =========================================================
   Lists left + balanced section spacing v2.3.6
   ========================================================= */
@media (min-width: 768px) {
  :root {
    --nc-gutter: 1.5rem;
    --nc-card-pad: 1.5rem;
    --nc-section-y: 3.75rem;
    --nc-grid-gap: 1.25rem;
    --nc-head-gap: 2rem;
  }
}
@media (max-width: 560px) {
  :root {
    --nc-gutter: 1.1rem;
    --nc-card-pad: 1.25rem;
    --nc-section-y: 2.75rem;
    --nc-grid-gap: 1rem;
    --nc-head-gap: 1.5rem;
  }
}

/* Comfortable section spacing ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â not too airy, not cramped */
.nc-section,
.nc-aba-page .nc-section {
  padding-block: var(--nc-section-y) !important;
}
.nc-section-head,
.nc-aba-page .nc-section-head {
  margin-bottom: var(--nc-head-gap) !important;
}
.nc-page-hero,
.nc-page-hero--stack,
.nc-page-hero--contact {
  padding-block: 2.5rem 2.1rem;
}

.nc-steps__grid,
.nc-audiences__grid,
.nc-skills__grid,
.nc-training__grid,
.nc-about-pillars__grid,
.nc-services-icons,
.nc-values,
.nc-fob__grid,
.nc-aba-settings,
.nc-aba-topics,
.nc-aba-cities,
.nc-aba-list--grid,
.nc-blog-grid,
.nc-cards:not(.nc-cards--services),
.nc-cards--2 {
  gap: var(--nc-grid-gap) !important;
  row-gap: var(--nc-grid-gap) !important;
  column-gap: var(--nc-grid-gap) !important;
}

/* Bullet / checklist / point text ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â LEFT aligned */
.nc-audience ul,
.nc-audience li,
.nc-checklist,
.nc-checklist li,
.nc-aba-list,
.nc-aba-list li,
.nc-aba-list--grid > li,
.nc-aba-setting-card__body ul,
.nc-aba-setting-card__body li,
.nc-contact-steps,
.nc-contact-steps li,
.nc-about-pillar ul,
.nc-about-pillar li,
.nc-skill ul,
.nc-skill li {
  text-align: left !important;
  text-align-last: left !important;
}

.nc-audience ul {
  width: 100%;
  margin: 0.35rem 0 0;
  padding: 0;
  align-self: stretch;
}
.nc-audience li {
  position: relative !important;
  padding: 0.4rem 0.25rem 0.4rem 1.35rem !important;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}
.nc-audience li::before {
  content: "" !important;
  position: absolute !important;
  left: 0.15rem !important;
  top: 0.55em !important;
  display: block !important;
  width: 0.42rem !important;
  height: 0.42rem !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: var(--nc-teal) !important;
  color: transparent !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  line-height: 0 !important;
}

.nc-aba-list--grid > li,
.nc-aba-list li {
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
  padding: 0.7rem 0.85rem 0.7rem 2rem !important;
}

.nc-checklist li {
  justify-content: flex-start;
  text-align: left !important;
}

.nc-aba-setting-card__body {
  text-align: left !important;
  align-items: flex-start !important;
}
.nc-aba-setting-card__body h3,
.nc-aba-setting-card__body p,
.nc-aba-setting-card__body li {
  text-align: left !important;
  text-align-last: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.nc-aba-setting-card__body .nc-icon {
  margin-left: 0;
}

.nc-contact-steps {
  text-align: left !important;
  padding-left: 1.15rem;
}

/* Card internal rhythm ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â tight but readable */
.nc-card,
.nc-skill,
.nc-audience,
.nc-step,
.nc-value,
.nc-training__item,
.nc-about-pillar,
.nc-aba-topic,
.nc-service-icon,
.nc-blog-card__body,
.nc-info-card {
  padding: var(--nc-card-pad) !important;
  gap: 0.45rem;
}
.nc-audience > p,
.nc-skill p,
.nc-step p,
.nc-card p {
  margin-bottom: 0.55rem !important;
}
.nc-skill__btn,
.nc-audience .nc-btn {
  margin-top: 0.65rem;
}

/* Hide in-page TOC pill bars sitewide */
.nc-page-toc,
.nc-school-toc {
  display: none !important;
}

/* =========================================================
   Section readability v2.3.8 ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â clear purpose + easy scan
   ========================================================= */
.nc-section-head {
  max-width: 720px !important;
  margin-inline: auto !important;
  margin-bottom: var(--nc-head-gap, 2rem) !important;
  gap: 0.35rem;
}
.nc-section-head .nc-bar {
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.78rem !important;
  padding: 0.4rem 1.1rem !important;
  background: linear-gradient(135deg, var(--nc-navy), var(--nc-navy-mid)) !important;
  color: #fff !important;
  margin-bottom: 0.55rem !important;
}
.nc-section-head h2 {
  font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
  line-height: 1.25 !important;
  margin: 0 0 0.35rem !important;
  letter-spacing: -0.02em;
  max-width: 34ch;
}
.nc-section-head__lead,
.nc-section-head > p:not(.nc-script),
.nc-aba-page .nc-section-head p {
  margin: 0 auto !important;
  max-width: 42rem;
  color: var(--nc-gray) !important;
  font-size: 1.02rem !important;
  line-height: 1.55 !important;
  font-weight: 600;
  text-align: center !important;
}
.nc-section-head .nc-script {
  margin-top: 0.35rem !important;
  font-size: clamp(1.15rem, 2vw, 1.4rem) !important;
}

/* Shorter, easier card body reading */
.nc-skill p,
.nc-card p,
.nc-service-icon p,
.nc-value p,
.nc-step p {
  line-height: 1.55 !important;
  font-size: 0.96rem !important;
}
.nc-welcome__lead,
.nc-welcome__body {
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  max-width: 44rem;
}
.nc-welcome__lead {
  font-weight: 600;
  color: var(--nc-navy);
}
.nc-welcome__body {
  color: var(--nc-gray);
}

/* Card titles stand out for fast scanning */
.nc-skill h3,
.nc-card h3,
.nc-audience h3,
.nc-step h3,
.nc-value h3,
.nc-aba-topic strong,
.nc-about-pillar h3 {
  line-height: 1.25 !important;
  letter-spacing: -0.01em;
}

/* Inner-page section heads same clarity */
.nc-aba-page .nc-section-head .nc-bar,
.nc-page-hci .nc-section-head .nc-bar {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.78rem;
}

/* =========================================================
   Header + Enroll modal: no overflow / no scrollbar v2.4.0
   ========================================================= */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
.nc-header,
.nc-header__inner {
  max-width: 100%;
  overflow: visible;
}
.nc-header .nc-container {
  width: min(100% - 2rem, 1420px) !important;
  max-width: 1420px;
}
.nc-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.15rem !important;
  min-width: 0;
  min-height: 100px;
  padding: 0.95rem 0;
  overflow: visible;
}
.nc-logo {
  flex: 0 0 auto !important;
  max-width: none !important;
  min-width: 0;
  position: relative;
  z-index: 2;
}
.nc-nav {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  justify-content: center;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.nc-nav > ul {
  max-width: 100%;
  flex-wrap: nowrap !important;
  overflow: hidden;
  padding: 0.28rem;
  gap: 0.12rem;
  box-sizing: border-box;
}
.nc-nav > ul > li > a {
  padding: 0.55rem 0.72rem !important;
  font-size: 0.9rem !important;
}
.nc-header__cta {
  flex: 0 0 auto !important;
  position: relative;
  z-index: 3;
  margin-left: 0.35rem;
}
.nc-header__cta .nc-btn {
  padding: 0.8rem 1.3rem !important;
  font-size: 0.95rem !important;
}

/* Compact desktop nav so smaller laptops keep full navbar */
@media (max-width: 1360px) and (min-width: 1101px) {
  .nc-header .nc-container {
    width: min(100% - 1.25rem, 1360px) !important;
  }
  .nc-logo__tagline {
    display: none !important;
  }
  .nc-nav > ul > li > a {
    padding: 0.48rem 0.58rem !important;
    font-size: 0.84rem !important;
  }
  .nc-header__cta .nc-btn {
    padding: 0.7rem 1.05rem !important;
    font-size: 0.88rem !important;
  }
}

/* Switch to hamburger on tablet / small screens only */
@media (max-width: 1100px) {
  .nc-header__cta { display: none !important; }
  .nc-nav-toggle {
    display: inline-flex !important;
    order: 3;
  }
  .nc-logo { order: 1; max-width: calc(100% - 56px) !important; }
  .nc-nav {
    order: 2;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 1050;
    width: 100%;
    height: 100dvh;
    background: #fff;
    padding: 6.75rem 1.5rem 2.5rem;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: auto;
  }
  .nc-nav.is-open {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .nc-nav > ul {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: stretch;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    background: transparent;
    border: none;
    box-shadow: none;
    overflow: visible;
  }
  .nc-nav > ul > li > a {
    width: 100%;
    justify-content: flex-start;
    font-size: 1.05rem !important;
    padding: 0.85rem 1rem !important;
    white-space: normal !important;
  }
}

/* Enroll modal: readable text, fit viewport, Submit always visible */
.nc-enroll-modal {
  padding: 1rem !important;
  align-items: center;
  justify-content: center;
}
.nc-enroll-modal__dialog {
  width: min(100%, 640px) !important;
  max-height: min(92vh, 720px) !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
}
.nc-enroll-modal__panel {
  display: flex !important;
  flex-direction: column !important;
  max-height: min(92vh, 720px) !important;
  overflow: hidden !important;
  padding: 0 !important;
  background: linear-gradient(160deg, #e8f4ff 0%, #ffffff 46%, #e7f8f4 100%) !important;
  color: var(--nc-navy) !important;
  border-radius: 24px !important;
  border: 1px solid rgba(0, 45, 98, 0.08) !important;
  box-shadow: 0 24px 60px rgba(0, 45, 98, 0.28) !important;
}
.nc-enroll-modal__panel::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  height: 6px;
  background: linear-gradient(90deg, var(--nc-navy), var(--nc-navy-mid), var(--nc-teal), var(--nc-sky));
}
.nc-enroll-modal__title {
  flex: 0 0 auto;
  margin: 1.15rem 3rem 0.75rem 1.35rem !important;
  font-size: 1.4rem !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  color: var(--nc-navy) !important;
  text-align: center !important;
}
.nc-enroll-modal__close {
  top: 0.85rem !important;
  right: 0.85rem !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  background: rgba(0, 45, 98, 0.08) !important;
  color: var(--nc-navy) !important;
  font-size: 1.4rem !important;
}
.nc-enroll-modal__form {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0 1.35rem 1.25rem !important;
  gap: 0.75rem !important;
  overflow: hidden !important;
}
.nc-enroll-modal__fields {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.15rem;
}
.nc-enroll-modal__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.nc-enroll-modal__field {
  display: grid !important;
  margin: 0 !important;
  gap: 0.35rem !important;
  text-align: left !important;
}
.nc-enroll-modal__field label {
  font-size: 1rem !important;
  font-weight: 800 !important;
  color: var(--nc-navy) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.nc-enroll-modal__field input,
.nc-enroll-modal__field textarea,
.nc-enroll-modal__panel .nc-field__control input,
.nc-enroll-modal__panel .nc-field__control textarea {
  width: 100% !important;
  padding: 0.75rem 0.9rem !important;
  border: 2px solid rgba(0, 45, 98, 0.12) !important;
  border-radius: 12px !important;
  background: #FBFDFE !important;
  color: var(--nc-navy) !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
  min-height: 2.75rem !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  outline: none !important;
}
.nc-enroll-modal__field textarea,
.nc-enroll-modal__panel .nc-field__control--textarea textarea {
  min-height: 4.25rem !important;
  max-height: none !important;
  resize: vertical !important;
}
.nc-enroll-modal__panel .nc-field.is-invalid input,
.nc-enroll-modal__panel .nc-field.is-invalid textarea {
  border-color: #e53935 !important;
  background: #fff8f8 !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Keep error text clear of the input border */
.nc-enroll-modal__panel .nc-field__error {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  margin: 0.45rem 0 0.1rem !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  color: #c62828 !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
.nc-enroll-modal__panel .nc-field__error[hidden] {
  display: none !important;
}
.nc-enroll-modal__panel .nc-field__error-icon {
  display: none !important;
}
.nc-enroll-modal__panel .nc-field__hint,
.nc-enroll-modal__panel .nc-field__status {
  display: none !important;
}
.nc-enroll-modal__panel .nc-alert--inline,
.nc-enroll-modal__alert {
  flex: 0 0 auto;
  margin: 0 1.35rem 0.65rem !important;
  padding: 0.7rem 0.85rem !important;
  border-radius: 12px !important;
  font-size: 0.95rem !important;
}
.nc-enroll-modal__panel .nc-alert--inline .nc-alert__body strong,
.nc-enroll-modal__panel .nc-alert--inline .nc-alert__body span {
  font-size: 0.95rem !important;
  line-height: 1.35 !important;
}
.nc-enroll-modal__panel .nc-alert__icon {
  width: 1.6rem !important;
  height: 1.6rem !important;
  font-size: 0.85rem !important;
}
.nc-enroll-modal__submit,
.nc-enroll-modal__panel .nc-form__submit {
  flex: 0 0 auto !important;
  width: 100% !important;
  margin-top: 0.15rem !important;
  padding: 0.9rem 1.15rem !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  border-radius: var(--nc-radius-pill) !important;
  background: var(--nc-cta-grad) !important;
  color: #fff !important;
}
@media (max-width: 560px) {
  .nc-enroll-modal__row {
    grid-template-columns: 1fr;
  }
  .nc-enroll-modal__title {
    font-size: 1.25rem !important;
  }
}

/* =========================================================
   Final CTA ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â single calm card (v2.8.0)
   ========================================================= */
.nc-final-cta {
  padding-block: var(--nc-section-y, 3.5rem);
  background:
    linear-gradient(180deg, rgba(245, 251, 255, 0.9) 0%, rgba(255, 255, 255, 0.4) 100%);
}
.nc-final-cta__card {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: clamp(1.85rem, 4vw, 2.6rem) clamp(1.35rem, 3vw, 2.2rem);
  border-radius: calc(var(--nc-card-radius, 20px) + 4px);
  background:
    linear-gradient(145deg, rgba(225, 245, 254, 0.95) 0%, #ffffff 48%, rgba(243, 229, 245, 0.55) 100%);
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 14px 36px rgba(0, 45, 98, 0.08);
  color: var(--nc-navy);
}
.nc-final-cta__eyebrow {
  color: var(--nc-teal) !important;
  margin: 0 0 0.55rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.nc-final-cta__title {
  margin: 0 auto 0.75rem !important;
  font-family: var(--nc-font-display);
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  line-height: 1.28;
  font-weight: 800;
  color: var(--nc-navy) !important;
  text-align: center !important;
  max-width: 20ch;
  text-wrap: balance;
}
.nc-final-cta__text {
  margin: 0 auto 1.35rem !important;
  max-width: 34rem;
  color: var(--nc-gray) !important;
  line-height: 1.65;
  font-size: 1.05rem;
  text-align: center !important;
}
.nc-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  width: 100%;
}
.nc-final-cta__btn-call {
  min-width: 9.5rem;
  box-shadow: 0 8px 20px rgba(0, 45, 98, 0.18) !important;
}
.nc-final-cta__btn-outline {
  min-width: 9.5rem;
  border: 2px solid var(--nc-navy) !important;
  color: var(--nc-navy) !important;
  background: transparent !important;
}
.nc-final-cta__btn-outline:hover {
  background: var(--nc-navy) !important;
  color: #fff !important;
}

/* =========================================================
   Flyer services grid (9 offerings)
   ========================================================= */
.nc-flyer-services {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--nc-grid-gap, 1.2rem);
  align-items: stretch;
}
@media (min-width: 700px) {
  .nc-flyer-services {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .nc-flyer-services {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.nc-flyer-service {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0;
  padding: var(--nc-card-pad, 1.45rem);
  border-radius: var(--nc-radius);
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 181, 226, 0.08), transparent 42%),
    #fff;
  border: 1px solid rgba(0, 45, 98, 0.06);
  box-shadow: var(--nc-shadow);
  min-height: 100%;
  box-sizing: border-box;
}
.nc-flyer-service h3 {
  margin: 0.85rem 0 0.45rem;
  font-family: var(--nc-font-display);
  font-size: 1.05rem;
  line-height: 1.3;
  color: var(--nc-navy);
  text-align: center;
}
.nc-flyer-service p {
  margin: 0;
  color: var(--nc-gray);
  font-size: 0.96rem;
  line-height: 1.55;
  text-align: center;
  max-width: 28rem;
}
.nc-flyer-checks {
  list-style: none;
  margin: 2rem auto 0;
  padding: 1.25rem 1.35rem;
  max-width: 52rem;
  display: grid;
  gap: 0.55rem;
  background: rgba(240, 250, 255, 0.95);
  border: 1px solid rgba(0, 45, 98, 0.06);
  border-radius: var(--nc-radius);
  box-shadow: var(--nc-shadow);
}
@media (min-width: 700px) {
  .nc-flyer-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.nc-flyer-checks li {
  position: relative;
  margin: 0;
  padding: 0.35rem 0.25rem 0.35rem 1.55rem;
  color: var(--nc-navy);
  font-weight: 700;
  font-size: 0.95rem;
  text-align: left;
}
.nc-flyer-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  color: var(--nc-green);
  font-weight: 900;
}

/* =========================================================
   Sitewide text alignment ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â match Getting Started hero lead
   Centered column, equal L/R, readable measure
   ========================================================= */
:root {
  --nc-lead-max: 42rem;
  --nc-lead-size: 1.05rem;
  --nc-lead-lh: 1.7;
}

.nc-container,
.nc-header .nc-container,
.nc-footer .nc-container,
.nc-main .nc-container,
.nc-page-hero .nc-container,
.nc-section > .nc-container {
  margin-inline: auto;
  padding-inline: var(--nc-gutter);
  box-sizing: border-box;
}

/* Page / section intro copy ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â same as Getting Started lead */
.nc-page-hero__lead,
.nc-school-hero__lead,
.nc-blog-hero__lead,
.nc-faq-hero__lead,
.nc-start-hero__lead,
.nc-section-head__lead,
.nc-section-head > p:not(.nc-script),
.nc-welcome__lead,
.nc-welcome__body,
.nc-aba-prose > p,
.nc-about-story__copy p,
.nc-blog-prose > p,
.nc-page-hero--stack .nc-page-hero__lead,
.nc-page-hero--contact .nc-page-hero__lead,
.nc-page-hero:not(.nc-page-hero--split) > .nc-container > p,
.nc-page-hero:not(.nc-page-hero--split) .nc-container > p.nc-page-hero__lead {
  max-width: var(--nc-lead-max) !important;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  text-align-last: center !important;
  font-size: var(--nc-lead-size) !important;
  line-height: var(--nc-lead-lh) !important;
  color: var(--nc-gray);
  box-sizing: border-box;
}

/* Section heads: centered block, equal sides */
.nc-section-head,
.nc-aba-page .nc-section-head,
.nc-page-hci .nc-section-head {
  width: 100%;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-inline: 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.nc-section-head h2,
.nc-section-head .nc-script,
.nc-section-head .nc-bar,
.nc-section-head .nc-eyebrow {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Stack / contact / blog heroes stay centered */
.nc-page-hero--stack,
.nc-page-hero--contact,
.nc-blog-hero,
.nc-page-hero:not(.nc-page-hero--split):not(:has(.nc-aba-hero-grid)):not(:has(.nc-hero__grid)) {
  text-align: center !important;
}
.nc-page-hero--stack .nc-container,
.nc-page-hero--contact .nc-container,
.nc-blog-hero .nc-container {
  text-align: center !important;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.nc-page-hero--stack h1,
.nc-page-hero--contact h1,
.nc-blog-hero h1,
.nc-page-hero--stack .nc-eyebrow,
.nc-page-hero--contact .nc-eyebrow,
.nc-page-hero--stack .nc-script,
.nc-page-hero--contact .nc-script {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Card body copy: centered, balanced pad */
.nc-card p,
.nc-skill p,
.nc-value p,
.nc-step p,
.nc-audience > p,
.nc-service-icon p,
.nc-info-card p,
.nc-about-pillar p,
.nc-aba-topic em,
.nc-blog-card__excerpt,
.nc-loc-highlight span,
.nc-fob-card__desc,
.nc-fob-card__quote {
  text-align: center !important;
  text-align-last: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 36rem;
}

/* Home hero split: same lead metrics, left in its column */
.nc-hero__lead {
  max-width: var(--nc-lead-max) !important;
  font-size: var(--nc-lead-size) !important;
  line-height: var(--nc-lead-lh) !important;
  color: var(--nc-gray) !important;
  text-align: left !important;
  text-align-last: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ABA split hero: keep left copy in two-column layout */
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy,
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy h1,
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy p,
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy .nc-script,
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy .nc-eyebrow,
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy .nc-page-hero__lead {
  text-align: left !important;
  text-align-last: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.nc-aba-page .nc-page-hero:not(.nc-page-hero--stack) .nc-aba-hero-copy .nc-page-hero__lead {
  max-width: var(--nc-lead-max) !important;
  font-size: var(--nc-lead-size) !important;
  line-height: var(--nc-lead-lh) !important;
}

/* Lists / forms stay left for readability */
.nc-audience ul,
.nc-audience li,
.nc-checklist,
.nc-checklist li,
.nc-aba-list,
.nc-aba-list li,
.nc-skill ul,
.nc-skill li,
.nc-about-pillar ul,
.nc-about-pillar li,
.nc-contact-list__item,
.nc-contact-list__body,
.nc-contact-list__body *,
.nc-form .nc-field,
.nc-form .nc-field label,
.nc-referral-form .nc-field,
.nc-referral-form .nc-field label,
.nc-enroll-modal__field,
.nc-enroll-modal__field label {
  text-align: left !important;
  text-align-last: left !important;
}

/* Removed home/services hero offer block ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â keep hidden if cached markup appears */
.nc-hero#offer,
section.nc-hero {
  display: none !important;
}
.nc-live-banner__pills {
  display: flex !important;
}

/* =========================================================
   How we deliver care cards ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â larger + full row edges
   ========================================================= */
.nc-services-icons {
  display: grid !important;
  gap: 1.35rem !important;
  width: 100% !important;
}

/* Wide: 5 equal cards in one row */
@media (min-width: 1201px) {
  .nc-services-icons {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
  .nc-services-icons > .nc-service-icon {
    grid-column: auto !important;
  }
}

/* Mid: row1 = 3 cards, row2 = 2 cards spanning full width (same L/R as row above) */
@media (max-width: 1200px) and (min-width: 701px) {
  .nc-services-icons {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
  .nc-services-icons > .nc-service-icon:nth-child(-n+3) {
    grid-column: span 2 !important;
  }
  .nc-services-icons > .nc-service-icon:nth-child(n+4) {
    grid-column: span 3 !important;
  }
}

/* Small: 2+2+1 ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â last card spans full width so L/R matches row above */
@media (max-width: 700px) {
  .nc-services-icons {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .nc-services-icons > .nc-service-icon:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
}

.nc-service-icon {
  padding: 1.85rem 1.25rem 1.65rem !important;
  min-height: 15.5rem;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: var(--nc-radius) !important;
  background: #fff !important;
  border: 1px solid rgba(0, 45, 98, 0.06) !important;
  box-shadow: var(--nc-shadow) !important;
  box-sizing: border-box !important;
}
.nc-service-icon .nc-icon,
.nc-service-icon .nc-service-icon__circle {
  width: 96px !important;
  height: 96px !important;
  margin: 0 auto 1.15rem !important;
}
.nc-service-icon .nc-icon svg,
.nc-service-icon .nc-service-icon__circle svg {
  width: 48px !important;
  height: 48px !important;
}
.nc-service-icon h3 {
  font-size: 1.15rem !important;
  min-height: 2.6em !important;
  margin: 0 0 0.45rem !important;
  line-height: 1.3 !important;
}
.nc-service-icon p {
  font-size: 1rem !important;
  line-height: 1.55 !important;
  max-width: 100% !important;
  min-height: 3.2em !important;
}

/* =========================================================
   Sitewide text focus v2.5.0 ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â bigger type + clean alignment
   ========================================================= */
:root {
  --nc-lead-max: 44rem;
  --nc-lead-size: 1.15rem;
  --nc-lead-lh: 1.75;
}

/* Base readable size */
.nc-main,
.nc-main p,
.nc-section p {
  font-size: var(--nc-text);
  line-height: 1.7;
}

/* Headings: clearer hierarchy, centered in section heads */
.nc-section-head h2,
.nc-page-hero h1,
.nc-page-hero--stack h1,
.nc-page-hero--contact h1 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em;
}
.nc-section-head h2 {
  font-size: clamp(1.75rem, 3.2vw, 2.35rem) !important;
  max-width: 22ch;
}
.nc-page-hero h1,
.nc-page-hero--stack h1,
.nc-page-hero--contact h1 {
  font-size: clamp(2.1rem, 4vw, 2.9rem) !important;
}

/* Lead / intro paragraphs ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â larger + centered column */
.nc-page-hero__lead,
.nc-school-hero__lead,
.nc-blog-hero__lead,
.nc-faq-hero__lead,
.nc-section-head__lead,
.nc-section-head > p:not(.nc-script),
.nc-welcome__lead,
.nc-welcome__body,
.nc-page-hero--stack .nc-page-hero__lead,
.nc-page-hero--contact .nc-page-hero__lead {
  max-width: var(--nc-lead-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  text-align-last: center !important;
  font-size: var(--nc-lead-size) !important;
  line-height: var(--nc-lead-lh) !important;
  color: var(--nc-gray);
}

/* Section heads: equal sides, centered stack */
.nc-section-head,
.nc-aba-page .nc-section-head,
.nc-page-hci .nc-section-head {
  width: 100%;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  align-items: center !important;
}
.nc-section-head .nc-bar,
.nc-section-head .nc-script,
.nc-section-head .nc-eyebrow {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Card titles + body: bigger, centered */
.nc-card h3,
.nc-skill h3,
.nc-value h3,
.nc-step h3,
.nc-audience h3,
.nc-service-icon h3,
.nc-flyer-service h3,
.nc-about-pillar h3,
.nc-info-card h3,
.nc-aba-topic strong {
  font-size: 1.2rem !important;
  line-height: 1.3 !important;
  text-align: center !important;
}
.nc-card p,
.nc-skill p,
.nc-value p,
.nc-step p,
.nc-audience > p,
.nc-service-icon p,
.nc-flyer-service p,
.nc-about-pillar p,
.nc-info-card p,
.nc-aba-topic em,
.nc-blog-card__excerpt,
.nc-fob-card__desc,
.nc-fob-card__quote {
  font-size: var(--nc-text-sm) !important;
  line-height: 1.65 !important;
  text-align: center !important;
  text-align-last: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Checklist / bullets stay left but larger */
.nc-audience li,
.nc-checklist li,
.nc-aba-list li,
.nc-flyer-checks li,
.nc-skill li,
.nc-about-pillar li {
  font-size: var(--nc-text-sm) !important;
  line-height: 1.55 !important;
  text-align: left !important;
}

/* Buttons: slightly larger labels */
.nc-btn {
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

/* Home hero lead: same size system, left in split column */
.nc-hero__lead {
  font-size: var(--nc-lead-size) !important;
  line-height: var(--nc-lead-lh) !important;
  max-width: var(--nc-lead-max) !important;
  text-align: left !important;
  text-align-last: left !important;
}

/* Equal gutters everywhere */
.nc-container,
.nc-main .nc-container,
.nc-page-hero .nc-container,
.nc-section > .nc-container {
  margin-inline: auto;
  padding-inline: var(--nc-gutter);
  box-sizing: border-box;
}

/* Prose blocks */
.nc-aba-prose > p,
.nc-about-story__copy p,
.nc-blog-prose > p {
  max-width: var(--nc-lead-max) !important;
  margin-inline: auto !important;
  text-align: center !important;
  font-size: var(--nc-text) !important;
  line-height: 1.75 !important;
}

@media (max-width: 700px) {
  :root {
    --nc-text: 1.08rem;
    --nc-text-sm: 1rem;
    --nc-lead-size: 1.08rem;
  }
  .nc-section-head h2 {
    max-width: 100%;
  }
}

/* =========================================================
   Row edge lock v2.5.1 ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â next row L/R matches row above
   ========================================================= */
.nc-container,
.nc-main .nc-container,
.nc-section > .nc-container,
.nc-page-hero .nc-container,
.nc-footer .nc-container {
  width: min(100%, var(--nc-container)) !important;
  max-width: var(--nc-container);
  margin-inline: auto !important;
  padding-inline: var(--nc-gutter) !important;
  box-sizing: border-box !important;
}

/* All content grids: equal columns, full-width cells, aligned edges */
.nc-skills__grid,
.nc-services-icons,
.nc-flyer-services,
.nc-values,
.nc-audiences__grid,
.nc-steps__grid,
.nc-training__grid,
.nc-about-pillars__grid,
.nc-aba-topics,
.nc-aba-settings,
.nc-aba-cities,
.nc-aba-list--grid,
.nc-fob__grid,
.nc-blog-grid,
.nc-cards,
.nc-cards--2,
.nc-loc-highlights,
.nc-info-cards {
  width: 100% !important;
  margin-inline: 0 !important;
  justify-items: stretch !important;
  align-items: stretch !important;
  box-sizing: border-box;
}

.nc-skills__grid > *,
.nc-services-icons > *,
.nc-flyer-services > *,
.nc-values > *,
.nc-audiences__grid > *,
.nc-steps__grid > *,
.nc-training__grid > *,
.nc-about-pillars__grid > *,
.nc-aba-topics > *,
.nc-aba-settings > *,
.nc-blog-grid > *,
.nc-cards > *,
.nc-cards--2 > *,
.nc-loc-highlights > *,
.nc-service-icon,
.nc-skill,
.nc-value,
.nc-flyer-service,
.nc-audience,
.nc-step,
.nc-card,
.nc-about-pillar,
.nc-training__item,
.nc-aba-topic,
.nc-blog-card {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* 2-col orphan only: one leftover card fills full width (same L/R as row above) */
@media (max-width: 1023px) and (min-width: 700px) {
  .nc-skills__grid .nc-skill:last-child:nth-child(odd),
  .nc-blog-grid .nc-blog-card:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
}

/* Inner text can center; card shell always full cell */
.nc-service-icon p,
.nc-skill p,
.nc-value p,
.nc-flyer-service p,
.nc-card p {
  max-width: 100% !important;
}

/* Section blocks use full container width (same L/R as grids) */
.nc-section-head,
.nc-audiences__grid,
.nc-reassure__box,
.nc-welcome__panel {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.nc-section-head h2,
.nc-section-head__lead,
.nc-section-head > p:not(.nc-script),
.nc-section-head .nc-script,
.nc-section-head .nc-bar,
.nc-reassure__box > *,
.nc-welcome__lead,
.nc-welcome__body {
  max-width: var(--nc-lead-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Kill old centered/shrunk last-card rules */
@media (max-width: 900px) {
  .nc-audiences__grid {
    max-width: 100% !important;
    margin: 0 !important;
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 768px) {
  .nc-services-icons .nc-service-icon:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    max-width: none !important;
    margin-inline: 0 !important;
    width: 100% !important;
  }
}

/* =========================================================
   Motion / graphic animation v2.5.4
   How we deliver ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· Talk With Us ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· Reassure ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· Clinic info
   ========================================================= */
.nc-motion {
  opacity: 0;
  transform: translate3d(0, 1.35rem, 0);
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  transition-delay: var(--nc-motion-delay, 0ms);
  will-change: opacity, transform;
}
.nc-motion--from-left {
  transform: translate3d(-1.5rem, 0.6rem, 0);
}
.nc-motion--from-right {
  transform: translate3d(1.5rem, 0.6rem, 0);
}
.nc-motion--pop {
  transform: translate3d(0, 0.9rem, 0) scale(0.96);
}
.nc-motion.is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Card hover + icon graphic motion */
.nc-motion--card {
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  transition-delay: var(--nc-motion-delay, 0ms);
}
.nc-service-icon.nc-motion--card.is-inview:hover {
  transform: translate3d(0, -0.45rem, 0);
  box-shadow: 0 16px 36px rgba(0, 45, 98, 0.14) !important;
  border-color: rgba(0, 169, 157, 0.22) !important;
}
.nc-service-icon .nc-icon,
.nc-service-icon .nc-service-icon__circle {
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease;
}
.nc-service-icon.nc-motion--card.is-inview .nc-icon,
.nc-service-icon.nc-motion--card.is-inview .nc-service-icon__circle {
  animation: nc-icon-bob 3.8s ease-in-out infinite;
}
.nc-service-icon.nc-motion--card.is-inview:nth-child(2) .nc-icon,
.nc-service-icon.nc-motion--card.is-inview:nth-child(2) .nc-service-icon__circle {
  animation-delay: 0.25s;
}
.nc-service-icon.nc-motion--card.is-inview:nth-child(3) .nc-icon,
.nc-service-icon.nc-motion--card.is-inview:nth-child(3) .nc-service-icon__circle {
  animation-delay: 0.5s;
}
.nc-service-icon.nc-motion--card.is-inview:nth-child(4) .nc-icon,
.nc-service-icon.nc-motion--card.is-inview:nth-child(4) .nc-service-icon__circle {
  animation-delay: 0.75s;
}
.nc-service-icon.nc-motion--card.is-inview:nth-child(5) .nc-icon,
.nc-service-icon.nc-motion--card.is-inview:nth-child(5) .nc-service-icon__circle {
  animation-delay: 1s;
}
.nc-service-icon.nc-motion--card.is-inview:hover .nc-icon,
.nc-service-icon.nc-motion--card.is-inview:hover .nc-service-icon__circle {
  animation-play-state: paused;
  transform: scale(1.08) translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.12);
}

@keyframes nc-icon-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* Talk With Us ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â living gradient + pin + CTA pulse */
.nc-final-cta__card.nc-motion-root {
  position: relative;
}
.nc-final-cta__card > * {
  position: relative;
  z-index: 1;
}

@keyframes nc-cta-gradient {
  0%, 100% { background-position: 0% 40%; }
  50% { background-position: 100% 60%; }
}
@keyframes nc-cta-glow-drift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(4%, -3%, 0) scale(1.06); }
}
@keyframes nc-pin-bounce {
  0%, 100% { transform: translateY(0); }
  40% { transform: translateY(-4px); }
  60% { transform: translateY(-1px); }
}
@keyframes nc-eyebrow-shimmer {
  0%, 100% { opacity: 0.88; filter: brightness(1); }
  50% { opacity: 1; filter: brightness(1.25); }
}
@keyframes nc-cta-btn-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(0, 169, 157, 0.4); transform: translateY(0); }
  50% { box-shadow: 0 0 0 12px rgba(0, 169, 157, 0); transform: translateY(-1px); }
}
@keyframes nc-script-soft {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.02); }
}

/* Supportive environment card */
.nc-reassure__box.nc-motion-root {
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.45s ease, transform 0.45s ease;
}
.nc-reassure__box.nc-motion-root.is-inview {
  animation: nc-reassure-breathe 7s ease-in-out infinite;
}
.nc-reassure__box.nc-motion-root::after {
  content: "";
  position: absolute;
  width: 12rem;
  height: 12rem;
  border-radius: 50%;
  top: -4rem;
  right: -3rem;
  background: radial-gradient(circle, rgba(233, 30, 99, 0.12), transparent 70%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.6s ease;
}
.nc-reassure__box.nc-motion-root.is-inview::after {
  opacity: 1;
  animation: nc-reassure-orb 8s ease-in-out infinite;
}
.nc-reassure__box > * { position: relative; z-index: 1; }
.nc-reassure__box.is-inview .nc-btn {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.nc-reassure__box.is-inview .nc-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0, 169, 157, 0.28);
}

@keyframes nc-reassure-breathe {
  0%, 100% { box-shadow: var(--nc-shadow-lg); }
  50% { box-shadow: 0 18px 40px rgba(0, 45, 98, 0.14); }
}
@keyframes nc-reassure-orb {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(-1.5rem, 1rem, 0); }
}

/* Clinic information ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â lift + soft accent */
.nc-loc-info__card.nc-motion,
.nc-loc-highlight.nc-motion {
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  transition-delay: var(--nc-motion-delay, 0ms);
}
.nc-loc-info__card.is-inview:hover,
.nc-loc-highlight.is-inview:hover {
  transform: translate3d(0, -0.25rem, 0);
  box-shadow: 0 14px 30px rgba(0, 45, 98, 0.12);
  border-color: rgba(0, 169, 157, 0.2);
}

/* Keep clinic columns equal height after motion settles */
@media (min-width: 900px) {
  .nc-loc-info > .nc-loc-info__card,
  .nc-loc-info > .nc-loc-aside,
  .nc-loc-info > .nc-loc-highlights {
    height: 100%;
    align-self: stretch;
  }
  .nc-loc-info__card.nc-motion.is-inview,
  .nc-loc-highlight.nc-motion.is-inview {
    height: 100%;
  }
}
.nc-loc-info__card.is-inview .nc-loc-info__label {
  animation: nc-label-fade 0.55s ease both;
  animation-delay: calc(var(--nc-motion-delay, 0ms) + 120ms);
}

@keyframes nc-label-fade {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .nc-motion,
  .nc-motion--from-left,
  .nc-motion--from-right,
  .nc-motion--pop,
  .nc-service-icon.nc-motion--card,
  .nc-loc-info__card.nc-motion,
  .nc-loc-highlight.nc-motion {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  .nc-final-cta__card.nc-motion-root,
  .nc-reassure__box.nc-motion-root,
  .nc-reassure__box.nc-motion-root::after,
  .nc-service-icon.nc-motion--card.is-inview .nc-icon,
  .nc-service-icon.nc-motion--card.is-inview .nc-service-icon__circle,
  .nc-loc-info__card.is-inview .nc-loc-info__label {
    animation: none !important;
  }
}

/* =========================================================
   Site polish v2.5.5 ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â chrome, cards, mobile bar
   ========================================================= */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

.nc-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 1200;
  pointer-events: none;
  background: transparent;
}
.nc-scroll-progress > span {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--nc-pink), var(--nc-sky), var(--nc-teal), var(--nc-green));
  transition: width 0.08s linear;
}

.nc-header {
  position: relative;
  z-index: 1100;
  transition: box-shadow 0.3s ease, background 0.3s ease;
}

/* Card hover polish across home grids */
.nc-skill.nc-motion--card.is-inview:hover,
.nc-value.nc-motion--card.is-inview:hover,
.nc-audience.nc-motion--card.is-inview:hover,
.nc-step.nc-motion--card.is-inview:hover,
.nc-training__item.nc-motion--card.is-inview:hover {
  transform: translate3d(0, -0.4rem, 0);
  box-shadow: 0 14px 32px rgba(0, 45, 98, 0.12);
}

.nc-strip__item.nc-motion.is-inview {
  transition:
    opacity 0.55s ease,
    transform 0.45s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
  transition-delay: var(--nc-motion-delay, 0ms);
}
.nc-strip__item.nc-motion.is-inview:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 45, 98, 0.1);
}

.nc-audience__cta {
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
}
.nc-audience {
  display: flex;
  flex-direction: column;
}
.nc-audience__cta { margin-top: auto !important; padding-top: 1rem; }

.nc-footer__brand .nc-logo:hover .nc-logo__mark {
  transform: scale(1.04) rotate(-2deg);
}
.nc-footer a {
  transition: color 0.2s ease, transform 0.2s ease;
}
.nc-footer ul a:hover {
  color: var(--nc-sky);
}

/* Global back-to-top (pages without page-level control) */
.nc-back-top--global {
  z-index: 90;
}
@media (max-width: 900px) {
  .nc-back-top--global,
  .nc-page-hci .nc-back-top,
  .nc-page-hci .nc-school-top {
    bottom: 5.25rem;
  }
}

/* Mobile sticky contact bar */
.nc-mobile-bar {
  display: none;
}
@media (max-width: 900px) {
  .nc-mobile-bar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    padding: 0.65rem 0.75rem calc(0.65rem + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(14px) saturate(1.15);
    -webkit-backdrop-filter: blur(14px) saturate(1.15);
    border-top: 1px solid rgba(0, 45, 98, 0.08);
    box-shadow: 0 -8px 24px rgba(0, 45, 98, 0.08);
  }
  body {
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px));
  }
  body.nc-nav-open .nc-mobile-bar,
  body.nc-enroll-open .nc-mobile-bar {
    display: none;
  }
}
.nc-mobile-bar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.85rem;
  padding: 0.65rem 0.75rem;
  border-radius: var(--nc-radius-pill);
  font-weight: 800;
  font-size: 0.92rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}
.nc-mobile-bar__btn:active { transform: scale(0.98); }
.nc-mobile-bar__btn--call {
  background: linear-gradient(135deg, var(--nc-teal), #0288a7);
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(0, 169, 157, 0.3);
}
.nc-mobile-bar__btn--enroll {
  background: linear-gradient(135deg, var(--nc-navy), var(--nc-navy-mid));
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(0, 45, 98, 0.28);
}
.nc-mobile-bar__icon {
  display: inline-flex;
  width: 1.15rem;
  height: 1.15rem;
}
.nc-mobile-bar__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Focus clarity */
.nc-btn:focus-visible,
.nc-mobile-bar__btn:focus-visible,
.nc-nav a:focus-visible,
.nc-back-top:focus-visible {
  outline: 3px solid var(--nc-sky);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .nc-scroll-progress > span,
  .nc-header,
  .nc-header.is-scrolled .nc-header__inner,
  .nc-header.is-scrolled .nc-logo__mark {
    transition: none !important;
  }
  .nc-skill.nc-motion--card.is-inview:hover,
  .nc-value.nc-motion--card.is-inview:hover,
  .nc-audience.nc-motion--card.is-inview:hover,
  .nc-step.nc-motion--card.is-inview:hover,
  .nc-training__item.nc-motion--card.is-inview:hover,
  .nc-strip__item.nc-motion.is-inview:hover {
    transform: none !important;
  }
}

/* =========================================================
   Sitewide unify v2.6.0
   ========================================================= */
:root {
  --nc-lead-max: 44rem;
  --nc-section-head-max: 46rem;
}

.nc-page-hci .nc-section-head {
  max-width: var(--nc-section-head-max);
  margin-inline: auto;
  text-align: center;
}

.nc-page-hero--stack .nc-page-hero__lead,
.nc-page-hci .nc-page-hero__lead {
  max-width: var(--nc-lead-max);
  margin-inline: auto;
  text-align: center;
  color: var(--nc-gray);
  line-height: 1.7;
  font-size: 1.08rem;
}

.nc-flyer-service.nc-motion--card.is-inview:hover,
.nc-aba-topic.nc-motion--card.is-inview:hover,
.nc-fob-card.nc-motion--card.is-inview:hover {
  transform: translate3d(0, -0.35rem, 0);
  box-shadow: 0 14px 30px rgba(0, 45, 98, 0.12);
}

.nc-start-meet__copy.nc-aba-prose,
.nc-start-meet__copy .nc-aba-prose,
.nc-start-meet__copy.nc-aba-prose p,
.nc-start-meet__copy .nc-aba-prose p,
.nc-start-meet__copy p {
  text-align: left !important;
  text-align-last: left !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
@media (max-width: 899px) {
  .nc-school-section-cta--start {
    justify-content: flex-start;
  }
}

.nc-default-page .entry-content > *:first-child { margin-top: 0; }
.nc-default-page .entry-content > *:last-child { margin-bottom: 0; }

.nc-services-page .nc-page-hero__actions,
.nc-about-page .nc-page-hero__actions,
.nc-contact-page .nc-page-hero__actions {
  margin-top: 1.25rem;
}

.nc-contact-page .nc-contact-main,
.nc-contact-page .nc-contact-aside {
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--nc-motion-delay, 0ms);
}

.nc-aba-cities {
  justify-content: center;
}

.nc-page-hci .nc-back-top span[aria-hidden="true"] {
  font-size: 1.05rem;
  line-height: 1;
}

/* =========================================================
   All-pages set pass v2.6.1
   ========================================================= */
.nc-loc-missing {
  padding: 3rem 0;
  text-align: center;
}

.nc-aba-page .nc-aba-hero-copy .nc-page-hero__lead {
  text-align: left;
  margin-inline: 0;
  max-width: 40rem;
}
.nc-aba-page .nc-aba-hero-copy .nc-page-hero__actions {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.7rem;
  display: flex;
}

.nc-blog-hero .nc-page-hero__lead,
.nc-blog-single__hero {
  text-align: center;
}

.nc-faq-page .nc-faq-list,
.nc-referral-page .nc-referral-wrap,
.nc-contact-page .nc-contact-grid {
  width: 100%;
}

.nc-faq-page .nc-page-hero--stack .nc-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.nc-faq-page .nc-page-hero--stack .nc-eyebrow {
  display: flex;
  width: 100%;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.nc-faq-page .nc-page-hero--stack h1,
.nc-faq-page .nc-page-hero--stack .nc-script,
.nc-faq-page .nc-page-hero--stack .nc-tagline,
.nc-faq-page .nc-page-hero--stack .nc-page-hero__lead {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.nc-faq-page .nc-page-hero--stack .nc-page-hero__actions {
  justify-content: center;
}

.nc-flyer-service,
.nc-aba-topic,
.nc-aba-setting-card,
.nc-blog-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.nc-flyer-service:hover,
.nc-aba-topic:hover,
.nc-aba-setting-card:hover,
.nc-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(0, 45, 98, 0.12);
}

.nc-page-hci .nc-section {
  scroll-margin-top: 6rem;
}

@media (prefers-reduced-motion: reduce) {
  .nc-flyer-service:hover,
  .nc-aba-topic:hover,
  .nc-aba-setting-card:hover,
  .nc-blog-card:hover {
    transform: none;
  }
}

/* =========================================================
   Soft pastel card surface v2.6.2
   (sky ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â€Â ÃƒÂ‚Ã¢Â€Â™ white ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â€Â ÃƒÂ‚Ã¢Â€Â™ soft pink, rounded, soft shadow)
   ========================================================= */
:root {
  --nc-card-wash: linear-gradient(
    90deg,
    #dff4fb 0%,
    #f7fcfe 28%,
    #ffffff 50%,
    #fff7fa 72%,
    #fce8ef 100%
  );
  --nc-card-wash-soft: linear-gradient(
    105deg,
    rgba(223, 244, 251, 0.95) 0%,
    #ffffff 48%,
    rgba(252, 232, 239, 0.95) 100%
  );
  --nc-card-shadow: 0 10px 28px rgba(0, 45, 98, 0.08);
}

.nc-reassure__box,
.nc-service-icon,
.nc-skill,
.nc-value,
.nc-audience,
.nc-step,
.nc-flyer-service,
.nc-training__item,
.nc-about-pillar,
.nc-aba-topic,
.nc-aba-setting-card,
.nc-blog-card,
.nc-loc-highlight,
.nc-loc-info__row,
.nc-fob-card,
.nc-welcome__panel {
  background: var(--nc-card-wash) !important;
  border: 1px solid rgba(0, 45, 98, 0.06) !important;
  border-radius: var(--nc-radius) !important;
  box-shadow: var(--nc-card-shadow) !important;
}

.nc-loc-info__card {
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 181, 226, 0.1), transparent 42%),
    radial-gradient(circle at 0% 100%, rgba(233, 30, 99, 0.08), transparent 40%),
    var(--nc-card-wash-soft) !important;
}

.nc-loc-info__card .nc-loc-info__row,
.nc-loc-info__card .nc-loc-info__note {
  background: rgba(255, 255, 255, 0.72) !important;
}

.nc-reassure__box {
  background: var(--nc-card-wash) !important;
  box-shadow: 0 14px 36px rgba(0, 45, 98, 0.1) !important;
}

.nc-service-icon:hover,
.nc-skill:hover,
.nc-value:hover,
.nc-audience:hover,
.nc-step:hover,
.nc-flyer-service:hover,
.nc-training__item:hover,
.nc-aba-topic:hover,
.nc-aba-setting-card:hover,
.nc-blog-card:hover,
.nc-loc-highlight:hover {
  box-shadow: 0 16px 34px rgba(0, 45, 98, 0.12) !important;
}

/* =========================================================
   Design System Unify v2.7.0
   Spacing ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· type ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· alignment ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· cards ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· forms ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· responsive
   ========================================================= */

/* --- Containers & sections --- */
.nc-container {
  width: min(100%, var(--nc-container)) !important;
  max-width: var(--nc-container) !important;
  margin-inline: auto !important;
  padding-inline: var(--nc-gutter) !important;
  box-sizing: border-box !important;
}

.nc-section,
.nc-section--soft,
.nc-section--contact {
  padding-block: var(--nc-section-y) !important;
}

.nc-page-hero,
.nc-page-hero--stack {
  padding-block: clamp(2.25rem, 4.5vw, 3.5rem) !important;
  text-align: center;
}

.nc-page-hero .nc-container,
.nc-page-hero--stack .nc-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.nc-aba-page .nc-page-hero .nc-container.nc-aba-hero-grid {
  display: grid !important;
  align-items: center;
}

/* --- Typography hierarchy --- */
.nc-page-hero h1,
.nc-live-banner__title,
.nc-blog-hero h1,
.nc-blog-single__hero h1 {
  font-family: var(--nc-font-display) !important;
  font-size: var(--nc-h1) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: var(--nc-navy) !important;
  margin: 0 0 0.75rem !important;
  text-align: center !important;
  max-width: 22ch;
}

.nc-section-head {
  width: 100% !important;
  max-width: var(--nc-section-head-max) !important;
  margin: 0 auto var(--nc-head-gap) !important;
  padding: 0 !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.55rem !important;
}

.nc-section-head .nc-bar,
.nc-section-head .nc-eyebrow {
  margin: 0 !important;
}

.nc-section-head h2 {
  font-family: var(--nc-font-display) !important;
  font-size: var(--nc-h2) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.015em !important;
  color: var(--nc-navy) !important;
  margin: 0 !important;
  max-width: 28ch !important;
  text-align: center !important;
}

.nc-section-head__lead,
.nc-section-head > p:not(.nc-script):not(.nc-bar),
.nc-page-hero__lead,
.nc-blog-hero__lead {
  margin: 0 !important;
  max-width: var(--nc-lead-max) !important;
  font-size: var(--nc-lead-size) !important;
  line-height: var(--nc-lead-lh) !important;
  color: var(--nc-gray) !important;
  text-align: center !important;
  font-weight: 500 !important;
}

.nc-aba-page .nc-aba-hero-copy {
  align-items: flex-start !important;
  text-align: left !important;
}
.nc-aba-page .nc-aba-hero-copy h1,
.nc-aba-page .nc-aba-hero-copy .nc-page-hero__lead,
.nc-aba-page .nc-aba-hero-copy .nc-eyebrow,
.nc-aba-page .nc-aba-hero-copy .nc-script,
.nc-aba-page .nc-aba-hero-sub {
  text-align: left !important;
  margin-inline: 0 !important;
  max-width: 36rem !important;
}
.nc-aba-page .nc-crumbs--left {
  justify-content: flex-start !important;
}

.nc-main p,
.nc-section p,
.nc-aba-prose p {
  font-size: var(--nc-text) !important;
  line-height: 1.7 !important;
  color: var(--nc-gray);
}

.nc-main h3,
.nc-section h3,
.nc-service-icon h3,
.nc-skill h3,
.nc-value h3,
.nc-audience h3,
.nc-step h3,
.nc-flyer-service h3,
.nc-training__item h3,
.nc-about-pillar h3,
.nc-aba-topic strong,
.nc-loc-highlight strong,
.nc-fob-card h3 {
  font-family: var(--nc-font-display) !important;
  font-size: var(--nc-h3) !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: var(--nc-navy) !important;
  margin: 0 !important;
  text-align: center !important;
}

/* --- Buttons --- */
.nc-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  min-height: 2.85rem !important;
  padding: var(--nc-btn-pad-y) var(--nc-btn-pad-x) !important;
  border-radius: var(--nc-radius-pill) !important;
  font-family: var(--nc-font-body) !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease, background 0.2s ease !important;
}

.nc-skill__btn,
.nc-audience__cta .nc-btn {
  min-height: 2.45rem !important;
  padding: 0.55rem 1.15rem !important;
  font-size: 0.92rem !important;
  align-self: center !important;
  margin-top: auto !important;
}

.nc-page-hero__actions,
.nc-school-section-cta,
.nc-welcome__actions,
.nc-final-cta__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

.nc-aba-page .nc-aba-hero-copy .nc-page-hero__actions,
.nc-school-section-cta--start {
  justify-content: flex-start !important;
}

/* --- Unified cards --- */
.nc-service-icon,
.nc-skill,
.nc-value,
.nc-audience,
.nc-step,
.nc-flyer-service,
.nc-training__item,
.nc-about-pillar,
.nc-aba-topic,
.nc-aba-setting-card,
.nc-blog-card,
.nc-fob-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: var(--nc-card-pad) !important;
  min-height: 0 !important;
  gap: var(--nc-card-gap) !important;
  box-sizing: border-box !important;
  border-radius: var(--nc-radius) !important;
  background: var(--nc-card-wash) !important;
  border: 1px solid rgba(0, 45, 98, 0.07) !important;
  box-shadow: var(--nc-card-shadow) !important;
}

.nc-service-icon p,
.nc-skill p,
.nc-value p,
.nc-audience p,
.nc-step p,
.nc-flyer-service p,
.nc-training__item p,
.nc-about-pillar p,
.nc-aba-topic em,
.nc-aba-topic span,
.nc-loc-highlight span,
.nc-blog-card p,
.nc-fob-card p,
.nc-fob-card__desc {
  margin: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  font-size: var(--nc-text-sm) !important;
  line-height: 1.6 !important;
  color: var(--nc-gray) !important;
  text-align: center !important;
  font-weight: 500 !important;
}

.nc-audience ul,
.nc-audience li {
  text-align: left !important;
  width: 100% !important;
  margin-inline: 0 !important;
}

.nc-audience__cta,
.nc-skill__btn {
  margin-top: auto !important;
}

/* Equal grids */
.nc-services-icons,
.nc-skills__grid,
.nc-values,
.nc-audiences__grid,
.nc-steps__grid,
.nc-flyer-services,
.nc-training__grid,
.nc-about-pillars__grid,
.nc-aba-topics,
.nc-fob__grid,
.nc-blog-grid {
  display: grid !important;
  gap: var(--nc-grid-gap) !important;
  width: 100% !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  margin-inline: 0 !important;
}

/* Icons in cards */
.nc-service-icon .nc-icon,
.nc-skill .nc-icon,
.nc-value .nc-icon,
.nc-audience .nc-icon,
.nc-flyer-service .nc-icon,
.nc-training__item .nc-icon,
.nc-about-pillar .nc-icon,
.nc-aba-topic .nc-icon {
  width: 4.25rem !important;
  height: 4.25rem !important;
  margin: 0 0 0.35rem !important;
  flex-shrink: 0;
}

.nc-service-icon .nc-icon svg,
.nc-skill .nc-icon svg,
.nc-value .nc-icon svg,
.nc-audience .nc-icon svg,
.nc-flyer-service .nc-icon svg,
.nc-training__item .nc-icon svg,
.nc-about-pillar .nc-icon svg,
.nc-aba-topic .nc-icon svg {
  width: 2rem !important;
  height: 2rem !important;
}

/* --- Images --- */
.nc-page-hero__media img,
.nc-live-banner__photo img,
.nc-start-meet__photo img,
.nc-aba-hero-photo img,
.nc-blog-card img,
.nc-blog-single__figure img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  border-radius: var(--nc-radius-sm);
  object-fit: cover;
}

.nc-page-hero__media,
.nc-start-meet__photo,
.nc-aba-hero-photo {
  margin: 1.25rem 0 0 !important;
  max-width: min(100%, 720px);
}

/* --- Forms --- */
.nc-form,
.nc-form--contact,
.nc-referral-form {
  text-align: left !important;
  padding: clamp(1.35rem, 3vw, 1.85rem) !important;
  border-radius: var(--nc-radius) !important;
  background: var(--nc-form-surface) !important;
  border: 1px solid rgba(0, 45, 98, 0.08) !important;
  box-shadow: var(--nc-card-shadow) !important;
}

.nc-form .nc-field,
.nc-form--contact .nc-field,
.nc-referral-form .nc-field,
.nc-enroll-modal__field {
  text-align: left !important;
  margin: 0 !important;
  gap: 0.35rem !important;
}

.nc-form .nc-field label,
.nc-form--contact .nc-field label,
.nc-referral-form .nc-field label,
.nc-enroll-modal__field label {
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: var(--nc-navy) !important;
  margin: 0 0 0.2rem !important;
}

.nc-form .nc-field__control input,
.nc-form .nc-field__control textarea,
.nc-form .nc-field__control select,
.nc-form--contact .nc-field__control input,
.nc-form--contact .nc-field__control textarea,
.nc-form--contact .nc-field__control select,
.nc-referral-form .nc-field__control input,
.nc-referral-form .nc-field__control textarea,
.nc-referral-form .nc-field__control select,
.nc-referral-form select,
.nc-enroll-modal__field input,
.nc-enroll-modal__field textarea {
  width: 100% !important;
  min-height: 2.85rem !important;
  padding: 0.75rem 0.95rem !important;
  border: 1.5px solid rgba(0, 45, 98, 0.14) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--nc-navy) !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
}

.nc-form .nc-field__control textarea,
.nc-form--contact .nc-field__control textarea,
.nc-referral-form .nc-field__control textarea,
.nc-enroll-modal__field textarea {
  min-height: 7rem !important;
}

/* --- Prose --- */
.nc-aba-prose,
.nc-aba-prose--narrow,
.nc-default-page .entry-content {
  max-width: var(--nc-prose-max) !important;
  margin-inline: auto !important;
  text-align: center !important;
}

.nc-start-meet__copy.nc-aba-prose,
.nc-start-meet__copy.nc-aba-prose p,
.nc-start-meet__copy p,
.nc-about-story__copy,
.nc-aba-page .nc-aba-hero-copy {
  text-align: left !important;
  text-align-last: left !important;
  margin-inline: 0 !important;
  max-width: none !important;
}

/* --- Strip --- */
.nc-strip__grid {
  display: grid !important;
  gap: 0.85rem !important;
  align-items: stretch !important;
}
.nc-strip__item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  text-align: center !important;
  padding: 0.95rem 1rem !important;
  border-radius: var(--nc-radius-sm) !important;
  min-height: 3.5rem;
}

/* --- Footer --- */
.nc-footer__grid {
  gap: clamp(1.5rem, 3vw, 2.25rem) !important;
}
.nc-footer h4 {
  margin: 0 0 0.85rem !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}
.nc-footer ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  gap: 0.45rem !important;
}

/* --- Responsive --- */
@media (min-width: 901px) {
  :root {
    --nc-gutter: 1.5rem;
    --nc-grid-gap: 1.35rem;
  }
  .nc-skills__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .nc-values { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .nc-audiences__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .nc-steps__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .nc-strip__grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .nc-flyer-services { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .nc-training__grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .nc-welcome .nc-training__grid.nc-welcome__points { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (min-width: 1201px) {
  .nc-services-icons {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1200px) and (min-width: 701px) {
  .nc-services-icons {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
  .nc-services-icons > .nc-service-icon:nth-child(-n+3) {
    grid-column: span 2 !important;
  }
  .nc-services-icons > .nc-service-icon:nth-child(n+4) {
    grid-column: span 3 !important;
  }
}

@media (max-width: 900px) {
  :root {
    --nc-gutter: 1.15rem;
    --nc-card-pad: 1.35rem;
    --nc-grid-gap: 1rem;
    --nc-h3: 1.1rem;
  }
  .nc-skills__grid,
  .nc-flyer-services,
  .nc-training__grid,
  .nc-values,
  .nc-steps__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .nc-audiences__grid,
  .nc-aba-topics {
    grid-template-columns: 1fr !important;
  }
  .nc-page-hero__actions,
  .nc-school-section-cta,
  .nc-welcome__actions {
    width: 100%;
  }
  .nc-page-hero__actions .nc-btn,
  .nc-school-section-cta .nc-btn,
  .nc-welcome__actions .nc-btn {
    flex: 1 1 auto;
    min-width: min(100%, 10rem);
  }
}

@media (max-width: 700px) {
  :root {
    --nc-gutter: 1rem;
    --nc-card-pad: 1.25rem;
    --nc-section-y: 2.75rem;
    --nc-grid-gap: 0.9rem;
    --nc-head-gap: 1.25rem;
  }
  .nc-skills__grid,
  .nc-flyer-services,
  .nc-training__grid,
  .nc-values,
  .nc-steps__grid,
  .nc-services-icons,
  .nc-strip__grid {
    grid-template-columns: 1fr !important;
  }
  .nc-step {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .nc-page-hero h1,
  .nc-section-head h2 {
    max-width: 18ch !important;
  }
  .nc-btn {
    width: auto;
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .nc-final-cta__actions .nc-btn,
  .nc-page-hero__actions .nc-btn,
  .nc-school-section-cta .nc-btn,
  .nc-welcome__actions .nc-btn {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}

/* Keep clinic info left-aligned rows (structured data) */
.nc-loc-info__card,
.nc-loc-info__row,
.nc-loc-info__copy,
.nc-loc-info__label,
.nc-loc-info__value {
  text-align: left !important;
}
.nc-loc-info__row {
  align-items: center !important;
  flex-direction: row !important;
  display: grid !important;
}
.nc-loc-highlight {
  text-align: left !important;
  align-items: center !important;
  justify-items: start !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
}
.nc-loc-highlight__ico {
  grid-row: 1 / span 2 !important;
  justify-self: start !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  border-radius: 14px !important;
}
.nc-loc-highlight__ico svg {
  width: 1.35rem !important;
  height: 1.35rem !important;
}
.nc-loc-highlight strong,
.nc-loc-highlight > span:not(.nc-loc-highlight__ico) {
  text-align: left !important;
  text-align-last: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  justify-self: start !important;
  width: 100%;
}

/* Contact split: don't force wash on form shell twice */
.nc-contact-main .nc-form--contact {
  background: var(--nc-form-surface) !important;
}

/* Contact aside list: keep icon + text row aligned */
.nc-contact-list__item {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 0.85rem !important;
  text-align: left !important;
}
.nc-contact-list__icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  line-height: 0 !important;
  font-size: 0 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.nc-contact-list__icon svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  margin: 0 !important;
}
.nc-contact-list__body {
  min-width: 0 !important;
  display: grid !important;
  gap: 0.12rem !important;
  text-align: left !important;
}
.nc-contact-aside {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
  .nc-btn {
    transition: none !important;
  }
}

/* =========================================================
   Premium UI polish v2.7.1
   Intentional sections ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· elevated cards ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· cleaner hierarchy
   ========================================================= */

/* Section rhythm + identity */
.nc-home-page .nc-section,
.nc-services-page .nc-section,
.nc-page-hci .nc-section {
  position: relative;
}
.nc-section--soft {
  background: var(--nc-section-soft) !important;
}
.nc-home-page .nc-steps,
.nc-home-page .nc-skills,
.nc-services-page > .nc-section:not(.nc-section--soft) {
  background: #fff !important;
}
.nc-strip {
  background: linear-gradient(180deg, #fff 0%, var(--nc-off-white) 100%) !important;
  border-block: 1px solid rgba(0, 45, 98, 0.05);
  padding-block: 1.15rem !important;
}

/* Compact trust strip */
.nc-strip__item {
  background: #fff !important;
  border: 1px solid var(--nc-card-border) !important;
  box-shadow: 0 4px 14px rgba(0, 45, 98, 0.04) !important;
  border-radius: 14px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  color: var(--nc-navy) !important;
  padding: 0.85rem 1rem !important;
  min-height: 3.25rem !important;
}
.nc-strip__icon {
  width: 1.35rem !important;
  height: 1.35rem !important;
  color: var(--nc-teal) !important;
  flex-shrink: 0;
}

/* Section heads ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â clearer hierarchy, less cramped */
.nc-section-head {
  margin-bottom: clamp(1.75rem, 3vw, 2.35rem) !important;
  gap: 0.65rem !important;
}
.nc-section-head .nc-bar {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0.28rem 0.75rem !important;
  border-radius: var(--nc-radius-pill) !important;
  background: rgba(0, 169, 157, 0.1) !important;
  color: var(--nc-teal) !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
}
.nc-section-head h2 {
  max-width: 20ch !important;
  text-wrap: balance;
}
.nc-section-head__lead {
  max-width: 38rem !important;
  font-size: 1.05rem !important;
  line-height: 1.65 !important;
}

/* ---------- Premium card base (clean white, not generic wash) ---------- */
.nc-service-icon,
.nc-skill,
.nc-value,
.nc-audience,
.nc-step,
.nc-flyer-service,
.nc-training__item,
.nc-about-pillar,
.nc-aba-topic,
.nc-aba-setting-card,
.nc-blog-card,
.nc-fob-card {
  position: relative !important;
  background: var(--nc-card-surface) !important;
  border: 1px solid var(--nc-card-border) !important;
  border-radius: var(--nc-card-radius) !important;
  box-shadow: var(--nc-card-shadow) !important;
  padding: 1.6rem 1.35rem 1.45rem !important;
  gap: 0.65rem !important;
  overflow: hidden !important;
  transition:
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.28s ease,
    border-color 0.28s ease !important;
}
.nc-service-icon::before,
.nc-skill::before,
.nc-value::before,
.nc-flyer-service::before,
.nc-training__item::before,
.nc-about-pillar::before,
.nc-aba-topic::before {
  content: "";
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  top: 0;
  height: 3px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, var(--nc-sky), var(--nc-teal));
  opacity: 0.85;
}
.nc-audience::before { background: linear-gradient(90deg, var(--nc-pink), var(--nc-sky)); }
.nc-step::before { background: linear-gradient(90deg, var(--nc-navy-mid), var(--nc-teal)); }
.nc-value:nth-child(2)::before { background: linear-gradient(90deg, var(--nc-sky), var(--nc-green)); }
.nc-value:nth-child(3)::before { background: linear-gradient(90deg, var(--nc-teal), var(--nc-green)); }

.nc-service-icon:hover,
.nc-skill:hover,
.nc-value:hover,
.nc-audience:hover,
.nc-step:hover,
.nc-flyer-service:hover,
.nc-training__item:hover,
.nc-about-pillar:hover,
.nc-aba-topic:hover,
.nc-aba-setting-card:hover,
.nc-blog-card:hover,
.nc-fob-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--nc-card-shadow-hover) !important;
  border-color: rgba(0, 169, 157, 0.22) !important;
}

/* Card type: equal internal structure */
.nc-service-icon h3,
.nc-skill h3,
.nc-value h3,
.nc-audience h3,
.nc-step h3,
.nc-flyer-service h3,
.nc-training__item h3,
.nc-about-pillar h3 {
  min-height: 2.7em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.12rem !important;
  letter-spacing: -0.01em !important;
}

.nc-service-icon p,
.nc-skill p,
.nc-value p,
.nc-step p,
.nc-flyer-service p {
  flex: 1 1 auto !important;
  min-height: 3.4em !important;
  font-size: 0.97rem !important;
  line-height: 1.6 !important;
}

/* Icons ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â tighter, premium circles */
.nc-service-icon .nc-icon,
.nc-skill .nc-icon,
.nc-value .nc-icon,
.nc-audience .nc-icon,
.nc-flyer-service .nc-icon,
.nc-training__item .nc-icon,
.nc-about-pillar .nc-icon,
.nc-aba-topic .nc-icon {
  width: 3.75rem !important;
  height: 3.75rem !important;
  margin: 0.35rem 0 0.15rem !important;
  border-radius: 18px !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55);
}
.nc-service-icon .nc-icon svg,
.nc-skill .nc-icon svg,
.nc-value .nc-icon svg,
.nc-audience .nc-icon svg,
.nc-flyer-service .nc-icon svg,
.nc-training__item .nc-icon svg,
.nc-about-pillar .nc-icon svg,
.nc-aba-topic .nc-icon svg {
  width: 1.7rem !important;
  height: 1.7rem !important;
}

/* Steps ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â numbered identity */
.nc-step {
  padding-top: 1.85rem !important;
}
.nc-step__num {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  margin: 0 0 0.35rem !important;
  border-radius: 50% !important;
  background: linear-gradient(145deg, #12b5a8, #067a72) !important;
  color: #fff !important;
  font-family: var(--nc-font-display) !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.18);
}

/* Audiences ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â denser content cards */
.nc-audience {
  align-items: stretch !important;
  text-align: left !important;
  padding: 1.7rem 1.45rem 1.45rem !important;
}
.nc-audience .nc-icon {
  align-self: center !important;
}
.nc-audience h3 {
  text-align: center !important;
  min-height: 2.4em !important;
}
.nc-audience p {
  text-align: center !important;
  min-height: 0 !important;
  font-size: 0.96rem !important;
}
.nc-audience ul {
  margin: 0.35rem 0 0.5rem !important;
  padding: 0.85rem 0.9rem !important;
  background: rgba(245, 251, 255, 0.9) !important;
  border-radius: 14px !important;
  border: 1px solid rgba(0, 45, 98, 0.05) !important;
  list-style: none !important;
  display: grid !important;
  gap: 0.4rem !important;
}
.nc-audience li {
  position: relative;
  padding-left: 1.1rem !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  color: var(--nc-navy) !important;
  font-weight: 600 !important;
}
.nc-audience li::before {
  content: "" !important;
  position: absolute !important;
  left: 0.15rem !important;
  top: 0.55em !important;
  display: block !important;
  width: 0.42rem !important;
  height: 0.42rem !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: var(--nc-teal) !important;
  color: transparent !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  line-height: 0 !important;
}
.nc-audience__cta {
  margin-top: auto !important;
  padding-top: 0.5rem !important;
  text-align: center !important;
}
.nc-audience__cta .nc-btn {
  width: 100% !important;
  max-width: 14rem !important;
}

/* Welcome panel ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â one clean surface, not nested wash cards */
.nc-welcome__panel {
  background: #fff !important;
  border: 1px solid var(--nc-card-border) !important;
  border-radius: calc(var(--nc-card-radius) + 4px) !important;
  box-shadow: var(--nc-card-shadow) !important;
  padding: clamp(1.5rem, 3vw, 2.25rem) !important;
}
.nc-welcome__lead {
  max-width: 46rem !important;
  margin: 0 auto 1.5rem !important;
  text-align: center !important;
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
  color: var(--nc-gray) !important;
}
.nc-welcome__body {
  max-width: 44rem !important;
  margin: 1.35rem auto 1.5rem !important;
  text-align: center !important;
  font-size: 1.02rem !important;
  line-height: 1.7 !important;
}
.nc-training {
  margin: 0 auto 0.25rem !important;
  padding: 1.25rem 0 0.25rem !important;
  border-top: 1px solid rgba(0, 45, 98, 0.06);
}
.nc-training > .nc-eyebrow {
  text-align: center !important;
  margin: 0 0 1rem !important;
  color: var(--nc-navy) !important;
}
.nc-training__item {
  text-decoration: none !important;
  color: inherit !important;
  min-height: 100% !important;
}
.nc-training__more {
  margin-top: auto !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  color: var(--nc-teal) !important;
}

/* Reassure / special CTA surfaces keep soft wash */
.nc-reassure__box {
  background: var(--nc-card-wash) !important;
  border: 1px solid rgba(0, 45, 98, 0.07) !important;
  border-radius: calc(var(--nc-card-radius) + 6px) !important;
  box-shadow: 0 16px 40px rgba(0, 45, 98, 0.09) !important;
  padding: clamp(2rem, 4vw, 2.75rem) clamp(1.35rem, 3vw, 2.25rem) !important;
}
.nc-reassure__box h2 {
  max-width: none !important;
  margin-inline: auto !important;
}
.nc-reassure__box > p {
  max-width: 36rem !important;
  margin-inline: auto !important;
}

/* Final CTA card ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â readable soft surface */
.nc-final-cta__card {
  color: var(--nc-navy) !important;
}

/* Skills / flyer CTAs */
.nc-skill__btn,
.nc-flyer-service .nc-btn {
  margin-top: auto !important;
  align-self: center !important;
  border-width: 1.5px !important;
}

/* Values ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â slightly airier */
.nc-value {
  padding-block: 1.85rem !important;
}

/* Blog cards */
.nc-blog-card {
  padding: 0 !important;
  overflow: hidden !important;
  gap: 0 !important;
  align-items: stretch !important;
  text-align: left !important;
}
.nc-blog-card::before { display: none !important; }
.nc-blog-card__media {
  display: block !important;
  width: 100% !important;
}
.nc-blog-card__media img {
  border-radius: 0 !important;
  aspect-ratio: 16 / 10;
  object-fit: cover !important;
  width: 100% !important;
}
.nc-blog-card__body {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
  padding: 1.2rem 1.25rem 1.4rem !important;
  flex: 1 1 auto !important;
}
.nc-blog-card__title {
  font-size: 1.15rem !important;
  min-height: 0 !important;
  text-align: center !important;
  justify-content: center !important;
}
.nc-blog-card__excerpt {
  text-align: justify !important;
  text-align-last: justify !important;
  hyphens: auto;
  min-height: 0 !important;
  flex: 0 0 auto !important;
}
.nc-blog-card__btn {
  align-self: flex-start !important;
  margin-top: 0.35rem !important;
}

/* Grid breathing room */
.nc-services-icons,
.nc-skills__grid,
.nc-values,
.nc-audiences__grid,
.nc-steps__grid,
.nc-flyer-services,
.nc-training__grid {
  gap: clamp(1rem, 2vw, 1.4rem) !important;
}

/* Buttons ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â cleaner presence */
.nc-btn--primary {
  box-shadow: 0 8px 20px rgba(0, 45, 98, 0.18) !important;
}
.nc-btn--primary:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}
.nc-btn--outline:hover {
  transform: translateY(-2px);
}
.nc-btn--teal {
  box-shadow: 0 8px 20px rgba(0, 169, 157, 0.25) !important;
}

/* Soften endless icon bob on feature cards (less noisy) */
.nc-service-icon.nc-motion--card.is-inview .nc-icon,
.nc-service-icon.nc-motion--card.is-inview .nc-service-icon__circle {
  animation: none !important;
}
.nc-service-icon.nc-motion--card.is-inview:hover .nc-icon,
.nc-service-icon.nc-motion--card.is-inview:hover .nc-service-icon__circle {
  transform: scale(1.06) !important;
}

/* Mobile polish */
@media (max-width: 700px) {
  .nc-service-icon,
  .nc-skill,
  .nc-value,
  .nc-audience,
  .nc-step,
  .nc-flyer-service,
  .nc-training__item {
    padding: 1.4rem 1.15rem 1.3rem !important;
  }
  .nc-service-icon h3,
  .nc-skill h3,
  .nc-value h3,
  .nc-audience h3,
  .nc-step h3,
  .nc-flyer-service h3 {
    min-height: 0 !important;
  }
  .nc-service-icon p,
  .nc-skill p,
  .nc-value p,
  .nc-step p,
  .nc-flyer-service p {
    min-height: 0 !important;
  }
  .nc-audience__cta .nc-btn {
    max-width: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nc-service-icon,
  .nc-skill,
  .nc-value,
  .nc-audience,
  .nc-step,
  .nc-flyer-service,
  .nc-training__item,
  .nc-about-pillar,
  .nc-aba-topic,
  .nc-aba-setting-card,
  .nc-blog-card,
  .nc-fob-card,
  .nc-btn--primary,
  .nc-btn--outline,
  .nc-btn--teal {
    transition: none !important;
  }
  .nc-service-icon:hover,
  .nc-skill:hover,
  .nc-value:hover,
  .nc-audience:hover,
  .nc-step:hover,
  .nc-flyer-service:hover,
  .nc-training__item:hover,
  .nc-about-pillar:hover,
  .nc-aba-topic:hover,
  .nc-aba-setting-card:hover,
  .nc-blog-card:hover,
  .nc-fob-card:hover,
  .nc-btn--primary:hover,
  .nc-btn--outline:hover {
    transform: none !important;
  }
}

/* =========================================================
   Section gradient system + cohesive flow v2.8.0
   Subtle, readable, varied ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â not identical blocks
   ========================================================= */
.nc-home-page .nc-welcome {
  background: #fff !important;
}
.nc-home-page .nc-steps {
  background:
    linear-gradient(180deg, #ffffff 0%, #f7f3eb 100%) !important;
}
.nc-home-page .nc-audiences {
  background:
    linear-gradient(165deg, #f6f1e8 0%, #f3faf8 55%, #ffffff 100%) !important;
}
.nc-home-page .nc-reassure {
  background: #fff !important;
}
.nc-home-page .nc-skills {
  background:
    linear-gradient(180deg, #fbf8f3 0%, #eef6f4 48%, #ffffff 100%) !important;
}
.nc-home-page .nc-section:has(.nc-services-icons) {
  background:
    linear-gradient(180deg, #ffffff 0%, #f6f2ea 100%) !important;
}
.nc-home-page .nc-section:has(.nc-values) {
  background:
    linear-gradient(180deg, #f7f3eb 0%, #f3faf8 50%, #ffffff 100%) !important;
}

.nc-skills__cta {
  margin-top: 1.5rem !important;
}

/* Keep CTA text readable on soft card */
.nc-final-cta__card .nc-final-cta__title,
.nc-final-cta__card .nc-final-cta__text,
.nc-final-cta__card .nc-final-cta__eyebrow {
  color: inherit;
}
.nc-final-cta__card .nc-final-cta__title { color: var(--nc-navy) !important; }
.nc-final-cta__card .nc-final-cta__text { color: var(--nc-gray) !important; }
.nc-final-cta__card .nc-final-cta__eyebrow { color: var(--nc-teal) !important; }

.nc-mobile-bar__btn--enroll {
  text-decoration: none !important;
}

/* =========================================================
   What Is ABA page ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â denser, readable, varied layouts v2.8.1
   ========================================================= */
.nc-aba-page {
  --nc-text: 1.125rem;
  --nc-lead-size: 1.125rem;
  --nc-section-y: clamp(2.25rem, 4vw, 3.25rem);
  --nc-head-gap: 1.15rem;
  font-size: 1.125rem;
  line-height: 1.7;
}
@media (max-width: 700px) {
  .nc-aba-page {
    --nc-text: 1rem;
    font-size: 1rem;
    --nc-section-y: 2rem;
  }
}

.nc-aba-page .nc-section-head {
  margin-bottom: 1.35rem !important;
}
.nc-aba-page .nc-section-head h2 {
  max-width: 22ch !important;
  font-size: clamp(1.45rem, 2.8vw, 1.9rem) !important;
}
.nc-aba-page .nc-section-head__lead {
  font-size: 1.05rem !important;
  max-width: 38rem !important;
}

.nc-aba-page .nc-aba-hero {
  padding-block: clamp(1.75rem, 3.5vw, 2.75rem) !important;
  background: linear-gradient(180deg, #f4efe6 0%, #ffffff 85%) !important;
}
.nc-aba-page .nc-aba-hero-grid {
  display: grid !important;
  gap: 1.75rem !important;
  align-items: center !important;
}
@media (min-width: 900px) {
  .nc-aba-page .nc-aba-hero-grid {
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 2.25rem !important;
  }
}
.nc-aba-page .nc-aba-hero-copy h1 {
  font-size: clamp(1.75rem, 3.5vw, 2.4rem) !important;
  max-width: 16ch !important;
  margin-bottom: 0.85rem !important;
}
.nc-aba-page .nc-aba-hero-copy .nc-page-hero__lead {
  font-size: 1.125rem !important;
  line-height: 1.7 !important;
  margin-bottom: 1.15rem !important;
}
.nc-aba-page .nc-aba-hero-photo {
  margin: 0 !important;
  max-width: none !important;
}
.nc-aba-page .nc-aba-hero-photo img {
  border-radius: var(--nc-radius) !important;
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
  max-height: 420px;
  width: 100% !important;
}

/* Educate ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â two column */
.nc-aba-educate {
  background: #fff !important;
}
.nc-aba-educate__grid {
  display: grid;
  gap: 1.25rem 2rem;
  align-items: start;
}
@media (min-width: 800px) {
  .nc-aba-educate__grid {
    grid-template-columns: minmax(12rem, 0.85fr) 1.35fr;
  }
}
.nc-aba-educate__intro h2 {
  margin: 0.45rem 0 0;
  font-family: var(--nc-font-display);
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
  font-weight: 800;
  color: var(--nc-navy);
  line-height: 1.25;
  max-width: 12ch;
}
.nc-aba-prose--left {
  text-align: left !important;
  margin-inline: 0 !important;
  max-width: 40rem !important;
}
.nc-aba-prose--left p {
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
  color: var(--nc-gray) !important;
  margin: 0 0 0.9rem !important;
}
.nc-aba-prose--left p:last-child { margin-bottom: 0 !important; }

/* Help grid ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â compact scannable cards */
.nc-aba-help {
  background: linear-gradient(180deg, #f7f3eb 0%, #f3faf8 100%) !important;
}
.nc-aba-help-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
}
@media (min-width: 600px) {
  .nc-aba-help-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  .nc-aba-help-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.nc-aba-help-card {
  background: #fff !important;
  border: 1px solid rgba(0, 45, 98, 0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 18px rgba(0, 45, 98, 0.05) !important;
  padding: 1.1rem 1rem 1.15rem !important;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  min-height: 100%;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}
.nc-aba-help-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(0, 45, 98, 0.1) !important;
}
.nc-aba-help-card .nc-icon {
  width: 3rem !important;
  height: 3rem !important;
  margin: 0 !important;
  border-radius: 14px !important;
}
.nc-aba-help-card .nc-icon svg {
  width: 1.35rem !important;
  height: 1.35rem !important;
}
.nc-aba-help-card h3 {
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: 2.5em !important;
  color: var(--nc-navy) !important;
}
.nc-aba-help-card p {
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
  color: var(--nc-gray) !important;
  margin: 0 !important;
  min-height: 0 !important;
}
.nc-aba-page .nc-aba-note {
  margin: 1.1rem auto 0 !important;
  text-align: center;
  font-size: 0.98rem !important;
  color: var(--nc-gray);
  max-width: 36rem;
}

/* Individualized plan ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â split */
.nc-aba-plan {
  background: #fff !important;
}
.nc-aba-plan__grid {
  display: grid;
  gap: 1.5rem;
  align-items: start;
}
@media (min-width: 900px) {
  .nc-aba-plan__grid {
    grid-template-columns: 1.35fr 0.85fr;
    gap: 2rem;
  }
}
.nc-aba-plan__copy h2 {
  margin: 0.45rem 0 1rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
  font-weight: 800;
  color: var(--nc-navy);
  max-width: 16ch;
  line-height: 1.25;
}
.nc-aba-plan__points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}
.nc-aba-plan__points li {
  background: linear-gradient(135deg, #f7f3eb, #ffffff);
  border: 1px solid rgba(0, 45, 98, 0.08);
  border-radius: 16px;
  padding: 1rem 1.1rem;
  display: grid;
  gap: 0.25rem;
  box-shadow: 0 6px 16px rgba(0, 45, 98, 0.04);
}
.nc-aba-plan__points strong {
  color: var(--nc-navy);
  font-size: 1.02rem;
}
.nc-aba-plan__points span {
  color: var(--nc-gray);
  font-size: 0.95rem;
  line-height: 1.5;
}

/* Settings cards ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â tighter */
.nc-aba-page .nc-aba-settings {
  display: grid !important;
  gap: 1rem !important;
}
@media (min-width: 800px) {
  .nc-aba-page .nc-aba-settings {
    grid-template-columns: 1fr 1fr !important;
  }
}
.nc-aba-page .nc-aba-setting-card,
.nc-aba-page .nc-aba-setting-card__body {
  background: #fff !important;
  text-align: left !important;
  align-items: flex-start !important;
}
.nc-aba-page .nc-aba-setting-card {
  padding: 0 !important;
  overflow: hidden !important;
}
.nc-aba-page .nc-aba-setting-card::before {
  left: 0 !important;
  right: 0 !important;
}
.nc-aba-page .nc-aba-setting-card__body {
  padding: 1.35rem 1.3rem 1.4rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
  height: 100%;
}
.nc-aba-page .nc-aba-setting-card h3 {
  text-align: left !important;
  min-height: 0 !important;
  justify-content: flex-start !important;
  font-size: 1.15rem !important;
}
.nc-aba-page .nc-aba-setting-card p {
  text-align: left !important;
  font-size: 1rem !important;
  min-height: 0 !important;
}
.nc-aba-page .nc-aba-setting-card ul {
  margin: 0.25rem 0 0 !important;
  padding: 0 0 0 1.1rem !important;
  display: grid !important;
  gap: 0.35rem !important;
  color: var(--nc-navy);
  font-size: 0.95rem;
  line-height: 1.45;
}

/* Process timeline */
.nc-aba-expect {
  background: linear-gradient(180deg, #ffffff 0%, #f7f3eb 100%) !important;
}
.nc-aba-process {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
  counter-reset: none;
}
.nc-aba-process li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: start;
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
  border-radius: 16px;
  padding: 1.05rem 1.15rem;
  box-shadow: 0 6px 16px rgba(0, 45, 98, 0.04);
}
.nc-aba-process__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 2.6rem;
  height: 2.6rem;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--nc-teal), #007A72);
  color: #fff !important;
  font-weight: 800;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  line-height: 1;
}
.nc-aba-process strong {
  display: block;
  font-size: 1.08rem;
  color: #0B6E66;
  margin-bottom: 0.25rem;
}
.nc-aba-process li > div > span {
  display: block;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--nc-gray);
}
@media (min-width: 900px) {
  .nc-aba-process {
    grid-template-columns: 1fr;
  }
}

/* Parents card */
.nc-aba-parents {
  background: linear-gradient(165deg, #f3f0f8 0%, #f3faf8 60%, #ffffff 100%) !important;
}
.nc-aba-parents__card {
  display: grid;
  gap: 1.25rem;
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.06);
  padding: clamp(1.35rem, 3vw, 1.85rem);
}
.nc-aba-parents__copy h2 {
  margin: 0.4rem auto 0.85rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.4rem, 2.6vw, 1.85rem);
  font-weight: 800;
  color: var(--nc-navy);
  max-width: none;
  width: 100%;
  line-height: 1.25;
  text-align: center !important;
}
.nc-aba-parents__copy p {
  margin: 0 auto 0.75rem !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  color: var(--nc-gray) !important;
  text-align: center !important;
  max-width: 52ch;
}
.nc-aba-parents__copy p:last-child { margin-bottom: 0 !important; }
.nc-aba-parents__list {
  list-style: none;
  margin: 0;
  padding: 1rem;
  display: grid;
  gap: 0.65rem;
  background: linear-gradient(180deg, #f7f3eb, #ffffff);
  border-radius: 16px;
  border: 1px solid rgba(0, 45, 98, 0.06);
}
.nc-aba-parents__list li {
  position: relative;
  padding-left: 1.25rem;
  font-weight: 700;
  font-size: 0.98rem;
  color: var(--nc-navy);
  line-height: 1.4;
}
.nc-aba-parents__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--nc-teal);
}
.nc-aba-parents .nc-school-section-cta {
  margin-top: 1.1rem !important;
}

/* Locations chips */
.nc-aba-areas {
  background: #fff !important;
}
.nc-aba-cities--chips {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 0.65rem !important;
}
.nc-aba-cities--chips li {
  margin: 0 !important;
  padding: 0.65rem 1.1rem !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f4efe6, #ffffff) !important;
  border: 1px solid rgba(0, 45, 98, 0.1) !important;
  color: var(--nc-navy) !important;
  font-weight: 800 !important;
  font-size: 0.98rem !important;
  box-shadow: 0 4px 12px rgba(0, 45, 98, 0.04);
}

/* Stronger final CTA on ABA + sitewide */
.nc-final-cta__card--strong {
  max-width: 680px !important;
  padding: clamp(2rem, 4vw, 2.75rem) clamp(1.4rem, 3vw, 2.4rem) !important;
  background:
    linear-gradient(145deg, #e3f4fb 0%, #ffffff 42%, #f3eaf7 100%) !important;
  border: 1px solid rgba(0, 45, 98, 0.1) !important;
  box-shadow: 0 16px 40px rgba(0, 45, 98, 0.1) !important;
}
.nc-final-cta__card--strong .nc-final-cta__title {
  max-width: 18ch !important;
  font-size: clamp(1.55rem, 3.2vw, 2.05rem) !important;
}
.nc-final-cta__card--strong .nc-final-cta__actions .nc-btn {
  min-width: 11rem;
  min-height: 3rem !important;
}

@media (max-width: 600px) {
  .nc-aba-help-grid { grid-template-columns: 1fr 1fr !important; }
  .nc-aba-help-card h3 { min-height: 2.8em !important; font-size: 0.92rem !important; }
}
@media (max-width: 420px) {
  .nc-aba-help-grid { grid-template-columns: 1fr !important; }
}

/* =========================================================
   GLOBAL DESIGN SYSTEM v2.9.0 ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â sitewide cohesion
   Typography ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· spacing ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· cards ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· buttons ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· sections ÃƒÂƒÃ¢Â€ÂšÃƒÂ‚Ã‚Â· responsive
   ========================================================= */

body {
  font-size: var(--nc-text);
  line-height: var(--nc-body-lh, 1.7);
  color: var(--nc-ink);
}

.nc-container {
  width: min(100% - (var(--nc-gutter) * 2), var(--nc-container));
  margin-inline: auto;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Page shell ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-page-hci,
.nc-home-page {
  overflow-x: clip;
}

.nc-page-hci h1,
.nc-home-page h1 {
  font-family: var(--nc-font-display);
  font-size: var(--nc-h1);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--nc-ink);
  margin: 0 0 0.65rem;
  max-width: 22ch;
  text-wrap: balance;
}

.nc-page-hci h2,
.nc-home-page h2 {
  font-family: var(--nc-font-display);
  font-size: var(--nc-h2);
  line-height: 1.22;
  letter-spacing: -0.015em;
  color: var(--nc-ink);
  margin: 0 0 0.55rem;
  text-wrap: balance;
}

.nc-page-hci h3,
.nc-home-page h3 {
  font-family: var(--nc-font-display);
  font-size: var(--nc-h3);
  line-height: 1.3;
  color: var(--nc-ink);
  margin: 0 0 0.4rem;
}

.nc-page-hci p,
.nc-home-page p {
  font-size: var(--nc-text);
  line-height: var(--nc-body-lh, 1.7);
  color: var(--nc-ink-muted);
}

.nc-page-hci .nc-page-hero__lead,
.nc-home-page .nc-page-hero__lead,
.nc-page-hci .nc-section-head__lead,
.nc-page-hci .nc-section-head > p {
  font-size: var(--nc-lead-size);
  line-height: var(--nc-lead-lh);
  max-width: var(--nc-lead-max);
  color: var(--nc-ink-muted);
}

.nc-page-hci .nc-section-head {
  max-width: var(--nc-section-head-max);
  margin: 0 auto var(--nc-head-gap);
  text-align: center;
}

.nc-page-hci .nc-section-head .nc-bar,
.nc-page-hci .nc-eyebrow {
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--nc-teal);
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Sections: tighter, alternating washes ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-page-hci .nc-section,
.nc-home-page .nc-section {
  padding-block: var(--nc-section-y);
}

.nc-page-hci .nc-section--soft,
.nc-home-page .nc-section--soft {
  background: var(--nc-section-soft) !important;
}

.nc-page-hci > .nc-section:nth-of-type(even):not(.nc-section--soft):not(.nc-final-cta):not(.nc-page-hero),
.nc-home-page > .nc-section:nth-of-type(even):not(.nc-section--soft):not(.nc-final-cta):not(.nc-page-hero) {
  background: var(--nc-section-alt);
}

.nc-page-hci .nc-page-hero,
.nc-home-page .nc-page-hero,
.nc-home-page .nc-hero {
  background: var(--nc-hero-wash) !important;
  padding-block: clamp(2rem, 4.5vw, 3.25rem) !important;
}

.nc-page-hci .nc-page-hero--stack .nc-container {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.nc-page-hci .nc-page-hero--stack h1,
.nc-page-hci .nc-page-hero--stack .nc-page-hero__lead {
  margin-inline: auto;
  text-align: center;
}

.nc-page-hci .nc-page-hero__actions,
.nc-home-page .nc-page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.15rem;
}

.nc-page-hci .nc-page-hero__actions .nc-btn,
.nc-home-page .nc-page-hero__actions .nc-btn {
  min-width: 10.5rem;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Buttons: one system ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: var(--nc-btn-pad-y) var(--nc-btn-pad-x);
  min-height: 2.85rem;
  border-radius: var(--nc-btn-radius);
  font-family: var(--nc-font-display);
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.nc-btn--primary {
  background: var(--nc-cta-grad) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 8px 20px rgba(0, 45, 98, 0.18);
}

.nc-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 45, 98, 0.22);
  color: #fff !important;
}

.nc-btn--teal {
  background: var(--nc-teal) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 6px 16px rgba(0, 169, 157, 0.25);
}

.nc-btn--teal:hover {
  background: #00948a !important;
  color: #fff !important;
  transform: translateY(-2px);
}

.nc-btn--outline {
  background: #fff !important;
  color: var(--nc-navy) !important;
  border-color: rgba(0, 45, 98, 0.22) !important;
  box-shadow: 0 4px 12px rgba(0, 45, 98, 0.05);
}

.nc-btn--outline:hover {
  border-color: var(--nc-teal) !important;
  color: var(--nc-navy) !important;
  transform: translateY(-2px);
}

.nc-school-section-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin: 1.35rem 0 0;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Cards ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-page-hci .nc-skill,
.nc-page-hci .nc-flyer-service,
.nc-page-hci .nc-aba-topic,
.nc-page-hci .nc-aba-setting-card,
.nc-page-hci .nc-blog-card,
.nc-page-hci .nc-loc-highlight,
.nc-page-hci .nc-value,
.nc-page-hci .nc-audience,
.nc-page-hci .nc-step,
.nc-page-hci .nc-about-pillar,
.nc-page-hci .nc-training__item,
.nc-page-hci .nc-fob-card,
.nc-page-hci .nc-service-icon,
.nc-home-page .nc-skill,
.nc-home-page .nc-service-icon,
.nc-home-page .nc-audience,
.nc-home-page .nc-step,
.nc-home-page .nc-value {
  border-radius: var(--nc-card-radius) !important;
  border: 1px solid var(--nc-card-border) !important;
  box-shadow: var(--nc-card-shadow) !important;
  padding: var(--nc-card-pad) !important;
  background: var(--nc-card-surface) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.nc-page-hci .nc-skill:hover,
.nc-page-hci .nc-flyer-service:hover,
.nc-page-hci .nc-aba-topic:hover,
.nc-page-hci .nc-aba-setting-card:hover,
.nc-page-hci .nc-blog-card:hover,
.nc-page-hci .nc-loc-highlight:hover,
.nc-home-page .nc-skill:hover,
.nc-home-page .nc-service-icon:hover,
.nc-home-page .nc-audience:hover {
  transform: translateY(-3px);
  box-shadow: var(--nc-card-shadow-hover) !important;
}

.nc-page-hci .nc-skill h3,
.nc-page-hci .nc-flyer-service h3,
.nc-page-hci .nc-blog-card__title,
.nc-home-page .nc-skill h3,
.nc-home-page .nc-service-icon h3 {
  color: var(--nc-ink) !important;
  font-size: 1.08rem !important;
}

.nc-page-hci .nc-skill p,
.nc-page-hci .nc-flyer-service p,
.nc-page-hci .nc-aba-topic em,
.nc-home-page .nc-skill p,
.nc-home-page .nc-service-icon p {
  font-size: var(--nc-text-sm) !important;
  line-height: 1.55 !important;
  color: var(--nc-ink-muted) !important;
}

/* Soft accent wash on select card grids (not every card identical) */
.nc-skills__grid .nc-skill:nth-child(odd),
.nc-flyer-services .nc-flyer-service:nth-child(3n + 1),
.nc-aba-topics .nc-aba-topic:nth-child(odd) {
  background: linear-gradient(160deg, #f3fafd 0%, #ffffff 55%) !important;
}

.nc-skills__grid .nc-skill:nth-child(even),
.nc-flyer-services .nc-flyer-service:nth-child(3n + 2) {
  background: linear-gradient(160deg, #fbf6fa 0%, #ffffff 55%) !important;
}

/* Flyer services: centered icon + title; readable left-aligned body */
.nc-flyer-services .nc-flyer-service {
  align-items: center !important;
  text-align: center !important;
  padding: 1.55rem 1.4rem 1.45rem !important;
  gap: 0.55rem !important;
}
.nc-flyer-services .nc-flyer-service .nc-icon {
  align-self: center !important;
  margin: 0.15rem auto 0.1rem !important;
}
.nc-flyer-services .nc-flyer-service h3 {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0.15rem 0 0.1rem !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 1.05rem !important;
  line-height: 1.35 !important;
}
.nc-flyer-services .nc-flyer-service p {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
  text-align: left !important;
  text-align-last: auto !important;
  text-wrap: pretty;
  color: var(--nc-ink-muted, var(--nc-gray)) !important;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Prose readability ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-page-hci .nc-aba-prose,
.nc-page-hci .entry-content {
  max-width: var(--nc-prose-max);
  margin-inline: auto;
  font-size: var(--nc-text);
  line-height: var(--nc-body-lh);
  color: var(--nc-ink-muted);
}

.nc-page-hci .nc-aba-prose p,
.nc-page-hci .entry-content p {
  margin: 0 0 1rem;
}

.nc-page-hci .nc-aba-list li,
.nc-page-hci .nc-aba-list--grid li {
  font-size: var(--nc-text-sm);
  line-height: 1.5;
  color: var(--nc-ink);
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Final CTA ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-final-cta {
  background: var(--nc-section-mint) !important;
  padding-block: var(--nc-section-y-tight) !important;
}

.nc-final-cta__card--strong {
  text-align: center;
  margin-inline: auto;
}

.nc-final-cta__card--strong .nc-final-cta__text {
  max-width: 36rem;
  margin-inline: auto;
  font-size: var(--nc-lead-size);
  line-height: var(--nc-lead-lh);
  color: var(--nc-ink-muted);
}

.nc-final-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Forms ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-page-hci .nc-form,
.nc-page-hci .nc-form--contact {
  background: var(--nc-form-surface);
  border: 1px solid var(--nc-card-border);
  border-radius: var(--nc-card-radius);
  box-shadow: var(--nc-card-shadow);
  padding: clamp(1.35rem, 3vw, 2rem);
}

.nc-page-hci .nc-form label,
.nc-page-hci .nc-field label {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--nc-ink);
}

.nc-page-hci .nc-form input,
.nc-page-hci .nc-form select,
.nc-page-hci .nc-form textarea {
  font-size: 1rem;
  line-height: 1.5;
  min-height: 2.75rem;
  border-radius: 12px;
  border: 1px solid rgba(0, 45, 98, 0.16);
  color: var(--nc-ink);
}

/* ——— FAQ / details ——— */
.nc-page-hci .nc-faq-item,
.nc-page-hci details.nc-faq-item {
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.1);
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(0, 45, 98, 0.045);
  margin-bottom: 0;
  overflow: hidden;
}

.nc-page-hci .nc-faq-item summary {
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 1.06rem;
  color: var(--nc-ink);
  padding: 1.2rem 1.35rem;
  cursor: pointer;
  list-style: none;
}

.nc-page-hci .nc-faq-item__a,
.nc-page-hci .nc-faq-item__body {
  padding: 0 1.35rem 1.35rem;
  font-size: 1.02rem;
  line-height: 1.75;
  color: var(--nc-ink-muted);
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Location clinic card ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-loc-info__card {
  border-radius: var(--nc-card-radius) !important;
  box-shadow: var(--nc-card-shadow-hover) !important;
}

.nc-loc-info__label {
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--nc-teal) !important;
}

.nc-loc-info__value {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--nc-ink) !important;
  line-height: 1.4 !important;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Behavior (FOB) page ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-behavior-page .nc-fob__title {
  font-size: var(--nc-h1);
  text-align: center;
  max-width: 20ch;
  margin-inline: auto;
}

.nc-behavior-page .nc-fob__callout {
  max-width: var(--nc-prose-max);
  margin: 1rem auto 1.75rem;
  font-size: var(--nc-lead-size);
  line-height: var(--nc-lead-lh);
  text-align: center;
}

.nc-behavior-page .nc-fob-card {
  background: #fff !important;
}

.nc-behavior-page .nc-fob-card:nth-child(odd) {
  background: linear-gradient(165deg, #f3fafd, #fff 60%) !important;
}

.nc-behavior-page .nc-fob-card:nth-child(even) {
  background: linear-gradient(165deg, #fbf6fa, #fff 60%) !important;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Blog ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-blog-page .nc-blog-card__body {
  padding: 1.15rem 1.25rem 1.35rem !important;
}

.nc-blog-page .nc-blog-card__meta {
  font-size: 0.85rem !important;
  color: var(--nc-ink-muted) !important;
}

.nc-blog-page .nc-blog-card__title {
  font-size: 1.15rem !important;
  line-height: 1.3 !important;
}

.nc-blog-page .nc-blog-card__excerpt {
  font-size: var(--nc-text-sm) !important;
  line-height: 1.55 !important;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Contact ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-contact-page .nc-page-hero {
  padding-bottom: 1.5rem !important;
}

/* Contact hero: center eyebrow with rest of stack */
.nc-contact-page .nc-page-hero .nc-eyebrow {
  display: flex;
  width: 100%;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.nc-contact-page .nc-section--contact {
  padding-top: 0.5rem !important;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Strip / trust bar ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-strip {
  background: linear-gradient(90deg, rgba(225, 245, 254, 0.85), rgba(255, 255, 255, 0.95), rgba(252, 228, 236, 0.7));
  border-block: 1px solid rgba(0, 45, 98, 0.06);
  padding-block: 0.85rem;
}

.nc-strip__item {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--nc-ink);
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Accessibility / contrast ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
.nc-page-hci .nc-gray,
.nc-page-hci .nc-muted {
  color: #4a5a6a !important;
}

.nc-btn:focus-visible,
.nc-page-hci a:focus-visible,
.nc-page-hci summary:focus-visible,
.nc-page-hci input:focus-visible,
.nc-page-hci textarea:focus-visible,
.nc-page-hci select:focus-visible {
  outline: 3px solid var(--nc-sky);
  outline-offset: 2px;
}

/* ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â Responsive ÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€ÂÃƒÂƒÃ‚Â¢ÃƒÂ‚Ã¢Â‚Â¬ÃƒÂ‚Ã¢Â€Â */
@media (max-width: 900px) {
  :root {
    --nc-text: 1.05rem;
    --nc-gutter: 1.1rem;
    --nc-card-pad: 1.25rem;
  }

  .nc-page-hci .nc-page-hero__actions .nc-btn,
  .nc-final-cta__actions .nc-btn {
    min-width: 9.5rem;
  }
}

@media (max-width: 600px) {
  :root {
    --nc-text: 1.02rem;
    --nc-lead-size: 1.05rem;
    --nc-section-y: clamp(1.75rem, 6vw, 2.4rem);
    --nc-gutter: 1rem;
  }

  .nc-page-hci h1 {
    max-width: none;
  }

  .nc-page-hci .nc-page-hero__actions,
  .nc-school-section-cta,
  .nc-final-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .nc-page-hci .nc-page-hero__actions .nc-btn,
  .nc-school-section-cta .nc-btn,
  .nc-final-cta__actions .nc-btn {
    width: 100%;
    min-width: 0;
  }

  .nc-btn {
    min-height: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nc-btn,
  .nc-page-hci .nc-skill,
  .nc-page-hci .nc-flyer-service,
  .nc-page-hci .nc-aba-topic,
  .nc-home-page .nc-skill {
    transition: none !important;
  }

  .nc-btn:hover,
  .nc-page-hci .nc-skill:hover,
  .nc-home-page .nc-skill:hover {
    transform: none !important;
  }
}

/* =========================================================
   What Is ABA ÃƒÂ¢Ã¢Â‚Â¬Ã¢Â€Â redesign v2.9.1
   Distinct layouts, jump nav, bento help, timeline, family split
   ========================================================= */
.nc-aba-page[data-nc-aba="v291"] {
  --nc-text: 1.0625rem;
  --nc-section-y: clamp(2rem, 4vw, 3rem);
}

.nc-aba-page[data-nc-aba="v291"] .nc-section-head--left {
  text-align: left !important;
  margin-inline: 0 !important;
  max-width: 40rem !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-section-head--left .nc-section-head__lead {
  margin-inline: 0 !important;
}

/* Hero â€” match sitewide page hero wash */
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero {
  padding: 0 !important;
  background: var(--nc-hero-wash) !important;
  overflow: visible;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__inner {
  display: block !important;
  max-width: min(100%, 980px);
  margin-inline: auto;
  padding-inline: var(--nc-gutter);
  box-sizing: border-box;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center !important;
  padding: clamp(2.25rem, 5vw, 4rem) 0;
  text-align: center !important;
  min-width: 0;
  max-width: 100%;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy .nc-page-hero__crumbs,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy .nc-crumbs {
  justify-content: center !important;
  text-align: center !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__brand {
  margin: 0 0 0.35rem !important;
  font-family: var(--nc-font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.75rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
  color: var(--nc-navy) !important;
  line-height: 1.15 !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy h1 {
  max-width: 18em !important;
  width: auto !important;
  margin-inline: auto !important;
  font-size: clamp(1.75rem, 4vw, 2.75rem) !important;
  white-space: normal !important;
  text-wrap: balance;
  overflow-wrap: break-word;
  margin-top: 0 !important;
  margin-bottom: 0.85rem !important;
  text-align: center !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy .nc-page-hero__lead {
  max-width: 40rem !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  font-size: 1.1rem !important;
  line-height: 1.68 !important;
  white-space: normal !important;
  overflow-wrap: break-word;
}
@media (max-width: 899px) {
  .nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy {
    padding-bottom: clamp(2rem, 5vw, 3rem);
  }
}

.nc-aba-page[data-nc-aba="v291"] .nc-section-head {
  max-width: min(100%, 920px) !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-section-head h2,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-plan__copy h2,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-educate__head h2 {
  max-width: 22em !important;
  width: auto !important;
  white-space: normal !important;
  text-wrap: balance;
  font-size: clamp(1.45rem, 3vw, 2.15rem) !important;
}

/* Jump nav */
.nc-aba-jump {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 4px 16px rgba(0, 45, 98, 0.04);
}
.nc-aba-jump__list {
  list-style: none;
  margin: 0;
  padding: 0.65rem 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 0.45rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
.nc-aba-jump__list a {
  display: inline-flex;
  white-space: nowrap;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--nc-navy);
  text-decoration: none;
  background: #f3f8fc;
  border: 1px solid rgba(0, 45, 98, 0.08);
  transition: background 0.2s ease, color 0.2s ease;
}
.nc-aba-jump__list a:hover {
  background: var(--nc-navy);
  color: #fff;
  border-color: var(--nc-navy);
}

/* Educate */
.nc-aba-page[data-nc-aba="v291"] .nc-aba-educate {
  background: #fff !important;
}
.nc-aba-educate__layout {
  display: grid;
  gap: 1.5rem;
  justify-items: center;
  text-align: center;
}
.nc-aba-educate__head {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
}
.nc-aba-educate__head .nc-bar {
  margin-inline: auto;
}
.nc-aba-educate__head h2 {
  margin: 0.4rem auto 0.65rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.55rem, 3vw, 2.05rem);
  font-weight: 800;
  color: var(--nc-navy);
  line-height: 1.2;
  max-width: none;
  text-align: center;
}
.nc-aba-educate__aside {
  margin: 0 auto !important;
  font-size: 1.05rem !important;
  line-height: 1.55 !important;
  color: var(--nc-teal) !important;
  font-weight: 700 !important;
  max-width: 36rem;
  text-align: center;
}
.nc-aba-educate__body {
  display: grid;
  gap: 1.5rem;
  width: 100%;
  max-width: 68rem;
  margin-inline: auto;
  justify-items: center;
}
.nc-aba-educate .nc-aba-prose--left,
.nc-aba-educate .nc-aba-prose--left p {
  text-align: center !important;
  margin-inline: auto !important;
  max-width: 42rem !important;
}
.nc-aba-principles {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  width: 100%;
  max-width: 68rem;
}
@media (max-width: 700px) {
  .nc-aba-principles {
    grid-template-columns: 1fr;
    max-width: 28rem;
  }
}
.nc-aba-principles li {
  background: var(--nc-card-wash);
  border: 1px solid rgba(0, 45, 98, 0.08);
  border-radius: 16px;
  padding: 0.95rem 1rem;
  display: grid;
  gap: 0.2rem;
  text-align: center;
  justify-items: center;
}
.nc-aba-principles strong {
  color: var(--nc-navy);
  font-size: 1.02rem;
}
.nc-aba-principles span {
  color: var(--nc-gray);
  font-size: 0.92rem;
  line-height: 1.45;
}

/* Help bento â€” match sitewide soft sections */
.nc-aba-page[data-nc-aba="v291"] .nc-aba-help {
  background: var(--nc-section-soft) !important;
}
.nc-aba-help-bento {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}
@media (min-width: 640px) {
  .nc-aba-help-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1000px) {
  .nc-aba-help-bento {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .nc-aba-help-card--wide {
    grid-column: span 2;
  }
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-help-card {
  background: #fff !important;
  border: 1px solid rgba(0, 45, 98, 0.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 20px rgba(0, 45, 98, 0.05) !important;
  padding: 1.1rem 1.15rem !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 0.85rem !important;
  min-height: 0 !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-help-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(0, 45, 98, 0.1) !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-help-card .nc-icon {
  flex-shrink: 0;
  width: 2.75rem !important;
  height: 2.75rem !important;
  margin: 0 !important;
  border-radius: 12px !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-help-card h3 {
  font-size: 1rem !important;
  min-height: 0 !important;
  text-align: left !important;
  margin: 0 0 0.25rem !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-help-card p {
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  text-align: left !important;
  margin: 0 !important;
}
.nc-aba-help-card__text { min-width: 0; }

/* Plan â€” clean white like other page sections */
.nc-aba-page[data-nc-aba="v291"] .nc-aba-plan {
  background: #fff !important;
}
.nc-aba-plan__layout {
  display: block;
}
.nc-aba-plan__copy {
  text-align: center;
  max-width: none;
  width: 100%;
}
.nc-aba-plan__copy .nc-aba-prose,
.nc-aba-plan__copy .nc-aba-prose--left,
.nc-aba-plan__copy .nc-aba-prose--left p {
  text-align: center !important;
  max-width: none !important;
  margin-inline: auto !important;
  width: 100%;
}
.nc-aba-plan__media {
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 45, 98, 0.12);
}
.nc-aba-plan__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-plan__copy h2 {
  margin: 0.4rem auto 0.9rem;
  max-width: none;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-plan__points {
  margin-top: 1.15rem;
  grid-template-columns: 1fr;
}
@media (min-width: 700px) {
  .nc-aba-page[data-nc-aba="v291"] .nc-aba-plan__points {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-plan__points li {
  background: linear-gradient(165deg, #f3fafd, #fff) !important;
}

/* Settings ÃƒÂ¢Ã¢Â‚Â¬Ã¢Â€Â white split cards (center vs in-home) */
.nc-aba-settings-section {
  background: #f4f7fb !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-settings-section .nc-section-head,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-settings-section .nc-section-head .nc-bar,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-settings-section .nc-section-head h2,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-settings-section .nc-section-head__lead {
  text-align: center !important;
  text-align-last: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-settings--split {
  display: grid !important;
  gap: 1.25rem !important;
  width: min(100%, 980px);
  margin-inline: auto;
  align-items: stretch !important;
}
@media (min-width: 800px) {
  .nc-aba-page[data-nc-aba="v291"] .nc-aba-settings--split {
    grid-template-columns: 1fr 1fr !important;
  }
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card--center,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card--home {
  background: #fff !important;
  border: 1px solid rgba(0, 45, 98, 0.08) !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 40px rgba(15, 35, 70, 0.08) !important;
  padding: 0 !important;
  overflow: hidden !important;
  height: 100%;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card::before {
  content: none !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card__body {
  background: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0.45rem !important;
  padding: 1.65rem 1.55rem 1.7rem !important;
  height: 100%;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card__body .nc-icon {
  width: 64px !important;
  height: 64px !important;
  margin: 0 0 0.85rem !important;
  box-shadow: none !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card__body .nc-icon svg {
  width: 30px !important;
  height: 30px !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card h3 {
  text-align: center !important;
  margin: 0 auto !important;
  width: 100%;
  min-height: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #16325c !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card p {
  text-align: left !important;
  margin: 0.15rem 0 0.35rem !important;
  width: 100%;
  color: #6b7c90 !important;
  font-size: 0.98rem !important;
  line-height: 1.55 !important;
  font-weight: 500 !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card ul {
  list-style: none !important;
  margin: 0.55rem 0 0 !important;
  padding: 0 !important;
  display: grid !important;
  gap: 0.55rem !important;
  width: 100% !important;
  max-width: 100%;
  align-self: stretch !important;
  justify-items: start !important;
  text-align: left !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card li {
  position: relative;
  padding: 0 0 0 1.7rem !important;
  border: 0 !important;
  font-weight: 700;
  color: #16325c;
  line-height: 1.4;
  font-size: 0.95rem;
  width: 100% !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-setting-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.12em;
  width: 1.15rem;
  height: 1.15rem;
  border-radius: 50%;
  background: #7ac143 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.2 6.4 11.1 12.5 4.8'/%3E%3C/svg%3E") center / 0.72rem no-repeat;
}

/* Process track */
.nc-aba-page[data-nc-aba="v291"] .nc-aba-expect {
  background:
    radial-gradient(circle at 50% 0%, rgba(0, 169, 157, 0.07), transparent 45%),
    #fff !important;
}
.nc-aba-process--track {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.nc-aba-expect {
  overflow-x: clip;
}
.nc-aba-process--track li {
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  text-align: center !important;
  padding: 1.15rem 1rem 1.25rem !important;
}
.nc-aba-process--track .nc-aba-process__num {
  margin: 0 auto 0.65rem !important;
  color: #fff !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
}
.nc-aba-process--track li > div {
  width: 100%;
  text-align: center !important;
}
.nc-aba-process--track strong,
.nc-aba-process--track li > div > span {
  text-align: center !important;
  text-align-last: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (min-width: 700px) and (max-width: 1099px) {
  .nc-aba-process--track {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
  }
  .nc-aba-process--track li:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 0.4rem);
    justify-self: center;
    width: 100%;
  }
}
@media (min-width: 1100px) {
  .nc-aba-process--track {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 0.65rem !important;
  }
  .nc-aba-process--track::before {
    content: "";
    position: absolute;
    top: 2.1rem;
    left: 6%;
    right: 6%;
    height: 2px;
    background: linear-gradient(90deg, #7ad4cc, var(--nc-teal), #007A72);
    opacity: 0.35;
    z-index: 0;
  }
  .nc-aba-process--track li {
    padding: 1.05rem 0.65rem 1.15rem !important;
    position: relative;
    z-index: 1;
    min-width: 0;
    width: auto;
    max-width: none;
  }
  .nc-aba-process--track strong {
    font-size: 1rem !important;
  }
  .nc-aba-process--track span {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
  }
}

/* Parents â€” match sitewide soft sections */
.nc-aba-page[data-nc-aba="v291"] .nc-aba-parents {
  background: var(--nc-section-soft) !important;
}
.nc-aba-parents__layout {
  display: grid;
  gap: 1.25rem;
  justify-items: center;
}
.nc-aba-parents__media {
  display: none;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-parents__card,
.nc-aba-parents__card {
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.06);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  width: min(100%, 760px);
  margin-inline: auto;
}
.nc-aba-parents__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.nc-aba-educate__head .nc-bar,
.nc-aba-plan__copy .nc-bar,
.nc-aba-parents__copy .nc-bar {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 0 0.55rem !important;
  padding: 0.28rem 0.75rem !important;
  border-radius: var(--nc-radius-pill) !important;
  background: rgba(0, 169, 157, 0.1) !important;
  box-shadow: none !important;
  color: var(--nc-teal) !important;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  line-height: 1.2;
  text-align: center !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-parents__list,
.nc-aba-parents__list {
  background: linear-gradient(180deg, #f7f3eb, #ffffff);
  width: min(100%, 420px);
  text-align: left;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-parents .nc-school-section-cta--start,
.nc-aba-parents .nc-school-section-cta {
  justify-content: center !important;
  margin-top: 0.25rem !important;
  width: 100%;
}

/* Areas */
.nc-aba-page[data-nc-aba="v291"] .nc-aba-areas {
  background: #fff !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-cities--chips li {
  background: linear-gradient(135deg, #eef6f4, #ffffff) !important;
}

@media (max-width: 600px) {
  .nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy .nc-page-hero__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
  .nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy .nc-page-hero__actions .nc-btn {
    width: 100%;
  }
  .nc-aba-page[data-nc-aba="v291"] .nc-aba-help-bento {
    grid-template-columns: 1fr !important;
  }
  .nc-aba-page[data-nc-aba="v291"] .nc-aba-help-card--wide {
    grid-column: auto;
  }
}


/* =========================================================
   Audience cards polish v2.9.3 ÃƒÂ¢Ã¢Â‚Â¬Ã¢Â€Â clean bullets, equal cards
   ========================================================= */
.nc-audiences__grid {
  align-items: stretch !important;
}
.nc-home-page .nc-audience,
.nc-page-hci .nc-audience {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  height: 100% !important;
  padding: 1.6rem 1.35rem 1.35rem !important;
  background: #fff !important;
  border: 1px solid rgba(0, 45, 98, 0.08) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 24px rgba(0, 45, 98, 0.06) !important;
}
.nc-home-page .nc-audience > p,
.nc-page-hci .nc-audience > p:not(.nc-audience__cta) {
  text-align: center !important;
  color: #4a5a6a !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  margin: 0 0 0.85rem !important;
}
.nc-home-page .nc-audience ul,
.nc-page-hci .nc-audience ul {
  width: 100% !important;
  list-style: none !important;
  margin: 0 0 0.85rem !important;
  padding: 0.9rem 1rem !important;
  background: linear-gradient(180deg, #f7f3eb, #ffffff) !important;
  border: 1px solid rgba(0, 45, 98, 0.06) !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 0.45rem !important;
  text-align: left !important;
}
.nc-home-page .nc-audience li,
.nc-page-hci .nc-audience li {
  list-style: none !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0.15rem 0 0.15rem 1.4rem !important;
  border: 0 !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--nc-navy) !important;
  text-align: left !important;
}
.nc-home-page .nc-audience li::before,
.nc-page-hci .nc-audience li::before,
.nc-audience li::before {
  content: "" !important;
  position: absolute !important;
  left: 0.15rem !important;
  top: 0.28em !important;
  width: 0.38rem !important;
  height: 0.68rem !important;
  border-radius: 0 !important;
  border-right: 2.5px solid var(--nc-green) !important;
  border-bottom: 2.5px solid var(--nc-green) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: rotate(40deg) !important;
  display: block !important;
}
.nc-home-page .nc-audience__cta,
.nc-page-hci .nc-audience__cta {
  margin-top: auto !important;
  padding-top: 0.35rem !important;
  width: 100% !important;
  text-align: center !important;
}
.nc-home-page .nc-audience__cta .nc-btn,
.nc-page-hci .nc-audience__cta .nc-btn {
  width: 100% !important;
  max-width: 15rem !important;
}

/* =========================================================
   Banner restore â€” original flyer layout (desktop / tablet landscape)
   Mobile centering is handled in the mobile block at file end.
   ========================================================= */
@media (min-width: 821px) {
  .nc-live-banner__copy {
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .nc-live-banner__title {
    text-align: left !important;
    margin-bottom: 0.45rem !important;
  }
  .nc-live-banner__kicker .line,
  .nc-live-banner__accept .line {
    text-align: left !important;
  }
}

/* Keep Register/Contact CTA visible under â€œAccepting New Clients!â€ */
.nc-live-banner__cta {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin-top: 0.75rem !important;
  position: relative !important;
  z-index: 9 !important;
  pointer-events: auto !important;
}
.nc-live-banner__pills {
  display: flex !important;
  z-index: 8 !important;
}

/* Brush badge â€” keep as compact circle, never stretch across photo */
.nc-home-page .nc-live-banner__brush,
.nc-live-banner__brush {
  width: clamp(6.25rem, 10.5vw, 8rem) !important;
  max-width: 8rem !important;
  min-width: 0 !important;
  height: clamp(6.25rem, 10.5vw, 8rem) !important;
  max-height: 8rem !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  padding: 0.65rem 0.55rem !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow: hidden !important;
  font-size: clamp(0.95rem, 1.35vw, 1.15rem) !important;
  line-height: 1.05 !important;
  color: #14233a !important;
}

/* Reassure ÃƒÂ¢Ã¢Â‚Â¬Ã¢Â€Â centered single column: copy + pills + phone */
.nc-home-page .nc-reassure {
  padding-bottom: 1.25rem !important;
  background:
    radial-gradient(circle at 12% 20%, rgba(0, 181, 226, 0.08), transparent 42%),
    radial-gradient(circle at 88% 80%, rgba(233, 30, 99, 0.06), transparent 40%),
    linear-gradient(180deg, #f7fbfe 0%, #ffffff 100%) !important;
}
.nc-home-page .nc-enroll-block {
  padding-top: 0.25rem !important;
}
.nc-reassure__panel {
  display: block;
  max-width: 760px;
  margin-inline: auto;
  background: #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
  border-radius: 24px;
  box-shadow: 0 16px 40px rgba(0, 45, 98, 0.08);
  overflow: hidden;
  padding: 0;
}
.nc-reassure__media {
  display: none !important;
}
.nc-home-page .nc-reassure__box,
.nc-page-hci .nc-reassure__box {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.25rem, 4vw, 2.5rem) !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: none !important;
  margin: 0 !important;
  width: 100%;
}
.nc-reassure__box .nc-bar,
.nc-reassure__box .nc-eyebrow {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 auto 0.85rem !important;
  padding: 0.28rem 0.75rem !important;
  border-radius: var(--nc-radius-pill) !important;
  background: rgba(0, 169, 157, 0.1) !important;
  box-shadow: none !important;
  color: var(--nc-teal) !important;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  line-height: 1.2;
  align-self: center !important;
  text-align: center !important;
}
.nc-reassure__box h2 {
  max-width: none !important;
  width: max-content !important;
  margin-inline: auto !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}
.nc-reassure__box > p {
  max-width: 34rem !important;
  margin-inline: auto !important;
  text-align: center !important;
}
.nc-reassure__pills,
.nc-reassure__phone,
.nc-reassure__actions {
  display: none !important;
}
@media (max-width: 820px) {
  .nc-reassure__box h2 {
    white-space: normal !important;
    text-wrap: balance !important;
    width: auto !important;
  }
}

/* Final CTA ÃƒÂ¢Ã¢Â‚Â¬Ã¢Â€Â visible phone */
.nc-final-cta__card {
  text-align: center !important;
  margin-inline: auto !important;
}
.nc-final-cta__phone {
  margin: 0.35rem 0 1rem !important;
  font-family: var(--nc-font-display);
  font-size: clamp(1.35rem, 2.6vw, 1.7rem) !important;
  font-weight: 800 !important;
  color: var(--nc-navy) !important;
  letter-spacing: 0.02em;
}
.nc-final-cta__phone a {
  color: inherit;
  text-decoration: none;
  border-bottom: 2px solid rgba(0, 169, 157, 0.4);
}
.nc-final-cta__phone a:hover {
  color: var(--nc-teal);
  border-bottom-color: var(--nc-teal);
}

@media (max-width: 700px) {
  .nc-live-banner__pills {
    position: static !important;
    transform: none !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.45rem !important;
    padding: 0.75rem 1rem 1rem !important;
    width: 100%;
  }
  .nc-lb-pill {
    min-width: 5.5rem;
    font-size: 1.2rem !important;
    transform: none !important;
    margin: 0 !important;
  }
  .nc-reassure__actions {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .nc-reassure__actions .nc-btn {
    width: 100%;
    min-width: 0;
  }
}

/* =========================================================
   Home section titles ÃƒÂ¢Ã¢Â‚Â¬Ã¢Â€Â keep key headlines on one line
   ========================================================= */
.nc-welcome .nc-section-head,
.nc-steps .nc-section-head,
.nc-audiences .nc-section-head,
.nc-skills .nc-section-head,
.nc-how .nc-section-head,
.nc-promise .nc-section-head {
  max-width: min(100%, 56rem) !important;
}
.nc-audiences .nc-section-head {
  max-width: min(100%, 64rem) !important;
}
.nc-welcome .nc-section-head h2,
.nc-steps .nc-section-head h2,
.nc-audiences .nc-section-head h2,
.nc-skills .nc-section-head h2,
.nc-how .nc-section-head h2,
.nc-promise .nc-section-head h2 {
  white-space: nowrap !important;
  text-wrap: nowrap !important;
  max-width: none !important;
  width: auto !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 820px) {
  .nc-welcome .nc-section-head h2,
  .nc-steps .nc-section-head h2,
  .nc-audiences .nc-section-head h2,
  .nc-skills .nc-section-head h2,
  .nc-how .nc-section-head h2,
  .nc-promise .nc-section-head h2 {
    white-space: normal !important;
    text-wrap: balance !important;
    max-width: 28ch !important;
    width: 100% !important;
  }
}

/* =========================================================
   Now Enrolling ÃƒÂ¢Ã¢Â‚Â¬Ã¢Â€Â form directly under reassure (v2.9.7)
   ========================================================= */
.nc-enroll-block {
  padding-top: 0.5rem !important;
  background:
    linear-gradient(180deg, #ffffff 0%, rgba(245, 251, 255, 0.9) 45%, #ffffff 100%);
}
.nc-enroll-inline {
  position: relative;
  max-width: 560px;
  margin: 0 auto;
  padding-top: 1.1rem;
}
.nc-enroll-inline__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 1.15rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--nc-navy-mid, #0a4d68), var(--nc-teal, #00a99d));
  color: #fff;
  font-family: var(--nc-font-display);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(0, 45, 98, 0.22);
}
.nc-enroll-inline__panel {
  position: relative;
  background: #fff;
  color: var(--nc-navy);
  border-radius: 24px;
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 18px 48px rgba(0, 45, 98, 0.14);
  overflow: hidden;
  padding: 1.5rem 0 0;
  margin-top: 0.85rem;
}
.nc-enroll-inline__panel::before {
  display: none;
}
.nc-enroll-inline__title {
  margin: 0.35rem 1.35rem 0.85rem !important;
  font-size: 1.55rem !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: var(--nc-navy) !important;
  text-align: center !important;
}
.nc-enroll-inline .nc-enroll-modal__form {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 1.35rem 1.35rem !important;
  gap: 0.75rem !important;
  overflow: visible !important;
  max-height: none !important;
}
.nc-enroll-inline .nc-enroll-modal__fields {
  overflow: visible;
  max-height: none;
}
.nc-enroll-inline .nc-enroll-modal__alert {
  margin: 0 1.35rem 0.65rem !important;
}
.nc-enroll-inline .nc-alert--inline {
  margin: 0 0 0.35rem !important;
}
@media (max-width: 560px) {
  .nc-enroll-inline__title {
    font-size: 1.3rem !important;
  }
}

/* Home trust cards ÃƒÂ¢Ã¢Â‚Â¬Ã¢Â€Â sit on the banner edge */
.nc-home-page .nc-strip {
  background: transparent !important;
  border: 0 !important;
  margin-top: -2.6rem;
  padding: 0 0 1.75rem !important;
  position: relative;
  z-index: 3;
}
.nc-home-page .nc-strip__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem;
  align-items: stretch;
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: clamp(1rem, 3vw, 2.5rem) !important;
  box-sizing: border-box !important;
}
.nc-home-page .nc-strip__item {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.8rem !important;
  background: #fff !important;
  border: 1px solid rgba(0, 45, 98, 0.07) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 32px rgba(0, 45, 98, 0.1) !important;
  padding: 1rem 1.15rem !important;
  min-height: 5.5rem !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  color: var(--nc-navy) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}
.nc-home-page .nc-strip__item:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 36px rgba(0, 45, 98, 0.14) !important;
}
.nc-home-page .nc-strip__icon {
  width: 2.6rem !important;
  height: 2.6rem !important;
  min-width: 2.6rem !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.nc-home-page .nc-strip__icon svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
}
@media (max-width: 800px) {
  .nc-home-page .nc-strip {
    margin-top: -1.25rem;
  }
  .nc-home-page .nc-strip__grid {
    grid-template-columns: 1fr !important;
  }
  .nc-home-page .nc-strip__item {
    min-height: 0 !important;
  }
}

/* =========================================================
   Now Enrolling ÃƒÂ¢Ã¢Â‚Â¬Ã¢Â€Â hover submenu under header CTA (v3.0)
   Anchors form directly under the button (like a nav dropdown).
   ========================================================= */
.nc-header__cta {
  position: relative !important;
  overflow: visible !important;
}

.nc-header__cta .nc-btn[data-nc-enroll-open] {
  position: relative;
  z-index: 2;
}

.nc-header__cta .nc-enroll-modal[hidden] {
  display: block !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(12px) scale(0.96) !important;
}

.nc-header__cta .nc-enroll-modal {
  position: absolute !important;
  inset: auto !important;
  top: calc(100% + 0.35rem) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 1400 !important;
  display: block !important;
  width: min(580px, calc(100vw - 1.5rem)) !important;
  max-height: none !important;
  padding: 0 !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(0.96);
  transform-origin: top right;
  transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.28s ease;
}

/* Bridge so cursor can move from button into panel without closing. */
.nc-header__cta .nc-enroll-modal::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
}

.nc-header__cta:hover .nc-enroll-modal:not([hidden]),
.nc-header__cta:focus-within .nc-enroll-modal:not([hidden]),
.nc-header__cta.is-enroll-open .nc-enroll-modal:not([hidden]) {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.nc-header__cta.is-enroll-dismissed .nc-enroll-modal,
.nc-header__cta.is-enroll-dismissed:hover .nc-enroll-modal,
.nc-header__cta.is-enroll-dismissed:focus-within .nc-enroll-modal {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(12px) scale(0.96) !important;
}

.nc-header__cta .nc-enroll-modal__dialog {
  position: relative !important;
  width: 100% !important;
  max-height: min(78vh, 640px) !important;
  overflow: visible !important;
  display: block !important;
}

.nc-header__cta .nc-enroll-modal__close {
  top: 0.65rem !important;
  right: 0.65rem !important;
  z-index: 5 !important;
  background: rgba(0, 45, 98, 0.08) !important;
  color: var(--nc-navy) !important;
  transition: background 0.2s ease, transform 0.2s ease;
}

.nc-header__cta .nc-enroll-modal__close:hover {
  background: rgba(0, 45, 98, 0.16) !important;
  transform: rotate(90deg);
}

.nc-header__cta .nc-enroll-modal__panel {
  display: flex !important;
  flex-direction: column !important;
  max-height: min(78vh, 640px) !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 22px !important;
  border: 1px solid rgba(0, 45, 98, 0.08) !important;
  background: linear-gradient(160deg, #e8f4ff 0%, #ffffff 46%, #e7f8f4 100%) !important;
  color: var(--nc-navy) !important;
  box-shadow: 0 22px 48px rgba(0, 45, 98, 0.22) !important;
}

.nc-header__cta .nc-enroll-modal__panel::before {
  display: none !important;
}

.nc-header__cta .nc-enroll-modal__title {
  margin: 1.15rem 2.6rem 0.85rem 1.25rem !important;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem) !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  color: var(--nc-navy) !important;
  text-align: center !important;
}

.nc-header__cta .nc-enroll-modal__form {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto;
  min-height: 0;
  padding: 0 1.25rem 1.2rem !important;
  gap: 0.7rem !important;
  overflow: hidden !important;
}

.nc-header__cta .nc-enroll-modal__fields {
  overflow-y: auto;
  gap: 0.65rem;
  padding-right: 0.1rem;
}

.nc-header__cta .nc-enroll-modal__row {
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}

.nc-header__cta .nc-enroll-modal__field label {
  color: var(--nc-navy) !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
}

.nc-header__cta .nc-enroll-modal__field input,
.nc-header__cta .nc-enroll-modal__field textarea,
.nc-header__cta .nc-enroll-modal__panel .nc-field__control input,
.nc-header__cta .nc-enroll-modal__panel .nc-field__control textarea {
  background: #f6f8fb !important;
  border: 1px solid rgba(0, 45, 98, 0.12) !important;
  border-radius: 10px !important;
  color: var(--nc-navy) !important;
  min-height: 2.55rem !important;
  padding: 0.7rem 0.85rem !important;
  box-shadow: none !important;
}

.nc-header__cta .nc-enroll-modal__field textarea,
.nc-header__cta .nc-enroll-modal__panel .nc-field__control--textarea textarea {
  min-height: 4rem !important;
}

.nc-header__cta .nc-enroll-modal__field input:focus,
.nc-header__cta .nc-enroll-modal__field textarea:focus,
.nc-header__cta .nc-enroll-modal__panel .nc-field__control input:focus,
.nc-header__cta .nc-enroll-modal__panel .nc-field__control textarea:focus {
  outline: 2px solid var(--nc-navy) !important;
  outline-offset: 2px !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.nc-header__cta .nc-enroll-modal__panel .nc-field.is-invalid input,
.nc-header__cta .nc-enroll-modal__panel .nc-field.is-invalid textarea {
  border-color: var(--nc-coral) !important;
  outline: none !important;
  box-shadow: none !important;
  background: #fff5f4 !important;
}

.nc-header__cta .nc-enroll-modal__panel .nc-field.is-valid input,
.nc-header__cta .nc-enroll-modal__panel .nc-field.is-valid textarea {
  border-color: var(--nc-green) !important;
  outline: none !important;
  box-shadow: none !important;
}

.nc-header__cta .nc-enroll-modal__panel .nc-field,
.nc-header__cta .nc-enroll-modal__row {
  min-width: 0;
}

.nc-header__cta .nc-enroll-modal__panel .nc-field__error {
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
  max-width: 100%;
  margin: 0.45rem 0 0.1rem !important;
  color: #c62828 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.nc-header__cta .nc-enroll-modal__panel .nc-field__error[hidden] {
  display: none !important;
}

.nc-header__cta .nc-enroll-modal__panel .nc-alert--inline,
.nc-header__cta .nc-enroll-modal__alert {
  margin: 0 0 0.55rem !important;
  max-width: 100%;
  box-sizing: border-box;
  background: #f4f7fb !important;
  color: var(--nc-navy) !important;
  border: 0 !important;
}

.nc-header__cta .nc-enroll-modal__panel .nc-alert__body,
.nc-header__cta .nc-enroll-modal__panel .nc-alert__body strong,
.nc-header__cta .nc-enroll-modal__panel .nc-alert__body span {
  min-width: 0;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.nc-header__cta .nc-enroll-modal__panel .nc-alert--inline[hidden] {
  display: none !important;
}

.nc-header__cta .nc-enroll-modal__panel .nc-alert--error,
.nc-header__cta .nc-enroll-modal__alert--error {
  background: #fff1f0 !important;
  color: #8e1b16 !important;
  border: 1px solid rgba(239, 65, 54, 0.35) !important;
}

.nc-header__cta .nc-enroll-modal__submit,
.nc-header__cta .nc-enroll-modal__panel .nc-form__submit {
  background: #7ac143 !important;
  color: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18) !important;
}

.nc-header__cta .nc-enroll-modal__submit:hover,
.nc-header__cta .nc-enroll-modal__panel .nc-form__submit:hover {
  filter: brightness(0.96);
}

@media (hover: none), (pointer: coarse) {
  .nc-header__cta:hover .nc-enroll-modal,
  .nc-header__cta:hover .nc-enroll-modal[hidden] {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
  }

  .nc-header__cta.is-enroll-open .nc-enroll-modal:not([hidden]),
  .nc-header__cta:focus-within .nc-enroll-modal:not([hidden]) {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  .nc-header__cta.is-enroll-dismissed .nc-enroll-modal {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (max-width: 1100px) {
  .nc-header__cta .nc-enroll-modal {
    display: none !important;
  }
}

@media (max-width: 560px) {
  .nc-header__cta .nc-enroll-modal__row {
    grid-template-columns: 1fr;
  }
}

/* About hero: centered eyebrow, title on one line */
.nc-about-page .nc-page-hero .nc-eyebrow {
  display: flex;
  width: 100%;
  justify-content: center;
  text-align: center;
}
.nc-about-page .nc-page-hero h1 {
  max-width: none !important;
  white-space: nowrap;
  font-size: clamp(1.15rem, 3.2vw, 2.9rem) !important;
}

/* About pillars: label + title on one centered line */
.nc-about-pillars .nc-section-head {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  max-width: none !important;
  width: 100% !important;
  gap: 0.75rem 1rem !important;
}
.nc-about-pillars .nc-section-head .nc-bar,
.nc-about-pillars .nc-section-head h2 {
  margin: 0 !important;
  white-space: nowrap !important;
  max-width: none !important;
}

/* About story + pillars titles sit in the center of the page */
.nc-about-know .nc-section-head,
.nc-about-pillars .nc-section-head {
  flex-direction: column !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.nc-about-know .nc-section-head .nc-bar,
.nc-about-know .nc-section-head h2,
.nc-about-pillars .nc-section-head .nc-bar,
.nc-about-pillars .nc-section-head h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: auto !important;
}

/* Paragraphs use the full content row on every page */
.nc-section-head,
.nc-aba-page .nc-section-head,
.nc-page-hci .nc-section-head,
.nc-aba-prose,
.nc-about-story__wrap,
.nc-about-story__copy,
.nc-referral-wrap,
.nc-about__content--full,
.nc-blog-single__intro,
.nc-blog-prose,
.nc-loc-area,
#area .nc-section-head,
#area .nc-loc-area {
  max-width: none !important;
  width: 100% !important;
}
.nc-main p,
.nc-section p,
.nc-section-head__lead,
.nc-section-head > p,
.nc-page-hero__lead,
.nc-school-hero__lead,
.nc-blog-hero__lead,
.nc-faq-hero__lead,
.nc-start-hero__lead,
.nc-welcome__lead,
.nc-welcome__body,
.nc-hero__lead,
.nc-aba-prose p,
.nc-aba-prose > p,
.nc-about-story__copy p,
.nc-blog-prose > p,
.nc-aba-note,
.nc-aba-hero-copy p,
.nc-aba-hero-sub,
.nc-card p,
.nc-skill p,
.nc-value p,
.nc-step p,
.nc-audience > p,
.nc-service-icon p,
.nc-info-card p,
.nc-about-pillar p,
.nc-flyer-service p,
.nc-training__item p,
.nc-fob-card__desc,
.nc-blog-card__excerpt,
.nc-loc-area__address,
.nc-loc-area__nearby-label,
#area .nc-section-head > p {
  max-width: none !important;
  width: 100% !important;
}
.nc-section-head h2,
.nc-aba-page .nc-section-head h2,
.nc-page-hci .nc-section-head h2,
.nc-page-hero h1,
.nc-school-hero h1,
.nc-blog-hero h1,
.nc-faq-hero h1,
.nc-start-hero h1,
.nc-hero h1,
.nc-aba-hero-copy h1 {
  max-width: none !important;
  width: 100% !important;
}

/* What Is ABA: same full-row, centered copy as the rest of the site */
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__inner,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy .nc-eyebrow,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy .nc-aba-hero__brand,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy .nc-page-hero__lead,
.nc-aba-page[data-nc-aba="v291"] .nc-section-head,
.nc-aba-page[data-nc-aba="v291"] .nc-section-head h2,
.nc-aba-page[data-nc-aba="v291"] .nc-section-head__lead,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-educate__head,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-educate__head h2,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-educate__aside,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-educate .nc-aba-prose--left,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-educate .nc-aba-prose--left p,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-plan__copy h2,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-plan__copy .nc-aba-prose--left,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-plan__copy .nc-aba-prose--left p,
.nc-aba-page[data-nc-aba="v291"] .nc-aba-note,
.nc-school-hero .nc-eyebrow,
.nc-school-hero h1,
.nc-school-hero__sub,
.nc-school-hero__lead {
  max-width: none !important;
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.nc-school-hero .nc-eyebrow {
  display: flex !important;
  width: auto !important;
  justify-content: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.nc-aba-page[data-nc-aba="v291"] .nc-aba-hero__copy .nc-eyebrow {
  display: flex !important;
  width: auto !important;
  justify-content: center !important;
  align-self: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.nc-page-hero__crumbs,
.nc-crumbs {
  display: none !important;
}

.nc-blog-hero .nc-eyebrow,
.nc-blog-hero h1.nc-eyebrow {
  display: block;
  width: 100%;
  max-width: none !important;
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.85rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--nc-teal) !important;
  line-height: 1.3 !important;
}

.nc-nav a {
  text-align: center;
  justify-content: center;
}

.nc-nav .sub-menu a {
  text-align: left;
  justify-content: flex-start;
}

/* Services hero: eyebrow, title, lead, and buttons centered */
.nc-services-page .nc-page-hero--stack .nc-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.nc-services-page .nc-page-hero--stack .nc-eyebrow {
  display: flex;
  width: 100%;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.nc-services-page .nc-page-hero--stack h1,
.nc-services-page .nc-page-hero--stack .nc-page-hero__lead {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.nc-services-page .nc-page-hero--stack .nc-page-hero__actions {
  justify-content: center;
}

/* Blog cards â€” editorial layout */
.nc-blog-card {
  position: relative;
}
.nc-blog-page .nc-blog-card__body,
.nc-blog-card__body {
  align-items: stretch !important;
  text-align: left !important;
  gap: 0.65rem !important;
  padding: 1.15rem 1.2rem 1.25rem !important;
}
.nc-blog-card__meta {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
  margin: 0;
  font-weight: 600 !important;
  color: var(--nc-ink-muted, #5c6b7a) !important;
}
.nc-blog-card__cat {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(0, 169, 157, 0.12);
  color: var(--nc-teal) !important;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.3;
}
.nc-blog-card__cat:hover {
  background: var(--nc-teal);
  color: #fff !important;
}
.nc-blog-card__meta time {
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
}
.nc-blog-page .nc-blog-card__title,
.nc-blog-card__title {
  text-align: left !important;
  justify-content: flex-start !important;
  font-size: 1.18rem !important;
  line-height: 1.35 !important;
}
.nc-blog-card__title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.nc-blog-page .nc-blog-card__excerpt,
.nc-blog-card__excerpt {
  text-align: left !important;
  text-align-last: left !important;
  hyphens: manual;
  color: var(--nc-gray);
}
.nc-blog-card__btn {
  position: relative;
  z-index: 0;
  pointer-events: none;
  align-self: flex-start !important;
  margin-top: auto !important;
}
.nc-blog-card:hover .nc-blog-card__btn {
  background: var(--nc-teal);
  border-color: var(--nc-teal);
  color: #fff;
}

/* Audience cards â€” shared rows so icon, title, list, and button line up */
@media (min-width: 900px) {
  .nc-home-page .nc-audiences__grid,
  .nc-page-hci .nc-audiences__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto auto auto auto !important;
    align-items: stretch !important;
  }
  .nc-home-page .nc-audience,
  .nc-page-hci .nc-audience {
    display: grid !important;
    grid-template-rows: subgrid !important;
    grid-row: 1 / -1 !important;
    height: auto !important;
    align-items: start !important;
    justify-items: center !important;
  }
  .nc-home-page .nc-audience ul,
  .nc-page-hci .nc-audience ul,
  .nc-home-page .nc-audience__cta,
  .nc-page-hci .nc-audience__cta {
    justify-self: stretch !important;
    align-self: end !important;
    width: 100% !important;
    margin-top: 0 !important;
  }
  .nc-home-page .nc-audience ul,
  .nc-page-hci .nc-audience ul {
    align-self: stretch !important;
  }
}

.nc-blog-single__hero,
.nc-blog-single__intro,
.nc-blog-single__intro .nc-eyebrow,
.nc-blog-single__intro h1,
.nc-blog-single__intro .nc-blog-single__meta {
  text-align: center !important;
}
.nc-blog-single__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.nc-blog-single__intro .nc-eyebrow {
  display: inline-flex !important;
  width: auto !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.nc-blog-single__intro h1 {
  max-width: none !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Location page: centered copy, full main-row width */
.nc-location-page .nc-page-hero--stack,
.nc-location-page .nc-section-head {
  text-align: center !important;
}
.nc-location-page .nc-page-hero--stack .nc-container {
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: var(--nc-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.nc-location-page .nc-section-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.nc-location-page .nc-page-hero--stack .nc-eyebrow,
.nc-location-page .nc-page-hero--stack h1,
.nc-location-page .nc-page-hero--stack .nc-script,
.nc-location-page .nc-page-hero--stack .nc-tagline,
.nc-location-page .nc-section-head .nc-bar,
.nc-location-page .nc-section-head h2,
.nc-location-page .nc-section-head > p,
.nc-location-page .nc-section-head__lead {
  text-align: center !important;
  text-align-last: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: auto !important;
  max-width: 100% !important;
}
.nc-location-page .nc-page-hero--stack .nc-page-hero__lead {
  align-self: stretch !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
  text-align-last: center !important;
}
.nc-location-page .nc-section-head .nc-bar,
.nc-location-page .nc-section-head h2 {
  width: auto !important;
  max-width: 100% !important;
}
.nc-location-page .nc-section-head > p,
.nc-location-page .nc-section-head__lead {
  width: 100% !important;
  max-width: none !important;
}

/* =========================================================
   Header: logo + brand text lock + submenu carets
   ========================================================= */
.nc-header,
.nc-header__inner {
  overflow: visible;
}
.nc-header__inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem !important;
  min-width: 0;
  min-height: 92px;
  padding: 0.7rem 0;
}
.nc-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  flex: 0 0 auto !important;
  min-width: 0;
  max-width: none !important;
}
.nc-header .nc-logo__mark,
.nc-logo__mark {
  height: var(--nc-logo-mark-h) !important;
  max-width: var(--nc-logo-mark-max-w) !important;
  width: auto !important;
  object-fit: contain !important;
  flex-shrink: 0;
}
.nc-logo__text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0.08rem;
  min-width: 0;
  text-align: left !important;
}
.nc-logo__brand {
  font-size: 1.26rem !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
}
.nc-logo__sub {
  display: block !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.13em !important;
  margin-top: 0 !important;
  white-space: nowrap !important;
}
.nc-logo__tagline {
  display: block !important;
  font-size: 0.76rem !important;
  line-height: 1.15 !important;
  margin-top: 0.04rem !important;
  max-width: 17.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nc-nav {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: visible !important;
}
.nc-nav > ul {
  flex-wrap: nowrap !important;
  max-width: 100%;
  overflow: visible !important;
  gap: 0.12rem;
  padding: 0.28rem;
}
.nc-nav > ul > li > a {
  padding: 0.55rem 0.78rem !important;
  font-size: 0.92rem !important;
}
.nc-header__cta {
  flex: 0 0 auto !important;
  margin-left: 0.15rem;
}

/* Submenu caret (replaces underline on parent links) */
.nc-nav > ul > li.menu-item-has-children > a {
  gap: 0.45rem;
  padding-right: 1rem !important;
}
.nc-nav > ul > li.menu-item-has-children > a::after {
  content: "" !important;
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  display: inline-block !important;
  width: 0.38em !important;
  height: 0.38em !important;
  margin: 0 0 0.05em !important;
  border: 0 !important;
  border-right: 2px solid currentColor !important;
  border-bottom: 2px solid currentColor !important;
  border-radius: 0 !important;
  background: none !important;
  transform: rotate(45deg) !important;
  transition: transform 0.18s ease !important;
  flex-shrink: 0;
  opacity: 0.75;
}
.nc-nav > ul > li.menu-item-has-children:hover > a::after,
.nc-nav > ul > li.menu-item-has-children:focus-within > a::after,
.nc-nav > ul > li.menu-item-has-children.is-open > a::after {
  width: 0.38em !important;
  transform: rotate(225deg) !important;
  opacity: 1;
}
.nc-nav > ul > li.menu-item-has-children.current-menu-item > a::after,
.nc-nav > ul > li.menu-item-has-children.current_page_item > a::after,
.nc-nav > ul > li.menu-item-has-children.current-menu-ancestor > a::after {
  display: inline-block !important;
  border-color: currentColor !important;
}

@media (max-width: 1480px) and (min-width: 1281px) {
  .nc-logo__tagline { display: none !important; }
  .nc-nav > ul > li > a {
    padding: 0.52rem 0.7rem !important;
    font-size: 0.9rem !important;
  }
  .nc-header__cta .nc-btn {
    padding: 0.7rem 1rem !important;
    font-size: 0.88rem !important;
  }
}

@media (max-width: 1280px) and (min-width: 1101px) {
  :root {
    --nc-logo-mark-h: 62px;
    --nc-logo-mark-max-w: 100px;
  }
  .nc-logo__tagline { display: none !important; }
  .nc-logo__brand { font-size: 1.12rem !important; }
  .nc-logo__sub {
    display: block !important;
    font-size: 0.56rem !important;
  }
  .nc-nav > ul > li > a {
    padding: 0.48rem 0.58rem !important;
    font-size: 0.86rem !important;
  }
  .nc-header__cta .nc-btn {
    padding: 0.65rem 0.9rem !important;
    font-size: 0.84rem !important;
  }
}

@media (max-width: 1100px) {
  .nc-nav > ul > li.menu-item-has-children > a {
    justify-content: space-between;
    padding-right: 1rem !important;
  }
  .nc-nav > ul > li.menu-item-has-children > a::after {
    margin-left: auto !important;
    width: 0.42em !important;
    height: 0.42em !important;
  }
}

/* =========================================================
   nc-bar: one soft teal pill everywhere
   Our Story Â· Page Â· Contact Â· section labels
   ========================================================= */
.nc-bar,
.nc-section-head .nc-bar,
.nc-page-hero .nc-bar,
.nc-page-hero--contact .nc-bar,
.nc-page-hero--stack .nc-bar,
.nc-aba-prose .nc-bar,
.nc-aba-educate__head .nc-bar,
.nc-aba-plan__copy .nc-bar,
.nc-aba-parents__copy .nc-bar,
.nc-reassure__box .nc-bar,
.nc-contact-panel .nc-bar,
.nc-page-hci .nc-section-head .nc-bar {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 auto 0.85rem !important;
  padding: 0.28rem 0.75rem !important;
  border-radius: var(--nc-radius-pill) !important;
  background: rgba(0, 169, 157, 0.1) !important;
  box-shadow: none !important;
  color: var(--nc-teal) !important;
  font-family: var(--nc-font-display) !important;
  font-weight: 800 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

/* Section heads already use flex gap â€” drop extra bottom margin */
.nc-section-head .nc-bar {
  margin-bottom: 0 !important;
}

/* =========================================================
   Home graphic motion v2.9.29
   Hero entrances Â· scroll reveal fix Â· soft icon life
   ========================================================= */

/* Restore banner photo fill (later global img rules set height:auto) */
.nc-home-page .nc-live-banner__photo img,
.nc-live-banner.is-alive .nc-live-banner__photo img {
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* Keep brush entrance + float readable over later size locks */
.nc-home-page .nc-live-banner__brush {
  opacity: 0;
  animation-name: nc-lb-brush-in, nc-lb-wiggle !important;
  animation-duration: 0.7s, 5.5s !important;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1), ease-in-out !important;
  animation-delay: 0.35s, 1.15s !important;
  animation-fill-mode: forwards, none !important;
  animation-iteration-count: 1, infinite !important;
}

@keyframes nc-lb-brush-in {
  from { opacity: 0; transform: rotate(-18deg) scale(0.85); }
  to { opacity: 1; transform: rotate(-11deg) scale(1); }
}

/* Fix scroll-reveal: later card polish overwrote opacity transitions */
.nc-home-page .nc-skill.nc-motion,
.nc-home-page .nc-service-icon.nc-motion,
.nc-home-page .nc-audience.nc-motion,
.nc-home-page .nc-step.nc-motion,
.nc-home-page .nc-value.nc-motion,
.nc-home-page .nc-training__item.nc-motion,
.nc-home-page .nc-strip__item.nc-motion,
.nc-home-page .nc-welcome__panel.nc-motion,
.nc-home-page .nc-welcome__actions .nc-btn.nc-motion,
.nc-home-page .nc-section-head .nc-bar.nc-motion,
.nc-home-page .nc-section-head h2.nc-motion,
.nc-home-page .nc-section-head .nc-section-head__lead.nc-motion,
.nc-home-page .nc-section-head .nc-script.nc-motion {
  opacity: 0;
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.3s ease,
    border-color 0.3s ease !important;
  transition-delay: var(--nc-motion-delay, 0ms) !important;
}
.nc-home-page .nc-skill.nc-motion.is-inview,
.nc-home-page .nc-service-icon.nc-motion.is-inview,
.nc-home-page .nc-audience.nc-motion.is-inview,
.nc-home-page .nc-step.nc-motion.is-inview,
.nc-home-page .nc-value.nc-motion.is-inview,
.nc-home-page .nc-training__item.nc-motion.is-inview,
.nc-home-page .nc-strip__item.nc-motion.is-inview,
.nc-home-page .nc-welcome__panel.nc-motion.is-inview,
.nc-home-page .nc-welcome__actions .nc-btn.nc-motion.is-inview,
.nc-home-page .nc-section-head .nc-bar.nc-motion.is-inview,
.nc-home-page .nc-section-head h2.nc-motion.is-inview,
.nc-home-page .nc-section-head .nc-section-head__lead.nc-motion.is-inview,
.nc-home-page .nc-section-head .nc-script.nc-motion.is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Soft icon bob on home cards (after reveal) */
.nc-home-page .nc-skill.nc-motion--card.is-inview > .nc-icon,
.nc-home-page .nc-value.nc-motion--card.is-inview > .nc-icon,
.nc-home-page .nc-audience.nc-motion--card.is-inview > .nc-icon,
.nc-home-page .nc-service-icon.nc-motion--card.is-inview > .nc-icon,
.nc-home-page .nc-training__item.nc-motion--card.is-inview > .nc-icon {
  animation: nc-home-icon-bob 4s ease-in-out infinite;
}
.nc-home-page .nc-skill.nc-motion--card.is-inview:nth-child(2) > .nc-icon,
.nc-home-page .nc-value.nc-motion--card.is-inview:nth-child(2) > .nc-icon,
.nc-home-page .nc-audience.nc-motion--card.is-inview:nth-child(2) > .nc-icon,
.nc-home-page .nc-service-icon.nc-motion--card.is-inview:nth-child(2) > .nc-icon {
  animation-delay: 0.35s;
}
.nc-home-page .nc-skill.nc-motion--card.is-inview:nth-child(3) > .nc-icon,
.nc-home-page .nc-value.nc-motion--card.is-inview:nth-child(3) > .nc-icon,
.nc-home-page .nc-audience.nc-motion--card.is-inview:nth-child(3) > .nc-icon,
.nc-home-page .nc-service-icon.nc-motion--card.is-inview:nth-child(3) > .nc-icon {
  animation-delay: 0.7s;
}
.nc-home-page .nc-skill.nc-motion--card.is-inview:nth-child(4) > .nc-icon,
.nc-home-page .nc-service-icon.nc-motion--card.is-inview:nth-child(4) > .nc-icon {
  animation-delay: 1s;
}
.nc-home-page .nc-skill.nc-motion--card.is-inview:nth-child(5) > .nc-icon,
.nc-home-page .nc-service-icon.nc-motion--card.is-inview:nth-child(5) > .nc-icon {
  animation-delay: 1.25s;
}
.nc-home-page .nc-skill.nc-motion--card.is-inview:nth-child(6) > .nc-icon {
  animation-delay: 1.5s;
}

@keyframes nc-home-icon-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

/* Step numbers pop gently */
.nc-home-page .nc-step.nc-motion--card.is-inview .nc-step__num {
  animation: nc-home-num-pop 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--nc-motion-delay, 0ms) + 120ms);
}
@keyframes nc-home-num-pop {
  from { opacity: 0; transform: scale(0.7); }
  to { opacity: 1; transform: scale(1); }
}

/* Strip icons soft pulse */
.nc-home-page .nc-strip__item.nc-motion.is-inview .nc-strip__icon {
  animation: nc-home-strip-pulse 3.6s ease-in-out infinite;
}
.nc-home-page .nc-strip__item.nc-motion.is-inview:nth-child(2) .nc-strip__icon {
  animation-delay: 0.4s;
}
.nc-home-page .nc-strip__item.nc-motion.is-inview:nth-child(3) .nc-strip__icon {
  animation-delay: 0.8s;
}
.nc-home-page .nc-strip__item.nc-motion.is-inview:nth-child(4) .nc-strip__icon {
  animation-delay: 1.2s;
}
@keyframes nc-home-strip-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

/* Welcome panel lift */
.nc-home-page .nc-welcome__panel.nc-motion {
  transform: translate3d(0, 1.25rem, 0);
}
.nc-home-page .nc-welcome__panel.nc-motion.is-inview {
  transform: translate3d(0, 0, 0);
}

/* Banner edge shimmer */
.nc-home-page .nc-home-banner__edge {
  animation: nc-banner-edge 8s linear infinite;
}

@media (max-width: 980px) {
  .nc-lb-orbit,
  .nc-lb-dot--6,
  .nc-lb-star--5 {
    display: none;
  }
  .nc-home-page .nc-live-banner__photo img,
  .nc-live-banner.is-alive .nc-live-banner__photo img {
    animation: none !important;
    border-radius: 1.75rem 0.65rem 1.75rem 2.5rem !important;
  }
}

/* =========================================================
   Our Promise â€” photo value cards
   ========================================================= */
.nc-value.nc-value--photo {
  padding: 0 0 1.35rem !important;
  gap: 0 !important;
  align-items: stretch !important;
  text-align: center;
}
.nc-value.nc-value--photo::before {
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 4px !important;
  border-radius: 0 !important;
  z-index: 2;
}
.nc-value__media {
  margin: 0 0 1rem;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  background: rgba(0, 45, 98, 0.04);
}
.nc-value__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.nc-value.nc-value--photo:hover .nc-value__media img {
  transform: scale(1.04);
}
.nc-value.nc-value--photo h3,
.nc-value.nc-value--photo p {
  padding-left: 1.2rem;
  padding-right: 1.2rem;
}
.nc-value.nc-value--photo h3 {
  margin-top: 0.15rem !important;
  min-height: auto !important;
}
.nc-value.nc-value--photo p {
  min-height: auto !important;
}
.nc-value.nc-value--photo .nc-icon {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .nc-home-page .nc-live-banner__brush,
  .nc-home-page .nc-skill.nc-motion--card.is-inview > .nc-icon,
  .nc-home-page .nc-value.nc-motion--card.is-inview > .nc-icon,
  .nc-home-page .nc-audience.nc-motion--card.is-inview > .nc-icon,
  .nc-home-page .nc-service-icon.nc-motion--card.is-inview > .nc-icon,
  .nc-home-page .nc-training__item.nc-motion--card.is-inview > .nc-icon,
  .nc-home-page .nc-step.nc-motion--card.is-inview .nc-step__num,
  .nc-home-page .nc-strip__item.nc-motion.is-inview .nc-strip__icon,
  .nc-home-page .nc-home-banner__edge,
  .nc-value.nc-value--photo:hover .nc-value__media img {
    animation: none !important;
    transform: none !important;
  }
  .nc-home-page .nc-skill.nc-motion,
  .nc-home-page .nc-service-icon.nc-motion,
  .nc-home-page .nc-audience.nc-motion,
  .nc-home-page .nc-step.nc-motion,
  .nc-home-page .nc-value.nc-motion,
  .nc-home-page .nc-training__item.nc-motion,
  .nc-home-page .nc-strip__item.nc-motion,
  .nc-home-page .nc-welcome__panel.nc-motion,
  .nc-home-page .nc-welcome__actions .nc-btn.nc-motion,
  .nc-home-page .nc-section-head .nc-bar.nc-motion,
  .nc-home-page .nc-section-head h2.nc-motion,
  .nc-home-page .nc-section-head .nc-section-head__lead.nc-motion,
  .nc-home-page .nc-section-head .nc-script.nc-motion {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =========================================================
   Contact page: equal columns + matched card shells
   ========================================================= */
.nc-contact-page .nc-contact-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: stretch !important;
  gap: 2rem !important;
  width: 100%;
}

.nc-contact-page .nc-contact-main,
.nc-contact-page .nc-contact-aside {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
  height: 100%;
  align-self: stretch !important;
}

.nc-contact-page .nc-contact-main > .nc-alert {
  flex: 0 0 auto;
  margin-bottom: 1rem;
}

.nc-contact-page .nc-contact-main .nc-form--contact,
.nc-contact-page .nc-contact-aside .nc-contact-panel {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box !important;
  padding: clamp(1.5rem, 3vw, 1.85rem) !important;
  border-radius: 28px !important;
  border: 1px solid rgba(0, 45, 98, 0.08) !important;
  box-shadow: var(--nc-card-shadow, var(--nc-shadow)) !important;
  background: var(--nc-form-surface, #fff) !important;
}

.nc-contact-page .nc-contact-aside {
  position: static !important;
  top: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.nc-contact-page .nc-form__head,
.nc-contact-page .nc-form__title,
.nc-contact-page .nc-form__subtitle,
.nc-contact-page .nc-contact-panel__title,
.nc-contact-page .nc-contact-panel__text {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}

.nc-contact-page .nc-contact-list,
.nc-contact-page .nc-contact-list__item,
.nc-contact-page .nc-contact-list__body,
.nc-contact-page .nc-contact-list__body *,
.nc-contact-page .nc-contact-qr,
.nc-contact-page .nc-contact-promise,
.nc-contact-page .nc-contact-steps,
.nc-contact-page .nc-contact-aside__script,
.nc-contact-page .nc-contact-aside__meta {
  text-align: left !important;
  text-align-last: left !important;
}

@media (max-width: 900px) {
  .nc-contact-page .nc-contact-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .nc-contact-page .nc-contact-main .nc-form--contact,
  .nc-contact-page .nc-contact-aside .nc-contact-panel {
    min-height: 0;
    height: auto;
  }
}

/* =========================================================
   Final logo / header brand lock
   ========================================================= */
.nc-header .nc-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  flex: 0 0 auto !important;
  max-width: none !important;
}
.nc-header .nc-logo__mark {
  height: var(--nc-logo-mark-h) !important;
  max-width: var(--nc-logo-mark-max-w) !important;
  width: auto !important;
  object-fit: contain !important;
}
.nc-header .nc-logo__text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 0.08rem !important;
  text-align: left !important;
}
.nc-header .nc-logo__brand {
  white-space: nowrap !important;
  font-size: 1.26rem !important;
  line-height: 1.05 !important;
}
.nc-header .nc-logo__sub {
  display: block !important;
  white-space: nowrap !important;
  font-size: 0.62rem !important;
  margin-top: 0 !important;
}
.nc-header .nc-logo__tagline {
  font-size: 0.76rem !important;
  line-height: 1.15 !important;
  max-width: 17.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 1360px) {
  .nc-header .nc-logo__tagline {
    display: none !important;
  }
}

@media (max-width: 1100px) {
  .nc-header .nc-logo {
    flex: 1 1 auto !important;
    max-width: calc(100% - 56px) !important;
    gap: 0.55rem !important;
  }
  .nc-header .nc-logo__mark {
    height: 48px !important;
    max-width: 78px !important;
  }
  .nc-header .nc-logo__brand {
    font-size: 1.02rem !important;
  }
  .nc-header .nc-logo__sub {
    font-size: 0.54rem !important;
  }
  .nc-header .nc-logo__tagline {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .nc-header .nc-logo__brand {
    font-size: 0.95rem !important;
  }
  .nc-header .nc-logo__sub {
    font-size: 0.5rem !important;
    letter-spacing: 0.1em !important;
  }
  .nc-header .nc-logo__mark {
    height: 44px !important;
    max-width: 72px !important;
  }
}

/* =========================================================
   Live banner â€” mobile responsive (wins over left-align restore)
   ========================================================= */
@media (max-width: 820px) {
  .nc-live-banner__stage {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "photo"
      "copy"
      "offer"
      "brush"
      "pills" !important;
    aspect-ratio: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    gap: 0.55rem !important;
    padding: 0.8rem 0.85rem 1rem !important;
    text-align: center !important;
    align-items: stretch !important;
  }

  .nc-live-banner__art {
    opacity: 0.4 !important;
  }

  .nc-lb-wash--photo,
  .nc-lb-orbit,
  .nc-lb-rainbow,
  .nc-lb-wave {
    display: none !important;
  }

  .nc-live-banner__photo {
    grid-area: photo !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 10 !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    box-shadow: 0 10px 24px rgba(0, 45, 98, 0.12) !important;
  }

  .nc-home-page .nc-live-banner__photo img,
  .nc-live-banner.is-alive .nc-live-banner__photo img,
  .nc-live-banner__photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 18% !important;
    border-radius: 1rem !important;
    animation: none !important;
  }

  .nc-live-banner__photo::before {
    display: none !important;
  }

  .nc-live-banner__copy {
    grid-area: copy !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  .nc-live-banner__title {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
  }

  .nc-live-banner__kicker,
  .nc-live-banner__kicker .line,
  .nc-live-banner__accept,
  .nc-live-banner__accept .line {
    text-align: center !important;
  }

  .nc-live-banner__kicker {
    margin: 0 0 0.2rem !important;
    font-size: clamp(1.05rem, 4.6vw, 1.35rem) !important;
    line-height: 1.15 !important;
  }

  .nc-live-banner__accept {
    margin: 0 !important;
    font-size: clamp(1.55rem, 7.2vw, 2.1rem) !important;
    line-height: 1.05 !important;
  }

  .nc-live-banner__kicker .line > span + span,
  .nc-live-banner__accept .line > span + span {
    margin-left: 0.22em !important;
  }

  .nc-live-banner__offer {
    grid-area: offer !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    justify-self: center !important;
    margin: 0.15rem auto 0 !important;
    transform: none !important;
    animation: nc-lb-offer-pulse 2.4s ease-in-out infinite !important;
  }

  .nc-live-banner__offer-badge {
    min-width: 10.5rem !important;
    padding: 0.65rem 1rem 0.7rem !important;
  }

  .nc-live-banner__offer-free {
    font-size: 1.45rem !important;
  }

  .nc-live-banner__offer-text {
    font-size: 0.75rem !important;
    max-width: 10rem !important;
  }

  .nc-live-banner__cta {
    display: inline-flex !important;
    align-self: center !important;
    justify-content: center !important;
    width: min(100%, 15rem) !important;
    min-width: 0 !important;
    margin: 0.7rem auto 0 !important;
    padding: 0.72rem 1.35rem !important;
    font-size: 0.95rem !important;
  }

  .nc-live-banner__brush,
  .nc-home-page .nc-live-banner__brush {
    grid-area: brush !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    justify-self: center !important;
    width: 5.5rem !important;
    max-width: 5.5rem !important;
    min-width: 5.5rem !important;
    height: 5.5rem !important;
    max-height: 5.5rem !important;
    font-size: 0.8rem !important;
    padding: 0.4rem 0.35rem !important;
    margin: 0.1rem auto 0 !important;
    transform: rotate(-8deg) !important;
    opacity: 1 !important;
  }

  .nc-live-banner__pills {
    grid-area: pills !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.4rem !important;
    padding: 0.1rem 0 0 !important;
  }

  .nc-lb-pill {
    min-width: 4.5rem !important;
    padding: 0.38rem 0.8rem !important;
    font-size: 1.05rem !important;
    margin: 0 !important;
    transform: rotate(-2deg) !important;
  }
}

@media (max-width: 700px) {
  .nc-live-banner__stage {
    padding: 0.65rem 0.7rem 0.95rem !important;
    gap: 0.45rem !important;
  }

  .nc-live-banner__photo {
    aspect-ratio: 16 / 11 !important;
  }

  .nc-live-banner__kicker {
    font-size: clamp(1rem, 4.8vw, 1.25rem) !important;
  }

  .nc-live-banner__accept {
    font-size: clamp(1.45rem, 7.8vw, 1.95rem) !important;
  }

  .nc-live-banner__cta {
    width: min(100%, 14.5rem) !important;
    margin-top: 0.6rem !important;
    padding: 0.68rem 1.2rem !important;
  }

  .nc-live-banner__brush,
  .nc-home-page .nc-live-banner__brush {
    width: 5.15rem !important;
    max-width: 5.15rem !important;
    min-width: 5.15rem !important;
    height: 5.15rem !important;
    max-height: 5.15rem !important;
    font-size: 0.76rem !important;
  }

  .nc-lb-star,
  .nc-lb-dot,
  .nc-lb-x {
    display: none !important;
  }
}

@media (max-width: 400px) {
  .nc-live-banner__stage {
    padding: 0.55rem 0.6rem 0.85rem !important;
    gap: 0.4rem !important;
  }

  .nc-live-banner__photo {
    aspect-ratio: 4 / 3 !important;
    border-radius: 0.85rem !important;
  }

  .nc-live-banner__kicker {
    font-size: 0.98rem !important;
  }

  .nc-live-banner__accept {
    font-size: 1.4rem !important;
  }

  .nc-live-banner__cta {
    width: min(100%, 13.5rem) !important;
    font-size: 0.9rem !important;
  }

  .nc-live-banner__brush,
  .nc-home-page .nc-live-banner__brush {
    width: 4.85rem !important;
    max-width: 4.85rem !important;
    min-width: 4.85rem !important;
    height: 4.85rem !important;
    max-height: 4.85rem !important;
    font-size: 0.72rem !important;
  }

  .nc-lb-pill {
    min-width: 4.1rem !important;
    font-size: 0.98rem !important;
    padding: 0.34rem 0.7rem !important;
  }
}

@media (max-width: 820px) and (prefers-reduced-motion: reduce) {
  .nc-live-banner__brush,
  .nc-home-page .nc-live-banner__brush {
    transform: rotate(-8deg) !important;
    animation: none !important;
    opacity: 1 !important;
  }
}

/* Trust strip — 4 equal cards in one row */
.nc-strip {
  background: linear-gradient(180deg, #f7f3ec 0%, #fff 100%) !important;
  border-block: 1px solid rgba(0, 45, 98, 0.06);
  padding-block: 1.35rem !important;
}

.nc-strip__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  align-items: stretch !important;
  justify-content: center !important;
  justify-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: clamp(1rem, 3vw, 2.5rem) !important;
  box-sizing: border-box !important;
}

.nc-home-page .nc-strip__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: none !important;
  gap: 1rem !important;
  padding-inline: clamp(1rem, 3vw, 2.5rem) !important;
}

.nc-strip__item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.8rem !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  min-height: 5.5rem !important;
  padding: 1rem 1.15rem !important;
  text-align: left !important;
  text-decoration: none !important;
  background: #fff !important;
  border: 1px solid rgba(0, 45, 98, 0.07) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 32px rgba(0, 45, 98, 0.1) !important;
  color: var(--nc-navy) !important;
  font-family: var(--nc-font-display) !important;
  font-weight: 800 !important;
  font-size: 0.92rem !important;
  line-height: 1.35 !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

.nc-strip__item:hover,
a.nc-strip__item:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 36px rgba(0, 45, 98, 0.14) !important;
  border-color: rgba(0, 45, 98, 0.14) !important;
  color: var(--nc-navy) !important;
}

.nc-strip__dot {
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

.nc-strip__icon {
  width: 2.6rem !important;
  height: 2.6rem !important;
  min-width: 2.6rem !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  background: var(--nc-soft-sky) !important;
  color: var(--nc-blue) !important;
}

.nc-strip__icon svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
}

.nc-strip__item:nth-child(1) .nc-strip__icon {
  background: #e8eef6 !important;
  color: var(--nc-navy) !important;
}

.nc-strip__item:nth-child(2) .nc-strip__icon {
  background: var(--nc-soft-sky) !important;
  color: var(--nc-sky) !important;
}

.nc-strip__item:nth-child(3) .nc-strip__icon {
  background: var(--nc-soft-pink) !important;
  color: var(--nc-pink) !important;
}

.nc-strip__item:nth-child(4) .nc-strip__icon {
  background: var(--nc-soft-green) !important;
  color: #3d8b2e !important;
}

/* About / Services: exactly 3 centered cards */
.nc-about-page .nc-strip__grid,
.nc-services-page .nc-strip__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 960px !important;
  gap: 1rem !important;
}

.nc-about-page .nc-strip__item,
.nc-services-page .nc-strip__item {
  justify-content: center !important;
  text-align: center !important;
}

@media (max-width: 900px) {
  .nc-about-page .nc-strip__grid,
  .nc-services-page .nc-strip__grid {
    grid-template-columns: 1fr !important;
    max-width: 420px !important;
  }
}

@media (max-width: 1100px) {
  .nc-strip__grid,
  .nc-home-page .nc-strip__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .nc-about-page .nc-strip__grid,
  .nc-services-page .nc-strip__grid {
    grid-template-columns: 1fr !important;
    max-width: 420px !important;
  }
}

@media (max-width: 700px) {
  .nc-strip__grid,
  .nc-home-page .nc-strip__grid {
    grid-template-columns: 1fr !important;
  }

  .nc-strip__item {
    min-height: 0 !important;
  }
}

/* =========================================================
   Welcome panel polish v2.9.52
   Lead + point cards + next-step CTA
   ========================================================= */
.nc-welcome#welcome .nc-welcome__panel,
.nc-welcome .nc-welcome__panel {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: clamp(1.75rem, 3.5vw, 2.75rem) clamp(1.2rem, 3vw, 2.5rem) !important;
  border-radius: calc(var(--nc-card-radius) + 6px) !important;
  border: 1px solid rgba(0, 45, 98, 0.07) !important;
  background: #fff !important;
  box-shadow:
    0 18px 44px rgba(0, 45, 98, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.8) inset !important;
}

.nc-welcome .nc-welcome__panel::before {
  content: none;
  display: none;
}

.nc-welcome .nc-welcome__lead {
  position: relative;
  max-width: 48rem !important;
  margin: 0.35rem auto 1.75rem !important;
  padding: 0 0.35rem !important;
  text-align: center !important;
  font-size: clamp(1.02rem, 1.6vw, 1.12rem) !important;
  line-height: 1.75 !important;
  color: var(--nc-gray) !important;
}

.nc-welcome .nc-training {
  margin: 0 0 1.65rem !important;
  padding: 1.35rem 0 0 !important;
  border-top: 1px solid rgba(0, 45, 98, 0.07) !important;
  text-align: center !important;
}

.nc-welcome .nc-training > .nc-eyebrow {
  display: inline-block !important;
  margin: 0 0 1.25rem !important;
  padding: 0.35rem 0.9rem !important;
  border-radius: 999px !important;
  background: rgba(0, 169, 157, 0.1) !important;
  color: var(--nc-navy) !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
}

.nc-welcome .nc-training__grid.nc-welcome__points {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.15rem !important;
  margin: 0 !important;
  align-items: stretch !important;
}

@media (min-width: 700px) and (max-width: 1099px) {
  .nc-welcome .nc-training__grid.nc-welcome__points {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.2rem !important;
  }
}

@media (min-width: 1100px) {
  .nc-welcome .nc-training__grid.nc-welcome__points {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.1rem !important;
  }
}

.nc-welcome .nc-training__item.nc-welcome__point {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-height: 100% !important;
  height: auto !important;
  padding: 2rem 1.25rem 1.45rem !important;
  border-radius: 20px !important;
  border: 1px solid rgba(0, 45, 98, 0.08) !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #fafcfb 100%) !important;
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.06) !important;
  text-align: left !important;
  transition:
    transform 0.25s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

.nc-welcome .nc-training__item.nc-welcome__point:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(0, 166, 153, 0.28) !important;
  box-shadow: 0 20px 42px rgba(0, 45, 98, 0.12) !important;
}

.nc-welcome .nc-training__item.nc-welcome__point::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 4px !important;
  border-radius: 20px 20px 0 0 !important;
  opacity: 1 !important;
}

.nc-welcome .nc-training__item.nc-welcome__point:nth-child(1)::before {
  background: linear-gradient(90deg, var(--nc-pink), #f48fb1) !important;
}
.nc-welcome .nc-training__item.nc-welcome__point:nth-child(2)::before {
  background: linear-gradient(90deg, var(--nc-sky), var(--nc-teal)) !important;
}
.nc-welcome .nc-training__item.nc-welcome__point:nth-child(3)::before {
  background: linear-gradient(90deg, var(--nc-green), #81c784) !important;
}
.nc-welcome .nc-training__item.nc-welcome__point:nth-child(4)::before {
  background: linear-gradient(90deg, var(--nc-orange), #ffd54f) !important;
}

.nc-welcome .nc-training__item.nc-welcome__point .nc-icon {
  flex: 0 0 auto !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0.45rem auto 0.85rem !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 22px rgba(0, 45, 98, 0.08) !important;
}

.nc-welcome .nc-training__item.nc-welcome__point .nc-icon svg {
  width: 28px !important;
  height: 28px !important;
}

.nc-welcome .nc-training__item.nc-welcome__point h3 {
  flex: 0 0 auto !important;
  margin: 0 0 0.7rem !important;
  min-height: 2.6em !important;
  font-family: var(--nc-font-display) !important;
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
  color: var(--nc-navy) !important;
  text-align: center !important;
}

.nc-welcome .nc-welcome__excerpt {
  position: relative !important;
  flex: 1 1 auto !important;
  max-height: calc(0.92rem * 1.65 * 12) !important;
  overflow: hidden !important;
  margin: 0 0 0.1rem !important;
}

.nc-welcome .nc-welcome__point.is-expanded .nc-welcome__excerpt {
  max-height: none !important;
  overflow: visible !important;
}

.nc-welcome .nc-welcome__excerpt::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 2.6em !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fafcfb 88%) !important;
  pointer-events: none !important;
  transition: opacity 0.2s ease !important;
}

.nc-welcome .nc-welcome__point.is-expanded .nc-welcome__excerpt::after,
.nc-welcome .nc-welcome__point.is-short .nc-welcome__excerpt::after {
  opacity: 0 !important;
}

.nc-welcome .nc-training__item.nc-welcome__point p {
  margin: 0 0 0.7rem !important;
  color: #5a6b7d !important;
  font-size: 0.92rem !important;
  line-height: 1.65 !important;
  text-align: left !important;
}

.nc-welcome .nc-training__item.nc-welcome__point p:last-child {
  margin-bottom: 0 !important;
}

.nc-welcome .nc-welcome__more {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem !important;
  width: fit-content !important;
  margin: 1rem auto 0 !important;
  padding: 0.45rem 0.95rem !important;
  border: 1px solid rgba(0, 169, 157, 0.28) !important;
  border-radius: 999px !important;
  background: rgba(0, 169, 157, 0.08) !important;
  color: var(--nc-teal) !important;
  font: inherit !important;
  font-size: 0.86rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease !important;
}

.nc-welcome .nc-welcome__more:hover,
.nc-welcome .nc-welcome__more:focus-visible {
  color: var(--nc-navy) !important;
  background: rgba(0, 169, 157, 0.16) !important;
  border-color: rgba(0, 169, 157, 0.45) !important;
  outline: none !important;
  transform: translateY(-1px) !important;
}

.nc-welcome .nc-welcome__more::after {
  content: "↓" !important;
  font-weight: 700 !important;
  font-size: 0.8em !important;
}

.nc-welcome .nc-welcome__point.is-expanded .nc-welcome__more::after {
  content: "↑" !important;
}

.nc-welcome .nc-welcome__point.is-short .nc-welcome__more {
  display: none !important;
}

.nc-welcome .nc-welcome__next {
  position: relative !important;
  text-align: center !important;
  margin-top: 0.35rem !important;
  padding: clamp(1.5rem, 3vw, 2rem) clamp(1.2rem, 3vw, 2rem) !important;
  border-radius: 20px !important;
  border: 1px solid rgba(0, 166, 153, 0.18) !important;
  background: #fff !important;
  box-shadow: 0 12px 30px rgba(0, 45, 98, 0.06) !important;
}

.nc-welcome .nc-welcome__next h3 {
  margin: 0 0 0.55rem !important;
  font-family: var(--nc-font-display) !important;
  font-size: clamp(1.25rem, 2.2vw, 1.55rem) !important;
  font-weight: 800 !important;
  color: var(--nc-navy) !important;
  line-height: 1.25 !important;
}

.nc-welcome .nc-welcome__next p {
  margin: 0 auto 1.3rem !important;
  max-width: 40rem !important;
  color: var(--nc-gray) !important;
  line-height: 1.7 !important;
  font-size: 0.98rem !important;
}

.nc-welcome .nc-welcome__next .nc-welcome__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 0.8rem !important;
}

.nc-welcome .nc-welcome__next .nc-btn {
  min-width: min(100%, 11.5rem);
}

@media (max-width: 700px) {
  .nc-welcome .nc-welcome__panel {
    padding: 1.5rem 1.1rem 1.65rem !important;
  }

  .nc-welcome .nc-training__item.nc-welcome__point {
    padding: 1.4rem 1.1rem 1.15rem !important;
  }

  .nc-welcome .nc-training__item.nc-welcome__point h3 {
    min-height: 0 !important;
    font-size: 1.02rem !important;
  }

  .nc-welcome .nc-welcome__next .nc-welcome__actions .nc-btn {
    flex: 1 1 auto;
    min-width: min(100%, 10rem);
  }
}

/* ---------- ABA Assessment page v2 ---------- */
.nc-assess-page[data-nc-assess="v2"] {
  --assess-ink: var(--nc-navy);
  --assess-muted: #4d5f72;
  --assess-line: rgba(0, 45, 98, 0.1);
  --assess-soft: #f4f8f8;
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-step {
  scroll-margin-top: calc(var(--nc-page-header-offset, 6.5rem) + 4.25rem);
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 7vw, 4.5rem) 0 clamp(2.5rem, 5vw, 3.4rem);
  background:
    radial-gradient(ellipse 70% 80% at 8% 20%, rgba(0, 169, 157, 0.16), transparent 50%),
    radial-gradient(ellipse 55% 70% at 92% 10%, rgba(0, 181, 226, 0.14), transparent 48%),
    radial-gradient(ellipse 50% 60% at 75% 95%, rgba(255, 203, 5, 0.14), transparent 46%),
    linear-gradient(180deg, #efe9df 0%, #fbf8f3 42%, #ffffff 100%);
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0, 45, 98, 0.12), transparent);
}

.nc-assess-hero__inner {
  max-width: 46rem;
  margin: 0 auto;
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-hero .nc-eyebrow {
  display: block;
  width: fit-content;
  margin: 0 auto 0.7rem;
  text-align: center;
  letter-spacing: 0.08em;
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-hero h1 {
  max-width: 15ch;
  margin: 0 auto;
  font-size: clamp(2rem, 4.8vw, 2.85rem);
  line-height: 1.08;
  text-wrap: balance;
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-hero--wide h1 {
  max-width: 20ch;
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-hero .nc-tagline {
  margin: 0.7rem auto 1rem;
  max-width: 26ch;
  font-size: clamp(1.45rem, 2.8vw, 1.95rem);
  line-height: 1.2;
  color: var(--nc-teal);
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-hero .nc-page-hero__lead {
  max-width: 42rem;
  margin: 0 auto 1.55rem;
  color: var(--assess-muted);
  font-size: clamp(1.05rem, 1.6vw, 1.15rem);
  line-height: 1.7;
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-hero .nc-page-hero__actions {
  margin-top: 0;
}

.nc-assess-jump {
  position: sticky;
  top: var(--nc-page-header-offset, 6.5rem);
  z-index: 40;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--assess-line);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 6px 18px rgba(0, 45, 98, 0.04);
}

.nc-assess-jump__list {
  list-style: none;
  margin: 0 auto;
  padding: 0.7rem 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem 1.5rem;
  max-width: 100%;
}

.nc-assess-jump__list a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  white-space: nowrap;
  padding: 0.45rem 0.85rem 0.45rem 0.45rem;
  border-radius: 999px;
  border: 1px solid rgba(0, 45, 98, 0.1);
  background: #fff;
  color: var(--assess-ink);
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.nc-assess-jump__list a span {
  display: grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--nc-sky), var(--nc-teal));
  color: #fff;
  font-family: var(--nc-font-display);
  font-size: 0.78rem;
  font-weight: 800;
}

.nc-assess-jump__list a:hover,
.nc-assess-jump__list a:focus-visible {
  border-color: rgba(0, 169, 157, 0.45);
  background: rgba(0, 169, 157, 0.08);
  box-shadow: 0 6px 16px rgba(0, 169, 157, 0.12);
  transform: translateY(-1px);
  outline: none;
}

.nc-assess-timeline {
  position: relative;
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-step.nc-section {
  position: relative;
  padding-block: clamp(2.1rem, 4.5vw, 3.25rem);
  background: #fff;
}

.nc-assess-page[data-nc-assess="v2"] .nc-assess-step--soft {
  background:
    radial-gradient(circle at 0% 0%, rgba(0, 169, 157, 0.06), transparent 40%),
    linear-gradient(180deg, var(--assess-soft) 0%, #ffffff 100%);
}

.nc-assess-step__grid {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 860px) {
  .nc-assess-step__grid {
    grid-template-columns: 5.5rem minmax(0, 1fr);
    gap: 1.75rem 2rem;
    align-items: stretch;
  }
}

.nc-assess-step__aside {
  display: none;
}

@media (min-width: 860px) {
  .nc-assess-step__aside {
    position: relative;
    display: flex;
    justify-content: center;
  }

  .nc-assess-step__rail {
    position: absolute;
    top: 0;
    bottom: -3.25rem;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
    background: linear-gradient(180deg, rgba(0, 169, 157, 0.55), rgba(0, 181, 226, 0.2));
  }

  .nc-assess-step:last-child .nc-assess-step__rail {
    bottom: 20%;
  }

  .nc-assess-step__node {
    position: sticky;
    top: calc(var(--nc-page-header-offset, 6.5rem) + 5.5rem);
    z-index: 1;
    display: grid;
    place-items: center;
    width: 4.6rem;
    height: 4.6rem;
  }

  .nc-assess-step__node .nc-icon {
    width: 4.6rem;
    height: 4.6rem;
    box-shadow: 0 12px 28px rgba(0, 45, 98, 0.1);
  }

  .nc-assess-step__num {
    position: absolute;
    top: -0.2rem;
    left: -0.15rem;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--nc-navy);
    color: #fff;
    font-family: var(--nc-font-display);
    font-size: 0.78rem;
    font-weight: 800;
    box-shadow: 0 4px 12px rgba(0, 45, 98, 0.22);
  }
}

.nc-assess-step__head {
  margin-bottom: 1.15rem;
}

.nc-assess-step__head .nc-bar {
  margin-bottom: 0.55rem;
}

.nc-assess-step__head h2 {
  margin: 0;
  max-width: 22ch;
  font-family: var(--nc-font-display);
  font-size: clamp(1.45rem, 2.8vw, 1.9rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--assess-ink);
  text-wrap: balance;
}

.nc-assess-step__content {
  display: grid;
  gap: 1.35rem;
}

@media (min-width: 900px) {
  .nc-assess-step__content {
    grid-template-columns: minmax(0, 1.2fr) minmax(16rem, 0.9fr);
    gap: 1.75rem 2.25rem;
    align-items: start;
  }
}

.nc-assess-step__prose p {
  margin: 0 0 0.95rem;
  max-width: 42rem;
  color: var(--assess-muted);
  font-size: 1.05rem;
  line-height: 1.75;
}

.nc-assess-step__prose p:last-child {
  margin-bottom: 0;
}

.nc-assess-checks {
  list-style: none;
  margin: 0;
  padding: 1rem;
  display: grid;
  gap: 0.55rem;
  border-radius: 18px;
  border: 1px solid rgba(0, 45, 98, 0.08);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.95), rgba(244, 248, 248, 0.9));
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.05);
}

.nc-assess-step--pink .nc-assess-checks {
  border-color: rgba(233, 30, 99, 0.14);
  background: linear-gradient(165deg, #fff, rgba(252, 228, 236, 0.45));
}
.nc-assess-step--sky .nc-assess-checks {
  border-color: rgba(0, 181, 226, 0.18);
  background: linear-gradient(165deg, #fff, rgba(225, 245, 254, 0.55));
}
.nc-assess-step--green .nc-assess-checks {
  border-color: rgba(122, 193, 67, 0.22);
  background: linear-gradient(165deg, #fff, rgba(233, 247, 235, 0.55));
}
.nc-assess-step--yellow .nc-assess-checks {
  border-color: rgba(243, 146, 0, 0.2);
  background: linear-gradient(165deg, #fff, rgba(255, 249, 230, 0.65));
}

.nc-assess-checks li {
  position: relative;
  padding: 0.35rem 0.15rem 0.35rem 1.55rem;
  color: var(--assess-ink);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.4;
}

.nc-assess-checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--nc-teal);
  box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px rgba(0, 169, 157, 0.35);
}

.nc-assess-step--pink .nc-assess-checks li::before { background: var(--nc-pink); box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px rgba(233, 30, 99, 0.35); }
.nc-assess-step--sky .nc-assess-checks li::before { background: var(--nc-sky); box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px rgba(0, 181, 226, 0.35); }
.nc-assess-step--green .nc-assess-checks li::before { background: var(--nc-green); box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px rgba(122, 193, 67, 0.4); }
.nc-assess-step--yellow .nc-assess-checks li::before { background: var(--nc-orange); box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px rgba(243, 146, 0, 0.35); }

.nc-assess-note {
  margin: 1.25rem 0 0;
  padding: 0.95rem 1.15rem;
  border-radius: 14px;
  border-left: 4px solid var(--nc-orange);
  background: linear-gradient(90deg, rgba(255, 203, 5, 0.2), rgba(255, 249, 230, 0.55));
  color: var(--assess-ink);
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.6;
}

.nc-assess-cta {
  padding-block: clamp(2.4rem, 5vw, 3.6rem);
  background:
    radial-gradient(circle at 15% 0%, rgba(0, 169, 157, 0.12), transparent 40%),
    radial-gradient(circle at 90% 100%, rgba(0, 181, 226, 0.12), transparent 42%),
    linear-gradient(180deg, #eef6f5 0%, #ffffff 100%);
}

.nc-assess-cta__inner {
  max-width: 40rem;
  margin: 0 auto;
  text-align: center;
}

.nc-assess-cta__eyebrow {
  margin: 0 0 0.55rem;
  color: var(--nc-teal);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nc-assess-cta__inner h2 {
  margin: 0 auto 0.75rem;
  max-width: none;
  white-space: nowrap;
  font-family: var(--nc-font-display);
  font-size: clamp(1.55rem, 3.2vw, 2.1rem);
  font-weight: 800;
  line-height: 1.18;
  color: var(--assess-ink);
}

.nc-assess-cta__inner > p {
  margin: 0 auto 1.45rem;
  max-width: 34rem;
  color: var(--assess-muted);
  font-size: 1.06rem;
  line-height: 1.68;
}

.nc-assess-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
}

.nc-assess-cta__actions .nc-btn {
  min-width: min(100%, 12.5rem);
}

@media (max-width: 700px) {
  .nc-assess-page[data-nc-assess="v2"] .nc-assess-hero h1 {
    max-width: 12ch;
  }

  .nc-assess-page[data-nc-assess="v2"] .nc-assess-hero .nc-page-hero__actions .nc-btn,
  .nc-assess-cta__actions .nc-btn {
    width: 100%;
  }

  .nc-assess-checks {
    padding: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nc-assess-jump__list a {
    transition: none;
  }
}

/* =========================================================
   Home — typography & text polish (v2.9.57)
   ========================================================= */
.nc-home-page .nc-section-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: min(100%, 42rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: clamp(1.5rem, 3vw, 2.35rem) !important;
  gap: 0.35rem;
}

.nc-home-page .nc-section-head h2 {
  max-width: none !important;
  width: auto !important;
  margin: 0 auto 0.45rem !important;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em;
  color: var(--nc-navy) !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}

.nc-home-page .nc-section-head__lead {
  max-width: 36rem !important;
  margin: 0 auto !important;
  font-size: clamp(1.02rem, 1.5vw, 1.12rem) !important;
  line-height: 1.65 !important;
  color: #5a6a7a !important;
  text-wrap: pretty;
}

.nc-home-page .nc-section-head .nc-script {
  margin: 0.55rem auto 0 !important;
  font-size: clamp(1.2rem, 2vw, 1.45rem) !important;
  line-height: 1.35 !important;
  color: var(--nc-teal) !important;
}

.nc-home-page .nc-section-head .nc-bar {
  margin-bottom: 0.75rem !important;
  padding: 0.4rem 1.15rem !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase;
}

.nc-home-page .nc-welcome .nc-eyebrow {
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em;
  color: var(--nc-navy) !important;
}

.nc-home-page .nc-welcome__lead,
.nc-home-page .nc-welcome__body {
  max-width: 44rem;
  font-size: 1.05rem !important;
  line-height: 1.72 !important;
  color: #5a6a7a !important;
  text-wrap: pretty;
}

.nc-home-page .nc-welcome__point h3 {
  font-size: 1.05rem !important;
  line-height: 1.28 !important;
  letter-spacing: -0.01em;
}

.nc-home-page .nc-welcome__point p {
  font-size: 0.94rem !important;
  line-height: 1.68 !important;
}

.nc-home-page .nc-welcome__next h3 {
  letter-spacing: -0.015em;
}

.nc-home-page .nc-welcome__next p {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  text-wrap: pretty;
}

.nc-home-page .nc-step h3,
.nc-home-page .nc-audience h3,
.nc-home-page .nc-skill h3,
.nc-home-page .nc-service-icon h3,
.nc-home-page .nc-value h3 {
  font-size: 1.08rem !important;
  line-height: 1.28 !important;
  letter-spacing: -0.01em;
  color: var(--nc-navy) !important;
}

.nc-home-page .nc-step p,
.nc-home-page .nc-audience p,
.nc-home-page .nc-skill p,
.nc-home-page .nc-service-icon p,
.nc-home-page .nc-value p {
  font-size: 0.96rem !important;
  line-height: 1.68 !important;
  color: #5a6a7a !important;
  text-wrap: pretty;
}

.nc-home-page .nc-audience ul {
  margin-top: 0.65rem;
}

.nc-home-page .nc-audience li {
  font-size: 0.93rem;
  line-height: 1.5;
  color: var(--nc-navy);
}

.nc-home-page .nc-reassure__box h2 {
  max-width: 18ch;
  margin-inline: auto;
  font-size: clamp(1.45rem, 2.6vw, 1.95rem) !important;
  line-height: 1.22 !important;
}

.nc-home-page .nc-reassure__box p {
  max-width: 36rem;
  margin-inline: auto;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  text-wrap: pretty;
}

.nc-home-page .nc-strip__item {
  font-size: 0.92rem !important;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.01em;
}

.nc-home-page .nc-welcome--partners .nc-training__item h3 {
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
}

@media (max-width: 700px) {
  .nc-home-page .nc-section-head h2 {
    max-width: 20ch !important;
    width: 100% !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }

  .nc-home-page .nc-section-head__lead {
    font-size: 1rem !important;
  }
}

/* ——— Privacy & Accessibility ——— */
.nc-privacy-page .nc-page-hero--stack .nc-eyebrow {
  display: flex;
  width: 100%;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.nc-privacy-page .nc-page-hero--stack h1,
.nc-privacy-page .nc-page-hero--stack .nc-tagline,
.nc-privacy-page .nc-page-hero--stack .nc-page-hero__lead,
.nc-privacy-page .nc-page-hero--stack .nc-page-hero__actions {
  margin-inline: auto;
  text-align: center;
}

.nc-privacy-page .nc-page-hero--stack h1 {
  max-width: 16ch;
  letter-spacing: -0.03em;
}

.nc-privacy-page .nc-page-hero--stack .nc-tagline {
  margin-top: 0.15rem;
  margin-bottom: 0.85rem;
  max-width: 22ch;
}

.nc-privacy-page .nc-page-hero__lead {
  max-width: 46ch;
  font-size: clamp(1.05rem, 1.5vw, 1.18rem);
  line-height: 1.65;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-privacy-page .nc-section-head {
  max-width: 42rem;
  margin-inline: auto;
  margin-bottom: 1.75rem;
  text-align: center;
}

.nc-privacy-page .nc-section-head h2 {
  max-width: 18ch;
  margin-inline: auto;
  letter-spacing: -0.02em;
}

.nc-privacy-page .nc-section-head__lead {
  max-width: 48ch;
  margin: 0.65rem auto 0;
  font-size: clamp(1.05rem, 1.4vw, 1.15rem);
  line-height: 1.7;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-privacy-note {
  max-width: 44ch;
  margin: 0.9rem auto 0;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: rgba(0, 169, 157, 0.08);
  color: var(--nc-navy);
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.45;
  text-wrap: pretty;
}

.nc-privacy-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 72rem;
  margin: 0 auto;
  text-align: center;
}

.nc-privacy-intro {
  max-width: 52ch;
  margin: 0 auto 1.85rem;
  text-align: center;
  font-family: var(--nc-font-body);
  font-size: clamp(1.08rem, 1.5vw, 1.2rem);
  font-weight: 600;
  line-height: 1.7;
  color: var(--nc-navy);
  text-wrap: pretty;
}

.nc-privacy-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  align-items: stretch;
}

.nc-privacy-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  padding: 1.35rem 1.1rem 1.45rem;
  border-radius: 1.15rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 252, 0.98)),
    radial-gradient(circle at top right, rgba(0, 168, 168, 0.09), transparent 55%);
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.05);
  overflow: hidden;
  text-align: center;
}

.nc-privacy-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  width: auto;
  height: 4px;
  background: linear-gradient(90deg, var(--nc-teal), var(--nc-navy));
}

.nc-privacy-card__label {
  display: inline-block;
  margin: 0.15rem 0 0;
  font-family: var(--nc-font-display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--nc-teal);
}

.nc-privacy-card h3 {
  max-width: 16ch;
  margin: 0;
  font-size: clamp(1.02rem, 1.2vw, 1.15rem);
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--nc-navy);
  text-wrap: balance;
}

.nc-privacy-card p {
  margin: 0;
  max-width: none;
  font-size: 0.95rem;
  line-height: 1.62;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-privacy-card p + p {
  margin-top: 0.15rem;
}

.nc-privacy-page #privacy-contact {
  padding-top: 2.5rem;
  padding-bottom: 3.25rem;
}

.nc-privacy-page #privacy-contact .nc-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.nc-privacy-contact {
  position: relative;
  width: 100%;
  max-width: 48rem;
  margin-top: 0;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2.15rem 2rem 2rem;
  border-radius: 1.4rem;
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 169, 157, 0.16), transparent 44%),
    radial-gradient(circle at 100% 100%, rgba(0, 181, 226, 0.14), transparent 42%),
    linear-gradient(180deg, #ffffff 0%, #f2fafb 100%);
  border: 1px solid rgba(0, 45, 98, 0.1);
  box-shadow: 0 16px 36px rgba(0, 45, 98, 0.08);
  color: var(--nc-navy);
  overflow: hidden;
}

.nc-privacy-contact::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--nc-teal), var(--nc-sky, #00b5e2));
}

.nc-privacy-contact__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0.85rem;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: rgba(0, 169, 157, 0.1);
  font-family: var(--nc-font-display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nc-teal);
}

.nc-privacy-contact h3,
.nc-privacy-contact #nc-privacy-contact-title {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 auto 0.9rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: var(--nc-navy);
  text-align: center;
  white-space: nowrap;
}

.nc-privacy-contact p {
  margin: 0 auto;
  max-width: 42ch;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-privacy-contact__note {
  display: inline-block;
  margin-top: 1.1rem !important;
  padding: 0.65rem 1rem !important;
  max-width: 40ch;
  border-radius: 999px;
  border-top: 0 !important;
  background: rgba(0, 45, 98, 0.05);
  font-size: 0.92rem !important;
  font-weight: 650;
  line-height: 1.45;
  color: var(--nc-navy) !important;
}

.nc-privacy-contact a:not(.nc-btn) {
  color: var(--nc-navy);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(0, 169, 157, 0.55);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.18em;
  transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

.nc-privacy-contact a:not(.nc-btn):hover,
.nc-privacy-contact a:not(.nc-btn):focus-visible {
  color: var(--nc-teal);
  text-decoration-color: var(--nc-teal);
}

.nc-privacy-contact__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
  margin-top: 1.4rem;
}

@media (max-width: 640px) {
  .nc-privacy-contact {
    padding: 1.7rem 1.2rem 1.55rem;
    border-radius: 1.15rem;
  }

  .nc-privacy-contact h3,
  .nc-privacy-contact #nc-privacy-contact-title {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    white-space: normal;
    font-size: clamp(1.2rem, 5.2vw, 1.45rem);
  }

  .nc-privacy-contact__note {
    border-radius: 1rem;
    padding: 0.7rem 0.85rem !important;
  }
}

.nc-privacy-a11y {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.75fr);
  gap: 1.25rem;
  align-items: stretch;
  max-width: 68rem;
  margin: 0 auto;
}

.nc-privacy-a11y--single {
  grid-template-columns: 1fr;
  max-width: 46rem;
}

.nc-privacy-a11y--single .nc-privacy-a11y__main {
  text-align: center;
  align-items: center;
}

.nc-privacy-a11y--single .nc-privacy-a11y__main p,
.nc-privacy-a11y--single .nc-privacy-a11y__note {
  max-width: 48ch;
  margin-inline: auto;
}

.nc-privacy-a11y__main {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.65rem 1.7rem;
  border-radius: 1.2rem;
  background:
    radial-gradient(circle at 0% 0%, rgba(0, 169, 157, 0.08), transparent 45%),
    linear-gradient(180deg, #fff 0%, #f8f4ee 100%);
  border: 1px solid rgba(0, 45, 98, 0.07);
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.04);
}

.nc-privacy-a11y__main p {
  margin: 0;
  max-width: 48ch;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-privacy-a11y__lead {
  font-size: clamp(1.08rem, 1.5vw, 1.18rem) !important;
  font-weight: 650;
  color: var(--nc-navy) !important;
  line-height: 1.65 !important;
}

.nc-privacy-a11y__note {
  margin-top: 0.25rem !important;
  padding: 0.85rem 1rem;
  border-radius: 0.9rem;
  background: rgba(0, 45, 98, 0.04);
  border-left: 3px solid var(--nc-teal);
  font-size: 0.98rem !important;
  color: var(--nc-navy) !important;
}

.nc-privacy-a11y__main a {
  color: var(--nc-navy);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.18em;
}

.nc-privacy-a11y__main a:hover,
.nc-privacy-a11y__main a:focus-visible {
  color: var(--nc-teal);
}

.nc-privacy-a11y__aside {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.7rem;
  padding: 1.5rem 1.4rem;
  border-radius: 1.2rem;
  background:
    radial-gradient(circle at top left, rgba(0, 168, 168, 0.14), transparent 50%),
    #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.05);
}

.nc-privacy-a11y__aside-label {
  margin: 0;
  font-family: var(--nc-font-display);
  font-size: clamp(1.15rem, 1.6vw, 1.3rem);
  font-weight: 800;
  color: var(--nc-navy);
  line-height: 1.2;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.nc-privacy-a11y__aside-text {
  margin: 0 0 0.35rem;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--nc-ink-muted);
}

.nc-privacy-a11y__aside .nc-btn {
  width: 100%;
}

@media (max-width: 1100px) {
  .nc-privacy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .nc-privacy-a11y {
    grid-template-columns: 1fr;
  }

  .nc-privacy-note {
    border-radius: 1rem;
  }

  .nc-privacy-card h3,
  .nc-privacy-card p,
  .nc-privacy-intro,
  .nc-privacy-a11y__main p {
    max-width: none;
  }
}

@media (max-width: 560px) {
  .nc-privacy-page .nc-page-hero--stack h1 {
    max-width: none;
  }

  .nc-privacy-grid {
    grid-template-columns: 1fr;
  }

  .nc-privacy-card,
  .nc-privacy-a11y__main,
  .nc-privacy-a11y__aside {
    padding: 1.2rem;
  }

  .nc-privacy-contact {
    padding: 1.55rem 1.1rem 1.4rem;
  }
}

/* ——— OAP and Funding ——— */
.nc-funding-page .nc-page-hero--stack .nc-eyebrow {
  display: flex;
  width: 100%;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.nc-funding-page .nc-page-hero--stack h1,
.nc-funding-page .nc-page-hero--stack .nc-tagline,
.nc-funding-page .nc-page-hero--stack .nc-page-hero__lead,
.nc-funding-page .nc-page-hero--stack .nc-page-hero__actions {
  margin-inline: auto;
  text-align: center;
}

.nc-funding-page .nc-page-hero--stack h1 {
  max-width: 14ch;
  letter-spacing: -0.03em;
}

.nc-funding-page .nc-page-hero--stack .nc-tagline {
  margin-top: 0.15rem;
  margin-bottom: 0.85rem;
  max-width: 28ch;
}

.nc-funding-page .nc-page-hero__lead {
  max-width: 48ch;
  font-size: clamp(1.05rem, 1.5vw, 1.18rem);
  line-height: 1.65;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-funding-page .nc-section-head {
  max-width: 42rem;
  margin-inline: auto;
  margin-bottom: 1.75rem;
  text-align: center;
}

.nc-funding-page .nc-section-head h2 {
  max-width: 18ch;
  margin-inline: auto;
  letter-spacing: -0.02em;
}

.nc-funding-page .nc-section-head__lead {
  max-width: 50ch;
  margin: 0.65rem auto 0;
  font-size: clamp(1.05rem, 1.4vw, 1.15rem);
  line-height: 1.7;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-funding-note {
  max-width: 46ch;
  margin: 0.9rem auto 0;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: rgba(0, 169, 157, 0.08);
  color: var(--nc-navy);
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.45;
  text-wrap: pretty;
}

.nc-funding-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 72rem;
  margin: 0 auto;
  text-align: center;
}

.nc-funding-intro {
  max-width: 54ch;
  margin: 0 auto 1.85rem;
  text-align: center;
  font-family: var(--nc-font-body);
  font-size: clamp(1.05rem, 1.45vw, 1.16rem);
  font-weight: 600;
  line-height: 1.7;
  color: var(--nc-navy);
  text-wrap: pretty;
}

.nc-funding-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem;
  width: 100%;
  max-width: 46rem;
  margin: 0 auto;
  align-items: stretch;
  justify-content: center;
}

.nc-funding-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem;
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: 1.4rem 1.2rem 1.5rem;
  border-radius: 1.15rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 252, 0.98)),
    radial-gradient(circle at top right, rgba(0, 168, 168, 0.09), transparent 55%);
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.05);
  overflow: hidden;
  text-align: center;
}

.nc-funding-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--nc-teal), var(--nc-navy));
}

.nc-funding-card__label {
  display: inline-block;
  margin: 0.15rem 0 0;
  font-family: var(--nc-font-display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--nc-teal);
}

.nc-funding-card h3 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(1.02rem, 1.2vw, 1.15rem);
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--nc-navy);
  text-wrap: balance;
}

.nc-funding-card p {
  margin: 0;
  flex: 1 1 auto;
  font-size: 0.95rem;
  line-height: 1.62;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-funding-plan {
  max-width: 48rem;
  margin: 0 auto;
}

.nc-funding-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.9rem;
  counter-reset: funding-step;
}

.nc-funding-steps li {
  counter-increment: funding-step;
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.35rem 1rem;
  align-items: start;
  padding: 1.2rem 1.25rem 1.25rem 1.15rem;
  border-radius: 1.1rem;
  background:
    radial-gradient(circle at 0% 0%, rgba(0, 169, 157, 0.08), transparent 45%),
    #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 8px 22px rgba(0, 45, 98, 0.04);
}

.nc-funding-steps li::before {
  content: counter(funding-step);
  grid-row: 1 / span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--nc-teal), #008f86);
  color: #fff;
  font-family: var(--nc-font-display);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(0, 169, 157, 0.28);
}

.nc-funding-steps strong {
  margin: 0.15rem 0 0;
  font-family: var(--nc-font-display);
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--nc-navy);
  letter-spacing: -0.015em;
}

.nc-funding-steps span {
  grid-column: 2;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-funding-private {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.75fr);
  gap: 1.25rem;
  align-items: stretch;
  max-width: 68rem;
  margin: 0 auto;
}

.nc-funding-private__main {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.65rem 1.7rem;
  border-radius: 1.2rem;
  background:
    radial-gradient(circle at 0% 0%, rgba(0, 169, 157, 0.08), transparent 45%),
    linear-gradient(180deg, #fff 0%, #f3fafb 100%);
  border: 1px solid rgba(0, 45, 98, 0.07);
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.04);
}

.nc-funding-private__main p {
  margin: 0;
  max-width: 48ch;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-funding-private__lead {
  font-size: clamp(1.08rem, 1.5vw, 1.18rem) !important;
  font-weight: 650;
  color: var(--nc-navy) !important;
  line-height: 1.65 !important;
}

.nc-funding-private__note {
  margin-top: 0.25rem !important;
  padding: 0.85rem 1rem;
  border-radius: 0.9rem;
  background: rgba(0, 45, 98, 0.04);
  border-left: 3px solid var(--nc-teal);
  font-size: 0.98rem !important;
  color: var(--nc-navy) !important;
}

.nc-funding-private__aside {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.7rem;
  padding: 1.5rem 1.4rem;
  border-radius: 1.2rem;
  background:
    radial-gradient(circle at top left, rgba(0, 168, 168, 0.14), transparent 50%),
    #fff;
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.05);
}

.nc-funding-private__aside-label {
  margin: 0;
  font-family: var(--nc-font-display);
  font-size: clamp(1.15rem, 1.6vw, 1.3rem);
  font-weight: 800;
  color: var(--nc-navy);
  line-height: 1.2;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.nc-funding-private__aside-text {
  margin: 0 0 0.35rem;
  font-size: 0.98rem;
  line-height: 1.55;
  color: var(--nc-ink-muted);
}

.nc-funding-private__aside .nc-btn {
  width: 100%;
}

.nc-funding-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-width: 56rem;
  margin: 0 auto;
}

.nc-funding-link {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1.4rem 1.35rem 1.35rem;
  border-radius: 1.15rem;
  background:
    linear-gradient(180deg, #fff, #f7fbfc);
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: 0 10px 28px rgba(0, 45, 98, 0.05);
  text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
  overflow: hidden;
}

.nc-funding-link::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--nc-teal), var(--nc-sky, #00b5e2));
}

.nc-funding-link:hover,
.nc-funding-link:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(0, 169, 157, 0.28);
  box-shadow: 0 14px 32px rgba(0, 45, 98, 0.08);
}

.nc-funding-link__label {
  font-family: var(--nc-font-display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nc-teal);
}

.nc-funding-link strong {
  font-family: var(--nc-font-display);
  font-size: clamp(1.05rem, 1.4vw, 1.18rem);
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.015em;
  color: var(--nc-navy);
  text-wrap: balance;
}

.nc-funding-link__meta {
  font-size: 0.92rem;
  font-weight: 650;
  color: var(--nc-ink-muted);
}

.nc-funding-page #funding-contact {
  padding-top: 2.5rem;
  padding-bottom: 3.25rem;
}

.nc-funding-page #funding-contact .nc-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.nc-funding-contact {
  position: relative;
  width: 100%;
  max-width: 48rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2.15rem 2rem 2rem;
  border-radius: 1.4rem;
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 169, 157, 0.16), transparent 44%),
    radial-gradient(circle at 100% 100%, rgba(0, 181, 226, 0.14), transparent 42%),
    linear-gradient(180deg, #ffffff 0%, #f2fafb 100%);
  border: 1px solid rgba(0, 45, 98, 0.1);
  box-shadow: 0 16px 36px rgba(0, 45, 98, 0.08);
  color: var(--nc-navy);
  overflow: hidden;
}

.nc-funding-contact::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--nc-teal), var(--nc-sky, #00b5e2));
}

.nc-funding-contact__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0.85rem;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: rgba(0, 169, 157, 0.1);
  font-family: var(--nc-font-display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nc-teal);
}

.nc-funding-contact h3,
.nc-funding-contact #nc-funding-contact-title {
  display: block;
  width: 100%;
  margin: 0 auto 0.9rem;
  font-family: var(--nc-font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: var(--nc-navy);
  text-align: center;
}

.nc-funding-contact p {
  margin: 0 auto;
  max-width: 42ch;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--nc-ink-muted);
  text-wrap: pretty;
}

.nc-funding-contact__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem;
  margin-top: 1.4rem;
}

@media (max-width: 960px) {
  .nc-funding-grid,
  .nc-funding-links {
    grid-template-columns: 1fr;
  }

  .nc-funding-private {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .nc-funding-page .nc-page-hero--stack h1 {
    max-width: none;
  }

  .nc-funding-note {
    border-radius: 1rem;
  }

  .nc-funding-card,
  .nc-funding-private__main,
  .nc-funding-private__aside,
  .nc-funding-link,
  .nc-funding-steps li {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
  }

  .nc-funding-contact {
    padding: 1.7rem 1.2rem 1.55rem;
    border-radius: 1.15rem;
  }

  .nc-funding-contact h3,
  .nc-funding-contact #nc-funding-contact-title {
    font-size: clamp(1.2rem, 5.2vw, 1.45rem);
  }

  .nc-funding-steps li {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }

  .nc-funding-steps li::before {
    grid-row: auto;
  }

  .nc-funding-steps span {
    grid-column: auto;
  }
}

/* =========================================================
   Contact & Referral page refresh
   ========================================================= */
.nc-contact-page .nc-page-hero--contact {
  padding-bottom: clamp(2.2rem, 4vw, 3rem);
}

.nc-contact-page .nc-page-hero--contact .nc-page-hero__lead {
  max-width: 46rem;
  margin-inline: auto;
}

.nc-contact-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin-top: 1.35rem;
}

.nc-contact-page .nc-form--contact {
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 181, 226, 0.1), transparent 42%),
    radial-gradient(circle at 0% 100%, rgba(233, 30, 99, 0.06), transparent 38%),
    linear-gradient(180deg, #fff 0%, #F8FBFD 100%) !important;
}

.nc-contact-page .nc-contact-aside .nc-contact-panel {
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 181, 226, 0.12), transparent 42%),
    radial-gradient(circle at 100% 80%, rgba(233, 30, 99, 0.07), transparent 40%),
    linear-gradient(180deg, #fff 0%, #FBF8F3 100%) !important;
}

.nc-contact-aside-actions {
  display: grid;
  gap: 0.7rem;
  margin-top: 0.35rem;
}

.nc-contact-aside-actions__btn {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.nc-contact-page .nc-field--consent {
  margin-top: 0.35rem;
  padding: 0.9rem 1rem;
  border-radius: 14px;
  background: rgba(0, 169, 157, 0.06);
  border: 1px solid rgba(0, 169, 157, 0.12);
}

.nc-contact-page .nc-consent {
  display: grid;
  grid-template-columns: 1.15rem minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
  margin: 0;
  cursor: pointer;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--nc-navy);
}

.nc-contact-page .nc-consent input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.15rem;
  accent-color: var(--nc-teal);
  cursor: pointer;
}

.nc-contact-page .nc-field--consent .nc-field__error {
  grid-column: 1 / -1;
  margin-top: 0.55rem;
}

.nc-field__error-text {
  display: block;
  min-width: 0;
  font: inherit;
  color: inherit;
}

.nc-contact-page .nc-form__note {
  text-align: left;
  max-width: none;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: rgba(0, 45, 98, 0.04);
  border: 1px solid rgba(0, 45, 98, 0.06);
  font-size: 0.84rem;
  color: var(--nc-gray);
}

.nc-contact-extra {
  padding-top: 0.5rem;
}

.nc-contact-extra__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  align-items: stretch;
}

.nc-contact-card {
  height: 100%;
  padding: clamp(1.4rem, 2.5vw, 1.85rem);
  border-radius: 24px;
  border: 1px solid rgba(0, 45, 98, 0.08);
  box-shadow: var(--nc-card-shadow, var(--nc-shadow));
  background: #fff;
}

.nc-contact-card--referral {
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 181, 226, 0.1), transparent 45%),
    linear-gradient(180deg, #fff 0%, #F7FCFF 100%);
}

.nc-contact-card--next {
  background:
    radial-gradient(circle at 0% 0%, rgba(0, 169, 157, 0.1), transparent 45%),
    linear-gradient(180deg, #fff 0%, #F7FBFA 100%);
}

.nc-contact-card__label {
  margin: 0 0 0.55rem;
  font-family: var(--nc-font-display);
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--nc-teal);
}

.nc-contact-card h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.nc-contact-card p {
  margin: 0;
  color: var(--nc-gray);
  font-size: 0.98rem;
  line-height: 1.65;
}

.nc-contact-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.25rem;
}

.nc-contact-steps--card {
  margin: 1.1rem 0 0;
  padding-left: 1.2rem;
  color: var(--nc-navy);
  font-size: 0.95rem;
  line-height: 1.55;
}

.nc-contact-steps--card li + li {
  margin-top: 0.4rem;
}

@media (max-width: 900px) {
  .nc-contact-extra__grid {
    grid-template-columns: 1fr;
  }

  .nc-contact-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .nc-contact-hero-actions .nc-btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* Enroll modal: polished success / error banners */
.nc-enroll-modal__alert.nc-alert,
.nc-header__cta .nc-enroll-modal__alert.nc-alert {
  display: flex !important;
  align-items: flex-start;
  gap: 0.85rem;
  margin: 0 1.35rem 1rem !important;
  padding: 0.95rem 1.05rem !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  text-align: left !important;
  box-shadow: 0 10px 24px rgba(0, 45, 98, 0.1);
  animation: nc-alert-pop 0.45s ease;
}

.nc-enroll-modal__alert .nc-alert__icon,
.nc-header__cta .nc-enroll-modal__alert .nc-alert__icon {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  font-size: 1.15rem;
  font-weight: 800;
  color: #fff;
  box-shadow: 0 6px 14px rgba(0, 45, 98, 0.16);
}

.nc-enroll-modal__alert .nc-alert__body,
.nc-header__cta .nc-enroll-modal__alert .nc-alert__body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.nc-enroll-modal__alert .nc-alert__body strong,
.nc-header__cta .nc-enroll-modal__alert .nc-alert__body strong {
  display: block;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--nc-navy) !important;
}

.nc-enroll-modal__alert .nc-alert__body span,
.nc-header__cta .nc-enroll-modal__alert .nc-alert__body span {
  display: block;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--nc-gray) !important;
  white-space: normal !important;
}

.nc-enroll-modal__alert--success,
.nc-header__cta .nc-enroll-modal__alert--success {
  background: linear-gradient(135deg, #f3fbf0 0%, #e7f6df 100%) !important;
  border-color: rgba(122, 193, 67, 0.45) !important;
  color: var(--nc-navy) !important;
}

.nc-enroll-modal__alert--success .nc-alert__icon,
.nc-header__cta .nc-enroll-modal__alert--success .nc-alert__icon {
  background: linear-gradient(145deg, #8fd14f, #7ac143);
}

.nc-enroll-modal__alert--error,
.nc-header__cta .nc-enroll-modal__alert--error {
  background: linear-gradient(135deg, #fff7f6 0%, #ffe8e6 100%) !important;
  border-color: rgba(239, 65, 54, 0.4) !important;
  color: var(--nc-navy) !important;
}

.nc-enroll-modal__alert--error .nc-alert__icon,
.nc-header__cta .nc-enroll-modal__alert--error .nc-alert__icon {
  background: linear-gradient(145deg, #f06a5c, #ef4136);
}

.nc-enroll-modal__form.is-sent[hidden] {
  display: none !important;
}

.nc-enroll-modal__panel .nc-alert--inline:not([hidden]),
.nc-header__cta .nc-enroll-modal__panel .nc-alert--inline:not([hidden]) {
  display: flex !important;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0 0 0.75rem !important;
  padding: 0.85rem 0.95rem !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #fff7f6 0%, #ffe8e6 100%) !important;
  border: 1px solid rgba(239, 65, 54, 0.35) !important;
  color: var(--nc-navy) !important;
  box-shadow: 0 8px 18px rgba(239, 65, 54, 0.08);
  animation: nc-alert-pop 0.35s ease;
}

.nc-enroll-modal__panel .nc-alert--inline .nc-alert__icon,
.nc-header__cta .nc-enroll-modal__panel .nc-alert--inline .nc-alert__icon {
  width: 2rem;
  height: 2rem;
  background: linear-gradient(145deg, #f06a5c, #ef4136);
  color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.95rem;
  font-weight: 800;
  flex-shrink: 0;
}

.nc-enroll-modal__panel .nc-alert--inline .nc-alert__body strong,
.nc-header__cta .nc-enroll-modal__panel .nc-alert--inline .nc-alert__body strong {
  color: #8e1b16 !important;
  font-size: 0.95rem;
}

.nc-enroll-modal__panel .nc-alert--inline .nc-alert__body span,
.nc-header__cta .nc-enroll-modal__panel .nc-alert--inline .nc-alert__body span {
  color: #7a3a36 !important;
  font-size: 0.86rem;
  white-space: normal !important;
}

@media (max-width: 520px) {
  .nc-enroll-modal__alert.nc-alert,
  .nc-header__cta .nc-enroll-modal__alert.nc-alert {
    margin-left: 1.05rem !important;
    margin-right: 1.05rem !important;
  }
}

/* =========================================================
   Home section titles — force true horizontal center
   ========================================================= */
.nc-home-page .nc-welcome .nc-section-head,
.nc-home-page .nc-steps .nc-section-head,
.nc-home-page .nc-audiences .nc-section-head,
.nc-home-page .nc-skills .nc-section-head,
.nc-home-page .nc-how .nc-section-head,
.nc-home-page .nc-promise .nc-section-head {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: min(100%, 48rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.nc-home-page .nc-welcome .nc-section-head h2,
.nc-home-page .nc-steps .nc-section-head h2,
.nc-home-page .nc-audiences .nc-section-head h2,
.nc-home-page .nc-skills .nc-section-head h2,
.nc-home-page .nc-how .nc-section-head h2,
.nc-home-page .nc-promise .nc-section-head h2,
.nc-home-page .nc-section-head h2.nc-motion,
.nc-home-page .nc-section-head h2.nc-motion.is-inview {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-wrap: nowrap !important;
}
@media (max-width: 820px) {
  .nc-home-page .nc-welcome .nc-section-head h2,
  .nc-home-page .nc-steps .nc-section-head h2,
  .nc-home-page .nc-audiences .nc-section-head h2,
  .nc-home-page .nc-skills .nc-section-head h2,
  .nc-home-page .nc-how .nc-section-head h2,
  .nc-home-page .nc-promise .nc-section-head h2,
  .nc-home-page .nc-section-head h2.nc-motion,
  .nc-home-page .nc-section-head h2.nc-motion.is-inview {
    white-space: normal !important;
    text-wrap: balance !important;
    width: 100% !important;
    max-width: 28ch !important;
  }
}

.nc-home-page .nc-section-head .nc-section-head__lead,
.nc-home-page .nc-section-head .nc-section-head__lead.nc-motion,
.nc-home-page .nc-section-head .nc-section-head__lead.nc-motion.is-inview,
.nc-home-page .nc-section-head .nc-script,
.nc-home-page .nc-section-head .nc-bar {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ========== Social icons (header / footer) ========== */
.nc-header__actions {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: 0.25rem;
  position: relative;
  z-index: 3;
}
.nc-social {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
.nc-social__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.7rem;
  height: 2.7rem;
  border-radius: var(--nc-radius-pill);
  color: #fff;
  background: var(--nc-cta-grad);
  border: 0;
  box-shadow: 0 8px 18px rgba(0, 45, 98, 0.2);
  transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.nc-social__link--facebook,
.nc-social__link--instagram {
  color: #fff;
}
.nc-social__link:hover,
.nc-social__link:focus-visible {
  color: #fff;
  background: linear-gradient(135deg, var(--nc-teal), var(--nc-sky));
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(0, 169, 157, 0.3);
  outline: none;
}
.nc-social__link:focus-visible {
  outline: 3px solid rgba(0, 181, 226, 0.45);
  outline-offset: 2px;
}
.nc-social__icon {
  display: inline-flex;
  width: 1.28rem;
  height: 1.28rem;
}
.nc-social__icon svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
.nc-social--footer {
  margin-top: 1.1rem;
  gap: 0.55rem;
}
.nc-social--footer .nc-social__link {
  width: 2.8rem;
  height: 2.8rem;
  background: rgba(255, 255, 255, 0.14);
  box-shadow: none;
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.nc-social--footer .nc-social__link:hover,
.nc-social--footer .nc-social__link:focus-visible {
  color: var(--nc-navy);
  background: #fff;
  border-color: transparent;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.18);
}
.nc-social--mobile {
  margin-top: 1.1rem;
  justify-content: center;
  width: 100%;
  gap: 0.6rem;
}
.nc-social--mobile .nc-social__link {
  width: 3rem;
  height: 3rem;
}
.nc-social--mobile .nc-social__icon {
  width: 1.4rem;
  height: 1.4rem;
}
.nc-nav__mobile-cta {
  flex-direction: column;
  align-items: center;
}

/* Laptop: keep social + enroll in one row without crowding nav */
@media (max-width: 1360px) and (min-width: 1101px) {
  .nc-header__actions {
    gap: 0.35rem;
    margin-left: 0.1rem;
  }
  .nc-social {
    gap: 0.3rem;
  }
  .nc-social__link {
    width: 2.35rem;
    height: 2.35rem;
  }
  .nc-social__icon {
    width: 1.1rem;
    height: 1.1rem;
  }
}

/* Tablet / phone: hide header social — icons stay inside toggle menu only */
@media (max-width: 1100px) {
  .nc-header__actions {
    display: none !important;
  }
  .nc-header__cta {
    display: none !important;
  }
  .nc-header .nc-logo,
  .nc-logo {
    order: 1;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 56px) !important;
  }
  .nc-nav-toggle {
    order: 3 !important;
  }
  .nc-nav {
    order: 2;
  }
}

@media (max-width: 480px) {
  .nc-header .nc-logo,
  .nc-logo {
    max-width: calc(100% - 56px) !important;
  }
}

@media (hover: none) and (pointer: coarse) {
  .nc-social__link:hover {
    transform: none;
    background: var(--nc-cta-grad);
    box-shadow: 0 8px 18px rgba(0, 45, 98, 0.2);
  }
  .nc-social__link:active {
    background: linear-gradient(135deg, var(--nc-teal), var(--nc-sky));
    transform: scale(0.96);
  }
  .nc-social--footer .nc-social__link:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: none;
  }
  .nc-social--footer .nc-social__link:active {
    color: var(--nc-navy);
    background: #fff;
  }
}

/* =========================================================
   Tablet: full header (logo + nav + actions) — hamburger only on phone
   ========================================================= */
@media (min-width: 768px) and (max-width: 1100px) {
  .nc-nav-toggle {
    display: none !important;
  }

  .nc-header__actions {
    display: inline-flex !important;
    order: 3 !important;
    flex: 0 0 auto !important;
    gap: 0.3rem;
    margin-left: 0.1rem;
  }

  .nc-header__cta {
    display: block !important;
  }

  .nc-header__cta .nc-btn {
    padding: 0.55rem 0.8rem !important;
    font-size: 0.78rem !important;
    white-space: nowrap;
  }

  .nc-header .nc-logo,
  .nc-logo {
    order: 1 !important;
    flex: 0 0 auto !important;
    max-width: none !important;
    gap: 0.4rem !important;
  }

  .nc-logo__tagline {
    display: none !important;
  }

  .nc-logo__mark {
    height: 44px !important;
    max-width: 72px !important;
  }

  .nc-logo__brand {
    font-size: 0.95rem !important;
  }

  .nc-logo__sub {
    display: block !important;
    font-size: 0.5rem !important;
  }

  .nc-header__inner {
    gap: 0.45rem !important;
    min-height: 72px;
    padding: 0.55rem 0;
  }

  .nc-header .nc-container {
    width: min(100% - 1rem, 1100px) !important;
  }

  .nc-nav {
    order: 2 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1 !important;
    width: auto !important;
    height: auto !important;
    max-height: none !important;
    background: transparent !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 0.15rem !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  .nc-nav > ul,
  .nc-nav ul {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0.2rem !important;
    gap: 0.05rem !important;
    background: rgba(240, 250, 255, 0.92) !important;
    border: 1px solid rgba(0, 45, 98, 0.06) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 6px 18px rgba(0, 45, 98, 0.04) !important;
    overflow: visible !important;
  }

  .nc-nav > ul > li > a {
    width: auto !important;
    justify-content: center !important;
    font-size: 0.78rem !important;
    padding: 0.42rem 0.48rem !important;
    white-space: nowrap !important;
    text-align: center !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .nc-nav a {
    padding: 0.42rem 0.48rem !important;
    font-size: 0.78rem !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .nc-nav .current-menu-item > a,
  .nc-nav .current_page_item > a,
  .nc-nav > ul > li.current-menu-item > a,
  .nc-nav > ul > li.current_page_item > a {
    color: #fff !important;
    background: var(--nc-cta-grad) !important;
    box-shadow: 0 6px 14px rgba(0, 45, 98, 0.16) !important;
  }

  .nc-nav__mobile-cta {
    display: none !important;
  }

  /* Desktop-style dropdowns on tablet */
  .nc-nav .menu-item-has-children > .sub-menu {
    position: absolute !important;
    display: flex !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    top: calc(100% + 0.2rem) !important;
    left: 0 !important;
    min-width: 220px !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0.7rem 0.55rem 0.55rem !important;
    border-radius: 18px !important;
    background: #fff !important;
    border: 1px solid rgba(0, 45, 98, 0.08) !important;
    box-shadow: var(--nc-shadow-lg) !important;
    transform: translateY(6px) !important;
    z-index: 1300 !important;
  }

  .nc-nav .menu-item-has-children > .sub-menu::before {
    display: block !important;
  }

  .nc-nav .menu-item-has-children:hover > .sub-menu,
  .nc-nav .menu-item-has-children:focus-within > .sub-menu,
  .nc-nav .menu-item-has-children.is-open > .sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    display: flex !important;
  }

  .nc-nav > ul > li.menu-item-has-children > a {
    justify-content: center !important;
    padding-right: 0.48rem !important;
  }

  .nc-social__link {
    width: 2.15rem;
    height: 2.15rem;
  }

  .nc-social__icon {
    width: 1rem;
    height: 1rem;
  }

  .nc-social {
    gap: 0.25rem;
  }
}

/* Narrow tablet: hide social to keep nav + CTA readable */
@media (min-width: 768px) and (max-width: 900px) {
  .nc-header .nc-social--header {
    display: none !important;
  }
}
