/* Existing homepage styles, extracted in original cascade order. */

   /* === Brand + Buttons === */
    .gradient-bg { background: linear-gradient(135deg, #b91c1c 0%, #ef4444 100%); }
    .btn-gradient {
      background: linear-gradient(135deg, #ef4444, #b91c1c);
      color: #fff;
      transition: all 0.2s ease;
      transform: scale(1);
      display: inline-block;
    }
    .btn-gradient:hover {
      background: linear-gradient(135deg, #dc2626, #991b1b);
      transform: scale(1.05);
      box-shadow: 0 0 20px rgba(239,68,68,0.7);
    }
    .btn-gradient:active {
      transform: scale(0.95);
      box-shadow: 0 0 10px rgba(239,68,68,0.5);
    }

    /* === Contact Buttons (responsive) === */
    .contact-buttons {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1rem;
    }
    .contact-buttons a {
      white-space: nowrap;
      padding: 0.75rem 1.5rem;
    }
    .contact-buttons a {
      white-space: nowrap;
      padding: 0.75rem 1.5rem;
      width: auto;
    }
    

    /* === Progress bar === */
    .progress-bar {
      height: 24px;
      border-radius: 9999px;
      background-color: #fde68a;
      overflow: hidden;
      position: relative;
    }
    .progress-fill {
      height: 100%;
      background: linear-gradient(135deg, #ca8a04, #facc15);
      border-radius: 9999px;
      position: absolute;
      left: 0;
      top: 0;
    }

    /* === Gallery & Lightbox === */
    .lightbox-overlay {
      position: fixed; inset: 0;
      background: rgba(0,0,0,0.9);
      display: none;
      justify-content: center;
      align-items: center;
      z-index: 50;
    }
    .lightbox-overlay img {
      max-width: 90%; max-height: 90%; border-radius: 1rem;
      transition: transform 0.3s ease;
    }
    .lightbox-overlay img:hover { transform: scale(1.02); }

    .lightbox-arrow {
      position: absolute; top: 50%; transform: translateY(-50%);
      background: rgba(255,255,255,0.2); color: white;
      padding: 0.5rem 0.75rem; border-radius: 9999px;
      cursor: pointer; font-size: 2rem; z-index: 51;
      transition: opacity 0.3s, background 0.3s;
    }
    .lightbox-arrow:hover { background: rgba(255,255,255,0.4); }
    .lightbox-arrow.left { left: 20px; }
    .lightbox-arrow.right { right: 20px; }

    .gallery-container { position: relative; }
    #gallery {
      display: flex; gap: 1rem;
      overflow-x: auto; -webkit-overflow-scrolling: touch;
      scroll-behavior: smooth; scrollbar-width: none; -ms-overflow-style: none;
      padding: 1rem 3rem;
    }
    #gallery::-webkit-scrollbar { display: none; }
    #gallery img {
      width: 180px; height: 180px; object-fit: cover; aspect-ratio: 1/1;
      flex: 0 0 180px; border-radius: 0.75rem; border: 2px solid #fecaca;
      box-shadow: 0 4px 10px rgba(0,0,0,0.1); cursor: pointer;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    #gallery img:hover {
      transform: scale(1.05);
      box-shadow: 0 6px 14px rgba(0,0,0,0.15);
    }

    .gallery-arrow {
      position: absolute; top: 50%; transform: translateY(-50%);
      background: rgba(0,0,0,0.6); color: white; padding: 0.5rem 0.75rem;
      border-radius: 9999px; cursor: pointer; z-index: 30; display: flex;
      align-items: center; justify-content: center; transition: opacity .3s, background .3s;
      opacity: 0.9;
    }
    .gallery-arrow.left { left: 8px; } .gallery-arrow.right { right: 8px; }
    .gallery-arrow:hover { background: rgba(0,0,0,0.8); }
    .gallery-arrow.disabled { opacity: 0.4; pointer-events: none; }

    .gallery-indicator {
      position: absolute; bottom: -2rem; left: 50%; transform: translateX(-50%);
      color: #9f1239; font-weight: 600; font-size: 0.9rem;
    }

    @media (max-width: 640px) {
      #gallery img { width: 120px; height: 120px; flex: 0 0 120px; }
      #gallery { padding: 1rem 1.5rem; }
    }
  

/* NDS enhancements */

.nds-social a, .nds-sticky a {
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.nds-social a:hover, .nds-sticky a:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 10px 22px rgba(0,0,0,.15);
}
.nds-social a:active, .nds-sticky a:active { transform: scale(0.98); }

.nds-sticky {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.nds-sticky a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 9999px;
  padding: 12px 14px;
  font-weight: 700;
  text-decoration:none;
}
.nds-sticky .nds-call{
  background: #b91c1c;
  color: #fff;
}
.nds-sticky .nds-wa{
  background: #fff;
  color: #111827;
  border: 1px solid rgba(185,28,28,.35);
}
.nds-sticky small{
  font-weight:600;
  opacity:.9;
}

@media (max-width: 640px){
  .nds-sticky { right: 12px; bottom: 12px; }
  .nds-sticky a { padding: 12px; }
  .nds-sticky small { display:none; }
}



    /* === Pricing cards (clickable) === */
    .pricing-card{
      cursor:pointer;
      border: 2px solid transparent;
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    }
    .pricing-card:hover{
      transform: translateY(-6px);
      box-shadow: 0 18px 40px rgba(0,0,0,0.22);
      border-color: rgba(255,255,255,0.65);
    }
    .pricing-card.active,
    .pricing-card:focus-visible{
      transform: translateY(-4px);
      border-color: #ffffff;
      box-shadow: 0 0 0 3px rgba(255,255,255,0.22), 0 18px 40px rgba(0,0,0,0.18);
      outline: none;
    }


  /* Active nav link (desktop) */
  .nav-active { color: #4ade80 !important; }


:root{--np-navy:#102542;--np-navy-2:#1f3b64;--np-green:#5ac85a;--np-green-2:#3fbf68;--np-slate:#f8fafc;}
body{background:#f8fafc !important;color:#102542;}
.np-header{background:linear-gradient(90deg,var(--np-navy) 0%, #17365e 100%) !important;}
.gradient-bg{background:linear-gradient(135deg,var(--np-navy) 0%, var(--np-navy-2) 100%) !important;}
.btn-gradient{background:linear-gradient(135deg,var(--np-green),var(--np-green-2)) !important;color:#fff !important;box-shadow:0 10px 24px rgba(63,191,104,.22);}
.btn-gradient:hover{background:linear-gradient(135deg,#4cc35c,#31a354) !important;box-shadow:0 0 20px rgba(90,200,90,.35) !important;}
.text-rose-800,.text-rose-700{color:var(--np-navy) !important;}
.text-rose-600{color:var(--np-green-2) !important;}
.text-rose-100{color:#e8f1fb !important;}
.text-rose-200,.text-rose-300{color:#c4d2e4 !important;}
.bg-rose-100{background:#f8fafc !important;}
.bg-rose-50{background:#ffffff !important;}
.bg-rose-900{background:var(--np-navy) !important;}
.border-rose-200{border-color:#dbe4f0 !important;}
.border-rose-800{border-color:#29486e !important;}
.hover\:text-rose-700:hover{color:var(--np-green) !important;}
#gallery img{border-color:#dbe4f0 !important;}
.gallery-indicator{color:var(--np-navy) !important;}
header nav a{color:#fff !important;opacity:.96;}
header nav a:hover{color:var(--np-green) !important;}
header .np-brand{display:inline-flex;align-items:center;flex-shrink:0;background:rgba(255,255,255,.96);padding:10px 16px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.16);backdrop-filter:blur(4px);text-decoration:none;}
header .np-brand:hover{opacity:1 !important;}
header .np-brand-logo{display:block;height:48px;width:auto;max-width:min(32vw,330px);}
header .np-phone{display:inline-flex;align-items:center;gap:.55rem;background:linear-gradient(135deg,var(--np-green),var(--np-green-2));color:#fff !important;padding:.9rem 1.2rem;border-radius:.95rem;font-weight:700;box-shadow:0 10px 22px rgba(63,191,104,.2);white-space:nowrap;}
header .np-phone:hover{filter:brightness(1.04);}
@media (max-width: 1180px){header .np-brand{padding:8px 12px;border-radius:12px;}header .np-brand-logo{height:42px;max-width:min(36vw,280px);}header .np-phone{display:none;}}
@media (max-width: 767px){header .np-brand{padding:8px 10px;border-radius:12px;}header .np-brand-logo{height:38px;max-width:62vw;}header .np-phone{display:none;}}
section#home h1, section.gradient-bg h1{text-shadow:0 10px 26px rgba(0,0,0,.18);}
section#home p, section.gradient-bg p{max-width:34rem;}
section#home img, section.gradient-bg img{border-radius:28px;box-shadow:0 25px 60px rgba(0,0,0,.28);}
footer a:hover{color:#fff !important;}
.nds-sticky a:last-child,.nds-sticky .nds-call{background:linear-gradient(135deg,var(--np-green),var(--np-green-2)) !important;color:#fff !important;}
.nds-sticky .nds-wa{border-color:#dbe4f0 !important;}


.home-nav{display:flex;align-items:center;justify-content:center;gap:1.25rem;font-size:1rem;font-weight:600;flex:1;min-width:0;}
.home-nav a{letter-spacing:.01em;white-space:nowrap;}
.home-nav .home-book-link{display:inline-flex;align-items:center;justify-content:center;padding:.78rem 1.1rem;border-radius:.85rem;background:linear-gradient(135deg,var(--np-green),var(--np-green-2));color:#fff !important;font-weight:700;box-shadow:0 10px 22px rgba(63,191,104,.18);}
.home-nav .home-book-link:hover{filter:brightness(1.04);color:#fff !important;}
.home-hero-wrap{padding-top:5.25rem;padding-bottom:5rem;}
.home-hero-title{font-size:4rem;line-height:1.05;font-weight:800;max-width:15ch;}
.home-hero-copy{font-size:1.15rem;line-height:1.65;max-width:34rem;color:#d7e4f5;}
.home-hero-copy strong{color:#fff;}
.home-subcopy{font-size:1.05rem;line-height:1.7;color:#d7e4f5;max-width:34rem;}
.home-hero-image{border-radius:28px;box-shadow:0 24px 60px rgba(0,0,0,.28);overflow:hidden;background:#fff;}
.home-logo{height:68px;width:auto;display:block;}
.home-phone{padding:.95rem 1.35rem;border-radius:.9rem;font-size:1.05rem;font-weight:700;}
.about-intro{font-size:1.22rem;line-height:1.75;color:#253858;max-width:70rem;margin:0 auto;}
.features-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;margin-top:3rem;}
.features-grid .feature-card:last-child{justify-self:center;}
.feature-card{background:#fff;border:1px solid #dbe4f0;border-radius:1.4rem;padding:2rem 1.2rem;box-shadow:0 10px 28px rgba(16,37,66,.08);text-align:center;}
.feature-icon{width:64px;height:64px;border-radius:999px;margin:0 auto 1rem;background:linear-gradient(135deg,#163860,#214a7a);display:flex;align-items:center;justify-content:center;color:#69d26b;font-size:1.8rem;box-shadow:0 10px 20px rgba(16,37,66,.12);}
.feature-title{font-size:1.2rem;line-height:1.35;font-weight:700;color:#102542;margin-bottom:.65rem;}
.feature-copy{font-size:1rem;line-height:1.55;color:#4b5b72;}
.home-about-title{font-size:3.1rem;font-weight:800;line-height:1.15;color:#18395f;margin-bottom:1.4rem;}
.home-about-title .accent{color:#69d26b;}
header .np-phone{padding:.95rem 1.35rem !important;border-radius:.9rem !important;}
@media (max-width: 1200px){.home-nav{gap:1rem;font-size:.96rem;}}
@media (max-width: 1024px){.features-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.home-hero-title{font-size:3.4rem;}.home-nav{gap:.9rem;font-size:.92rem;}}
@media (max-width: 860px){.home-nav{display:none !important;}}
@media (max-width: 767px){.home-logo{height:52px;}.home-nav{display:none !important;}.home-hero-wrap{padding-top:3.5rem;padding-bottom:3.5rem;}.home-hero-title{font-size:2.5rem;max-width:none;}.home-hero-copy,.home-subcopy{font-size:1rem;}.features-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}.features-grid .feature-card:last-child{grid-column:1 / -1;justify-self:center;width:calc(50% - .5rem);max-width:none;}.feature-card{padding:1.3rem .9rem;}.home-about-title{font-size:2.3rem;}}

/* --- NextPass header redesign: centered brand strip + desktop nav strip --- */
.np-header{
  background: transparent;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.np-brand-strip{
  background: linear-gradient(180deg,#f8fafc 0%, #eef4fb 100%);
  border-bottom: 1px solid rgba(15,42,68,.10);
}
.np-nav-strip{
  background: linear-gradient(90deg,#13345c 0%, #163c6a 100%);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
header .np-brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
header .np-brand-logo{
  display:block;
  width:auto;
  height:74px;
  max-width:min(90vw, 460px);
}
.home-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.35rem;
  font-size:1rem;
  font-weight:600;
  flex:0 1 auto;
  min-width:0;
}
.home-nav a{
  letter-spacing:.01em;
  white-space:nowrap;
}
.home-nav .home-book-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.78rem 1.15rem;
  border-radius:.85rem;
  background:linear-gradient(135deg,var(--np-green),var(--np-green-2));
  color:#fff !important;
  font-weight:700;
  box-shadow:0 10px 22px rgba(63,191,104,.18);
}
.np-phone{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.82rem 1.3rem;
  border-radius:1rem;
  font-weight:700;
  color:#fff;
  background:linear-gradient(135deg,var(--np-green),var(--np-green-2));
  box-shadow:0 10px 24px rgba(63,191,104,.18);
  white-space:nowrap;
}
.home-hero-wrap{padding-top:4.5rem;padding-bottom:5rem;}

@media (max-width: 1180px){
  header .np-brand-logo{
    height:66px;
    max-width:min(88vw, 400px);
  }
  .np-phone{
    display:none !important;
  }
  .home-nav{
    gap:1rem;
    font-size:.96rem;
  }
}

@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    padding-top:1rem;
    padding-bottom:1rem;
  }
  header .np-brand-logo{
    height:92px;
    max-width:88vw;
  }
  .np-nav-strip{
    display:none;
  }
  .home-hero-wrap{
    padding-top:3rem;
    padding-bottom:4rem;
  }
}


/* --- NextPass header final override v2: no pill, bigger centered logo --- */
.np-brand-strip{
  background: linear-gradient(180deg,#f7fafc 0%, #eef3f9 100%) !important;
  border-bottom: 1px solid rgba(15,42,68,.10) !important;
}
.np-brand-strip .max-w-7xl{
  min-height: 118px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
header .np-brand{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  max-width: none !important;
}
header .np-brand-logo{
  display:block !important;
  height: 92px !important;
  width: auto !important;
  max-width: min(92vw, 560px) !important;
}

@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    min-height: 136px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  header .np-brand{
    width: 100% !important;
  }
  header .np-brand-logo{
    height: 112px !important;
    max-width: 92vw !important;
  }
}

@media (min-width: 768px) and (max-width: 1180px){
  .np-brand-strip .max-w-7xl{
    min-height: 110px !important;
  }
  header .np-brand-logo{
    height: 84px !important;
    max-width: min(84vw, 500px) !important;
  }
}


/* --- NextPass header final override v3: cropped exact logo, tighter desktop, bigger centered mobile --- */
.np-brand-strip{
  background:#f4f7fb !important;
  border-bottom:1px solid rgba(15,42,68,.08) !important;
}
.np-brand-strip .max-w-7xl{
  min-height:72px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
}
.np-nav-strip{
  min-height:58px !important;
}
header .np-brand{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0 auto !important;
}
header .np-brand-logo{
  display:block !important;
  height:60px !important;
  width:auto !important;
  max-width:min(62vw,340px) !important;
  margin:0 auto !important;
}
.np-nav-strip .max-w-7xl{
  padding-top:10px !important;
  padding-bottom:10px !important;
}
.home-nav{
  gap:1rem !important;
  font-size:.96rem !important;
}
.home-nav .home-book-link{
  padding:.72rem 1.05rem !important;
}
.np-phone{
  padding:.74rem 1.1rem !important;
  border-radius:.95rem !important;
}

@media (max-width: 1180px){
  .np-brand-strip .max-w-7xl{
    min-height:72px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  header .np-brand-logo{
    height:54px !important;
    max-width:min(66vw,300px) !important;
  }
}

@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    min-height:108px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
    justify-content:center !important;
  }
  header .np-brand{
    width:100% !important;
    justify-content:center !important;
  }
  header .np-brand-logo{
    height:84px !important;
    max-width:86vw !important;
  }
  .np-nav-strip{
    display:none !important;
  }
}


/* --- NextPass header final override v5 --- */
header .np-brand-logo{
  height: 66px !important;
  max-width: min(68vw, 360px) !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.np-brand-strip .max-w-7xl{
  min-height: 76px !important;
  padding-top: 8px !important;
  padding-bottom: 6px !important;
}

@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    min-height: 98px !important;
    padding-top: 8px !important;
    padding-bottom: 2px !important;
    align-items: flex-end !important;
  }
  header .np-brand-logo{
    height: 86px !important;
    max-width: 88vw !important;
  }
}


/* --- NextPass header final override v6 --- */
header .np-brand-logo{
  height:72px !important;
  max-width:min(70vw,380px) !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}
.np-brand-strip .max-w-7xl{
  min-height:72px !important;
  padding-top:6px !important;
  padding-bottom:2px !important;
}
@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    min-height:88px !important;
    padding-top:4px !important;
    padding-bottom:0 !important;
    align-items:flex-end !important;
  }
  header .np-brand{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:flex-end !important;
  }
  header .np-brand-logo{
    height:96px !important;
    max-width:92vw !important;
  }
}


/* --- NextPass header final override v7 --- */
.np-brand-strip .max-w-7xl{
  min-height:96px !important;
  padding-top:8px !important;
  padding-bottom:6px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
header .np-brand{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
}
header .np-brand-logo{
  height:88px !important;
  max-width:92vw !important;
  margin:0 auto !important;
  display:block !important;
}

@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    min-height:108px !important;
    padding-top:10px !important;
    padding-bottom:6px !important;
    align-items:center !important;
    justify-content:center !important;
  }
  header .np-brand{
    width:100% !important;
    align-items:center !important;
    justify-content:center !important;
  }
  header .np-brand-logo{
    height:88px !important;
    max-width:90vw !important;
    margin:0 auto !important;
  }
}


/* --- NextPass header v8: remove chin + slightly bigger logo --- */
.np-brand-strip .max-w-7xl{
  min-height:96px !important;
  padding-top:10px !important;
  padding-bottom:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

header .np-brand-logo{
  height:98px !important;
  max-width:94vw !important;
  margin:0 auto !important;
  display:block !important;
}

@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    min-height:104px !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
    align-items:center !important;
    justify-content:center !important;
  }

  header .np-brand-logo{
    height:104px !important;
    max-width:95vw !important;
  }
}


/* --- NextPass header final override v9: restore swoosh bottom room --- */
header .np-brand-logo{
  object-fit: contain !important;
  object-position: center center !important;
}
@media (max-width: 767px){
  header .np-brand-logo{
    height: 102px !important;
    max-width: 95vw !important;
  }
}


/* --- NextPass header final override v10: kill mobile chin by cropping wrapper, not logo art --- */
@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    min-height: 90px !important;
    height: 90px !important;
    padding-top: 6px !important;
    padding-bottom: 0 !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }
  header .np-brand{
    width: 100% !important;
    height: 84px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    line-height: 0 !important;
  }
  header .np-brand-logo{
    height: 108px !important;
    max-width: 92vw !important;
    margin: 0 auto !important;
    transform: translateY(-6px) !important;
    transform-origin: top center !important;
    display: block !important;
  }
}


/* --- NextPass header final override v11: desktop chin down, mobile top crop removed --- */

/* desktop / tablet */
.np-brand-strip .max-w-7xl{
  min-height:72px !important;
  height:72px !important;
  padding-top: 4px !important;
  padding-bottom: 0 !important;
  align-items: center !important;
  justify-content: center !important;
}
header .np-brand{
  width: 100% !important;
  height: 74px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
}
header .np-brand-logo{
  height: 88px !important;
  max-width: min(48vw, 320px) !important;
  margin: 0 auto !important;
  transform: translateY(0) !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* mobile */
@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    min-height: 94px !important;
    height: 94px !important;
    padding-top: 6px !important;
    padding-bottom: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }
  header .np-brand{
    width: 100% !important;
    height: 88px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
  }
  header .np-brand-logo{
    height: 98px !important;
    max-width: 92vw !important;
    margin: 0 auto !important;
    transform: translateY(2px) !important;
  }
}


/* --- NextPass header final override v12: dedicated header SVG --- */

/* desktop / tablet */
.np-brand-strip .max-w-7xl{
  min-height: 82px !important;
  height: 82px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
header .np-brand{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
  line-height:0 !important;
}
header .np-brand-logo{
  display:block !important;
  height:72px !important;
  width:auto !important;
  max-width:min(50vw, 330px) !important;
  margin:0 auto !important;
  transform:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

@media (max-width: 767px){
  .np-brand-strip .max-w-7xl{
    min-height: 98px !important;
    height: 98px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  header .np-brand{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  header .np-brand-logo{
    height:92px !important;
    max-width:92vw !important;
  }
}


/* --- NextPass desktop single-bar header, mobile unchanged --- */
.np-desktop-header{
  display:none;
}
.np-mobile-header{
  display:block;
}
.np-brand-strip{
  background:#f4f7fb;
  border-bottom:1px solid rgba(15,42,68,.08);
}
.np-brand-strip .max-w-7xl{
  min-height:98px;
  height:98px;
  padding-top:8px;
  padding-bottom:8px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.np-mobile-header .np-brand{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.np-mobile-header .np-brand-logo{
  display:block;
  height:92px;
  width:auto;
  max-width:92vw;
  margin:0 auto;
  object-fit:contain;
  object-position:center center;
}

@media (min-width: 768px){
  .np-mobile-header{
    display:none;
  }
  .np-desktop-header{
    display:block;
    background:linear-gradient(90deg,#13345c 0%, #163c6a 100%);
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .np-desktop-header .np-brand{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    text-decoration:none;
    line-height:0;
  }
  .np-desktop-header .np-brand-logo{
    display:block;
    height:68px;
    width:auto;
    max-width:300px;
    object-fit:contain;
    object-position:center center;
  }
  .np-desktop-header .home-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1.15rem;
    font-size:.98rem;
    font-weight:600;
    flex:1;
    min-width:0;
  }
  .np-desktop-header .home-nav a{
    white-space:nowrap;
    color:#fff;
    letter-spacing:.01em;
  }
  .np-desktop-header .home-nav .home-book-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.78rem 1.1rem;
    border-radius:.85rem;
    background:linear-gradient(135deg,var(--np-green),var(--np-green-2));
    color:#fff !important;
    font-weight:700;
    box-shadow:0 10px 22px rgba(63,191,104,.18);
  }
  .np-desktop-header .np-phone{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.82rem 1.2rem;
    border-radius:1rem;
    font-weight:700;
    color:#fff;
    background:linear-gradient(135deg,var(--np-green),var(--np-green-2));
    box-shadow:0 10px 24px rgba(63,191,104,.18);
    white-space:nowrap;
  }
  .home-hero-wrap{
    padding-top:4.25rem;
  }
}

@media (min-width: 768px) and (max-width: 1180px){
  .np-desktop-header .np-brand-logo{
    height:60px;
    max-width:250px;
  }
  .np-desktop-header .home-nav{
    gap:.9rem;
    font-size:.94rem;
  }
  .np-desktop-header .np-phone{
    padding:.72rem 1rem;
  }
}

@media (max-width: 767px){
  .np-desktop-header{
    display:none !important;
  }
  .np-mobile-header{
    display:block !important;
  }
}


/* --- NextPass desktop single-bar alignment fix --- */
@media (min-width: 768px){
  .np-desktop-header .max-w-7xl{
  padding-top:0.9rem !important;
  padding-bottom:0.9rem !important;
  align-items:center !important;
  gap:2rem !important;
}
  .np-desktop-header .np-brand{
    justify-self:start !important;
    width:auto !important;
  }
  .np-desktop-header .np-brand-logo{
    height:64px !important;
    max-width:260px !important;
  }
  .np-desktop-header .home-nav{
    justify-self:center !important;
    justify-content:center !important;
    gap:1rem !important;
    width:auto !important;
    flex:none !important;
    margin:0 auto !important;
  }
  .np-desktop-header .home-nav .home-book-link{
    margin-left:.35rem !important;
  }
  .np-desktop-header .np-phone{
    justify-self:end !important;
    margin-left:0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1180px){
  .np-desktop-header .max-w-7xl{
  padding-top:0.9rem !important;
  padding-bottom:0.9rem !important;
  align-items:center !important;
  gap:2rem !important;
}
  .np-desktop-header .np-brand-logo{
    height:58px !important;
    max-width:225px !important;
  }
  .np-desktop-header .home-nav{
    gap:.8rem !important;
    font-size:.92rem !important;
  }
  .np-desktop-header .np-phone{
    padding:.7rem .95rem !important;
    font-size:.95rem !important;
  }
}


/* --- Desktop navbar recolor: off-white background, dark text --- */
@media (min-width: 768px){
  .np-desktop-header{
    background:#f4f7fb !important;
    border-bottom:1px solid rgba(15,42,68,.08) !important;
  }
  .np-desktop-header .home-nav a{
    color:#0F2A44 !important;
  }
  .np-desktop-header .home-nav a:hover{
    color:#163c6a !important;
  }
  .np-desktop-header .home-nav .home-book-link{
    color:#fff !important;
  }
  .np-desktop-header .np-phone{
    color:#fff !important;
  }
}


/* --- Bigger logo without increasing navbar height --- */
@media (min-width:768px){
  .np-desktop-header .np-brand-logo{
    height:64px !important;
    transform:scale(1.25);
    transform-origin:left center;
  }
  .np-desktop-header .max-w-7xl{
  padding-top:0.9rem !important;
  padding-bottom:0.9rem !important;
  align-items:center !important;
  gap:2rem !important;
}
}


/* --- Header refinement --- */
@media (min-width:768px){
  .np-desktop-header .np-brand-logo{
    height:64px !important;
    transform:scale(1.45);
    transform-origin:left center;
  }
  .np-desktop-header .home-nav{
    margin-left:auto !important;
    justify-content:flex-end !important;
    gap:1.6rem !important;
  }
}


/* --- v3 desktop header corrections --- */
@media (min-width:768px){
  .np-desktop-header .max-w-7xl{
  padding-top:0.9rem !important;
  padding-bottom:0.9rem !important;
  align-items:center !important;
  gap:2rem !important;
}

  .np-desktop-header .np-brand{
    width:auto !important;
    justify-self:start !important;
    display:flex !important;
    align-items:center !important;
  }

  .np-desktop-header .np-brand-logo{
    height:88px !important;
    max-width:none !important;
    width:auto !important;
    transform:none !important;
    display:block !important;
  }

  .np-desktop-header .home-nav{
    width:100% !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:2rem !important;
    margin:0 !important;
    flex:none !important;
  }

  .np-desktop-header .home-nav a{
    text-align:right !important;
  }
}

@media (min-width:768px) and (max-width:1180px){
  .np-desktop-header .max-w-7xl{
  padding-top:0.9rem !important;
  padding-bottom:0.9rem !important;
  align-items:center !important;
  gap:2rem !important;
}

  .np-desktop-header .np-brand-logo{
    height:74px !important;
  }

  .np-desktop-header .home-nav{
    gap:1.25rem !important;
  }
}


/* --- Premium interaction enhancements --- */
@media (min-width:768px){
  .np-desktop-header .np-brand{
    transition: transform .22s ease, opacity .22s ease;
  }
  .np-desktop-header .np-brand:hover{
    transform: translateY(-1px) scale(1.015);
    opacity: .98;
  }

  .np-desktop-header .home-nav a{
    position: relative;
    transition: color .2s ease;
  }
  .np-desktop-header .home-nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:100%;
    height:2px;
    background:#3DB54A;
    transform:scaleX(0);
    transform-origin:left center;
    transition:transform .22s ease;
    border-radius:16px;
  }
  .np-desktop-header .home-nav a:hover::after,
  .np-desktop-header .home-nav a:focus-visible::after{
    transform:scaleX(1);
  }

  .home-hero-image img,
  .home-hero-image picture img{
    box-shadow: 0 18px 38px rgba(5, 20, 40, 0.22), 0 8px 18px rgba(5, 20, 40, 0.12) !important;
    transition: transform .22s ease, box-shadow .22s ease;
  }
  .home-hero-image img:hover,
  .home-hero-image picture img:hover{
    transform: translateY(-2px);
    box-shadow: 0 24px 52px rgba(5, 20, 40, 0.26), 0 10px 22px rgba(5, 20, 40, 0.14) !important;
  }
}


/* --- Remove hero hover motion, keep improved shadow --- */
@media (min-width:768px){
  .home-hero-image img,
  .home-hero-image picture img{
    box-shadow: 0 18px 38px rgba(5, 20, 40, 0.22), 0 8px 18px rgba(5, 20, 40, 0.12) !important;
    transition: box-shadow .22s ease !important;
    transform: none !important;
  }
  .home-hero-image img:hover,
  .home-hero-image picture img:hover{
    transform: none !important;
    box-shadow: 0 18px 38px rgba(5, 20, 40, 0.22), 0 8px 18px rgba(5, 20, 40, 0.12) !important;
  }

  .np-desktop-header .max-w-7xl{
  padding-top:0.9rem !important;
  padding-bottom:0.9rem !important;
  align-items:center !important;
  gap:2rem !important;
}
  .np-desktop-header .home-nav{
    gap: 1.15rem !important;
    font-size: .95rem !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
  }
  .np-desktop-header .home-nav a:last-child{
    padding-left: .5rem;
  }
}

@media (min-width:768px) and (max-width:1180px){
  .np-desktop-header .max-w-7xl{
  padding-top:0.9rem !important;
  padding-bottom:0.9rem !important;
  align-items:center !important;
  gap:2rem !important;
}
  .np-desktop-header .home-nav{
    gap: .8rem !important;
    font-size: .88rem !important;
  }
}


/* --- v6 logo crop + premium polish --- */
@media (min-width:768px){
  .np-desktop-header .max-w-7xl{
  padding-top:0.9rem !important;
  padding-bottom:0.9rem !important;
  align-items:center !important;
  gap:2rem !important;
}
  .np-desktop-header .np-brand{
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
  .np-desktop-header .np-brand-logo{
    height: 92px !important;
    width: auto !important;
    max-width: none !important;
    display:block !important;
  }
}
@media (min-width:768px) and (max-width:1180px){
  .np-desktop-header .max-w-7xl{
  padding-top:0.9rem !important;
  padding-bottom:0.9rem !important;
  align-items:center !important;
  gap:2rem !important;
}
  .np-desktop-header .np-brand-logo{
    height:72px !important;
  }
}

.gradient-bg{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 22%, rgba(61,181,74,.14), transparent 28%),
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.10), transparent 22%),
    linear-gradient(135deg,var(--np-navy) 0%, var(--np-navy-2) 100%) !important;
}
.gradient-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 30%, rgba(255,255,255,.06), transparent 20%),
    radial-gradient(circle at 85% 75%, rgba(61,181,74,.10), transparent 24%);
  pointer-events:none;
}
.home-hero-wrap{
  position:relative;
  z-index:1;
}
.home-hero-title{
  letter-spacing:-0.035em !important;
  line-height:1.02 !important;
  text-wrap:balance;
}
.home-hero-copy{
  max-width:35rem !important;
}
.home-hero-image{
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 18px 38px rgba(5,20,40,.22), 0 8px 18px rgba(5,20,40,.12), 0 0 0 1px rgba(255,255,255,.06) inset !important;
}
@media (max-width:767px){
  .home-hero-title{
    line-height:1.06 !important;
    letter-spacing:-0.03em !important;
  }
}



:root{
  --np-navy:#102542;
  --np-navy-2:#1b416c;
  --np-navy-3:#254f7d;
  --np-green:#5ac85a;
  --np-green-2:#42b96a;
  --np-shell-bg:rgba(243,247,251,.84);
  --np-shell-border:rgba(16,37,66,.10);
}
html{scroll-behavior:smooth;}
body{background:#f8fafc !important;color:var(--np-navy) !important;}
.np-header{
  position:sticky;top:0;z-index:70;
  background:var(--np-shell-bg) !important;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom:1px solid var(--np-shell-border) !important;
  box-shadow:0 10px 28px rgba(16,37,66,.08);
}
.np-header-inner{max-width:1180px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.np-brand{display:inline-flex;align-items:center;text-decoration:none;line-height:0;flex-shrink:0;}
.np-brand-logo{height:66px !important;width:auto;display:block;max-width:min(34vw,340px);}
.np-nav{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.np-nav a{color:var(--np-navy) !important;text-decoration:none !important;font-weight:700;font-size:1rem;letter-spacing:-.01em;opacity:.96;}
.np-nav a:hover,.np-nav a:focus-visible{color:var(--np-green-2) !important;opacity:1;}
.np-nav a.nav-cta{color:#193c66 !important;}
@media (max-width: 900px){
  .np-header-inner{padding:12px 16px;gap:14px;flex-direction:column;align-items:flex-start;}
  .np-brand-logo{height:58px !important;max-width:74vw;}
  .np-nav{gap:16px 18px;}
  .np-nav a{font-size:.95rem;}
}
.hero,.gradient-bg,section#home,.np-hero-premium{
  background:
    radial-gradient(circle at 16% 18%, rgba(94,214,120,.16), transparent 21%),
    radial-gradient(circle at 84% 10%, rgba(255,255,255,.08), transparent 17%),
    linear-gradient(135deg, #112b4d 0%, #143966 54%, #214a7a 100%) !important;
}
.hero h1,.gradient-bg h1,section#home h1,.np-hero-premium h1{color:#fff !important;}
.hero p,.gradient-bg p,section#home p,.np-hero-premium p,.text-rose-100,.text-rose-200,.text-rose-300{color:#d9e5f6 !important;}
.text-rose-800,.text-rose-700{color:var(--np-navy) !important;}
.text-rose-600{color:var(--np-green-2) !important;}
.bg-rose-900{background:linear-gradient(180deg,#102542 0%, #17365f 100%) !important;}
.bg-rose-800,.bg-rose-700{background:#173c67 !important;color:#fff !important;}
.hover\:bg-rose-800:hover,.hover\:bg-rose-700:hover{background:#0f2d4f !important;color:#fff !important;}
.border-rose-800{border-color:#2a4a70 !important;}
.bg-rose-50,.bg-rose-100{background:#f8fbff !important;}
.border-rose-200,.border-rose-300{border-color:#dbe4f0 !important;}
.text-rose-700,.text-rose-800{color:#18395f !important;}
.hover\:text-rose-700:hover{color:var(--np-green) !important;}
.focus\:ring-rose-300:focus,.focus\:ring-rose-400:focus{--tw-ring-color:rgba(90,200,90,.38) !important;}
.np-unified-footer{background:linear-gradient(180deg,#102542 0%, #17365f 100%) !important;color:#d8e6f4 !important;}
.np-unified-footer a{color:#d8e6f4 !important;text-decoration:none !important;}
.np-unified-footer a:hover{color:#ffffff !important;}
.np-unified-footer .text-rose-100,.np-unified-footer .text-rose-200,.np-unified-footer .text-rose-300,.np-unified-footer strong,.np-unified-footer h4,.np-unified-footer span,.np-unified-footer p,.np-unified-footer li,.np-unified-footer div{color:inherit !important;}
.np-unified-footer strong,.np-unified-footer h4{color:#ffffff !important;}
.np-unified-footer .border-rose-800{border-color:rgba(255,255,255,.14) !important;}
footer a:hover{color:#fff !important;}


/* Remove the stray white logo box on index only */
header.np-header .np-brand{background:transparent !important; box-shadow:none !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; padding:0 !important; border-radius:0 !important;}
header.np-header .np-brand-logo{display:block !important; background:transparent !important;}


.np-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:52px;height:52px;border-radius:16px;border:1px solid rgba(15,42,68,.12);background:rgba(255,255,255,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 24px rgba(15,42,68,.10);color:#16345c;cursor:pointer;transition:transform .2s ease, background .2s ease, box-shadow .2s ease;}
.np-menu-toggle:hover{transform:translateY(-1px);background:rgba(255,255,255,.72);box-shadow:0 14px 28px rgba(15,42,68,.14);}
.np-menu-toggle span{display:block;width:22px;height:2.5px;border-radius:999px;background:#16345c;transition:transform .22s ease, opacity .22s ease;}
.np-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.np-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.np-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.np-mobile-nav{position:fixed;inset:0;z-index:9999;background:rgba(10,24,44,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:calc(env(safe-area-inset-top,0px) + 92px) 16px 24px;}
.np-mobile-nav-panel{max-width:720px;margin:0 auto;background:linear-gradient(180deg,rgba(247,250,252,.96) 0%, rgba(237,243,249,.96) 100%);border:1px solid rgba(15,42,68,.10);border-radius:24px;box-shadow:0 30px 70px rgba(15,42,68,.22);padding:18px;}
.np-mobile-nav-panel a{display:block;width:100%;padding:14px 16px;border-radius:16px;color:#16345c !important;font-weight:700;text-decoration:none;letter-spacing:.01em;}
.np-mobile-nav-panel a + a{margin-top:6px;}
.np-mobile-nav-panel a:hover,.np-mobile-nav-panel a:focus{background:rgba(22,52,92,.06);outline:none;}
.np-mobile-nav-panel a.nav-cta,.np-mobile-nav-panel a.nav-active{background:linear-gradient(135deg,var(--np-green),var(--np-green-2));color:#fff !important;box-shadow:0 12px 28px rgba(63,191,104,.22);}
body.np-menu-open{overflow:hidden;}
@media (max-width: 767px){
  .np-header{position:sticky;top:0;z-index:60;}
  .np-header-inner{position:relative;display:flex !important;align-items:center !important;justify-content:center !important;min-height:108px !important;gap:0 !important;padding-left:82px !important;padding-right:82px !important;}
  .np-nav{display:none !important;}
  .np-menu-toggle{display:inline-flex !important;position:absolute !important;left:16px !important;top:50% !important;transform:translateY(-50%) !important;flex:0 0 auto;z-index:2;}
  .np-menu-toggle:hover{transform:translateY(calc(-50% - 1px)) !important;}
  .np-brand{flex:0 1 auto !important;min-width:0 !important;width:auto !important;justify-content:center !important;margin:0 auto !important;}
  .np-brand-logo{height:66px !important;max-width:min(78vw,380px) !important;margin:0 auto !important;}
}
@media (min-width: 768px){
  .np-mobile-nav{display:none !important;}
}


:root{
  --np-ink:#102542;
  --np-ink-soft:#36506f;
  --np-paper:#ffffff;
  --np-mist:#f5f8fc;
  --np-line:rgba(16,37,66,.12);
  --np-lift:0 20px 44px rgba(16,37,66,.12);
  --np-lift-soft:0 12px 28px rgba(16,37,66,.09);
}
body{
  background:
    linear-gradient(180deg,#f9fbfe 0%,#eef4fa 42%,#f9fbfe 100%) !important;
}
body *{
  letter-spacing:0 !important;
}
.np-header{
  box-shadow:0 12px 30px rgba(16,37,66,.08) !important;
}
.np-nav a{
  position:relative;
  padding:.35rem 0;
}
.np-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-.25rem;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--np-green),#8be98d);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .22s ease;
}
.np-nav a:hover::after,
.np-nav a:focus-visible::after{
  transform:scaleX(1);
}
.np-nav a.nav-cta{
  padding:.82rem 1.05rem !important;
  border-radius:8px;
  background:linear-gradient(135deg,var(--np-green),var(--np-green-2));
  color:#fff !important;
  box-shadow:0 12px 24px rgba(63,191,104,.24);
}
.np-nav a.nav-cta::after{
  display:none;
}
.gradient-bg{
  background:linear-gradient(135deg,#102542 0%,#153d69 54%,#28618c 100%) !important;
}
.gradient-bg::before{
  background:
    linear-gradient(115deg,rgba(255,255,255,.08),rgba(255,255,255,0) 32%),
    repeating-linear-gradient(135deg,rgba(255,255,255,.055) 0 1px,transparent 1px 18px) !important;
  opacity:.72;
}
.home-hero-wrap{
  min-height:calc(100vh - 96px);
  padding-top:5.8rem !important;
  padding-bottom:5.4rem !important;
}
.home-hero-title{
  font-size:clamp(2.5rem,4.6vw,4rem) !important;
  line-height:1.06 !important;
  max-width:15ch !important;
  text-shadow:0 16px 34px rgba(0,0,0,.2) !important;
}
.home-hero-copy{
  color:#e4edf8 !important;
  font-size:1.2rem !important;
}
.home-hero-copy strong{
  color:#fff !important;
}
.np-hero-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.35rem;
}
.np-hero-highlights span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  padding:.48rem .78rem;
  background:rgba(255,255,255,.1);
  color:#f5fbff;
  font-size:.94rem;
  font-weight:700;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.home-hero-image{
  position:relative;
  border-radius:8px !important;
  overflow:hidden;
  transform:translateZ(0);
  background:#102542 !important;
  box-shadow:0 28px 62px rgba(4,18,35,.32),0 0 0 1px rgba(255,255,255,.16) inset !important;
}
.home-hero-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(130deg,rgba(255,255,255,.12),transparent 22%,transparent 78%,rgba(90,200,90,.12));
  opacity:.65;
}
.home-hero-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:1.42/1;
  object-fit:cover;
  opacity:1 !important;
}
.np-proof-strip{
  background:#ffffff;
  border-bottom:1px solid rgba(16,37,66,.08);
  box-shadow:0 16px 36px rgba(16,37,66,.06);
}
.np-proof-inner{
  max-width:1120px;
  margin:0 auto;
  padding:1.15rem 1.25rem;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.np-proof-inner div{
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(16,37,66,.1);
  border-radius:8px;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  box-shadow:0 10px 22px rgba(16,37,66,.07);
}
.np-proof-inner strong{
  display:block;
  color:#102542;
  font-size:1.55rem;
  line-height:1;
  font-weight:900;
}
.np-proof-inner span{
  margin-top:.38rem;
  color:#4a5c75;
  font-size:.9rem;
  font-weight:700;
  text-align:center;
}
section{
  scroll-margin-top:110px;
}
section#about,
section#success,
section#testimonials,
section#faq{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%) !important;
}
section#lessons,
section#pricing,
section#pgallery,
section#contact{
  background:linear-gradient(180deg,#eef5fb 0%,#f8fbff 100%) !important;
}
section h2,
.home-about-title{
  color:var(--np-ink) !important;
  line-height:1.1 !important;
}
section h2::after,
.home-about-title::after{
  content:"";
  display:block;
  width:76px;
  height:4px;
  margin:1rem auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--np-green),#a1f0a2);
}
.about-intro{
  color:var(--np-ink-soft) !important;
}
.feature-card,
#lessons .grid > div,
#success .grid > div,
.pricing-card,
#testimonials .grid > div,
#faq details,
#pricing .rounded-2xl,
#contact .contact-buttons a{
  border-radius:8px !important;
}
.feature-card,
#lessons .grid > div,
#success .grid > div,
.pricing-card,
#testimonials .grid > div,
#faq details{
  background:rgba(255,255,255,.88) !important;
  border:1px solid var(--np-line) !important;
  box-shadow:var(--np-lift-soft) !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.feature-card:hover,
#lessons .grid > div:hover,
.pricing-card:hover,
#testimonials .grid > div:hover,
#faq details:hover{
  transform:translateY(-5px);
  border-color:rgba(90,200,90,.38) !important;
  box-shadow:var(--np-lift) !important;
}
.feature-icon{
  border-radius:8px !important;
  background:linear-gradient(135deg,#102542,#23608c) !important;
  color:#79df80 !important;
}
.btn-gradient,
.contact-buttons a,
.fixed.bottom-6.right-6{
  border-radius:8px !important;
  box-shadow:0 14px 28px rgba(63,191,104,.25) !important;
}
.btn-gradient:hover,
.contact-buttons a:hover,
.fixed.bottom-6.right-6:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 34px rgba(63,191,104,.32) !important;
}
#success .progress-bar{
  height:18px;
  background:#dce7f2 !important;
  box-shadow:inset 0 1px 3px rgba(16,37,66,.12);
}
#success .progress-fill{
  background:linear-gradient(90deg,var(--np-green),#b7ef62) !important;
}
#pricing .border-2{
  position:relative;
  border-color:rgba(90,200,90,.68) !important;
}
#pricing .border-2::before{
  display:none !important;
  content:none !important;
}
#pricing .rounded-2xl.border{
  box-shadow:var(--np-lift-soft) !important;
}
#pgallery .gallery-container{
  max-width:1180px;
  margin:0 auto;
  border:1px solid var(--np-line);
  border-radius:8px;
  background:rgba(255,255,255,.74);
  box-shadow:var(--np-lift-soft);
  padding:.5rem 0 1.4rem;
  overflow:hidden;
}
#gallery{
  gap:.85rem !important;
  padding:1.25rem 3.4rem !important;
}
#gallery img{
  border-radius:8px !important;
  border:3px solid #fff !important;
  box-shadow:0 12px 24px rgba(16,37,66,.14) !important;
}
#gallery img:hover{
  transform:translateY(-4px) scale(1.03) !important;
  box-shadow:0 18px 32px rgba(16,37,66,.2) !important;
}
.gallery-arrow{
  background:#102542 !important;
  border-radius:8px !important;
  box-shadow:0 12px 22px rgba(16,37,66,.18);
}
.gallery-arrow:hover{
  background:#1c4c77 !important;
}
.gallery-indicator{
  bottom:.35rem !important;
}
#contact .contact-buttons a{
  min-width:154px;
}
#contact p{
  color:var(--np-ink-soft) !important;
}
.np-reviews-intro{
  max-width:42rem;
  margin:-.75rem auto 1.2rem;
  color:#4a5c75;
  font-size:1.08rem;
}
.np-google-reviews-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  min-height:48px;
  margin:0 auto 2rem;
  padding:.82rem 1.25rem;
  border-radius:8px;
  background:#102542;
  color:#fff !important;
  font-weight:900;
  text-decoration:none !important;
  box-shadow:0 16px 30px rgba(16,37,66,.18);
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.np-google-reviews-link span,
.np-stars{
  color:#fbbc04;
  letter-spacing:.05em !important;
}
.np-google-reviews-link:hover{
  transform:translateY(-2px);
  background:#173d68;
  box-shadow:0 20px 38px rgba(16,37,66,.24);
}
.np-review-card{
  display:block;
  text-align:left;
  color:inherit !important;
  text-decoration:none !important;
  min-height:100%;
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.9) !important;
  border:1px solid var(--np-line) !important;
  border-radius:8px !important;
  padding:1.5rem;
  box-shadow:var(--np-lift-soft) !important;
}
.np-review-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#5ac85a,#fbbc04);
}
.np-stars{
  margin-bottom:.85rem;
  font-size:.95rem;
  font-weight:900;
}
.np-review-card p{
  color:#2b3c55;
  font-style:normal !important;
  font-weight:650;
}
.np-review-card h4{
  color:#2f9f55 !important;
  margin-top:1rem;
}
.np-live-reviews{
  max-width:980px;
  margin:0 auto;
  padding:1.25rem;
  border:1px solid rgba(16,37,66,.1);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--np-lift-soft);
  position:relative;
  overflow:hidden;
}
.np-static-reviews{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  max-width:980px;
  margin:0 auto;
}
.np-live-reviews-summary{
  max-width:720px;
  margin:0 auto 1.8rem;
  padding:1.5rem;
  border:1px solid rgba(16,37,66,.12);
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#f7fbff);
  box-shadow:var(--np-lift-soft);
}
.np-live-reviews-summary h3{
  margin:.35rem 0 .5rem;
  color:#102542;
  font-size:1.35rem;
  font-weight:900;
}
.np-live-reviews-summary p{
  color:#4a5c75;
  margin:0;
}
.np-review-card-empty{
  opacity:.82;
}
.np-eyebrow{display:none;}
.home-hero-wrap > div:first-child .flex{
  justify-content:center !important;
}
.np-image-badge{
  display:none;
}
.feature-card,
#lessons .grid > div,
.pricing-card{
  position:relative;
  overflow:hidden;
}
.feature-card::after,
#lessons .grid > div::after,
.pricing-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(140deg,rgba(90,200,90,.12),transparent 32%);
  opacity:0;
  transition:opacity .22s ease;
}
.feature-card:hover::after,
#lessons .grid > div:hover::after,
.pricing-card:hover::after{
  opacity:1;
}
.feature-icon svg{
  width:30px;
  height:30px;
  stroke-width:2.35;
}
.np-card-icon{
  width:44px;
  height:44px;
  margin:0 auto 1.1rem;
  padding:10px;
  border-radius:8px;
  color:#5ac85a;
  background:#102542;
  box-shadow:0 12px 24px rgba(16,37,66,.14);
}
.pricing-card{
  padding-top:2rem !important;
}
.np-plan-label{
  display:inline-flex;
  margin-bottom:1rem;
  padding:.32rem .7rem;
  border-radius:999px;
  background:#edf7ef;
  color:#27884b;
  font-size:.78rem;
  font-weight:900;
}
#pricing .pricing-card[data-booking="single"] .np-plan-label{
  background:linear-gradient(135deg,#fff1ed,#ffe7db) !important;
  color:#9a3412 !important;
  border:1px solid #f5c9b8;
}
#pricing .pricing-card[data-booking="single"] .np-single-price-note{
  margin:0 0 .75rem;
  padding-left:.625rem;
  border-left:2px solid #d1dfd7;
  color:#52647b !important;
  font-size:.8125rem;
  font-weight:400;
  line-height:1.5 !important;
}
#pricing .pricing-card[data-booking="single"] .np-single-price-note strong{
  color:#334155;
  font-weight:600;
}
.pricing-card .text-rose-600{
  color:#2f9f55 !important;
  font-size:2rem !important;
}
.np-intensive-callout{
  border-color:rgba(90,200,90,.28) !important;
  background:
    linear-gradient(135deg,rgba(90,200,90,.1),rgba(255,255,255,.92) 42%),
    #fff !important;
}
.np-intensive-callout a{
  border-radius:8px !important;
  background:#102542 !important;
  box-shadow:0 14px 26px rgba(16,37,66,.18);
}
.np-live-reviews{
  min-height:150px;
}
.np-live-reviews-status{
  margin:0;
  padding:1.25rem;
  color:#4a5c75;
  font-size:.92rem;
}
.np-live-reviews.is-ready .np-live-reviews-status{
  display:none;
}
.np-reviews-summary-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
  padding:.35rem .25rem 1rem;
  border:0;
  border-radius:0;
  background:#fff;
}
.np-reviews-summary-brand{
  display:flex;
  align-items:center;
  gap:.8rem;
  min-width:0;
  text-align:left;
}
.np-google-mark{
  display:grid;
  place-items:center;
  flex:0 0 58px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#fff;
  color:#4285f4;
  border:2px solid #e5eaf1;
  box-shadow:0 9px 24px rgba(16,37,66,.15),0 0 0 5px rgba(66,133,244,.06);
  font-size:2rem;
  font-weight:950;
}
.np-google-mark::before{
  content:"G";
  background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 42%,#fbbc05 0 64%,#ea4335 0 82%,#4285f4 0 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.np-reviews-summary-brand strong{
  display:block;
  color:#102542;
  font-size:1.05rem;
}
.np-reviews-summary-brand span{
  display:block;
  margin-top:.15rem;
  color:#64748b;
  font-size:.84rem;
  font-weight:750;
}
.np-reviews-score{
  flex:0 0 auto;
  text-align:right;
}
.np-reviews-score strong{
  display:block;
  color:#102542;
  font-size:1.3rem;
  line-height:1;
}
.np-reviews-score span{
  display:block;
  margin-top:.3rem;
  color:#fbbc04;
  letter-spacing:.08em;
  font-size:.92rem;
}
.np-reviews-carousel{
  position:relative;
  padding:0 2.8rem;
}
.np-reviews-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 1rem)/2);
  gap:1rem;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.np-reviews-track::-webkit-scrollbar{
  display:none;
}
.np-google-review-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:296px;
  padding:1.3rem;
  overflow:hidden;
  scroll-snap-align:start;
  text-align:left;
  border:0;
  border-radius:999px;
  background:#f7f7f8;
  box-shadow:none;
}
.np-review-author{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-bottom:.8rem;
}
.np-review-avatar{
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#102542;
  color:#fff;
  font-size:.85rem;
  font-weight:900;
}
.np-review-author strong{
  display:block;
  color:#102542;
  font-size:.96rem;
}
.np-review-author span{
  display:block;
  margin-top:.08rem;
  color:#64748b;
  font-size:.76rem;
  font-weight:750;
}
.np-review-name-row{
  display:flex;
  align-items:center;
  gap:.35rem;
  min-width:0;
}
.np-review-name-row .np-review-verified{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 17px;
  width:17px;
  height:17px;
  margin:0;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:#1a73e8;
  color:#fff;
  box-shadow:0 2px 5px rgba(26,115,232,.28);
  font-size:10px;
  font-weight:950;
  line-height:1;
  text-align:center;
}
.np-review-card-stars{
  margin-bottom:.7rem;
  color:#fbbc04;
  letter-spacing:.07em;
  font-size:.95rem;
  font-weight:900;
}
.np-google-review-card blockquote{
  display:-webkit-box;
  margin:0;
  overflow:hidden;
  color:#263951;
  font-size:.95rem;
  font-style:normal;
  font-weight:625;
  line-height:1.58;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:7;
}
.np-review-source{
  display:flex;
  align-items:center;
  gap:.45rem;
  margin-top:auto;
  padding-top:1rem;
  color:#1a73e8;
  font-size:.78rem;
  font-weight:900;
}
.np-review-source::before{
  content:"G";
  display:grid;
  place-items:center;
  width:21px;
  height:21px;
  border:1px solid #dbe4f0;
  border-radius:50%;
  color:#4285f4;
  background:#fff;
  font-size:.72rem;
  font-weight:950;
  background-image:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 42%,#fbbc05 0 64%,#ea4335 0 82%,#4285f4 0 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.np-review-nav{
  display:none;
  align-items:center;
  justify-content:center;
  position:absolute;
  top:50%;
  z-index:2;
  width:40px;
  height:40px;
  transform:translateY(-50%);
  border:0;
  border-radius:50%;
  background:#858585;
  color:#fff;
  box-shadow:0 10px 22px rgba(16,37,66,.22);
  font-size:1.35rem;
  font-weight:900;
  cursor:pointer;
}
.np-live-reviews.is-enhanced .np-review-nav{
  display:flex;
}
.np-review-nav:hover{
  background:#666;
}
.np-review-nav:disabled{
  opacity:.28;
  cursor:default;
}
.np-review-nav-prev{left:0;}
.np-review-nav-next{right:0;}
.np-reviews-position{
  min-height:1.2rem;
  margin:.9rem 0 0;
  color:#64748b;
  font-size:.78rem;
  font-weight:800;
}
.np-reviews-fallback{
  position:relative;
  z-index:1;
  opacity:1;
  transition:opacity .18s ease;
}
.np-reviews-summary-brand > .np-google-mark,
.np-review-author > .np-review-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:0;
  padding:0;
  text-align:center;
  line-height:1;
}
.np-reviews-summary-brand > .np-google-mark{
  font-size:0;
}
.np-reviews-summary-brand > .np-google-mark::before{
  font-size:2rem;
  line-height:1;
}
.np-contact-panel{
  max-width:920px;
  margin:0 auto;
  padding:2.4rem;
  border:1px solid rgba(16,37,66,.1);
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(90,200,90,.12),rgba(255,255,255,.95) 38%),
    #fff;
  box-shadow:0 22px 52px rgba(16,37,66,.12);
}
.np-contact-panel h2{
  margin-top:0;
}
.np-contact-panel .contact-buttons{
  margin-top:1.6rem;
}
.np-contact-panel .contact-buttons a{
  min-height:56px;
}
.np-contact-panel > p:last-child{
  margin-bottom:0;
}
.np-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease, transform .55s ease;
}
.np-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
#pricing .pricing-card{
  cursor:pointer;
  transform:translateY(0);
  transition:transform .34s cubic-bezier(.2,.85,.25,1.25),box-shadow .28s ease,border-color .28s ease !important;
}
#pricing .pricing-card:hover{
  transform:translateY(-8px) scale(1.015) !important;
  border-color:rgba(90,200,90,.55) !important;
  box-shadow:0 24px 46px rgba(16,37,66,.17) !important;
}
#pricing .pricing-card:focus-visible{
  transform:translateY(-6px) scale(1.01) !important;
  border-color:#5ac85a !important;
  box-shadow:0 0 0 4px rgba(90,200,90,.2),0 22px 42px rgba(16,37,66,.16) !important;
  outline:none;
}
#pricing .pricing-card:active,
#pricing .pricing-card.active{
  transform:translateY(-2px) scale(.985) !important;
  transition-duration:.08s !important;
}
.np-pricing-click-hint{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin-top:1rem;
  color:#27884b;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.015em;
  opacity:.78;
}
.np-pricing-click-hint span{
  display:inline-block;
  transition:transform .22s ease;
}
#pricing .pricing-card:hover .np-pricing-click-hint,
#pricing .pricing-card:focus-visible .np-pricing-click-hint{
  opacity:1;
}
#pricing .pricing-card:hover .np-pricing-click-hint span,
#pricing .pricing-card:focus-visible .np-pricing-click-hint span{
  transform:translateX(3px);
}
@media (prefers-reduced-motion: reduce){
  .np-reveal,
  .feature-card,
  #lessons .grid > div,
  .pricing-card,
  #testimonials .grid > div,
  #gallery img{
    transition:none !important;
    transform:none !important;
  }
}
@media (max-width:767px){
  .home-hero-wrap{
    min-height:auto;
    padding-top:3.5rem !important;
    padding-bottom:3.8rem !important;
    gap:2rem !important;
  }
  .home-hero-title{
    max-width:none !important;
    font-size:2.5rem !important;
    line-height:1.08 !important;
  }
  .home-hero-copy{
    font-size:1.04rem !important;
  }
  .np-hero-highlights{
    justify-content:center;
  }
  .np-hero-highlights span{
    font-size:.86rem;
  }
  .np-proof-inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:1rem;
    gap:.75rem;
  }
  .np-proof-inner div{
    min-height:74px;
    padding:.7rem .45rem;
  }
  .np-proof-inner strong{
    font-size:1.25rem;
  }
  .np-proof-inner span{
    font-size:.78rem;
  }
  .np-google-reviews-link{
    width:100%;
    max-width:320px;
  }
  .np-static-reviews{
    grid-template-columns:1fr;
  }
  .np-live-reviews{
    padding:.85rem;
  }
  .np-reviews-summary-bar{
    align-items:flex-start;
    padding:.9rem;
  }
  .np-google-mark{
    flex-basis:50px;
    width:50px;
    height:50px;
    font-size:1.7rem;
  }
  .np-reviews-summary-brand > .np-google-mark::before{
    font-size:1.7rem;
  }
  .np-reviews-summary-brand strong{
    font-size:.94rem;
  }
  .np-reviews-summary-brand span{
    font-size:.75rem;
  }
  .np-reviews-score strong{
    font-size:1.1rem;
  }
  .np-reviews-score span{
    font-size:.75rem;
  }
  .np-reviews-carousel{
    padding:0 2.25rem;
  }
  .np-reviews-track{
    grid-auto-columns:100%;
    gap:.75rem;
  }
  .np-google-review-card{
    min-height:310px;
    padding:1.15rem;
  }
  .np-review-nav{
    width:36px;
    height:36px;
  }
  #gallery{
    padding:1rem 2.5rem 1.25rem !important;
  }
  #gallery img{
    width:132px !important;
    height:132px !important;
    flex-basis:132px !important;
  }
  .contact-buttons a{
    width:100%;
    justify-content:center;
  }
  .np-contact-panel{
    padding:1.4rem;
  }
}


/* Keep the photograph's rounded finish without a second framed container. */
.home-hero-image{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:none!important;
}
.home-hero-image::after{display:none!important;content:none!important;}
.home-hero-image img,
.home-hero-image picture img{
  display:block!important;
  border:0!important;
  border-radius:28px!important;
  box-shadow:0 24px 54px rgba(4,18,35,.3)!important;
}


/* Keep each contact icon and label together as one centred unit. */
.np-contact-panel .contact-buttons{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.8rem!important;
}
.np-contact-panel .contact-buttons > a{
  display:inline-flex!important;
  width:auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.5rem!important;
  padding:.85rem 1.15rem!important;
  text-align:center!important;
}
.np-contact-panel .contact-buttons > a > i,
.np-contact-panel .contact-buttons > a > svg{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  margin:0!important;
}
@media (max-width:639px){
  .np-contact-panel .contact-buttons{
    flex-direction:column!important;
    align-items:center!important;
  }
  .np-contact-panel .contact-buttons > a{
    width:176px!important;
    min-width:176px!important;
    max-width:176px!important;
    min-height:52px!important;
    padding:.78rem 1rem!important;
  }
}
#home .np-hero-klarna{
  display:flex;
  align-items:center;
  gap:11px;
  width:min(100%,560px);
  margin:1.1rem 0 0;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.075);
  color:#fff;
  text-align:left;
}
#home .np-hero-klarna{min-height:87.14px}
#home .np-hero-klarna-partners{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 82px;gap:2px;padding:0;border:0;background:transparent}
#home .np-hero-klarna-partners img:first-child{display:block;width:82px;height:auto;flex:0 0 auto}
#home .np-hero-klarna-partners img:last-child{display:block;width:50px;height:auto;flex:0 0 auto;border-radius:4px}
#home .np-hero-klarna-partners>span{color:#d9e5f2;font-size:.75rem;font-weight:800;line-height:1}
#home .np-hero-klarna-copy{display:grid;min-width:0;gap:2px}
#home .np-hero-klarna-copy>strong{color:#fff;font-size:.84rem;font-weight:800;line-height:1.3}
#home .np-hero-klarna-copy>span{color:#d9e5f2;font-size:.71rem;line-height:1.4}
@media(max-width:1100px){#home .np-hero-klarna{margin-right:auto;margin-left:auto}}
@media(max-width:767px){
  #home .np-hero-klarna{width:100%;max-width:520px;min-height:115.47px;margin-top:1rem;padding:8px 10px;gap:9px}
  #home .np-hero-klarna-partners img:first-child{width:76px}
  #home .np-hero-klarna-partners img:last-child{width:46px}
  #home .np-hero-klarna-copy>strong{font-size:.81rem}
  #home .np-hero-klarna-copy>span{font-size:.69rem}
}
@media(max-width:380px){#home .np-hero-klarna-partners{flex-basis:70px}#home .np-hero-klarna-partners img:first-child{width:70px}#home .np-hero-klarna-partners img:last-child{width:44px}}
#pricing .np-klarna-home-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  max-width:1120px;
  margin:0 auto;
  border:1px solid rgba(65,189,104,.28)!important;
  border-radius:14px;
  background:#f7fbf8!important;
  box-shadow:0 8px 22px rgba(13,33,59,.055)!important;
  text-align:left;
}
#pricing .np-klarna-home-content{display:flex;align-items:center;gap:14px;min-width:0;flex:1}
#pricing .np-klarna-home-mark{display:block;width:64px;height:auto;flex:0 0 auto;border-radius:5px}
#pricing .np-klarna-home-copy{min-width:0;flex:1}
#pricing .np-klarna-home-eyebrow{margin:0 0 3px!important;color:#27884b;font-size:.69rem;font-weight:850;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}
#pricing .np-klarna-home-copy h3{margin:0 0 4px!important;color:#102542;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;line-height:1.25}
#pricing .np-klarna-home-copy>p:last-child{max-width:66ch;margin:0!important;color:#52647b;font-size:.86rem;line-height:1.5}
#pricing .np-klarna-home-link{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 18px;border:0;border-radius:9px;background:#237d43!important;color:#fff!important;font-size:.88rem;font-weight:750;line-height:1.2;text-align:center;text-decoration:none;white-space:normal;box-shadow:0 9px 20px rgba(35,125,67,.2);transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
#pricing .np-klarna-home-link:hover{transform:translateY(-1px);background:#1c6938!important;box-shadow:0 11px 24px rgba(35,125,67,.24)}
#pricing .np-klarna-home-link:focus-visible{outline:3px solid #27884b;outline-offset:3px;border-radius:3px}
#pricing .np-klarna-home-link span{transition:transform .18s ease}
#pricing .np-klarna-home-link:hover span{transform:translateX(3px)}
@media(max-width:767px){
  #pricing .np-klarna-home-callout{align-items:flex-start;flex-direction:column;gap:12px!important}
  #pricing .np-klarna-home-content{width:100%;align-items:flex-start;gap:11px}
  #pricing .np-klarna-home-mark{width:56px}
  #pricing .np-klarna-home-link{width:100%;white-space:normal}
}
@media(prefers-reduced-motion:reduce){#pricing .np-klarna-home-link,#pricing .np-klarna-home-link span{transition:none!important}#pricing .np-klarna-home-link:hover{transform:none!important}}


/* Keep the phone details grouped cleanly on small screens. */
@media (max-width:639px){
  .np-contact-phone-label,
  .np-contact-panel .np-contact-phone{display:block}
  .np-contact-panel .np-contact-phone{margin-top:4px}
}


/* Homepage FAQ panel matches the booking questions while keeping its six answers. */
#faq.np-home-faq .np-home-faq-inner{max-width:1088px;width:calc(100% - 48px);margin:0 auto}
#faq.np-home-faq .np-home-faq-heading{max-width:760px;margin:0 auto 32px;text-align:center}
#faq.np-home-faq h2{margin:0}
#faq.np-home-faq h2::after{width:64px;height:3px;margin:20px auto 0;background:#42b96a;border-radius:3px}
#faq.np-home-faq .np-home-faq-heading p{margin:16px auto 0;color:#43566b;line-height:1.75}
#faq.np-home-faq .np-faq-list{display:grid;max-width:900px;margin:0 auto;border:1px solid #d5e1eb;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(16,37,66,.04)}
#faq.np-home-faq details.np-faq{margin:0;padding:0!important;border:0!important;border-top:1px solid #d5e1eb!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none;transition:none}
#faq.np-home-faq details.np-faq:first-child{border-top:0!important}
#faq.np-home-faq summary{position:relative;list-style:none;cursor:pointer;padding:22px 64px 22px 24px;font-size:1rem;font-weight:750!important;line-height:1.5;transition:color .15s ease}
#faq.np-home-faq summary::-webkit-details-marker{display:none}
#faq.np-home-faq summary:hover,#faq.np-home-faq details[open] summary{color:#247b42!important}
#faq.np-home-faq .np-faq-toggle{display:grid;place-items:center;right:24px;width:28px;height:28px;border-radius:50%;background:#edf7ef;font-size:1.25rem;line-height:1}
#faq.np-home-faq details.np-faq .np-faq-answer{padding:0 64px 24px 24px}
#faq.np-home-faq .np-faq-more{margin:24px auto 0;max-width:720px;text-align:center;font-size:.94rem!important}
@media(max-width:700px){
  #faq.np-home-faq .np-home-faq-inner{width:calc(100% - 40px)}
  #faq.np-home-faq .np-home-faq-heading{margin-bottom:24px}
  #faq.np-home-faq summary{padding:20px 56px 20px 20px}
  #faq.np-home-faq .np-faq-toggle{right:16px}
  #faq.np-home-faq details.np-faq .np-faq-answer{padding:0 20px 20px}
}

/* Show the learner car before secondary proof on narrow screens. */
#home .home-hero-wrap{
  --hero-gap:clamp(1.25rem,3.3vw,3.5rem);
  grid-template-areas:"intro car" "details car";
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);
  column-gap:var(--hero-gap);
  row-gap:0!important;
}
#home .home-hero-main{grid-area:intro;align-self:end;min-width:0}
#home .home-hero-image{grid-area:car;align-self:center;min-width:0}
#home .home-hero-meta{grid-area:details;align-self:start;min-width:0}

@media(max-width:767px){
  #home .home-hero-wrap{
    grid-template-areas:"intro" "car" "details";
    grid-template-columns:minmax(0,1fr);
    row-gap:1.3rem!important;
    padding-top:2.5rem!important;
  }
  #home .home-hero-main,#home .home-hero-image,#home .home-hero-meta{align-self:auto}
  #home .np-hero-klarna{margin-top:0}
}

/* One opening sequence; section content stays visible while scrolling. */
@keyframes np-hero-arrive{
  from{opacity:.7;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion:no-preference){
  #home .home-hero-main{animation:np-hero-arrive .68s ease-out both}
  #home .home-hero-image{animation:np-hero-arrive .8s .1s ease-out both}
  #home .home-hero-meta{animation:np-hero-arrive .72s .16s ease-out both}
}

/* Let the lesson choices carry the card treatment; keep About lighter. */
#about .features-grid{
  gap:0;
  border-top:1px solid var(--np-r-line);
  border-bottom:1px solid var(--np-r-line);
}
#about .feature-card,
#about .feature-card:hover{
  margin:0;
  padding:1.8rem 1.1rem;
  border:0!important;
  border-right:1px solid var(--np-r-line)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
#about .feature-card:last-child{border-right:0!important}
#about .feature-icon{width:52px;height:52px;margin-bottom:1.1rem;box-shadow:none!important}
#about .feature-title{font-size:1.05rem;line-height:1.3}
#about .feature-copy{font-size:.94rem;line-height:1.65}
@media(max-width:900px){
  #about .features-grid{grid-template-columns:1fr;gap:0}
  #about .feature-card,
  #about .feature-card:hover,
  #about .feature-card:last-child{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:0 1rem;
    width:100%;
    padding:1.15rem 0;
    border-right:0!important;
    border-bottom:1px solid var(--np-r-line)!important;
    text-align:left;
  }
  #about .feature-card:last-child{border-bottom:0!important}
  #about .feature-icon{grid-row:1 / span 2;margin:0}
  #about .feature-title{align-self:end;margin:0 0 .25rem}
  #about .feature-copy{align-self:start}
}

/* Align the three lesson destinations on one shared baseline. */
#lessons .grid > div{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  height:100%;
}
#lessons .grid > div > p{width:100%}
#lessons .grid > div > a{
  margin-top:auto!important;
  padding-top:1.25rem;
}
