/*
 * Easy Way Driving School — Premium Navy & Safety Gold System
 * Shared visual language with page-specific hero proportions.
 */
:root{
  --ew-navy:#0b2345;
  --ew-navy-deep:#071a33;
  --ew-navy-2:#17385f;
  --ew-navy-soft:#174a7e;
  --ew-blue:#174a7e;
  --ew-gold:#f9c400;
  --ew-gold-dark:#e5a900;
  --ew-orange:#e5a900;
  --ew-gold-pale:#fff3b8;
  --ew-ink:#172033;
  --ew-muted:#5b677a;
  --ew-soft:#f2f6fa;
  --ew-cream:#fff9e6;
  --ew-white:#ffffff;
  --ew-line:#d8e1eb;
  --ew-shadow-sm:0 10px 30px rgba(11,35,69,.08);
  --ew-shadow:0 20px 55px rgba(11,35,69,.13);
  --ew-shadow-dark:0 26px 70px rgba(3,14,30,.30);
  --ew-radius-sm:14px;
  --ew-radius:20px;
  --ew-radius-lg:28px;

  /* Legacy tokens used by individual pages */
  --accent:#e5a900;
  --accent2:#f9c400;
  --yellow:#f9c400;
  --orange:#e5a900;
  --navy:#0b2345;
  --text:#172033;
  --muted:#5b677a;
  --soft:#f2f6fa;
}

