/* NextPass site-wide visual refresh — 2026-08-28 */
:root{
  --np-r-ink:#0d213b;
  --np-r-navy:#13365d;
  --np-r-navy-light:#1f4e7b;
  --np-r-green:#41bd68;
  --np-r-green-dark:#258c4d;
  --np-r-green-soft:#eaf8ee;
  --np-r-sky:#eef5fb;
  --np-r-paper:#ffffff;
  --np-r-copy:#4b5f76;
  --np-r-muted:#6d7f91;
  --np-r-line:#dce7f0;
  --np-r-shadow:0 18px 45px rgba(13,33,59,.10);
  --np-r-shadow-hover:0 26px 58px rgba(13,33,59,.16);
  --np-r-radius:22px;
}

html{scroll-behavior:smooth;scroll-padding-top:108px;}
body{background:#f7fafc!important;color:var(--np-r-ink)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;}
body,button,input,select,textarea{-webkit-font-smoothing:antialiased;}
a,button{touch-action:manipulation;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(65,189,104,.42)!important;outline-offset:3px!important;}

/* One authoritative header across every public page. Instructor Opportunities stays in mobile navigation and footer links. */
body header.np-header{
  position:sticky!important;
  top:0!important;
  z-index:70!important;
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid rgba(13,33,59,.10)!important;
  background:rgba(243,247,251,.96)!important;
  box-shadow:0 10px 28px rgba(13,33,59,.08)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:16px!important;
  line-height:1!important;
  backdrop-filter:blur(18px) saturate(140%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(140%)!important;
}
body header.np-header .np-header-inner{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
}
body header.np-header .np-brand{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:0!important;
  text-decoration:none!important;
}
body header.np-header .np-brand-logo{
  display:block!important;
  width:auto!important;
  height:66px!important;
  max-width:250px!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
body header.np-header .np-nav a[href="join-our-school.html"]{display:none!important;}
body header.np-header .np-nav a{
  box-sizing:border-box!important;
  display:inline-flex!important;
  min-height:44px!important;
  margin:0!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--np-r-ink)!important;
  font-family:inherit!important;
  font-size:.88rem!important;
  font-weight:750!important;
  font-style:normal!important;
  line-height:1!important;
  letter-spacing:-.01em!important;
  text-decoration:none!important;
  text-transform:none!important;
  white-space:nowrap!important;
  opacity:1!important;
}
body header.np-header .np-nav a:hover,
body header.np-header .np-nav a:focus-visible,
body header.np-header .np-nav a.nav-active{color:var(--np-r-green-dark)!important;}
body header.np-header .np-nav a.nav-cta{
  width:132px!important;
  min-width:132px!important;
  height:50px!important;
  min-height:50px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#4fcf70,#31a95d)!important;
  color:#fff!important;
  font-size:.88rem!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 12px 26px rgba(49,169,93,.25)!important;
}
body header.np-header .np-nav a.nav-cta:hover,
body header.np-header .np-nav a.nav-cta:focus-visible{
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 16px 30px rgba(49,169,93,.31)!important;
}
body header.np-header .np-menu-toggle{
  box-sizing:border-box!important;
  display:none!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  padding:0!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:5px!important;
  border:1px solid rgba(13,33,59,.12)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.68)!important;
  box-shadow:0 10px 24px rgba(13,33,59,.10)!important;
}
body header.np-header .np-menu-toggle span{
  display:block!important;
  width:22px!important;
  height:2.5px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#16345c!important;
}
body .np-mobile-nav{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  box-sizing:border-box!important;
  padding:calc(env(safe-area-inset-top,0px) + 116px) 16px 24px!important;
  background:rgba(10,24,44,.20)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
body .np-mobile-nav[hidden]{display:none!important;}
body .np-mobile-nav-panel{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:720px!important;
  margin:0 auto!important;
  padding:18px!important;
  border:1px solid rgba(13,33,59,.10)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(247,250,252,.98),rgba(237,243,249,.98))!important;
  box-shadow:0 30px 70px rgba(13,33,59,.22)!important;
}
body .np-mobile-nav-panel a{
  box-sizing:border-box!important;
  display:flex!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 16px!important;
  align-items:center!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  color:var(--np-r-ink)!important;
  font-family:inherit!important;
  font-size:.96rem!important;
  font-weight:750!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-decoration:none!important;
}
body .np-mobile-nav-panel a+a{margin-top:5px!important;}
body .np-mobile-nav-panel a:hover,
body .np-mobile-nav-panel a:focus-visible,
body .np-mobile-nav-panel a.nav-active{background:rgba(65,189,104,.10)!important;color:var(--np-r-green-dark)!important;}
body .np-mobile-nav-panel a.nav-cta{
  background:linear-gradient(135deg,#4fcf70,#31a95d)!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:0 12px 28px rgba(49,169,93,.24)!important;
}
@media(min-width:1181px){
  body header.np-header{height:91px!important;min-height:91px!important;}
  body header.np-header .np-header-inner{height:90px!important;min-height:90px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;gap:22px!important;padding:12px 24px!important;}
  body header.np-header .np-brand{height:66px!important;}
  body header.np-header .np-nav{display:flex!important;flex:1 1 auto!important;align-items:center!important;justify-content:flex-end!important;gap:16px!important;flex-wrap:nowrap!important;}
}
@media(min-width:768px){body header.np-header .np-nav a[href="index.html#faq"]{display:none!important;}}
@media(min-width:768px) and (max-width:1180px){
  body header.np-header{height:151px!important;min-height:151px!important;}
  body header.np-header .np-header-inner{height:150px!important;min-height:150px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:8px!important;padding:10px 20px 12px!important;}
  body header.np-header .np-nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:0 16px!important;flex-wrap:nowrap!important;}
  body header.np-header .np-nav a{font-size:.84rem!important;}
  body header.np-header .np-nav a.nav-cta{width:124px!important;min-width:124px!important;height:46px!important;min-height:46px!important;font-size:.84rem!important;}
}
@media(max-width:767px){
  body header.np-header{height:108px!important;min-height:108px!important;}
  body header.np-header .np-header-inner{position:relative!important;display:flex!important;width:100%!important;height:107px!important;min-height:107px!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;gap:0!important;padding:12px 82px!important;}
  body header.np-header .np-brand{position:absolute!important;top:50%!important;left:50%!important;height:66px!important;transform:translate(-50%,-50%)!important;}
  body header.np-header .np-brand-logo{width:auto!important;height:66px!important;max-width:min(66vw,250px)!important;margin:0 auto!important;}
  body header.np-header .np-menu-toggle{display:inline-flex!important;position:absolute!important;top:50%!important;left:16px!important;transform:translateY(-50%)!important;}
  body header.np-header .np-menu-toggle:hover{transform:translateY(calc(-50% - 1px))!important;}
  body header.np-header .np-nav{display:none!important;}
}
@media(min-width:768px){body .np-mobile-nav{display:none!important;}}
/* Shared hero treatment */
#home,.gradient-bg,.np-service-hero,.np-package-hero,.np-page-hero,.page-hero,section.np-completion-hero{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(81,210,116,.20),transparent 25%),
    radial-gradient(circle at 88% 8%,rgba(255,255,255,.10),transparent 20%),
    linear-gradient(132deg,#0c2441 0%,#143b66 56%,#20517f 100%)!important;
}
#home::before,.gradient-bg::before,.np-service-hero::before,.np-package-hero::before,.page-hero::before{content:"";position:absolute;width:440px;height:440px;right:-220px;bottom:-280px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018);pointer-events:none;}
#home h1,.gradient-bg h1,.np-service-hero h1,.np-package-hero h1,.page-hero h1{color:#fff!important;text-wrap:balance!important;}
#home p,.gradient-bg p,.np-service-hero p,.np-package-hero p,.page-hero p{color:#dce9f6!important;}

/* Homepage hero */
#home .home-hero-wrap{position:relative!important;z-index:1!important;max-width:1220px!important;min-height:620px!important;padding:76px 24px 86px!important;grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr)!important;gap:64px!important;}
#home .home-hero-wrap>div:first-child{text-align:left!important;}
#home .home-hero-title{max-width:12ch!important;margin:0!important;font-size:clamp(3rem,5.3vw,4.65rem)!important;line-height:.99!important;letter-spacing:-.052em!important;font-weight:880!important;text-shadow:0 18px 38px rgba(0,0,0,.20)!important;}
#home .home-hero-copy{max-width:590px!important;margin-top:1.55rem!important;color:#dce9f6!important;font-size:1.17rem!important;line-height:1.72!important;}
#home .home-hero-wrap>div:first-child>.flex{justify-content:flex-start!important;margin-top:2rem!important;}
#home .btn-gradient{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:56px!important;padding:0 1.65rem!important;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,#52d174,#30a95c)!important;color:#fff!important;font-weight:850!important;box-shadow:0 16px 34px rgba(48,169,92,.30)!important;transition:transform .2s ease,box-shadow .2s ease!important;}
#home .btn-gradient:hover{transform:translateY(-3px)!important;box-shadow:0 22px 42px rgba(48,169,92,.38)!important;}
#home .home-hero-wrap>div:first-child>.flex>a:last-child{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:56px!important;padding:0 1.65rem!important;border:1px solid rgba(255,255,255,.45)!important;border-radius:14px!important;background:rgba(255,255,255,.07)!important;font-weight:800!important;backdrop-filter:blur(8px)!important;}
#home .home-hero-wrap>div:first-child>.flex>a:last-child:hover{background:rgba(255,255,255,.14)!important;transform:translateY(-2px)!important;}
#home .np-hero-highlights{justify-content:flex-start!important;gap:.6rem!important;margin-top:1.45rem!important;}
#home .np-hero-highlights span{padding:.48rem .72rem!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;color:#edf6ff!important;font-size:.78rem!important;font-weight:750!important;}
#home .np-hero-highlights span::before{color:#6fe18d!important;}
.np-hero-rating{display:inline-flex!important;margin-top:1rem!important;padding:.7rem .9rem!important;align-items:center!important;gap:.65rem!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:13px!important;background:rgba(255,255,255,.09)!important;color:#fff!important;font-size:.87rem!important;font-weight:800!important;text-decoration:none!important;backdrop-filter:blur(8px)!important;}
.np-hero-rating:hover{background:rgba(255,255,255,.16)!important;transform:translateY(-1px)!important}.np-hero-rating-stars{color:#ffd04a!important;letter-spacing:.06em!important}.np-pass-method{max-width:790px!important;margin:1.25rem auto 0!important;color:#62758b!important;font-size:.78rem!important;line-height:1.55!important}.np-pass-method a{color:var(--np-r-green-dark)!important;font-weight:800!important}
#home .home-hero-image{position:relative!important;border-radius:30px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;}
#home .home-hero-image img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1708/921!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:30px!important;object-fit:contain!important;object-position:center!important;box-shadow:0 34px 78px rgba(2,14,29,.38)!important;}
#home .home-hero-image::after{display:none!important;content:none!important;}
.np-service-hero .np-hero-image img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1708/921!important;object-fit:contain!important;object-position:center!important;}

@media(min-width:1180px){
  #home .home-hero-wrap{max-width:1440px!important;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;gap:48px!important;}
}
@media(min-width:1280px){
  #home .home-hero-wrap{max-width:1600px!important;padding-right:32px!important;padding-left:32px!important;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important;gap:40px!important;}
}

/* Homepage trust strip */
.np-proof-strip{position:relative!important;z-index:5!important;max-width:1120px!important;margin:-35px auto 0!important;padding:0 20px!important;background:transparent!important;}
.np-proof-inner{overflow:hidden!important;border:1px solid rgba(13,33,59,.08)!important;border-radius:22px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 22px 55px rgba(13,33,59,.13)!important;}
.np-proof-inner>div{padding:1.25rem 1rem!important;border-right:1px solid var(--np-r-line)!important;}
.np-proof-inner>div:last-child{border-right:0!important;}
.np-proof-inner strong{color:var(--np-r-green-dark)!important;font-size:1.45rem!important;}
.np-proof-inner span{color:var(--np-r-copy)!important;}

/* Homepage sections */
#about,#lessons,#success,#pricing,#testimonials,#pgallery,#faq,#contact{padding-top:6rem!important;padding-bottom:6rem!important;}
#about,#success,#testimonials,#faq{background:#fff!important;}
#lessons,#pricing,#pgallery,#contact{background:linear-gradient(180deg,#f1f7fb 0%,#f8fbfd 100%)!important;}
#about h2,#lessons h2,#success h2,#pricing h2,#testimonials h2,#pgallery h2,#faq h2,#contact h2{color:var(--np-r-ink)!important;font-size:clamp(2.15rem,4vw,3.25rem)!important;line-height:1.08!important;letter-spacing:-.04em!important;font-weight:850!important;text-wrap:balance!important;}
.about-intro,.np-reviews-intro,#success>div>p,#faq>div>p,#contact>div>p{max-width:760px!important;margin-right:auto!important;margin-left:auto!important;color:var(--np-r-copy)!important;font-size:1.08rem!important;line-height:1.75!important;}
.features-grid{gap:1.25rem!important;margin-top:2.7rem!important;}
.feature-card,#lessons .grid>div,#success .grid>div,.pricing-card{position:relative!important;overflow:hidden!important;border:1px solid var(--np-r-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 36px rgba(13,33,59,.075)!important;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease!important;}
.feature-card:hover,#lessons .grid>div:hover,.pricing-card:hover{transform:translateY(-6px)!important;border-color:rgba(65,189,104,.45)!important;box-shadow:var(--np-r-shadow-hover)!important;}
.feature-card{padding:1.75rem 1.45rem!important;}
.feature-card::before,#lessons .grid>div::before,.pricing-card::before{content:"";position:absolute;right:0;top:0;left:0;height:4px;background:linear-gradient(90deg,var(--np-r-green),#78dc91);opacity:0;transition:opacity .2s ease;}
.feature-card:hover::before,#lessons .grid>div:hover::before,.pricing-card:hover::before,.pricing-card.border-2::before{opacity:1;}
.feature-icon{background:var(--np-r-green-soft)!important;color:var(--np-r-green-dark)!important;box-shadow:none!important;}
.feature-title,#lessons h3,.pricing-card h3{color:var(--np-r-ink)!important;}
.feature-copy,#lessons .grid p,.pricing-card p{color:var(--np-r-copy)!important;line-height:1.65!important;}
#lessons .grid>div{padding:2rem!important;text-align:center!important;}
#lessons .np-card-icon{
  display:block!important;
  width:64px!important;
  height:64px!important;
  margin:0 auto 1rem!important;
  padding:17px!important;
  border-radius:8px!important;
  background:var(--np-r-green-soft)!important;
  color:var(--np-r-green-dark)!important;
  stroke-width:2.35!important;
  box-shadow:none!important;
}
#lessons .grid a{justify-content:center!important;color:var(--np-r-green-dark)!important;}
#success .grid{gap:1.4rem!important;}
#success .grid>div{padding:2.25rem!important;border-color:var(--np-r-line)!important;}
.progress-bar{height:12px!important;border-radius:999px!important;background:#e6edf3!important;overflow:hidden!important;}
.progress-fill{border-radius:999px!important;background:linear-gradient(90deg,var(--np-r-green),#72d98b)!important;}
#pricing .grid{gap:1.3rem!important;}
.pricing-card{padding:2rem!important;text-align:left!important;cursor:pointer!important;}
.pricing-card.border-2{border:2px solid var(--np-r-green)!important;transform:translateY(-8px)!important;box-shadow:0 22px 48px rgba(37,140,77,.15)!important;}
.pricing-card .np-plan-label{background:var(--np-r-green-soft)!important;color:var(--np-r-green-dark)!important;}
.pricing-card .text-2xl{color:var(--np-r-green-dark)!important;}
.np-intensive-callout{border:1px solid rgba(65,189,104,.28)!important;border-radius:20px!important;background:linear-gradient(135deg,var(--np-r-green-soft),#fff 58%)!important;box-shadow:var(--np-r-shadow)!important;}
.np-live-reviews,.np-reviews-fallback{border-radius:22px!important;box-shadow:var(--np-r-shadow)!important;}
.np-google-review-card{border-radius:18px!important;border-color:var(--np-r-line)!important;box-shadow:0 10px 28px rgba(13,33,59,.07)!important;}
#pgallery .gallery-container{border-radius:24px!important;box-shadow:var(--np-r-shadow)!important;}
#faq details{border:1px solid var(--np-r-line)!important;border-radius:16px!important;padding:1.15rem 1.25rem!important;box-shadow:0 9px 26px rgba(13,33,59,.055)!important;transition:border-color .2s ease,box-shadow .2s ease!important;}
#faq details[open]{border-color:rgba(65,189,104,.43)!important;box-shadow:0 14px 32px rgba(13,33,59,.09)!important;}
#faq summary{color:var(--np-r-ink)!important;font-weight:800!important;}
.np-contact-panel{border-radius:24px!important;border-color:var(--np-r-line)!important;box-shadow:var(--np-r-shadow)!important;}

/* Service and lesson pages */
.np-service-hero-inner{position:relative!important;z-index:1!important;max-width:1220px!important;padding:5.8rem 1.5rem!important;gap:4.5rem!important;}
.np-service-hero h1{max-width:15ch!important;font-size:clamp(3rem,5.2vw,4.85rem)!important;line-height:1!important;letter-spacing:-.052em!important;}
.np-eyebrow{color:#87e49c!important;}
.np-hero-image{border-radius:28px!important;border-color:rgba(255,255,255,.22)!important;box-shadow:0 32px 72px rgba(2,14,29,.35)!important;}
.np-hero-note{border-radius:16px!important;box-shadow:0 20px 45px rgba(2,14,29,.22)!important;}
.np-section{max-width:1220px!important;padding:5.2rem 1.5rem!important;}
.np-section-heading{max-width:790px!important;margin-bottom:2.8rem!important;}
.np-section-heading h2{color:var(--np-r-ink)!important;font-size:clamp(2.15rem,3.8vw,3.2rem)!important;line-height:1.08!important;letter-spacing:-.04em!important;}
.np-section-heading p{color:var(--np-r-copy)!important;}
.np-grid{gap:1.35rem!important;}
.np-card,.np-panel,.np-step,.np-faq,.np-cta{border:1px solid var(--np-r-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:0 14px 34px rgba(13,33,59,.075)!important;}
.np-card{padding:1.75rem!important;}
.np-card:hover,.np-card:focus-visible{transform:translateY(-6px)!important;border-color:rgba(65,189,104,.48)!important;box-shadow:var(--np-r-shadow-hover)!important;}
.np-card-label{background:var(--np-r-green-soft)!important;color:var(--np-r-green-dark)!important;}
.np-card-link{color:var(--np-r-green-dark)!important;}
.np-band{border-color:var(--np-r-line)!important;background:linear-gradient(180deg,#eef5fb,#f8fbfd)!important;}
.np-panel{padding:2rem!important;}
.np-step{padding:1.75rem!important;}
.np-step::before{background:linear-gradient(135deg,var(--np-r-green),var(--np-r-green-dark))!important;box-shadow:0 9px 20px rgba(37,140,77,.22)!important;}
.np-cta{max-width:940px!important;padding:3rem!important;border-color:rgba(65,189,104,.3)!important;background:linear-gradient(135deg,var(--np-r-green-soft),#fff 54%)!important;box-shadow:var(--np-r-shadow)!important;}
.np-btn,.btn-primary,.btn-secondary,.np-location-cta-primary,.np-location-cta-secondary,.np-primary-action,.np-secondary-action{min-height:50px!important;border-radius:12px!important;}
.np-btn-primary,.btn-primary{background:linear-gradient(135deg,#4fcf70,#31a95d)!important;color:#fff!important;box-shadow:0 14px 28px rgba(49,169,93,.24)!important;}
.np-btn-primary:hover,.btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 18px 34px rgba(49,169,93,.32)!important;}
.np-btn-secondary{border-color:#cddbe6!important;background:#fff!important;color:var(--np-r-ink)!important;}

/* Location, booking, package and instructor pages */
.gradient-bg:not(#home)>div{position:relative!important;z-index:1!important;}
.gradient-bg:not(#home) h1{font-size:clamp(2.8rem,5vw,4.5rem)!important;letter-spacing:-.045em!important;}
.panel,.metric-card,.booking-option,.np-package-card{border:1px solid var(--np-r-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 13px 34px rgba(13,33,59,.075)!important;}
.np-location-cta{padding:2.4rem!important;border:1px solid rgba(65,189,104,.3)!important;border-radius:22px!important;background:linear-gradient(135deg,var(--np-r-green-soft),#fff 58%)!important;box-shadow:var(--np-r-shadow)!important;}
.np-location-cta-primary{background:linear-gradient(135deg,#4fcf70,#31a95d)!important;color:#fff!important;}
.np-location-cta-secondary{border-color:#ccdae6!important;color:var(--np-r-ink)!important;}
.np-package-hero>div{position:relative!important;z-index:1!important;padding-top:4.8rem!important;padding-bottom:4.8rem!important;}
.np-package-card{border-radius:20px!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;}
.np-package-card:hover{transform:translateY(-5px)!important;border-color:rgba(65,189,104,.45)!important;box-shadow:var(--np-r-shadow-hover)!important;}
.np-package-cta{
  position:relative!important;
  z-index:1!important;
  display:inline-flex!important;
  align-self:stretch!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.5rem!important;
  min-height:50px!important;
  margin-top:auto!important;
  padding:.82rem 1rem!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#4fcf70,#31a95d)!important;
  color:#fff!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  box-shadow:0 13px 28px rgba(49,169,93,.24)!important;
}
.np-package-card:hover .np-package-cta,.np-package-card:focus-visible .np-package-cta{background:linear-gradient(135deg,#58d678,#299c55)!important;box-shadow:0 16px 32px rgba(49,169,93,.31)!important;}
.hero-inner{max-width:1220px!important;padding-top:5.8rem!important;padding-bottom:5.8rem!important;}
.hero-title{font-size:clamp(3rem,5.2vw,4.85rem)!important;}
.info-card{border-radius:20px!important;border-color:var(--np-r-line)!important;box-shadow:0 14px 34px rgba(13,33,59,.075)!important;}
.info-card:hover{border-color:rgba(65,189,104,.45)!important;box-shadow:var(--np-r-shadow-hover)!important;}
.info-card .icon{background:var(--np-r-green-soft)!important;color:var(--np-r-green-dark)!important;box-shadow:none!important;}

/* Forms and checkout journey */
input,select,textarea{border-radius:12px!important;border-color:#cfdde8!important;background:#fff!important;}
.np-date-field{position:relative!important;min-width:0!important;width:100%!important;}
.np-date-field input[type="date"]{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:50px!important;min-height:50px!important;padding:0 14px!important;-webkit-appearance:none!important;appearance:none!important;line-height:1.2!important;text-align:left!important;}
.np-date-field input[type="date"]::-webkit-date-and-time-value{min-height:1.2em!important;padding:0!important;text-align:left!important;}
.np-date-field input[type="date"]::-webkit-calendar-picker-indicator{margin:0!important;padding:0!important;cursor:pointer!important;}
input:focus,select:focus,textarea:focus{border-color:var(--np-r-green)!important;box-shadow:0 0 0 4px rgba(65,189,104,.14)!important;}
.np-confirmation-card,.np-summary-card,.np-next-card,.np-help-card,.np-refund-card,.nds-success-card{border-radius:20px!important;}
.np-funnel-steps li span{background:rgba(255,255,255,.15)!important;}
.np-funnel-steps li[aria-current="step"] span{background:var(--np-r-green)!important;color:#fff!important;}

/* Footer */
.np-unified-footer{position:relative!important;overflow:hidden!important;padding-top:4rem!important;padding-bottom:2.5rem!important;background:linear-gradient(145deg,#091b31 0%,#11375f 72%,#16456f 100%)!important;}
.np-unified-footer{color:#d8e6f4!important;}
.np-unified-footer a{color:#d8e6f4!important;text-decoration:none!important;}
.np-unified-footer a:hover{color:#fff!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:#fff!important;}
.np-unified-footer .border-rose-800{border-color:rgba(255,255,255,.14)!important;}
.np-page-hero .np-funnel-steps{display:flex;align-items:center;justify-content:center;gap:.55rem;margin:1.25rem auto 0;padding:0;list-style:none;color:#d9e5f6;font-size:.82rem;font-weight:800}.np-page-hero .np-funnel-steps li{display:inline-flex;align-items:center;gap:.42rem}.np-page-hero .np-funnel-steps li+li::before{content:"→";margin-right:.15rem;color:#9fb4ce}.np-page-hero .np-funnel-steps span{display:inline-flex;width:1.65rem;height:1.65rem;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.34);border-radius:999px}.np-page-hero .np-funnel-steps [aria-current="step"]{color:#fff}.np-page-hero .np-funnel-steps [aria-current="step"] span{border-color:var(--np-green);background:var(--np-green-2);color:#fff}
@media(max-width:639px){.np-page-hero .np-funnel-steps{gap:.35rem;font-size:.68rem}.np-page-hero .np-funnel-steps span{width:1.45rem;height:1.45rem}}
.np-unified-footer::before{content:"";position:absolute;width:430px;height:430px;right:-220px;top:-280px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 75px rgba(255,255,255,.018),0 0 0 150px rgba(255,255,255,.012);pointer-events:none;}
.np-unified-footer>div{position:relative!important;z-index:1!important;}
.np-footer-logo{height:70px!important;margin-inline:auto!important;object-position:center!important;}
.np-unified-footer>div:first-child>div:first-child p{text-align:left!important;color:#c4d6e8!important;line-height:1.75!important;}
.np-unified-footer h4{font-size:1rem!important;letter-spacing:.04em!important;text-transform:uppercase!important;}
.np-unified-footer li a{display:inline-block!important;padding:.08rem 0!important;color:#c9d9e9!important;transition:color .18s ease,transform .18s ease!important;}
.np-unified-footer li a:hover{color:#fff!important;transform:translateX(3px)!important;}
.nds-social a{display:grid!important;width:44px!important;height:44px!important;place-items:center!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:12px!important;background:rgba(255,255,255,.07)!important;}
.nds-social a:hover{background:rgba(65,189,104,.22)!important;transform:translateY(-2px)!important;}

/* Mobile conversion bar: available on marketing pages, removed from checkout pages. */
.np-mobile-booking-bar{display:none;}

@media(max-width:767px){
  html{scroll-padding-top:92px;}
  #home .home-hero-wrap{min-height:auto!important;padding:3.8rem 1rem 4.8rem!important;grid-template-columns:1fr!important;gap:2.7rem!important;}
  #home .home-hero-wrap>div:first-child{text-align:center!important;}
  #home .home-hero-title{max-width:none!important;font-size:clamp(2.65rem,12.5vw,3.55rem)!important;line-height:1.02!important;}
  #home .home-hero-copy{margin-right:auto!important;margin-left:auto!important;font-size:1.05rem!important;}
  #home .home-hero-wrap>div:first-child>.flex{display:grid!important;justify-content:stretch!important;gap:.8rem!important;}
  #home .home-hero-wrap>div:first-child>.flex>a{width:100%!important;}
  #home .np-hero-highlights{justify-content:center!important;}
  .np-pass-method{max-width:34rem!important;padding:0 .5rem!important;font-size:.72rem!important;line-height:1.5!important;}
  #home .home-hero-image img{height:auto!important;min-height:0!important;aspect-ratio:1708/921!important;border-radius:22px!important;object-fit:contain!important;}
  .np-proof-strip{margin:-20px auto 0!important;padding:0 12px!important;}
  .np-proof-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:18px!important;}
  .np-proof-inner>div{padding:1rem .7rem!important;border-bottom:1px solid var(--np-r-line)!important;}
  .np-proof-inner>div:nth-child(2){border-right:0!important;}
  .np-proof-inner>div:nth-child(3),.np-proof-inner>div:nth-child(4){border-bottom:0!important;}
  #about,#lessons,#success,#pricing,#testimonials,#pgallery,#faq,#contact{padding-top:4.4rem!important;padding-bottom:4.4rem!important;}
  #about h2,#lessons h2,#success h2,#pricing h2,#testimonials h2,#pgallery h2,#faq h2,#contact h2{font-size:2.25rem!important;}
  .features-grid{grid-template-columns:1fr!important;}
  .features-grid .feature-card:last-child{grid-column:auto!important;width:100%!important;}
  .pricing-card.border-2{transform:none!important;}
  .np-service-hero-inner,.hero-inner{padding:4.1rem 1rem!important;gap:2.8rem!important;}
  .np-service-hero h1,.hero-title{font-size:clamp(2.65rem,12vw,3.6rem)!important;}
  .np-section{padding:4rem 1rem!important;}
  .np-card,.np-panel,.np-step,.np-faq,.np-cta,.panel,.metric-card,.booking-option,.np-package-card,.info-card{border-radius:17px!important;}
  .np-cta,.np-location-cta{padding:2rem 1.25rem!important;}
  .np-unified-footer{padding-top:3.2rem!important;padding-bottom:2rem!important;}
  .np-footer-logo{height:66px!important;}
  .np-unified-footer li a:hover{transform:none!important;}
  body.np-has-mobile-booking-bar{padding-bottom:76px!important;}
  .np-mobile-booking-bar{display:grid;position:fixed;right:0;bottom:0;left:0;z-index:95;grid-template-columns:.8fr 1.2fr;gap:.65rem;padding:.7rem max(.75rem,env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));border-top:1px solid rgba(13,33,59,.1);background:rgba(250,252,254,.97);box-shadow:0 -12px 34px rgba(13,33,59,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
  .np-mobile-booking-bar a{display:inline-flex;min-height:50px;align-items:center;justify-content:center;border-radius:12px;font-size:.94rem;font-weight:850;text-decoration:none;}
  .np-mobile-booking-call{border:1px solid #ccdae6;background:#fff;color:var(--np-r-ink);}
  .np-mobile-booking-primary{background:linear-gradient(135deg,#4fcf70,#31a95d);color:#fff;box-shadow:0 10px 24px rgba(49,169,93,.25);}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