html{color-scheme:light}
body{
  background:var(--ew-white)!important;
  color:var(--ew-ink)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{color:var(--ew-ink);font-weight:850;letter-spacing:-.03em}
p{color:var(--ew-muted)}
a{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
::selection{background:var(--ew-gold);color:var(--ew-navy-deep)}
:focus-visible{outline:3px solid var(--ew-gold)!important;outline-offset:3px}

/* Smart compact shared header */
.ew-header{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid rgba(11,35,69,.10)!important;
  box-shadow:0 5px 22px rgba(11,35,69,.05)!important;
  backdrop-filter:blur(16px);
}
.ew-nav{
  width:min(1240px,calc(100% - 40px))!important;
  max-width:1240px!important;
  min-height:82px!important;
  padding:10px 0!important;
}
.ew-logo{gap:11px!important;flex:0 0 auto}
.ew-logo img{
  width:52px!important;
  height:52px!important;
  flex:0 0 52px!important;
  object-fit:contain!important;
}
.ew-logo span{display:flex;flex-direction:column;justify-content:center;line-height:1!important}
.ew-logo strong{
  color:var(--ew-navy)!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.035em!important;
}
.ew-logo small{
  color:var(--ew-gold-dark)!important;
  font-size:17px!important;
  line-height:1.15!important;
  margin-top:4px;
  font-weight:800!important;
  letter-spacing:-.015em!important;
}
.ew-menu{gap:5px!important}
.ew-menu a{
  min-height:42px!important;
  padding:10px 9px!important;
  border-radius:10px;
  color:var(--ew-ink)!important;
  font-size:14px!important;
  font-weight:750!important;
}
.ew-menu a:not(.ew-call):hover{
  color:var(--ew-navy)!important;
  background:var(--ew-soft)!important;
}
.ew-menu a:not(.ew-call)::after{
  bottom:2px!important;
  height:3px!important;
  background:var(--ew-gold)!important;
}
.ew-menu a.active:not(.ew-call){
  color:var(--ew-navy)!important;
  background:transparent!important;
}
.ew-call{
  min-height:46px!important;
  margin-left:7px;
  padding:11px 17px!important;
  border:1px solid var(--ew-gold-dark)!important;
  border-radius:12px!important;
  background:var(--ew-gold)!important;
  color:var(--ew-navy-deep)!important;
  box-shadow:0 8px 20px rgba(229,169,0,.20)!important;
  white-space:nowrap;
  font-weight:850!important;
}
.ew-call:hover{
  background:#ffd32a!important;
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(229,169,0,.26)!important;
}
.ew-menu-btn{
  background:var(--ew-navy)!important;
  color:#fff!important;
  border:0!important;
  border-radius:11px!important;
}

/* Buttons */
.btn,.loc-btn,.course-btn,.read-more,.call-btn,.nav-call{
  min-height:48px!important;
  padding:12px 19px!important;
  border-radius:12px!important;
  font-weight:800!important;
}
.btn.primary,.btn-primary,.loc-btn.primary,.course-btn,.read-more,.call-btn,.nav-call,
.btn-yellow,.gain-btn,.ew-book,.ew-call,.manual-btn.primary,.ew-mobile-actions a:last-child{
  color:var(--ew-navy-deep)!important;
  background:var(--ew-gold)!important;
  background-image:none!important;
  border-color:var(--ew-gold-dark)!important;
  box-shadow:0 8px 20px rgba(229,169,0,.18)!important;
}
.btn.primary:hover,.btn-primary:hover,.loc-btn.primary:hover,.course-btn:hover,.read-more:hover,.call-btn:hover,.nav-call:hover,
.btn-yellow:hover,.gain-btn:hover,.ew-book:hover,.ew-call:hover,.manual-btn.primary:hover,.ew-mobile-actions a:last-child:hover{
  background:#ffd32a!important;
  background-image:none!important;
  box-shadow:0 12px 26px rgba(229,169,0,.24)!important;
}
.btn.black,.btn-dark{
  background:var(--ew-navy)!important;
  color:#fff!important;
  border-color:var(--ew-navy)!important;
}
.btn:not(.primary):not(.black):not(.btn-primary):not(.btn-dark),
.btn-light{
  background:#fff!important;
  color:var(--ew-navy)!important;
  border:1px solid rgba(11,35,69,.18)!important;
}

/* Shared surfaces */
.soft,.bg-soft{background:var(--ew-soft)!important}
.bg-cream{background:var(--ew-cream)!important}
.bg-dark,.bg-darker{background:var(--ew-navy-deep)!important}
.bg-accent{background:var(--ew-gold)!important}
.card,.plan,.planCard,.planCard2,.course-card,.blog-card,.loc-card,.svc-card,.resource-card,.tip,.faq-item,.contact-box,.package-box,.sr-row{
  background:#fff!important;
  border:1px solid var(--ew-line)!important;
  border-radius:var(--ew-radius)!important;
  box-shadow:var(--ew-shadow-sm)!important;
}
.card:hover,.plan:hover,.planCard:hover,.planCard2:hover,.course-card:hover,.blog-card:hover,.loc-card:hover,.svc-card:hover,.resource-card:hover{
  border-color:rgba(229,169,0,.55)!important;
  box-shadow:var(--ew-shadow)!important;
}
.kicker,.sr-kicker,.mini{color:var(--ew-gold-dark)!important}
.course-title span,.course-card strong,.svc-link,.legal-link,.resource-card a,.loc-heading .mini{
  color:var(--ew-gold-dark)!important;
}
.icon,.ew-section-icon{
  background:var(--ew-gold-pale)!important;
  color:var(--ew-navy)!important;
  border-color:#f4d768!important;
}

/* Premium hero foundation */
body:not(.page-type-home) main > section:first-child{
  position:relative;
}
.page-type-resources .hero,
.page-type-service .hero,
.page-type-instructor .hero,
.page-type-article .hero,
.page-type-blog .hero,
.page-type-legal .hero{
  background:
    radial-gradient(circle at 82% 18%,rgba(23,74,126,.45),transparent 38%),
    linear-gradient(135deg,var(--ew-navy-deep),var(--ew-navy) 60%,#243c5c)!important;
  color:#fff!important;
  padding:56px 0!important;
}
.page-type-resources .hero-grid,
.page-type-service .hero-grid,
.page-type-instructor .hero-grid,
.page-type-article .hero-grid,
.page-type-blog .hero-grid,
.page-type-legal .hero-grid{
  min-height:440px!important;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr)!important;
  gap:52px!important;
  align-items:center!important;
}
.page-type-resources .hero h1,
.page-type-service .hero h1,
.page-type-instructor .hero h1,
.page-type-article .hero h1,
.page-type-blog .hero h1,
.page-type-legal .hero h1{
  color:#fff!important;
  font-size:clamp(2.8rem,4.8vw,4.15rem)!important;
  line-height:1.03!important;
  max-width:720px;
}
.page-type-resources .hero h1 span,
.page-type-service .hero h1 span,
.page-type-instructor .hero h1 span,
.page-type-article .hero h1 span,
.page-type-blog .hero h1 span,
.page-type-legal .hero h1 span{
  color:var(--ew-gold)!important;
}
.page-type-resources .hero p,
.page-type-service .hero p,
.page-type-instructor .hero p,
.page-type-article .hero p,
.page-type-blog .hero p,
.page-type-legal .hero p{
  color:#dce7f4!important;
  font-size:1.08rem!important;
  line-height:1.72!important;
}
.page-type-resources .hero-image,
.page-type-service .hero-image,
.page-type-instructor .hero-image,
.page-type-article .hero-image,
.page-type-blog .hero-image,
.page-type-legal .hero-image{
  min-height:360px!important;
  max-height:390px!important;
  border-radius:var(--ew-radius-lg)!important;
  overflow:hidden!important;
  box-shadow:var(--ew-shadow-dark)!important;
}
.page-type-resources .hero-image img,
.page-type-service .hero-image img,
.page-type-instructor .hero-image img,
.page-type-article .hero-image img,
.page-type-blog .hero-image img,
.page-type-legal .hero-image img{
  width:100%!important;
  height:100%!important;
  min-height:360px!important;
  max-height:390px!important;
  object-fit:cover!important;
  border-radius:0!important;
}
.badge,.loc-badge,.course-badge{
  display:inline-flex!important;
  align-items:center;
  min-height:38px;
  padding:8px 15px!important;
  border-radius:999px!important;
  background:var(--ew-gold)!important;
  border:1px solid var(--ew-gold-dark)!important;
  color:var(--ew-navy-deep)!important;
  font-size:.78rem!important;
  font-weight:850!important;
  letter-spacing:.05em!important;
  text-transform:uppercase!important;
}
.hero-point{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.17)!important;
  box-shadow:none!important;
}
.hero-point strong{color:#fff!important}
.hero-point span{color:#c9d7e8!important}

/* Resources keeps its library personality */
.page-type-resources .hero-grid{min-height:450px!important}
.page-type-resources .resource-grid{gap:22px!important}
.page-type-resources .resource-card{padding:28px!important}
.page-type-resources .resource-card a{color:var(--ew-navy-soft)!important}
.page-type-resources .tip-no{background:var(--ew-navy)!important;color:#fff!important}
.page-type-resources .cta{
  background:linear-gradient(135deg,var(--ew-navy-deep),var(--ew-navy))!important;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--ew-shadow-dark);
}
.page-type-resources .cta h2{color:#fff!important}
.page-type-resources .contact-box{color:var(--ew-ink)!important}

/* About: editorial story hero, not a generic service hero */
.page-type-about main > .sectionTheme:first-child{
  padding:54px 0!important;
  background:var(--ew-soft)!important;
}
.page-type-about .pageHeroWrap{
  min-height:500px!important;
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(7,26,51,.92) 0%,rgba(11,35,69,.76) 56%,rgba(11,35,69,.42) 100%),
    url("/assets/img/about-optimized.webp") center/cover!important;
  border-radius:var(--ew-radius-lg)!important;
  box-shadow:var(--ew-shadow-dark)!important;
}
.page-type-about .pageHeroInner{
  width:100%;
  padding:52px!important;
  gap:44px!important;
}
.page-type-about .pageHeroInner h1{
  color:#fff!important;
  font-size:clamp(2.75rem,4.8vw,4.2rem)!important;
}
.page-type-about .pageHeroInner p{color:#dce7f4!important}
.page-type-about .heroSide{
  background:rgba(7,26,51,.58)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  backdrop-filter:blur(12px);
}
.page-type-about .heroSide .icon{
  background:rgba(249,196,0,.15)!important;
  color:var(--ew-gold)!important;
  border-color:rgba(249,196,0,.35)!important;
}
.page-type-about .reviewSection p{color:#cbd8e7!important}

/* Services landing page: compact statement hero */
.page-type-services main > .section:first-child{
  padding:52px 0!important;
  background:var(--ew-soft)!important;
}
.page-type-services .pageHeroWrap{
  min-height:380px!important;
  display:flex;
  align-items:center;
  background:
    linear-gradient(110deg,rgba(7,26,51,.96),rgba(11,35,69,.80)),
    url("/assets/img/services2-optimized.webp") center/cover!important;
  border-radius:var(--ew-radius-lg)!important;
  box-shadow:var(--ew-shadow-dark)!important;
}
.page-type-services .pageHeroInner{padding:52px!important}
.page-type-services .pageHeroInner h1{color:#fff!important;max-width:780px}
.page-type-services .pageHeroInner p{color:#dce7f4!important}

/* Course family: image-backed banner with disciplined height */
.page-type-courses .course-hero,
.page-type-course .course-hero{
  min-height:520px!important;
  padding:72px 20px!important;
  background:
    linear-gradient(90deg,rgba(7,26,51,.96) 0%,rgba(11,35,69,.82) 52%,rgba(11,35,69,.30) 100%),
    var(--course-img)!important;
  background-size:cover!important;
  background-position:center!important;
}
.page-type-courses .course-hero-box,
.page-type-course .course-hero-box{
  min-height:0!important;
  max-height:none!important;
  max-width:790px!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  border:0!important;
}
.page-type-courses .course-hero h1,
.page-type-course .course-hero h1{color:#fff!important}
.page-type-courses .course-hero h1 span,
.page-type-course .course-hero h1 span{color:var(--ew-gold)!important}
.page-type-courses .course-hero p,
.page-type-course .course-hero p{color:#dce7f4!important}

/* Location family: local identity and readable overlay */
.page-type-location .loc-hero{
  min-height:520px!important;
  padding:0!important;
  background:
    linear-gradient(90deg,rgba(7,26,51,.96) 0%,rgba(11,35,69,.80) 54%,rgba(11,35,69,.30) 100%),
    url("/assets/img/location-hero-optimized.webp")!important;
  background-size:cover!important;
  background-position:center!important;
}
.page-type-location .loc-hero-box{
  min-height:0!important;
  max-width:760px!important;
  padding:72px 0!important;
  border-radius:0!important;
  overflow:visible!important;
  box-shadow:none!important;
  border:0!important;
}
.page-type-location .loc-hero h1{color:#fff!important}
.page-type-location .loc-hero h1 span{color:var(--ew-gold)!important}
.page-type-location .loc-hero p{color:#dce7f4!important}
.page-type-location .loc-cta{background:var(--ew-gold)!important;color:var(--ew-navy-deep)!important}
.page-type-location .loc-panel{background:var(--ew-navy)!important}

/* Service pages that use the compact glass-card hero */
.page-type-service .hero.locationHero{
  padding:48px 0!important;
  background:var(--ew-soft)!important;
}
.page-type-service .hero.locationHero .heroWrap{
  min-height:440px!important;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 85% 20%,rgba(23,74,126,.44),transparent 36%),
    linear-gradient(135deg,var(--ew-navy-deep),var(--ew-navy))!important;
  border-radius:var(--ew-radius-lg)!important;
  box-shadow:var(--ew-shadow-dark)!important;
}
.page-type-service .hero.locationHero .heroInner{
  width:100%;
  min-height:440px!important;
  padding:48px!important;
  align-items:center!important;
}
.page-type-service .hero.locationHero .heroTitle{color:#fff!important}
.page-type-service .hero.locationHero .heroTitle span{color:var(--ew-gold)!important}
.page-type-service .hero.locationHero .heroCard{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:none!important;
  backdrop-filter:blur(10px);
}

/* Full-bleed specialty service pages */
.page-type-service .manual-hero{
  min-height:520px!important;
  padding:72px 20px!important;
  background:
    linear-gradient(90deg,rgba(7,26,51,.96),rgba(11,35,69,.76) 58%,rgba(11,35,69,.28)),
    url("/assets/img/manual_transmisson-optimized.webp") center/cover!important;
}
.page-type-service .manual-badge{
  background:var(--ew-gold)!important;
  color:var(--ew-navy-deep)!important;
}
.page-type-service .manual-btn.primary{background:var(--ew-gold)!important;color:var(--ew-navy-deep)!important}
.page-type-service .manual-side{background:var(--ew-navy)!important}
.page-type-service .manual-side h3{color:var(--ew-gold)!important}
.page-type-service .manual-list div{background:var(--ew-cream)!important;border-left-color:var(--ew-gold)!important}

/* Legal pages use a shorter, calmer version of the split hero */
.page-type-legal .hero{padding:48px 0!important}
.page-type-legal .hero-grid{min-height:360px!important}
.page-type-legal .hero-image,
.page-type-legal .hero-image img{min-height:290px!important;height:310px!important;max-height:330px!important}
.page-legal .hero-card{
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:var(--ew-radius)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.page-legal .hero-card h2{color:#fff!important}
.page-legal .hero-card p{color:#dce7f4!important}

/* Pricing: shorter header so the packages enter the first screen */
.page-type-pricing .pricingHero{
  min-height:380px!important;
  padding:86px 0 118px!important;
  background:
    linear-gradient(110deg,rgba(7,26,51,.94),rgba(11,35,69,.72)),
    url("/assets/img/pdlesson-optimized.webp") center 44%/cover!important;
}
.page-type-pricing .pricingHero h1{color:#fff!important}
.page-type-pricing .pricingHero p{color:#dce7f4!important}
.page-type-pricing .popular{border-color:var(--ew-gold)!important}
.page-type-pricing .popular::after,
.planPopular2::after{background:var(--ew-gold)!important;color:var(--ew-navy-deep)!important}
.page-type-pricing main > section[style*="background:#ffc400"]{background:var(--ew-gold)!important}

/* Compact information pages */
.page-type-contact main > .section:first-child,
.page-type-legal main > .section:first-child,
.page-type-utility main > .section:first-child{
  padding:48px 0!important;
  background:var(--ew-soft)!important;
}
.page-type-contact .pageHeroWrap,
.page-type-legal .pageHeroWrap,
.page-type-utility .pageHeroWrap{
  min-height:340px!important;
  display:flex;
  align-items:center;
  border-radius:var(--ew-radius-lg)!important;
  background:
    radial-gradient(circle at 88% 18%,rgba(23,74,126,.44),transparent 36%),
    linear-gradient(135deg,var(--ew-navy-deep),var(--ew-navy))!important;
  box-shadow:var(--ew-shadow-dark)!important;
}
.page-type-contact .pageHeroInner,
.page-type-legal .pageHeroInner,
.page-type-utility .pageHeroInner{width:100%;padding:48px!important}
.page-type-contact .pageHeroWrap h1,
.page-type-legal .pageHeroWrap h1,
.page-type-utility .pageHeroWrap h1{color:#fff!important}
.page-type-contact .pageHeroWrap p,
.page-type-legal .pageHeroWrap p,
.page-type-utility .pageHeroWrap p{color:#dce7f4!important}

/* Homepage stays structurally unique; only refresh its palette and header */
.ew-tdlr-badge{
  position:relative;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:9px;
  max-width:100%;
  margin:0 0 18px;
  padding:8px 13px 8px 9px;
  border:1px solid rgba(249,196,0,.72);
  border-radius:999px;
  background:rgba(7,26,51,.76);
  color:#fff;
  box-shadow:0 10px 26px rgba(3,14,30,.22);
  backdrop-filter:blur(10px);
  font-size:.82rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.01em;
}
.ew-tdlr-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  flex:0 0 25px;
  border-radius:50%;
  background:var(--ew-gold);
  color:var(--ew-navy-deep);
  font-size:.88rem;
  font-weight:950;
}
.ew-tdlr-badge small{
  padding-left:9px;
  border-left:1px solid rgba(255,255,255,.28);
  color:var(--ew-gold-pale);
  font-size:.75rem;
  font-weight:750;
  white-space:nowrap;
}
.page-type-home .heroWrap{
  border-color:rgba(11,35,69,.14)!important;
  box-shadow:var(--ew-shadow)!important;
}
.page-type-home .heroWrap::after{background:linear-gradient(90deg,rgba(7,26,51,.74),rgba(7,26,51,.12))!important}
.page-type-home .stickyNote{background:linear-gradient(145deg,#ffe36a,var(--ew-gold))!important}
.page-type-home #features{background:linear-gradient(180deg,#eaf1f8,var(--ew-soft))!important}
.page-type-home #courses{background:linear-gradient(180deg,var(--ew-cream),#fff)!important}

/* Services FAQ: maintain readable dark text after shared white-card treatment */
.page-services .faq-section .faq-list{
  max-width:none;
}
.page-services .faq-section .faq-item{
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  background:#fff!important;
  border-color:#d8e1eb!important;
}
.page-services .faq-section .faq-item summary{
  min-height:76px;
  padding:20px 22px!important;
  color:var(--ew-navy-deep)!important;
}
.page-services .faq-section .faq-item summary > span:first-child{
  color:var(--ew-navy-deep)!important;
}
.page-services .faq-section .faq-body{
  padding:0 22px 22px!important;
  color:var(--ew-muted)!important;
}
.page-services .faq-section .faq-body p{
  color:var(--ew-muted)!important;
}
.page-services .faq-section .faq-item[open]{
  background:var(--ew-cream)!important;
  border-color:rgba(229,169,0,.55)!important;
}

/* Home review hub — screenshot-inspired, without unverified ratings or quotes */
.home-reviews{
  padding:76px 0!important;
  background:#f3f7fb!important;
}
.home-reviews-shell{
  position:relative;
  overflow:hidden;
  padding:58px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:32px;
  background:var(--ew-navy-deep);
  box-shadow:var(--ew-shadow-dark);
}
.home-reviews-shell::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:48%;
  background:linear-gradient(135deg,transparent,rgba(36,83,150,.42));
  pointer-events:none;
}
.home-reviews-head,
.home-review-grid{position:relative;z-index:1}
.home-reviews-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:34px;
}
.home-reviews-kicker{
  display:block;
  margin-bottom:14px;
  color:#78b8ff!important;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.home-reviews h2{
  max-width:820px;
  margin:0;
  color:#fff!important;
  font-size:clamp(2.35rem,4.6vw,4rem);
  line-height:1.04;
}
.home-reviews h2 span{color:var(--ew-gold)}
.home-reviews-summary{
  min-width:245px;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:20px;
  background:rgba(255,255,255,.09);
}
.home-reviews-stars{
  display:block;
  color:var(--ew-gold);
  font-size:1.28rem;
  letter-spacing:.12em;
}
.home-reviews-summary strong{
  display:block;
  margin-top:6px;
  color:#fff;
  font-size:1.06rem;
}
.home-reviews-summary small{color:#a9bed8;font-weight:650}
.home-review-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:44px;
}
.home-reviews-live{
  position:relative;
  z-index:1;
  min-height:280px;
  margin-top:42px;
  padding:10px 0;
}
.home-reviews-noscript{
  padding:24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.08);
  color:#dce7f4!important;
}
.home-review-card{
  display:flex;
  min-height:235px;
  flex-direction:column;
  padding:28px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  background:rgba(255,255,255,.08);
}
.home-review-card-icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:14px;
  background:rgba(249,196,0,.14);
  color:var(--ew-gold);
  font-size:1.35rem;
}
.home-review-card h3{
  margin:22px 0 8px;
  color:#fff!important;
  font-size:1.25rem;
}
.home-review-card p{
  margin:0 0 22px;
  color:#bfd0e4!important;
  line-height:1.7;
}
.home-review-card a{
  width:max-content;
  margin-top:auto;
  color:var(--ew-gold)!important;
  font-weight:850;
  text-decoration:none;
}
.home-review-card a:hover{text-decoration:underline}
.home-reviews-actions{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:30px;
}
.home-reviews-note{margin:0;color:#9fb4cd!important;font-size:.9rem}
.home-reviews .btn.primary{white-space:nowrap}

/* Footer */
.ew-footer{
  background:var(--ew-navy-deep)!important;
  border-top:4px solid var(--ew-gold)!important;
  padding-top:58px!important;
}
.ew-footer-wrap{width:min(1200px,calc(100% - 40px))!important}
.ew-footer-logo img{
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
  object-fit:contain!important;
  background:#fff;
  border-radius:12px;
  padding:4px;
}
.ew-footer-logo h2{color:#fff!important;font-size:1.25rem!important}
.ew-footer-links h3{color:var(--ew-gold)!important;font-size:.95rem!important}
.ew-footer a:hover{color:var(--ew-gold)!important}
.ew-copyright{color:#9fb0c6!important}
.ew-mobile-actions a:last-child{background:var(--ew-gold)!important;color:var(--ew-navy-deep)!important}

@media(max-width:1120px){
  .ew-nav{width:min(100% - 30px,1240px)!important}
  .ew-logo strong{font-size:25px!important}
  .ew-logo small{font-size:16px!important}
  .ew-menu{gap:1px!important}
  .ew-menu a{padding-inline:7px!important;font-size:13px!important}
  .ew-call{padding-inline:12px!important}
}

@media(max-width:991px){
  .ew-nav{min-height:72px!important;padding:9px 0!important}
  .ew-logo img{width:46px!important;height:46px!important;flex-basis:46px!important}
  .ew-logo strong{font-size:23px!important}
  .ew-logo small{font-size:14px!important;margin-top:3px}
  .ew-menu{
    gap:0!important;
    padding:12px 18px 20px!important;
    border-bottom:3px solid var(--ew-gold)!important;
  }
  .ew-menu a{font-size:16px!important;padding:13px 11px!important}
  .ew-menu a:hover,.ew-menu a.active{background:var(--ew-cream)!important;color:var(--ew-navy)!important}
  .ew-call{margin:10px 0 0!important;text-align:center!important}

  .page-type-resources .hero-grid,
  .page-type-service .hero-grid,
  .page-type-instructor .hero-grid,
  .page-type-article .hero-grid,
  .page-type-blog .hero-grid,
  .page-type-legal .hero-grid{
    grid-template-columns:1fr!important;
    min-height:auto!important;
    gap:32px!important;
  }
  .page-type-resources .hero-image,
  .page-type-service .hero-image,
  .page-type-instructor .hero-image,
  .page-type-article .hero-image,
  .page-type-blog .hero-image,
  .page-type-legal .hero-image{
    min-height:300px!important;
    max-height:340px!important;
  }
  .page-type-resources .hero-image img,
  .page-type-service .hero-image img,
  .page-type-instructor .hero-image img,
  .page-type-article .hero-image img,
  .page-type-blog .hero-image img,
  .page-type-legal .hero-image img{
    min-height:300px!important;
    max-height:340px!important;
  }
  .page-type-about .pageHeroInner{grid-template-columns:1fr!important;padding:40px!important}
  .page-type-about .pageHeroWrap{min-height:auto!important}
  .home-reviews-shell{padding:44px 34px}
  .home-reviews-head{grid-template-columns:1fr}
  .home-reviews-summary{width:max-content}
  .home-review-grid{grid-template-columns:1fr}
  .home-review-card{min-height:auto}
}

@media(max-width:767px){
  .container,.loc-container{width:min(100% - 28px,1180px)!important;padding-left:0!important;padding-right:0!important}
  .ew-nav{width:calc(100% - 28px)!important}
  .section,.sectionTheme,.loc-section{padding-top:52px!important;padding-bottom:52px!important}

  .page-type-resources .hero,
  .page-type-service .hero,
  .page-type-instructor .hero,
  .page-type-article .hero,
  .page-type-blog .hero,
  .page-type-legal .hero{padding:42px 0!important}
  .page-type-resources .hero h1,
  .page-type-service .hero h1,
  .page-type-instructor .hero h1,
  .page-type-article .hero h1,
  .page-type-blog .hero h1,
  .page-type-legal .hero h1{font-size:clamp(2.25rem,11vw,3.15rem)!important}
  .page-type-resources .hero-image,
  .page-type-service .hero-image,
  .page-type-instructor .hero-image,
  .page-type-article .hero-image,
  .page-type-blog .hero-image,
  .page-type-legal .hero-image,
  .page-type-resources .hero-image img,
  .page-type-service .hero-image img,
  .page-type-instructor .hero-image img,
  .page-type-article .hero-image img,
  .page-type-blog .hero-image img,
  .page-type-legal .hero-image img{
    min-height:230px!important;
    height:250px!important;
    max-height:270px!important;
    border-radius:20px!important;
  }
  .hero-buttons,.loc-actions{display:grid!important;grid-template-columns:1fr!important}
  .hero-buttons a,.loc-actions a{width:100%!important}

  .page-type-about main > .sectionTheme:first-child,
  .page-type-services main > .section:first-child,
  .page-type-courses .course-hero,
  .page-type-course .course-hero,
  .page-type-location .loc-hero,
  .page-type-contact main > .section:first-child,
  .page-type-legal main > .section:first-child{padding:34px 0!important}
  .page-type-about .pageHeroInner,
  .page-type-services .pageHeroInner,
  .page-type-contact .pageHeroInner,
  .page-type-legal .pageHeroInner{padding:30px 24px!important}
  .page-type-about .pageHeroWrap,
  .page-type-services .pageHeroWrap,
  .page-type-contact .pageHeroWrap,
  .page-type-legal .pageHeroWrap{min-height:auto!important;border-radius:22px!important}
  .page-type-about .heroSide{margin-top:10px}

  .page-type-courses .course-hero,
  .page-type-course .course-hero,
  .page-type-location .loc-hero,
  .page-type-service .manual-hero{min-height:480px!important;padding:58px 20px!important}
  .page-type-location .loc-hero-box{padding:42px 0!important}
  .page-type-service .hero.locationHero .heroInner{min-height:auto!important;padding:30px 24px!important}
  .page-type-service .hero.locationHero .heroWrap{min-height:auto!important}

  .page-type-pricing .pricingHero{min-height:330px!important;padding:68px 0 98px!important}
  .page-type-resources .cta{padding:30px 24px!important;border-radius:22px!important}
  .ew-tdlr-badge{
    display:grid;
    grid-template-columns:25px 1fr;
    width:max-content;
    padding-right:14px;
    border-radius:16px;
    font-size:.78rem;
  }
  .ew-tdlr-badge small{
    grid-column:2;
    padding:3px 0 0;
    border-left:0;
    white-space:normal;
  }
  .ew-footer-wrap{width:calc(100% - 34px)!important}
  .home-reviews{padding:52px 0!important}
  .home-reviews-shell{padding:34px 22px;border-radius:24px}
  .home-reviews h2{font-size:clamp(2.1rem,10vw,3rem)}
  .home-reviews-summary{width:100%;min-width:0}
  .home-review-grid{margin-top:30px}
  .home-reviews-actions{align-items:stretch;flex-direction:column}
  .home-reviews-actions .btn{width:100%;text-align:center}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}

/*
 * Final contrast safeguards.
 * Kept unscoped from JS-added body classes so cached/delayed layout scripts
 * cannot make the Services FAQ or shared footer unreadable.
 */
.faq-section .faq-item{
  margin:0!important;
  padding:0!important;
  background:#ffffff!important;
  color:#071a33!important;
}
.faq-section .faq-item summary,
.faq-section .faq-item summary span{
  color:#071a33!important;
  opacity:1!important;
  text-shadow:none!important;
}
.faq-section .faq-body,
.faq-section .faq-body p{
  color:#46566b!important;
  opacity:1!important;
}
.faq-section .faq-item[open]{
  background:#fff9e6!important;
}

body .ew-footer{
  background-color:#071a33!important;
  background-image:none!important;
  color:#dce7f4!important;
}
body .ew-footer .ew-footer-logo h2,
body .ew-footer address,
body .ew-footer p,
body .ew-footer a{
  color:#dce7f4!important;
  opacity:1!important;
}
body .ew-footer .ew-footer-links h3{
  color:#f9c400!important;
  opacity:1!important;
}
body .ew-footer .ew-copyright{
  color:#9fb0c6!important;
  opacity:1!important;
}

/* Homepage pricing: strong contrast inside white cards and on dark surround */
#pricing.bg-darkPricing{
  background:#071a33!important;
  color:#ffffff!important;
}
#pricing > .container > h2{
  color:#ffffff!important;
}
#pricing .planCard{
  position:relative;
  overflow:hidden;
  background:#ffffff!important;
  border-color:#d8e1eb!important;
  transform:translateY(0);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
#pricing .planCard::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  background:#174a7e;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s ease;
}
#pricing .planCard:hover,
#pricing .planCard:focus-within{
  transform:translateY(-9px)!important;
  border-color:#f9c400!important;
  box-shadow:0 28px 65px rgba(3,14,30,.30)!important;
}
#pricing .planCard:hover::before,
#pricing .planCard:focus-within::before{
  transform:scaleX(1);
}
#pricing .planCard h3,
#pricing .planCard .priceAmt{
  color:#071a33!important;
}
#pricing .planCard .priceAmt{
  transition:color .25s ease,transform .25s ease;
  transform-origin:left center;
}
#pricing .planCard:hover .priceAmt,
#pricing .planCard:focus-within .priceAmt{
  color:#174a7e!important;
  transform:scale(1.04);
}
#pricing .planCard .pricePer,
#pricing .planCard p.small,
#pricing .planCard ul.small,
#pricing .planCard ul.small li{
  color:#46566b!important;
  opacity:1!important;
}
#pricing .planPopular{
  border:2px solid #f9c400!important;
  box-shadow:0 24px 58px rgba(3,14,30,.28)!important;
}
#pricing .planPopular::before{
  background:#f9c400;
  transform:scaleX(1);
}
#pricing .planCard .btn.primary{
  transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease!important;
}
#pricing .planCard:hover .btn.primary,
#pricing .planCard:focus-within .btn.primary{
  background:#ffd32a!important;
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(229,169,0,.28)!important;
}
#pricing > .container > p.small{
  color:#dce7f4!important;
  opacity:1!important;
}

@media(prefers-reduced-motion:reduce){
  #pricing .planCard,
  #pricing .planCard::before,
  #pricing .planCard .priceAmt,
  #pricing .planCard .btn.primary{
    transition:none!important;
    transform:none!important;
  }
}

/* Single Lesson: clean hero composition and reliable light/dark contrast */
.page-single-lesson .hero{
  min-height:auto!important;
  padding:72px 0!important;
}
.page-single-lesson .hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important;
  gap:52px!important;
  align-items:center!important;
}
.page-single-lesson .hero-image{
  display:grid;
  gap:16px;
  position:relative;
}
.page-single-lesson .hero-image img{
  width:100%!important;
  height:340px!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  border-radius:24px!important;
}
.page-single-lesson .price-card{
  position:static!important;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  width:100%!important;
  margin:0!important;
  padding:18px 22px!important;
  border:1px solid var(--ew-line);
  border-radius:18px!important;
  background:#fff!important;
  color:var(--ew-navy-deep)!important;
}
.page-single-lesson .price-card small,
.page-single-lesson .price-card p{
  color:var(--ew-muted)!important;
}
.page-single-lesson .price-card h2{
  grid-row:1 / span 2;
  grid-column:2;
  color:var(--ew-navy-deep)!important;
  font-size:2.5rem!important;
}
.page-single-lesson .card h3,
.page-single-lesson .lesson h3,
.page-single-lesson .section-title h2,
.page-single-lesson .contact-box p{
  color:var(--ew-navy-deep)!important;
}
.page-single-lesson .card p,
.page-single-lesson .lesson p,
.page-single-lesson .section-title p{
  color:var(--ew-muted)!important;
  opacity:1!important;
}
.page-single-lesson .package-price{
  background:var(--ew-navy)!important;
  color:#fff!important;
}
.page-single-lesson .package-price h3,
.page-single-lesson .package-price li{
  color:#fff!important;
}
.page-single-lesson .package-price .big-price{
  color:var(--ew-gold)!important;
}
.page-single-lesson .cta h2{
  color:#fff!important;
}
.page-single-lesson .cta > div:first-child p{
  color:#dce7f4!important;
}
.page-single-lesson .contact-box{
  background:#fff!important;
  color:var(--ew-navy-deep)!important;
  border:1px solid var(--ew-line)!important;
}

/* Single Lesson FAQ accordion */
.page-single-lesson .single-faq-section{
  background:var(--ew-soft)!important;
}
.page-single-lesson .faq{
  gap:14px;
}
.page-single-lesson .faq-item{
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  background:#fff!important;
  border:1px solid var(--ew-line)!important;
  border-radius:18px!important;
  transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease!important;
}
.page-single-lesson .faq-item:hover,
.page-single-lesson .faq-item.is-open{
  border-color:rgba(229,169,0,.65)!important;
  box-shadow:0 18px 40px rgba(11,35,69,.12)!important;
}
.page-single-lesson .faq-item.is-open{
  transform:translateY(-2px);
}
.page-single-lesson .faq-question{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:72px;
  gap:20px;
  padding:20px 22px;
  border:0;
  background:#fff;
  color:var(--ew-navy-deep);
  cursor:pointer;
  font:inherit;
  font-weight:850;
  text-align:left;
}
.page-single-lesson .faq-toggle{
  position:relative;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid #f2cf58;
  border-radius:11px;
  background:var(--ew-gold-pale);
}
.page-single-lesson .faq-toggle::before,
.page-single-lesson .faq-toggle::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:14px;
  height:2px;
  border-radius:2px;
  background:var(--ew-gold-dark);
  transform:translate(-50%,-50%);
  transition:transform .25s ease;
}
.page-single-lesson .faq-toggle::after{
  transform:translate(-50%,-50%) rotate(90deg);
}
.page-single-lesson .faq-question[aria-expanded="true"] .faq-toggle::after{
  transform:translate(-50%,-50%) rotate(0);
}
.page-single-lesson .faq-answer{
  display:grid;
  grid-template-rows:0fr;
  padding:0 22px;
  background:var(--ew-cream);
  transition:grid-template-rows .32s ease,padding .32s ease;
}
.page-single-lesson .faq-answer > div{
  overflow:hidden;
}
.page-single-lesson .faq-answer p{
  margin:0!important;
  color:var(--ew-muted)!important;
  opacity:1!important;
}
.page-single-lesson .faq-item.is-open .faq-answer{
  grid-template-rows:1fr;
  padding:0 22px 22px;
}

@media(max-width:900px){
  .page-single-lesson .hero-grid{
    grid-template-columns:1fr!important;
  }
  .page-single-lesson .hero-image img{
    height:280px!important;
  }
}

@media(max-width:600px){
  .page-single-lesson .hero{padding:52px 0!important}
  .page-single-lesson .hero-image img{height:230px!important}
  .page-single-lesson .price-card{grid-template-columns:1fr auto}
  .page-single-lesson .faq-question{padding:18px}
  .page-single-lesson .faq-answer{padding-inline:18px}
  .page-single-lesson .faq-item.is-open .faq-answer{padding:0 18px 18px}
}

@media(prefers-reduced-motion:reduce){
  .page-single-lesson .faq-item,
  .page-single-lesson .faq-toggle::after,
  .page-single-lesson .faq-answer{
    transition:none!important;
    transform:none!important;
  }
}
