/*
Theme Name: NorCal Hang Gliding
Theme URI: https://norcalhanggliding.com/
Description: Rough first-draft Avada child theme for the NorCal Hang Gliding staging rebuild.
Author: NorCal Hang Gliding / OpenAI
Template: Avada
Version: 5.57
Text Domain: norcal-hg-draft
*/

:root{
  --sky:#2496D2;
  --sky-deep:#1676B2;
  --orange:#F28A1A;
  --green:#78B85A;
  --ink:#121A21;
  --slate:#263746;
  --muted:#65727e;
  --cloud:#F5F7F8;
  --white:#FFFFFF;
  --line:#E3E8EC;
  --shadow:0 18px 50px rgba(18,26,33,.12);
  --soft-shadow:0 10px 30px rgba(18,26,33,.08);
  --radius:20px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.nhg-draft{
  margin:0;
  background:#fff;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.55;
}
body.nhg-draft a{color:inherit}
.nhg-wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.nhg-section{padding:88px 0}
.nhg-section.alt{background:var(--cloud)}
.nhg-kicker{
  display:inline-block;
  color:var(--sky-deep);
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;
}
.nhg-title{
  margin:0;
  color:var(--slate);
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
.nhg-lede{
  max-width:720px;
  color:var(--muted);
  font-size:1.1rem;
  margin:18px 0 0;
}
.nhg-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.nhg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  transition:.2s ease;
  border:2px solid var(--sky);
}
.nhg-btn.primary{background:var(--sky);color:#fff}
.nhg-btn.secondary{background:#fff;color:var(--sky)}
.nhg-btn.orange{background:var(--orange);border-color:var(--orange);color:#151515}
.nhg-btn:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow)}

/* Header */
.nhg-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(227,232,236,.9);
}
.nhg-nav{
  height:78px;
  display:flex;
  align-items:center;
  gap:28px;
}
.nhg-brand{text-decoration:none;display:flex;align-items:center;gap:12px;min-width:max-content}
.nhg-mark{
  width:46px;height:46px;
  display:grid;grid-template-columns:1fr 1fr;
  overflow:hidden;border-radius:10px 10px 5px 5px;
  box-shadow:0 5px 16px rgba(18,26,33,.1);
}
.nhg-mark span:first-child{background:linear-gradient(145deg,#38aee7,var(--sky-deep))}
.nhg-mark span:last-child{background:linear-gradient(145deg,#ffab31,var(--orange))}
.nhg-brandtext strong{display:block;font-size:1.05rem;letter-spacing:.03em;color:var(--slate)}
.nhg-brandtext small{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.16em}
.nhg-menu{display:flex;gap:24px;margin-left:auto;align-items:center}
.nhg-menu a{text-decoration:none;color:var(--slate);font-weight:700;font-size:.94rem}
.nhg-menu a:hover{color:var(--sky)}
.nhg-nav .nhg-btn{min-height:42px;padding:0 18px;font-size:.9rem}

/* Hero */
.nhg-hero{
  position:relative;
  min-height:680px;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
  background:#12202a;
}
.nhg-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:url("https://norcalhanggliding.com/wp-content/uploads/2015/09/LZ109428-opt.jpg") center/cover no-repeat;
  transform:scaleX(-1);
  z-index:0;
}
.nhg-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(10,24,34,.84) 0%,rgba(10,24,34,.62) 44%,rgba(10,24,34,.16) 76%),
    linear-gradient(0deg,rgba(18,26,33,.30) 0%,rgba(18,26,33,0) 32%);
  pointer-events:none;
  z-index:1;
}

.nhg-hero-content{position:relative;z-index:2;max-width:760px;padding:80px 0}
.nhg-hero .nhg-kicker{color:#bde8fb}
.nhg-hero h1{
  margin:0;
  max-width:760px;
  font-size:clamp(3rem,7vw,6.2rem);
  line-height:.94;
  letter-spacing:-.055em;
}
.nhg-hero p{
  max-width:640px;
  font-size:clamp(1.05rem,1.8vw,1.28rem);
  margin:24px 0 0;
  color:rgba(255,255,255,.9);
}
.nhg-hero-note{
  display:inline-flex;
  gap:10px;
  align-items:center;
  margin-top:22px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.28);
  font-size:.9rem;
}
.nhg-hero-note b{color:#fff}
.nhg-scrollcue{
  position:absolute;bottom:20px;right:24px;z-index:3;
  color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase
}

/* Trust */
.nhg-trust{position:relative;margin-top:-42px;z-index:5}
.nhg-trust-grid{
  background:#fff;
  border-radius:18px;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
}
.nhg-trust-item{
  padding:24px 20px;
  border-right:1px solid var(--line);
}
.nhg-trust-item:last-child{border-right:0}
.nhg-trust-item strong{display:block;color:var(--slate);font-size:1rem}
.nhg-trust-item span{color:var(--muted);font-size:.84rem}

/* Intro split */
.nhg-split{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:64px;
  align-items:center;
}
.nhg-photo-card{
  position:relative;
  min-height:520px;
  border-radius:var(--radius);
  background:
    linear-gradient(180deg,transparent 40%,rgba(18,26,33,.72)),
    url("https://norcalhanggliding.com/wp-content/uploads/2015/09/LZ109428-opt.jpg") 33% center/cover no-repeat;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.nhg-photo-label{
  position:absolute;left:24px;right:24px;bottom:24px;
  color:#fff;
}
.nhg-photo-label strong{display:block;font-size:1.35rem}
.nhg-photo-label span{opacity:.85}
.nhg-checks{display:grid;gap:16px;margin-top:28px}
.nhg-check{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;align-items:start
}
.nhg-check i{
  width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;
  background:#e7f5fb;color:var(--sky-deep);
  font-style:normal;font-weight:900;
}

/* First lesson timeline */
.nhg-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:38px
}
.nhg-step{
  position:relative;
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  min-height:220px;
}
.nhg-step-num{
  width:40px;height:40px;border-radius:12px;
  display:grid;place-items:center;
  color:#fff;background:var(--sky);
  font-weight:900;margin-bottom:20px;
}
.nhg-step h3{margin:0 0 8px;color:var(--slate)}
.nhg-step p{margin:0;color:var(--muted);font-size:.93rem}

/* Progression */
.nhg-progression{
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:42px;
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--soft-shadow)
}
.nhg-level{
  padding:34px 28px;
  color:#fff;
  min-height:270px;
}
.nhg-level:nth-child(1){background:#2496D2}
.nhg-level:nth-child(2){background:#1676B2}
.nhg-level:nth-child(3){background:#315C77}
.nhg-level:nth-child(4){background:#263746}
.nhg-level small{display:block;opacity:.75;text-transform:uppercase;letter-spacing:.1em}
.nhg-level h3{font-size:2rem;margin:8px 0 12px}
.nhg-level p{margin:0;opacity:.9}

/* Lessons */
.nhg-pricing{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px
}
.nhg-price{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:30px;box-shadow:var(--soft-shadow)
}
.nhg-price.featured{border:2px solid var(--sky);transform:translateY(-8px)}
.nhg-price .tag{
  display:inline-block;padding:6px 10px;border-radius:999px;
  background:#e7f5fb;color:var(--sky-deep);font-size:.75rem;font-weight:900
}
.nhg-price h3{font-size:1.5rem;margin:18px 0 4px;color:var(--slate)}
.nhg-price .price{font-size:2.5rem;font-weight:900;color:var(--ink)}
.nhg-price p{color:var(--muted)}
.nhg-price ul{padding-left:18px;color:var(--muted)}
.nhg-price .nhg-btn{width:100%;margin-top:12px}

/* Video placeholder */
.nhg-video{
  min-height:420px;border-radius:20px;overflow:hidden;position:relative;
  background:
    linear-gradient(135deg,rgba(36,150,210,.78),rgba(18,26,33,.8)),
    url("https://norcalhanggliding.com/wp-content/uploads/2015/09/LZ109428-opt.jpg") center/cover;
  box-shadow:var(--shadow);display:grid;place-items:center;color:#fff;
}
.nhg-play{
  width:88px;height:88px;border-radius:50%;background:#fff;color:var(--sky);
  display:grid;place-items:center;font-size:2.2rem;padding-left:5px;
  box-shadow:0 12px 35px rgba(0,0,0,.24)
}
.nhg-video-copy{position:absolute;left:28px;bottom:26px}
.nhg-video-copy strong{display:block;font-size:1.35rem}
.nhg-video-copy span{opacity:.84}

/* CTA */
.nhg-final{
  background:linear-gradient(135deg,var(--slate),#0c1c27);
  color:#fff;
  text-align:center;
}
.nhg-final .nhg-title{color:#fff}
.nhg-final .nhg-lede{margin-left:auto;margin-right:auto;color:rgba(255,255,255,.78)}
.nhg-final .nhg-btns{justify-content:center}

/* Footer */
.nhg-footer{background:#0b1217;color:#c5d0d7;padding:48px 0 30px}
.nhg-footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:42px}
.nhg-footer h4{color:#fff;margin:0 0 12px}
.nhg-footer p{margin:0;color:#93a3ae}
.nhg-footer a{color:#c5d0d7;text-decoration:none}
.nhg-footer a:hover{color:#fff}
.nhg-footer-links{display:grid;gap:8px}
.nhg-copy{border-top:1px solid rgba(255,255,255,.09);margin-top:34px;padding-top:22px;font-size:.8rem;color:#75848e}

/* Mobile */
@media(max-width:900px){
  .nhg-menu{display:none}
  .nhg-nav{height:68px}
  .nhg-nav>.nhg-btn{margin-left:auto}
  .nhg-hero{min-height:610px}
  .nhg-trust-grid{grid-template-columns:repeat(2,1fr)}
  .nhg-trust-item:nth-child(2){border-right:0}
  .nhg-trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .nhg-split{grid-template-columns:1fr;gap:34px}
  .nhg-photo-card{min-height:420px}
  .nhg-steps,.nhg-progression,.nhg-pricing{grid-template-columns:repeat(2,1fr)}
  .nhg-price.featured{transform:none}
}
@media(max-width:620px){
  .nhg-wrap{width:min(100% - 28px,1180px)}
  .nhg-section{padding:66px 0}
  .nhg-brandtext small{display:none}
  .nhg-nav>.nhg-btn{display:none}
  .nhg-hero{min-height:650px;background-position:42% center}
  .nhg-hero-content{padding-top:90px}
  .nhg-trust{margin-top:-24px}
  .nhg-trust-grid{grid-template-columns:1fr}
  .nhg-trust-item{border-right:0!important;border-bottom:1px solid var(--line)}
  .nhg-trust-item:last-child{border-bottom:0}
  .nhg-steps,.nhg-progression,.nhg-pricing{grid-template-columns:1fr}
  .nhg-level{min-height:auto}
  .nhg-footer-grid{grid-template-columns:1fr}
}

/* v0.2 — header legibility + mirrored hero image */
.nhg-header{
  background:rgba(255,255,255,.98);
  border-bottom:1px solid #d7dee3;
  box-shadow:0 3px 14px rgba(18,26,33,.08);
}
.nhg-brandtext strong{
  color:#16364d;
  font-size:1.12rem;
  font-weight:900;
  letter-spacing:.035em;
}
.nhg-brandtext small{
  color:#4b5d68;
  font-weight:700;
}
.nhg-menu a{
  color:#17384e;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.01em;
}
.nhg-menu a:hover{
  color:var(--sky-deep);
}

/* v0.6 — six lesson/package cards */
.nhg-pricing{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.nhg-pricing{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.nhg-pricing{grid-template-columns:1fr}}

/* v0.7 — incorporate the supplied NorCal logo */
.nhg-brand-logo{
  display:flex;
  align-items:center;
  text-decoration:none;
}
.nhg-logo-img{
  display:block;
  width:auto;
  height:58px;
  max-width:330px;
  object-fit:contain;
}
.nhg-footer .nhg-logo-img{
  filter:brightness(1.15);
  height:52px;
}
@media(max-width:620px){
  .nhg-logo-img{
    height:44px;
    max-width:240px;
  }
}

/* v0.8 — logo is intended to float over color, not white */
.nhg-header{
  background:linear-gradient(90deg,#1676B2 0%,#2496D2 55%,#2E9FD6 100%);
  border-bottom:1px solid rgba(255,255,255,.16);
  box-shadow:0 6px 18px rgba(18,26,33,.16);
}
.nhg-menu a{
  color:#fff;
  text-shadow:0 1px 1px rgba(0,0,0,.10);
}
.nhg-menu a:hover{
  color:#E9F7FD;
}
.nhg-nav .nhg-btn.primary{
  background:#fff;
  border-color:#fff;
  color:#1676B2;
}
.nhg-logo-img{
  filter:none;
}

/* v0.9 — password-protected student Study Center */
.nhg-study-hero{
  padding:86px 0 70px;
  background:linear-gradient(135deg,#1676B2,#2496D2);
  color:#fff;
}
.nhg-study-hero .nhg-kicker{color:#d7f2ff}
.nhg-study-hero h1{
  margin:0;
  font-size:clamp(2.8rem,6vw,5.2rem);
  line-height:.96;
  letter-spacing:-.05em;
}
.nhg-study-hero p{max-width:760px;font-size:1.1rem;color:rgba(255,255,255,.88)}
.nhg-study-login{max-width:760px;margin:40px auto}
.nhg-password-box{
  margin-top:30px;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--soft-shadow);
}
.nhg-password-box h2{margin-top:0;color:var(--slate)}
.nhg-password-box label{font-weight:700;color:var(--slate)}
.nhg-password-box input[type=password]{
  display:block;
  width:100%;
  max-width:430px;
  height:50px;
  padding:0 14px;
  border:1px solid #cbd5dc;
  border-radius:10px;
  margin:10px 0 14px;
  font-size:1rem;
}
.nhg-password-box input[type=submit]{
  min-height:48px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:var(--sky);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.nhg-study-note{color:var(--muted);font-size:.9rem}
.nhg-study-intro{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:38px;
  align-items:stretch;
}
.nhg-study-feature{
  padding:28px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--sky),var(--sky-deep));
  color:#fff;
  text-decoration:none;
  box-shadow:var(--soft-shadow);
}
.nhg-study-feature strong{display:block;font-size:1.45rem}
.nhg-study-feature span{display:block;opacity:.84;margin:8px 0 28px}
.nhg-study-feature b{display:block}
.nhg-study-heading{
  margin:58px 0 20px;
  color:var(--slate);
  font-size:1.75rem;
}
.nhg-study-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.nhg-study-card{
  display:block;
  text-decoration:none;
  padding:24px;
  min-height:220px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 22px rgba(18,26,33,.06);
  transition:.2s ease;
}
.nhg-study-card:hover{transform:translateY(-3px);box-shadow:var(--soft-shadow)}
.nhg-study-type{
  display:inline-block;
  padding:5px 8px;
  border-radius:999px;
  background:#e7f5fb;
  color:var(--sky-deep);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.08em;
}
.nhg-study-card h3{margin:17px 0 8px;color:var(--slate);font-size:1.28rem}
.nhg-study-card p{color:var(--muted);font-size:.92rem}
.nhg-study-card b{color:var(--sky-deep);font-size:.88rem}
.nhg-study-tip{
  margin-top:50px;
  padding:26px 28px;
  border-left:5px solid var(--orange);
  background:#fff7ed;
  border-radius:0 14px 14px 0;
}
.nhg-study-tip strong{color:var(--slate);font-size:1.15rem}
.nhg-study-tip p{margin-bottom:0;color:#5b6570}
@media(max-width:900px){
  .nhg-study-intro{grid-template-columns:1fr}
  .nhg-study-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .nhg-study-grid{grid-template-columns:1fr}
}

/* v1.0 — split H1/H2 study paths and map H2 material to test topics */
.nhg-study-chooser{padding-top:46px;padding-bottom:46px}
.nhg-rating-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.nhg-rating-choice{
  display:block;
  text-decoration:none;
  padding:34px;
  border-radius:20px;
  box-shadow:var(--soft-shadow);
  color:#fff;
  transition:.2s ease;
}
.nhg-rating-choice:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.nhg-rating-choice.h1{background:linear-gradient(135deg,#2496D2,#1676B2)}
.nhg-rating-choice.h2{background:linear-gradient(135deg,#315C77,#263746)}
.nhg-rating-choice .nhg-study-type{background:rgba(255,255,255,.16);color:#fff}
.nhg-rating-choice h2{font-size:2rem;margin:14px 0 8px}
.nhg-rating-choice p{margin:0 0 22px;color:rgba(255,255,255,.86)}
.nhg-rating-header{
  display:flex;
  gap:30px;
  align-items:flex-start;
  justify-content:space-between;
}
.nhg-rating-badge{
  flex:0 0 100px;
  width:100px;height:100px;border-radius:24px;
  display:grid;place-items:center;
  background:var(--sky);color:#fff;
  font-size:2.4rem;font-weight:900;
  box-shadow:var(--soft-shadow);
}
.nhg-rating-badge.h2-badge{background:var(--slate)}
.nhg-test-topic-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:36px;
}
.nhg-test-topic{
  padding:26px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
}
.nhg-test-topic>span{
  color:var(--sky);
  font-weight:900;
  font-size:.82rem;
  letter-spacing:.12em;
}
.nhg-test-topic h3{color:var(--slate);font-size:1.35rem;margin:10px 0 12px}
.nhg-test-topic ul{padding-left:20px;margin:0;color:var(--muted)}
.h1-tip{margin-top:34px}
.nhg-study-start{
  margin:38px 0 24px;
  padding:26px 28px;
  display:flex;gap:24px;align-items:center;justify-content:space-between;
  background:#eef8fd;
  border:1px solid #cfeaf6;
  border-radius:16px;
}
.nhg-study-start h3{margin:0 0 6px;color:var(--slate)}
.nhg-study-start p{margin:0;color:var(--muted)}
.nhg-h2-topic-stack{display:grid;gap:18px}
.nhg-h2-topic{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 5px 18px rgba(18,26,33,.045);
}
.nhg-h2-topic-head{
  display:flex;
  gap:18px;align-items:center;
  padding:22px 26px;
  background:#f7fafc;
  border-bottom:1px solid var(--line);
}
.nhg-topic-number{
  flex:0 0 46px;
  width:46px;height:46px;border-radius:14px;
  display:grid;place-items:center;
  background:var(--sky);color:#fff;font-weight:900;font-size:1.2rem;
}
.nhg-h2-topic-head small{color:var(--sky-deep);font-weight:900;letter-spacing:.1em}
.nhg-h2-topic-head h3{margin:3px 0 0;color:var(--slate);font-size:1.45rem}
.nhg-h2-topic-body{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:32px;
  padding:26px;
}
.nhg-know-list h4{margin:0 0 12px;color:var(--slate)}
.nhg-know-list ul{margin:0;padding-left:20px;color:var(--muted)}
.nhg-topic-resources{display:grid;gap:10px;align-content:start}
.nhg-compact-resource{
  display:grid;
  grid-template-columns:1fr auto;
  gap:3px 16px;
  padding:14px 16px;
  text-decoration:none;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  transition:.2s ease;
}
.nhg-compact-resource:hover{border-color:#95cce7;transform:translateY(-1px)}
.nhg-compact-resource small{grid-column:1;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}
.nhg-compact-resource strong{grid-column:1;color:var(--slate)}
.nhg-compact-resource span{grid-column:2;grid-row:1/3;align-self:center;color:var(--sky-deep);font-weight:800}
.nhg-h2-topic.supplementary .nhg-topic-number{background:var(--orange);color:#111}
@media(max-width:900px){
  .nhg-test-topic-grid{grid-template-columns:1fr}
  .nhg-h2-topic-body{grid-template-columns:1fr}
}
@media(max-width:700px){
  .nhg-rating-choice-grid{grid-template-columns:1fr}
  .nhg-rating-header{display:block}
  .nhg-rating-badge{margin-top:22px}
  .nhg-study-start{display:block}
  .nhg-study-start .nhg-btn{margin-top:18px}
}

/* v1.1 — detailed H1 concept study guide */
.nhg-h1-topic-stack{display:grid;gap:18px;margin-top:30px}
.nhg-h1-topic{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 5px 18px rgba(18,26,33,.045);
}
.nhg-h1-topic-head{
  display:flex;gap:18px;align-items:center;
  padding:22px 26px;
  background:#f8fbfd;
  border-bottom:1px solid var(--line);
}
.nhg-h1-topic-head small{color:var(--sky-deep);font-weight:900;letter-spacing:.1em}
.nhg-h1-topic-head h3{margin:3px 0 0;color:var(--slate);font-size:1.45rem}
.nhg-h1-topic-body{
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:32px;
  padding:26px;
}
.nhg-concept-box{
  align-self:start;
  padding:22px;
  border-radius:14px;
  background:#eef8fd;
  border:1px solid #cfeaf6;
}
.nhg-concept-box.warning{
  background:#fff7ed;
  border-color:#f8d8aa;
}
.nhg-concept-box strong{display:block;color:var(--slate);margin-bottom:6px}
.nhg-concept-box p{margin:0;color:var(--muted)}
.nhg-study-practice{
  margin-top:44px;
  padding:30px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--soft-shadow);
}
.nhg-study-practice h3{margin:2px 0 8px;color:var(--slate);font-size:1.7rem}
.nhg-study-practice>p{color:var(--muted)}
.nhg-study-practice details{
  margin-top:12px;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#fafcfd;
}
.nhg-study-practice summary{
  cursor:pointer;
  padding:16px 18px;
  font-weight:800;
  color:var(--slate);
}
.nhg-study-practice details p{
  margin:0;
  padding:0 18px 18px;
  color:var(--muted);
}
@media(max-width:900px){
  .nhg-h1-topic-body{grid-template-columns:1fr}
}

/* v1.3 — stronger hero headline + future homepage flight-video area */
.nhg-hero h1{
  color:#fff;
  text-shadow:0 4px 22px rgba(0,0,0,.32);
}
.nhg-hero-accent{
  display:inline-block;
  color:#ff9418;
  text-shadow:
    0 2px 0 rgba(0,0,0,.10),
    0 5px 24px rgba(242,138,26,.28);
  position:relative;
}
.nhg-hero-accent:after{
  content:"";
  position:absolute;
  left:2%;
  right:0;
  bottom:-.07em;
  height:.07em;
  border-radius:999px;
  background:linear-gradient(90deg,#ff9418,rgba(255,190,82,.25));
}
.nhg-home-video{
  padding:64px 0;
  background:#132838;
  color:#fff;
}
.nhg-home-video-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:46px;
  align-items:center;
}
.nhg-home-video .nhg-kicker{color:#79c7ef}
.nhg-home-video h2{
  margin:.3rem 0 .75rem;
  color:#fff;
  font-size:clamp(2rem,4vw,3.7rem);
  line-height:1;
}
.nhg-home-video p{color:rgba(255,255,255,.8);font-size:1.05rem}
.nhg-video-placeholder{
  aspect-ratio:16/9;
  min-height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 45%,rgba(36,150,210,.22),transparent 42%),
    linear-gradient(135deg,#1a3a50,#0d1d29);
  box-shadow:0 18px 50px rgba(0,0,0,.23);
}
.nhg-video-placeholder span{
  color:#ff9418;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.14em;
}
.nhg-video-placeholder strong{
  margin-top:10px;
  font-size:1.5rem;
}
.nhg-video-placeholder small{
  margin-top:6px;
  color:rgba(255,255,255,.56);
}
@media(max-width:850px){
  .nhg-home-video-grid{grid-template-columns:1fr}
}

/* v1.4 Lesson Information & Confirmation */
.nhg-lesson-hero{padding:82px 0 68px;background:linear-gradient(135deg,#16364d,#2496d2);color:#fff}
.nhg-lesson-hero .nhg-kicker{color:#aee0f7}
.nhg-lesson-hero h1{margin:0;font-size:clamp(2.8rem,6vw,5rem);line-height:.96;color:#fff;letter-spacing:-.04em}
.nhg-lesson-hero p{max-width:790px;font-size:1.1rem;color:rgba(255,255,255,.84)}
.nhg-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.nhg-info-card{padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--soft-shadow)}
.nhg-card-number{font-size:.75rem;font-weight:900;letter-spacing:.12em;color:var(--sky)}
.nhg-info-card h2,.nhg-location h2,.nhg-confirm-form-section h2,.nhg-cancel-policy h2,.nhg-waiver-box h2{color:var(--slate)}
.nhg-info-card ul{padding-left:20px;color:var(--muted)}
.nhg-cancel-policy{margin-top:30px;padding:30px;border-left:6px solid var(--orange);border-radius:0 16px 16px 0;background:#fff7ed}
.nhg-waiver-box{margin-top:30px;padding:30px;display:flex;gap:24px;align-items:center;justify-content:space-between;border-radius:18px;background:#eef8fd;border:1px solid #cfeaf6}
.nhg-location{margin-top:52px}
.nhg-important{font-weight:800;color:#9a3c18}
.nhg-directions-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:center;margin-top:22px}
.nhg-directions-grid img,.nhg-meeting-map{width:100%;height:auto;border-radius:16px;border:1px solid var(--line);box-shadow:var(--soft-shadow)}
.nhg-meeting-map{margin-top:24px}
.nhg-confirm-form-section{margin-top:60px;padding-top:46px;border-top:1px solid var(--line)}
.nhg-form-intro{max-width:760px}
.nhg-confirm-form{margin-top:28px;padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--soft-shadow)}
.nhg-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.nhg-confirm-form label{display:block;color:var(--slate);font-weight:800;font-size:.92rem}
.nhg-confirm-form input[type=text],.nhg-confirm-form input[type=email],.nhg-confirm-form input[type=tel],.nhg-confirm-form input[type=date],.nhg-confirm-form textarea{
  width:100%;margin-top:7px;padding:12px 13px;border:1px solid #cbd5dc;border-radius:10px;background:#fff;font:inherit;color:#182833
}
.nhg-confirm-form h3{margin-top:34px;color:var(--slate)}
.nhg-field-note{color:var(--muted)}
.nhg-participant-row{display:grid;grid-template-columns:140px 1.2fr 1fr 1fr;gap:14px;align-items:end;padding:16px 0;border-bottom:1px solid var(--line)}
.nhg-participant-row>strong{align-self:center;color:var(--sky-deep)}
.nhg-upload-box{margin-top:28px;padding:22px;border:1px dashed #95b9cc;border-radius:14px;background:#f7fbfd}
.nhg-upload-box input{display:block;margin-top:10px}
.nhg-upload-box small{display:block;margin-top:8px;color:var(--muted)}
.nhg-acknowledgments{display:grid;gap:12px;margin:28px 0}
.nhg-acknowledgments label{font-weight:650;display:flex;gap:10px;align-items:flex-start}
.nhg-acknowledgments input{margin-top:3px}
.nhg-submit{margin-top:20px}
.nhg-privacy-note{font-size:.82rem;color:var(--muted);max-width:760px}
.nhg-form-success,.nhg-form-error{margin-bottom:28px;padding:22px 24px;border-radius:14px}
.nhg-form-success{background:#edf8ef;border:1px solid #b8dfc0}
.nhg-form-error{background:#fff0ed;border:1px solid #efc0b6}
@media(max-width:900px){
  .nhg-info-grid,.nhg-directions-grid{grid-template-columns:1fr}
  .nhg-participant-row{grid-template-columns:1fr 1fr 1fr}
  .nhg-participant-row>strong{grid-column:1/-1}
}
@media(max-width:650px){
  .nhg-form-grid,.nhg-participant-row{grid-template-columns:1fr}
  .nhg-waiver-box{display:block}
  .nhg-waiver-box .nhg-btn{margin-top:16px}
}

/* v1.6 — compact header with larger logo */
.nhg-header{
  min-height:54px;
}
.nhg-nav{
  min-height:54px;
  padding-top:0;
  padding-bottom:0;
}
.nhg-brand-logo{
  min-height:54px;
  display:flex;
  align-items:center;
  overflow:visible;
}
.nhg-logo-img{
  height:96px;
  width:auto;
  max-width:430px;
  position:relative;
  z-index:5;
  transform:translateY(7px);
  object-fit:contain;
}
.nhg-menu{
  align-items:center;
}
.nhg-menu a{
  line-height:54px;
}
.nhg-nav .nhg-btn{
  line-height:1.1;
}
@media(max-width:900px){
  .nhg-logo-img{
    height:76px;
    max-width:330px;
  }
}
@media(max-width:620px){
  .nhg-header,
  .nhg-nav,
  .nhg-brand-logo{
    min-height:50px;
  }
  .nhg-logo-img{
    height:66px;
    max-width:270px;
    transform:translateY(5px);
  }
  .nhg-menu a{
    line-height:50px;
  }
}

/* v1.7 — Photoshop mockup alignment: large relevant logo + image-safe hero */
.nhg-header{
  min-height:50px;
}
.nhg-nav{
  min-height:50px;
  padding-top:0;
  padding-bottom:0;
}
.nhg-brand-logo{
  min-height:50px;
  overflow:visible;
  align-items:flex-start;
}
.nhg-logo-img{
  height:142px;
  width:auto;
  max-width:520px;
  transform:translate(0,14px);
  z-index:20;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.14));
}
.nhg-menu a{
  line-height:50px;
}
.nhg-hero{
  min-height:650px;
}
.nhg-hero .nhg-wrap{
  padding-top:42px;
}
.nhg-hero-copy{
  max-width:620px;
}
.nhg-home-video{
  padding-top:58px;
}
.nhg-home-video-grid{
  grid-template-columns:.72fr 1.28fr;
  gap:48px;
}
.nhg-video-placeholder{
  min-height:360px;
}
@media(max-width:1050px){
  .nhg-logo-img{
    height:122px;
    max-width:460px;
  }
}
@media(max-width:850px){
  .nhg-logo-img{
    height:96px;
    max-width:360px;
    transform:translateY(10px);
  }
  .nhg-hero .nhg-wrap{
    padding-top:74px;
  }
}
@media(max-width:620px){
  .nhg-header,
  .nhg-nav,
  .nhg-brand-logo{
    min-height:48px;
  }
  .nhg-logo-img{
    height:72px;
    max-width:265px;
    transform:translateY(8px);
  }
  .nhg-menu a{
    line-height:48px;
  }
}

/* v1.8 — replace SF / Ed Levin text with map badges */
.nhg-location-badges{
  display:flex;
  gap:18px;
  align-items:flex-start;
  flex-wrap:wrap;
  margin:24px 0 30px;
}
.nhg-location-badge{
  margin:0;
  width:184px;
  flex:0 0 184px;
}
.nhg-location-badge img{
  display:block;
  width:100%;
  height:auto;
  border-radius:999px;
  box-shadow:0 14px 34px rgba(12,26,36,.18);
}
@media(max-width:620px){
  .nhg-location-badges{
    gap:14px;
  }
  .nhg-location-badge{
    width:146px;
    flex-basis:146px;
  }
}

/* ============================================================
   v2.0 — temporary text-only header + WooCommerce cleanup
   ============================================================ */

/* Header: keep logo contained inside the blue bar on store pages and throughout site */
.nhg-header{
  min-height:72px;
  background:linear-gradient(90deg,#188fc8 0%,#2ba9de 100%);
}
.nhg-nav{
  min-height:72px;
  padding-top:0;
  padding-bottom:0;
  align-items:center;
}
.nhg-brand-logo{
  min-height:72px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.nhg-logo-img{
  width:300px;
  max-width:38vw;
  height:66px;
  object-fit:cover;
  object-position:left top;
  transform:none;
  filter:none;
  position:relative;
  z-index:3;
}
.nhg-menu a{
  line-height:72px;
}

/* Keep logo from overlapping WooCommerce content */
.woocommerce .nhg-logo-img,
.woocommerce-page .nhg-logo-img{
  width:280px;
  height:62px;
  max-width:34vw;
}

/* WooCommerce surfaces */
.woocommerce,
.woocommerce-page{
  background:#f5f7f8;
  color:#172634;
}
.woocommerce main,
.woocommerce-page main,
.woocommerce .site-main,
.woocommerce-page .site-main,
.woocommerce .content-area,
.woocommerce-page .content-area{
  background:#f5f7f8;
}

/* Product page */
.woocommerce div.product{
  background:#fff;
  border-radius:18px;
  padding:28px;
  margin:32px auto;
  box-shadow:0 12px 36px rgba(18,38,52,.09);
}
.woocommerce div.product .product_title{
  color:#17384e;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:#168fca;
  font-weight:800;
}
.woocommerce div.product .woocommerce-product-gallery{
  background:#f7f9fa;
  border-radius:14px;
  overflow:hidden;
}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related{
  background:#fff;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:#eef4f7;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
  background:#fff;
}

/* Cart */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
  max-width:1240px;
  margin:32px auto;
  padding:0 24px 40px;
}
.woocommerce-cart .wc-block-cart,
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout form.checkout,
.woocommerce-checkout .wc-block-checkout{
  background:#fff;
  border-radius:18px;
  padding:24px;
  box-shadow:0 12px 36px rgba(18,38,52,.08);
}
.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table{
  background:#fff;
}

/* Checkout columns / fields */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment{
  background:#fff;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
  color:#172634;
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-cart input.input-text{
  background:#fff;
  border:1px solid #c9d6dd;
  border-radius:8px;
  min-height:46px;
  padding:10px 12px;
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{
  border-color:#2496d2;
  box-shadow:0 0 0 3px rgba(36,150,210,.14);
  outline:none;
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button{
  background:#2496d2 !important;
  color:#fff !important;
  border-radius:9px !important;
  font-weight:800 !important;
  border:none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:hover{
  background:#177cae !important;
  color:#fff !important;
}
.woocommerce a.checkout-button,
.woocommerce button#place_order,
.wc-block-cart__submit-button{
  background:#f28a1a !important;
  color:#121a21 !important;
}
.woocommerce a.checkout-button:hover,
.woocommerce button#place_order:hover,
.wc-block-cart__submit-button:hover{
  background:#dc7810 !important;
}

/* Product/category text cleanup */
.woocommerce .product_meta,
.woocommerce .woocommerce-product-details__short-description,
.woocommerce .woocommerce-tabs,
.woocommerce .related.products{
  color:#2a3d49;
}
.woocommerce .related.products h2,
.woocommerce .woocommerce-tabs h2{
  color:#17384e;
}

/* PayPal express area should sit cleanly */
.ppc-button-wrapper,
.wc-block-components-express-payment,
.wc-block-checkout__payment-method{
  background:#fff;
  border-radius:12px;
}

/* Coming-soon admin notice should not visually collide with content */
.woocommerce-store-notice,
p.demo_store{
  z-index:99999;
}

@media(max-width:900px){
  .nhg-header,.nhg-nav,.nhg-brand-logo{min-height:62px}
  .nhg-logo-img,
  .woocommerce .nhg-logo-img,
  .woocommerce-page .nhg-logo-img{
    width:230px;
    max-width:46vw;
    height:56px;
  }
  .nhg-menu a{line-height:62px}
}
@media(max-width:620px){
  .nhg-logo-img,
  .woocommerce .nhg-logo-img,
  .woocommerce-page .nhg-logo-img{
    width:180px;
    max-width:58vw;
    height:50px;
  }
}

/* v2.1 — fix temporary header logo markup/crop */
.nhg-brand-logo{
  overflow:hidden;
}
.nhg-logo-img,
.woocommerce .nhg-logo-img,
.woocommerce-page .nhg-logo-img{
  display:block;
  width:285px;
  height:58px;
  max-width:36vw;
  object-fit:cover;
  object-position:left center;
  transform:none !important;
  margin:0;
  border:0;
}
@media(max-width:900px){
  .nhg-logo-img,
  .woocommerce .nhg-logo-img,
  .woocommerce-page .nhg-logo-img{
    width:230px;
    height:52px;
  }
}
@media(max-width:620px){
  .nhg-logo-img,
  .woocommerce .nhg-logo-img,
  .woocommerce-page .nhg-logo-img{
    width:175px;
    height:44px;
    max-width:55vw;
  }
}

/* v2.2 — homepage flight video */
.nhg-home-video-frame{
  position:relative;
  aspect-ratio:16/9;
  min-height:360px;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 50px rgba(0,0,0,.23);
  background:#0d1d29;
}
.nhg-home-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
@media(max-width:850px){
  .nhg-home-video-frame{
    min-height:0;
  }
}

/* ============================================================
   v2.3 — user-supplied logo + lighter sky-blue header
   ============================================================ */
.nhg-header{
  background:#5BC1E6 !important;
  min-height:76px;
}
.nhg-nav{
  min-height:76px;
}
.nhg-brand-logo{
  min-height:76px;
  display:flex;
  align-items:center;
  overflow:visible;
}
.nhg-logo-img,
.woocommerce .nhg-logo-img,
.woocommerce-page .nhg-logo-img{
  width:330px;
  max-width:40vw;
  height:auto;
  max-height:68px;
  object-fit:contain;
  object-position:left center;
  transform:none !important;
  filter:none !important;
  margin:0;
  display:block;
}
.nhg-menu a{
  line-height:76px;
}
@media(max-width:900px){
  .nhg-header,.nhg-nav,.nhg-brand-logo{min-height:66px}
  .nhg-logo-img,
  .woocommerce .nhg-logo-img,
  .woocommerce-page .nhg-logo-img{
    width:255px;
    max-width:46vw;
    max-height:58px;
  }
  .nhg-menu a{line-height:66px}
}
@media(max-width:620px){
  .nhg-logo-img,
  .woocommerce .nhg-logo-img,
  .woocommerce-page .nhg-logo-img{
    width:195px;
    max-width:58vw;
    max-height:50px;
  }
}

/* ============================================================
   v2.4 — brighter homepage, white logo, sky/cloud header
   ============================================================ */

.nhg-header{
  background:
    linear-gradient(rgba(91,193,230,.10),rgba(91,193,230,.10)),
    url("assets/images/header-sky-clouds.png") center/cover no-repeat !important;
  min-height:76px;
}
.nhg-menu a{
  color:#fff !important;
  text-shadow:0 1px 2px rgba(24,64,86,.18);
}
.nhg-menu a:hover{
  color:#fff !important;
  opacity:.86;
}
.nhg-nav .nhg-btn{
  background:#fff !important;
  color:#168fca !important;
}
.nhg-logo-img,
.woocommerce .nhg-logo-img,
.woocommerce-page .nhg-logo-img{
  width:330px;
  max-width:40vw;
  height:auto;
  max-height:68px;
  object-fit:contain;
  filter:none !important;
}

/* Hero: significantly lighter */
.nhg-hero:after{
  background:
    linear-gradient(90deg,rgba(24,54,74,.42) 0%,rgba(24,54,74,.24) 42%,rgba(24,54,74,.05) 76%),
    linear-gradient(0deg,rgba(18,42,58,.12) 0%,rgba(18,42,58,0) 36%) !important;
}
.nhg-hero{
  color:#fff;
}

/* Brighten the section under the hero */
.nhg-home-video{
  background:linear-gradient(180deg,#eaf6fc 0%,#f7fbfd 100%) !important;
  color:#17384e !important;
}
.nhg-home-video h2,
.nhg-home-video p{
  color:#17384e !important;
}
.nhg-home-video .nhg-eyebrow{
  color:#2496d2 !important;
}
.nhg-home-video-frame{
  border:3px solid rgba(255,255,255,.92) !important;
  box-shadow:0 16px 42px rgba(45,102,132,.16) !important;
}

/* General homepage lightening */
.home .nhg-section:not(.nhg-hero):not(.nhg-footer){
  --nhg-light-text:#17384e;
}
.home .nhg-section p{
  line-height:1.6;
}

/* Footer remains dark anchor */
.nhg-footer{
  background:#0f1f2b !important;
}

/* ============================================================
   v2.5 — real training media + Ed Levin context + eagle accent
   ============================================================ */
.nhg-real-training{
  background:#ffffff;
  padding:72px 0;
  color:#17384e;
}
.nhg-real-training-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:52px;
  align-items:center;
}
.nhg-real-training h2{
  color:#17384e;
  font-size:clamp(2.4rem,4vw,4.6rem);
  line-height:.98;
  margin:8px 0 24px;
}
.nhg-real-training p{
  color:#425d6e;
  font-size:1.08rem;
}
.nhg-mini-cards{
  display:grid;
  gap:14px;
  margin-top:28px;
}
.nhg-mini-card{
  background:#eef8fc;
  border:1px solid #d7edf7;
  border-radius:14px;
  padding:16px 18px;
}
.nhg-mini-card strong{
  display:block;
  color:#17384e;
  margin-bottom:4px;
}
.nhg-mini-card span{
  color:#577283;
}
.nhg-training-media{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  align-items:stretch;
}
.nhg-training-video-card,
.nhg-park-photo-card{
  border-radius:20px;
  overflow:hidden;
  background:#eaf6fb;
  box-shadow:0 18px 42px rgba(34,91,121,.14);
}
.nhg-training-video-card{
  min-height:360px;
}
.nhg-training-video-card video{
  width:100%;
  height:100%;
  min-height:360px;
  display:block;
  object-fit:cover;
}
.nhg-park-photo-card{
  position:relative;
  min-height:360px;
}
.nhg-park-photo-card img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  display:block;
}
.nhg-park-photo-card span{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  background:rgba(18,42,58,.72);
  color:#fff;
  padding:10px 12px;
  border-radius:10px;
  font-weight:700;
  backdrop-filter:blur(4px);
}
.nhg-beyond-eagle{
  width:100%;
  max-width:260px;
  margin:14px 0 10px;
  border-radius:14px;
  display:block;
  box-shadow:0 10px 24px rgba(18,38,52,.12);
}
@media(max-width:950px){
  .nhg-real-training-grid,
  .nhg-training-media{
    grid-template-columns:1fr;
  }
  .nhg-training-video-card,
  .nhg-training-video-card video,
  .nhg-park-photo-card,
  .nhg-park-photo-card img{
    min-height:300px;
  }
}

/* ============================================================
   v2.7 — required pre-lesson video
   ============================================================ */
.nhg-prelesson-video{
  margin-top:22px;
  padding:30px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:30px;
  align-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#f4fbfe 0%,#e7f6fc 100%);
  border:1px solid #cfeaf6;
}
.nhg-prelesson-video h2{
  color:var(--slate);
  margin:6px 0 12px;
}
.nhg-prelesson-video p{
  color:#466475;
}
.nhg-prelesson-video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:14px;
  background:#122531;
  box-shadow:0 12px 30px rgba(31,85,112,.14);
}
.nhg-prelesson-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
@media(max-width:850px){
  .nhg-prelesson-video{grid-template-columns:1fr}
}

/* ============================================================
   v2.9 — simpler confirmation page, more negative space
   ============================================================ */
.nhg-lesson-confirm .nhg-section{
  padding-top:58px;
  padding-bottom:82px;
}
.nhg-lesson-hero{
  padding:58px 0 50px !important;
}
.nhg-lesson-hero h1{
  font-size:clamp(2.25rem,4.3vw,3.65rem) !important;
  line-height:1.03 !important;
  letter-spacing:-.025em !important;
  font-weight:700 !important;
}
.nhg-lesson-hero p{
  max-width:720px !important;
  font-size:1.02rem !important;
  line-height:1.65;
  margin-top:15px;
}
.nhg-lesson-confirm h2{
  font-size:clamp(1.55rem,2.4vw,2.15rem) !important;
  line-height:1.15 !important;
  letter-spacing:-.015em;
  font-weight:700 !important;
  margin-top:4px;
  margin-bottom:16px;
}
.nhg-lesson-confirm h3{
  font-size:1.22rem !important;
  line-height:1.3;
  font-weight:700 !important;
}
.nhg-lesson-confirm .nhg-kicker{
  font-size:.69rem !important;
  font-weight:700 !important;
  letter-spacing:.09em !important;
  opacity:.78;
  margin-bottom:7px !important;
}
.nhg-cancel-policy{
  margin-top:0 !important;
  padding:24px 26px !important;
}
.nhg-bring-card{
  margin-top:42px;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  max-width:760px;
}
.nhg-bring-card ul{
  margin:10px 0 18px;
  padding-left:22px;
  line-height:1.75;
}
.nhg-waiver-box{
  margin-top:54px !important;
  padding:26px 28px !important;
}
.nhg-prelesson-video{
  margin-top:54px !important;
  padding:28px !important;
}
.nhg-location{
  margin-top:68px !important;
}
.nhg-confirm-form-section{
  margin-top:72px !important;
  padding-top:54px !important;
}
.nhg-form-intro{
  max-width:760px;
  margin-bottom:30px;
}
.nhg-lesson-confirm p,
.nhg-lesson-confirm li{
  line-height:1.65;
}
.nhg-card-number{
  display:none !important;
}
@media(max-width:700px){
  .nhg-lesson-hero{padding:44px 0 38px !important}
  .nhg-lesson-confirm .nhg-section{padding-top:42px;padding-bottom:60px}
  .nhg-waiver-box,.nhg-prelesson-video{padding:22px !important}
}

/* ============================================================
   v3.6 — unified lesson confirmation cards
   ============================================================ */

/* One visual language for every major section */
.nhg-lesson-confirm .nhg-confirm-card{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  margin:34px 0 0 !important;
  padding:30px 32px !important;
  border:1px solid #d5e7f0 !important;
  border-radius:18px !important;
  background:#f6fbfd !important;
  box-shadow:none !important;
  color:#263b4c !important;
}

/* First card doesn't need extra top gap */
.nhg-lesson-confirm .nhg-cancel-policy{
  margin-top:0 !important;
}

/* Normalize headings/kickers inside every card */
.nhg-lesson-confirm .nhg-confirm-card .nhg-kicker{
  display:block;
  margin:0 0 8px !important;
  color:#318fbe !important;
  font-size:.70rem !important;
  font-weight:700 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase;
}
.nhg-lesson-confirm .nhg-confirm-card h2{
  margin:0 0 16px !important;
  color:#263b4c !important;
  font-size:clamp(1.55rem,2.4vw,2.05rem) !important;
  line-height:1.12 !important;
  font-weight:700 !important;
}
.nhg-lesson-confirm .nhg-confirm-card p,
.nhg-lesson-confirm .nhg-confirm-card li{
  color:#334f61 !important;
}

/* What-to-bring is now a real card like the others */
.nhg-lesson-confirm .nhg-bring-card{
  max-width:none !important;
  padding:30px 32px !important;
  border:1px solid #d5e7f0 !important;
  border-radius:18px !important;
  background:#f6fbfd !important;
}
.nhg-lesson-confirm .nhg-bring-card ul{
  margin:4px 0 0;
  padding-left:20px;
}

/* Cancellation: same card, subtle warm accent only */
.nhg-lesson-confirm .nhg-cancel-policy{
  background:#fffaf4 !important;
  border-color:#f0dfca !important;
}

/* Waiver: same card dimensions; content/button alignment remains practical */
.nhg-lesson-confirm .nhg-waiver-box{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:28px !important;
  align-items:center !important;
}

/* Video: same shell, video remains the visual feature */
.nhg-lesson-confirm .nhg-prelesson-video{
  display:grid !important;
  grid-template-columns:.9fr 1.1fr !important;
  gap:32px !important;
  align-items:center !important;
}
.nhg-lesson-confirm .nhg-prelesson-video-frame{
  border-radius:14px !important;
  box-shadow:none !important;
}

/* Location: remove its separate visual treatment */
.nhg-lesson-confirm .nhg-location{
  padding:30px 32px !important;
}
.nhg-lesson-confirm .nhg-important{
  display:inline-block;
  margin:4px 0 22px !important;
  padding:10px 14px !important;
  border-radius:10px !important;
  background:#fff3dc !important;
  color:#5a4827 !important;
}

/* Form becomes part of the same visual family */
.nhg-lesson-confirm .nhg-confirm-form-section{
  padding:34px 32px !important;
  border-top:1px solid #d5e7f0 !important;
}
.nhg-lesson-confirm .nhg-form-intro{
  margin-bottom:28px !important;
}

/* Consistent spacing and calmer page rhythm */
.nhg-lesson-confirm .nhg-confirm-card + .nhg-confirm-card{
  margin-top:34px !important;
}
.nhg-lesson-confirm .nhg-btn.primary{
  box-shadow:none !important;
}

/* Avoid the orange page background dominating around the cards */
.nhg-lesson-confirm > .nhg-section{
  background:#eef6fa !important;
}

/* Mobile */
@media(max-width:850px){
  .nhg-lesson-confirm .nhg-confirm-card{
    padding:24px 22px !important;
    margin-top:24px !important;
  }
  .nhg-lesson-confirm .nhg-waiver-box,
  .nhg-lesson-confirm .nhg-prelesson-video{
    grid-template-columns:1fr !important;
  }
}

/* ============================================================
   v3.7 — 30-day Training Calendar
   ============================================================ */
.nhg-calendar-page{
  background:#f5fafc;
  min-height:100vh;
  color:#263b4c;
}
.nhg-calendar-hero{
  padding:72px 0 42px;
  background:linear-gradient(180deg,#e9f7fd 0%,#f5fafc 100%);
}
.nhg-calendar-hero h1{
  margin:8px 0 14px;
  font-size:clamp(2.5rem,5vw,4.6rem);
  line-height:1;
  color:#21384a;
}
.nhg-calendar-hero p{
  max-width:760px;
  font-size:1.05rem;
  line-height:1.65;
  color:#50697a;
}
.nhg-calendar-legend{
  display:flex;
  flex-wrap:wrap;
  gap:18px 28px;
  margin-top:25px;
  font-size:.92rem;
  color:#4f6778;
}
.nhg-calendar-legend span{
  display:inline-flex;
  gap:8px;
  align-items:center;
}
.nhg-dot{
  width:12px;
  height:12px;
  border-radius:3px;
  display:inline-block;
}
.nhg-dot.available{background:#3aa85a}
.nhg-dot.full{background:#ef3155}
.nhg-dot.none{background:#dbe5ea}

.nhg-calendar-section{
  padding:32px 0 80px;
}
.nhg-rolling-calendar{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:10px;
}
.nhg-calendar-day{
  min-height:136px;
  padding:15px;
  border-radius:14px;
  background:#fff;
  border:1px solid #dce8ee;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.nhg-calendar-day.available{
  border-top:7px solid #3aa85a;
}
.nhg-calendar-day.full{
  border-top:7px solid #ef3155;
}
.nhg-calendar-day.none{
  opacity:.72;
}
.nhg-calendar-date{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:6px;
  align-items:baseline;
}
.nhg-calendar-date strong{
  font-size:2rem;
  line-height:1;
  color:#243b4d;
}
.nhg-calendar-dow,
.nhg-calendar-month{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#728492;
}
.nhg-calendar-month{text-align:right}
.nhg-state-pill{
  display:inline-block;
  border-radius:999px;
  padding:7px 9px;
  font-size:.74rem;
  font-weight:700;
}
.nhg-state-pill.available{
  background:#e6f6ea;
  color:#267842;
}
.nhg-state-pill.full{
  background:#fee9ee;
  color:#c52343;
}
.nhg-state-pill.none{
  background:#f0f4f6;
  color:#9ba8b0;
}
.nhg-calendar-note{
  margin-top:36px;
  padding:30px 32px;
  background:#fff;
  border:1px solid #dce8ee;
  border-radius:18px;
  max-width:760px;
}
.nhg-calendar-note h2{
  margin:0 0 8px;
  color:#263b4c;
  font-size:1.8rem;
}
.nhg-calendar-note p{
  margin:0;
  color:#50697a;
  line-height:1.6;
}
.nhg-calendar-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

@media(max-width:1050px){
  .nhg-rolling-calendar{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:760px){
  .nhg-rolling-calendar{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:520px){
  .nhg-calendar-hero{padding:50px 0 30px}
  .nhg-rolling-calendar{grid-template-columns:repeat(2,1fr)}
  .nhg-calendar-day{min-height:118px}
}


/* ============================================================
   v3.8 — Calendar grid alignment refinements
   ============================================================ */
.nhg-calendar-month-label{
  margin:0 0 18px;
  font-size:1.25rem;
  font-weight:700;
  color:#2b4355;
}
.nhg-calendar-month-label span{color:#6a7f8d;font-weight:600}
.nhg-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:10px;
}
.nhg-calendar-weekday{
  text-align:center;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#728492;
  padding:2px 4px 8px;
}
.nhg-calendar-blank{
  min-height:138px;
  border-radius:14px;
  background:rgba(219,229,234,.35);
  border:1px dashed rgba(180,197,206,.55);
}
.nhg-calendar-day{
  min-height:138px;
  padding:14px;
  border-radius:14px;
  background:#fff;
  border:1px solid #dce8ee;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.nhg-calendar-day.available{border-top:7px solid #3aa85a}
.nhg-calendar-day.full{border-top:7px solid #ef3155}
.nhg-calendar-day.none{border-top:7px solid #dbe5ea; opacity:.88}
.nhg-calendar-date-top{
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex-wrap:wrap;
}
.nhg-calendar-dow-mobile{display:none}
.nhg-calendar-day-number{
  font-size:2rem;
  line-height:1;
  font-weight:800;
  color:#243b4d;
}
.nhg-calendar-month-short{
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#728492;
  padding-top:3px;
}
.nhg-state-pill.none{white-space:normal}

@media(max-width:1050px){
  .nhg-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .nhg-calendar-weekday,.nhg-calendar-blank{display:none}
  .nhg-calendar-dow-mobile{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#728492;padding-top:4px}
}
@media(max-width:760px){
  .nhg-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:520px){
  .nhg-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ============================================================
   v3.9 — stronger calendar month structure + today highlight
   ============================================================ */
.nhg-calendar-month-label{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:0 0 14px !important;
  padding-bottom:12px;
  border-bottom:2px solid #d6e4eb;
}
.nhg-calendar-month-label strong{
  font-size:1.55rem;
  color:#21384a;
}
.nhg-calendar-month-label span{
  font-size:.95rem;
  color:#718492;
}
.nhg-public-calendar-grid{
  gap:0 !important;
  border-top:1px solid #d7e2e8;
  border-left:1px solid #d7e2e8;
  background:#fff;
}
.nhg-public-calendar-grid .nhg-calendar-weekday{
  padding:10px 6px !important;
  border-right:1px solid #d7e2e8;
  border-bottom:1px solid #d7e2e8;
  background:#f2f7fa;
}
.nhg-public-calendar-grid .nhg-calendar-day,
.nhg-public-calendar-grid .nhg-calendar-blank{
  border-radius:0 !important;
  border:0 !important;
  border-right:1px solid #d7e2e8 !important;
  border-bottom:1px solid #d7e2e8 !important;
  min-height:138px;
}
.nhg-public-calendar-grid .nhg-calendar-day.available{
  box-shadow:inset 0 6px 0 #3aa85a;
}
.nhg-public-calendar-grid .nhg-calendar-day.full{
  box-shadow:inset 0 6px 0 #ef3155;
}
.nhg-public-calendar-grid .nhg-calendar-day.none{
  box-shadow:inset 0 6px 0 #dbe5ea;
}
.nhg-calendar-day.today{
  outline:3px solid #f3a21d;
  outline-offset:-3px;
  position:relative;
  z-index:1;
}
.nhg-calendar-day.today .nhg-calendar-day-number::after{
  content:"Today";
  display:block;
  margin-top:6px;
  font-size:.62rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#c97800;
}

/* Admin gets the same grid feel */
.nhg-admin-calendar-grid{
  gap:0 !important;
  border-top:1px solid #dcdcde;
  border-left:1px solid #dcdcde;
}
.nhg-admin-weekday{
  border-right:1px solid #dcdcde;
  border-bottom:1px solid #dcdcde;
  background:#f6f7f7;
  padding:10px 4px !important;
}
.nhg-admin-day,
.nhg-admin-blank{
  border-radius:0 !important;
  border:0 !important;
  border-right:1px solid #dcdcde !important;
  border-bottom:1px solid #dcdcde !important;
}
.nhg-admin-day.available{box-shadow:inset 0 6px 0 #3aa85a}
.nhg-admin-day.full{box-shadow:inset 0 6px 0 #ef3155}
.nhg-admin-day.none{box-shadow:inset 0 6px 0 #c3c4c7}
.nhg-admin-day.today{
  outline:3px solid #f3a21d;
  outline-offset:-3px;
  position:relative;
  z-index:1;
}

/* ============================================================
   v3.13 — confirmation card consistency + meeting directions QR
   ============================================================ */

/* Cancellation card now matches the other confirmation cards */
.nhg-lesson-confirm .nhg-cancel-policy{
  background:#f6fbfd !important;
  border-color:#d5e7f0 !important;
}

/* Bottom-of-page phone directions QR */
.nhg-lesson-confirm .nhg-directions-qr-card{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:34px !important;
  align-items:center !important;
  margin-top:34px !important;
}
.nhg-directions-qr-copy{
  max-width:700px;
}
.nhg-directions-qr-copy p{
  max-width:640px;
}
.nhg-directions-qr-image{
  width:210px;
  min-width:210px;
  padding:12px;
  border:1px solid #d7e4ea;
  border-radius:14px;
  background:#fff;
}
.nhg-directions-qr-image img{
  display:block;
  width:100%;
  height:auto;
}
.nhg-qr-note{
  font-size:.9rem;
  color:#647d8d !important;
}
@media(max-width:760px){
  .nhg-lesson-confirm .nhg-directions-qr-card{
    grid-template-columns:1fr !important;
  }
  .nhg-directions-qr-image{
    width:190px;
    min-width:190px;
  }
}

/* ============================================================
   v3.15 — true multi-page site structure
   ============================================================ */

.nhg-page-hero{
  padding:78px 0 58px;
  background:linear-gradient(180deg,#eaf7fd 0%,#f7fbfd 100%);
  color:#243b4d;
}
.nhg-page-hero h1{
  margin:6px 0 14px;
  font-size:clamp(2.8rem,5vw,5rem);
  line-height:.98;
  color:#21384a;
}
.nhg-page-hero p{
  max-width:780px;
  color:#50697a;
  font-size:1.08rem;
  line-height:1.65;
}
.nhg-page-hero .nhg-btns{margin-top:24px}

.nhg-home-journey .nhg-first-day-steps{margin-bottom:42px}
.nhg-home-progression{margin-top:20px}

.nhg-about-story{
  max-width:980px;
}
.nhg-about-story > p{
  max-width:860px;
  margin:0 0 30px;
  font-size:1.08rem;
  line-height:1.8;
  color:#3e5969;
}
.nhg-about-feature{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:44px;
  align-items:center;
  margin:58px 0;
  padding:34px;
  border:1px solid #d9e9f1;
  border-radius:20px;
  background:#f5fbfe;
}
.nhg-about-feature h2{
  margin:8px 0 18px;
  color:#243b4d;
  font-size:clamp(2rem,3.4vw,3.25rem);
  line-height:1.05;
}
.nhg-about-feature p{
  line-height:1.75;
  color:#3e5969;
}
.nhg-about-feature img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:16px;
}
.nhg-instructor-signoff{
  margin-top:48px;
  padding-top:24px;
  border-top:1px solid #d9e4ea;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.nhg-instructor-signoff span{
  color:#6a7e8c;
  font-size:.92rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.nhg-instructor-signoff strong{
  color:#253e50;
  font-size:1.6rem;
}
.nhg-about-checks{
  grid-template-columns:repeat(3,1fr);
}

.nhg-contact-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.nhg-contact-card{
  display:flex;
  flex-direction:column;
  min-height:210px;
  padding:28px;
  border:1px solid #d9e8ef;
  border-radius:18px;
  background:#f7fbfd;
  color:#243b4d;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.nhg-contact-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(43,92,117,.10);
}
.nhg-contact-card span{
  color:#2496d2;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nhg-contact-card strong{
  margin:10px 0;
  font-size:1.35rem;
  overflow-wrap:anywhere;
}
.nhg-contact-card p{
  color:#607786;
  line-height:1.55;
}
.nhg-contact-calendar-link{
  margin-top:38px;
  max-width:720px;
  padding:30px;
  border-radius:18px;
  background:#eef8fc;
}
.nhg-contact-calendar-link h2{
  margin:0 0 8px;
  color:#243b4d;
}
.nhg-contact-calendar-link p{
  color:#5a7180;
  margin-bottom:20px;
}

.nhg-classes-before-buy .nhg-split{
  align-items:center;
}
.nhg-classes-before-buy .nhg-btns{
  justify-content:flex-start;
}

@media(max-width:900px){
  .nhg-about-feature,
  .nhg-contact-grid{
    grid-template-columns:1fr;
  }
  .nhg-about-checks{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   v3.16 — numbered training availability
   ============================================================ */

/* All open training days stay green. Numbered classes make it easy
   to refine the appearance later if desired. */
.nhg-admin-day.spots-1,
.nhg-admin-day.spots-2,
.nhg-admin-day.spots-3,
.nhg-admin-day.spots-4{
  box-shadow:inset 0 6px 0 #3aa85a !important;
}
.nhg-public-calendar-grid .nhg-calendar-day.spots-1,
.nhg-public-calendar-grid .nhg-calendar-day.spots-2,
.nhg-public-calendar-grid .nhg-calendar-day.spots-3,
.nhg-public-calendar-grid .nhg-calendar-day.spots-4{
  box-shadow:inset 0 6px 0 #3aa85a !important;
}
.nhg-state-pill.available{
  background:#e6f6ea !important;
  color:#267842 !important;
  white-space:normal;
}

/* ============================================================
   v3.17 — Training Calendar title + custom-date note
   ============================================================ */
.nhg-calendar-custom-date{
  margin-top:28px;
  padding:24px 26px;
  border:1px solid #d8e7ee;
  border-radius:16px;
  background:#ffffff;
  max-width:760px;
}
.nhg-calendar-custom-date strong{
  display:block;
  margin-bottom:6px;
  color:#243b4d;
  font-size:1.15rem;
}
.nhg-calendar-custom-date p{
  margin:0 0 16px;
  color:#50697a;
  line-height:1.6;
}

/* ============================================================
   v3.18 — home hero spacing / detached information bars
   ============================================================ */

/* The hero now ends cleanly at the photograph. */
.home .nhg-hero{
  margin-bottom:0 !important;
}

/* Strong, simple separator beneath the photograph. */
.nhg-hero-orange-rule{
  width:100%;
  height:12px;
  background:#f58a17;
}

/* Give the small eligibility/instruction note its own line and space. */
.nhg-home-bullet-strip{
  padding:24px 0 20px;
  background:#f7fbfd;
}
.nhg-home-bullet-strip .nhg-hero-note{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#536b7b !important;
  font-size:.92rem;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.nhg-home-bullet-strip .nhg-hero-note b{
  color:#263e50 !important;
}

/* The credential rectangle no longer overlaps the hero image. */
.home .nhg-trust{
  position:relative;
  z-index:2;
  margin-top:0 !important;
  padding-top:10px;
  padding-bottom:38px;
  background:#f7fbfd;
}
.home .nhg-trust-grid{
  box-shadow:0 10px 30px rgba(37,78,100,.10);
}

/* Start using the available vertical real estate rather than packing
   the next section tightly against the hero. */
.home .nhg-real-training{
  padding-top:92px !important;
  padding-bottom:92px !important;
}
.home .nhg-home-journey{
  padding-top:96px !important;
  padding-bottom:104px !important;
}
.home .nhg-home-video{
  padding-top:94px !important;
  padding-bottom:94px !important;
}
.home .nhg-final{
  padding-top:90px !important;
  padding-bottom:100px !important;
}

@media(max-width:700px){
  .nhg-hero-orange-rule{height:9px}
  .nhg-home-bullet-strip{padding:18px 0 16px}
  .home .nhg-trust{padding-bottom:28px}
}

/* ============================================================
   v3.19 — uninterrupted orange rule + independent selling points
   ============================================================ */

/* Keep the separator completely uninterrupted from edge to edge. */
.nhg-hero-orange-rule{
  display:block !important;
  width:100% !important;
  height:14px !important;
  margin:0 !important;
  padding:0 !important;
  background:#f58a17 !important;
  border:0 !important;
}

/* The 18+ / solo / no-tandem line gets its own quiet strip. */
.nhg-home-bullet-strip{
  background:#f7fbfd !important;
  padding:22px 0 18px !important;
}

/* Selling points live entirely below the orange rule and bullet strip. */
.nhg-home-selling-points{
  background:#f7fbfd;
  padding:4px 0 58px;
}
.nhg-home-selling-points .nhg-trust-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:22px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}

/* Each selling point is its own card instead of one joined rectangle. */
.nhg-home-selling-points .nhg-trust-item{
  min-height:190px;
  padding:24px 22px 22px !important;
  border:1px solid #dbe8ef !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 9px 24px rgba(37,78,100,.08);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
}
.nhg-home-selling-points .nhg-trust-item strong{
  display:block;
  margin-top:12px;
  color:#263e50;
  font-size:1rem;
}
.nhg-home-selling-points .nhg-trust-item span{
  display:block;
  margin-top:4px;
  color:#637887;
  font-size:.84rem;
  line-height:1.45;
}

/* Organization logos are clickable and have their own breathing room. */
.nhg-org-logo-link{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  min-height:78px;
  margin-bottom:auto;
  text-decoration:none;
}
.nhg-org-logo{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.nhg-ushpa-logo{
  max-width:220px;
  max-height:72px;
}
.nhg-pasa-logo{
  max-width:205px;
  max-height:62px;
}
.nhg-trust-spacer{
  width:100%;
  min-height:78px;
  margin-bottom:auto;
}

@media(max-width:1000px){
  .nhg-home-selling-points .nhg-trust-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:620px){
  .nhg-home-selling-points{
    padding-bottom:42px;
  }
  .nhg-home-selling-points .nhg-trust-grid{
    grid-template-columns:1fr !important;
  }
  .nhg-home-selling-points .nhg-trust-item{
    min-height:160px;
  }
  .nhg-trust-spacer{
    min-height:24px;
  }
}

/* ============================================================
   v3.20 — certification-focused safety badges
   ============================================================ */

/* Replace four sales cards with two stronger certification badges. */
.nhg-home-selling-points{
  padding:12px 0 68px !important;
}
.nhg-safety-badges{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
  max-width:980px;
  margin:0 auto;
}
.nhg-safety-badge{
  position:relative;
  min-height:210px;
  padding:26px 28px 24px;
  border:1px solid #d3e2e9;
  border-radius:22px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,253,.98));
  box-shadow:
    0 16px 34px rgba(36,73,94,.10),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
}
.nhg-safety-badge::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:5px;
  background:linear-gradient(90deg,#4bb8df,#238fc5);
}
.nhg-safety-badge-pasa::before{
  background:linear-gradient(90deg,#2864b5,#174e9a);
}
.nhg-safety-badge .nhg-org-logo-link{
  min-height:92px;
  margin:0 0 14px;
  display:flex;
  align-items:center;
}
.nhg-safety-badge .nhg-org-logo{
  filter:none;
}
.nhg-safety-badge .nhg-ushpa-logo{
  max-width:265px;
  max-height:82px;
}
.nhg-safety-badge .nhg-pasa-logo{
  max-width:225px;
  max-height:72px;
}
.nhg-safety-badge-copy{
  padding-top:16px;
  border-top:1px solid #e1ebf0;
}
.nhg-safety-badge-copy strong{
  display:block;
  margin:0 0 7px;
  color:#243b4d;
  font-size:1.15rem;
  line-height:1.2;
}
.nhg-safety-badge-copy span{
  display:block;
  color:#5f7483;
  font-size:.95rem;
  line-height:1.5;
}
.nhg-safety-badge .nhg-org-logo-link:hover{
  opacity:.86;
}

@media(max-width:800px){
  .nhg-safety-badges{
    grid-template-columns:1fr;
    max-width:600px;
  }
}

/* ============================================================
   v3.21 — automatic 8-second homepage hero slideshow
   ============================================================ */
.nhg-hero-slideshow{
  position:relative;
  overflow:hidden;
  background:none !important;
}
.nhg-hero-slides{
  position:absolute;
  inset:0;
  z-index:0;
}
.nhg-hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  opacity:0;
  transform:scale(1.015);
  transition:opacity 1.2s ease-in-out, transform 8s ease-out;
}
.nhg-hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.nhg-hero-slideshow > .nhg-wrap{
  position:relative;
  z-index:2;
}
.nhg-hero-slideshow::after{
  z-index:1 !important;
}
/* Preserve text readability across all photos. */
.nhg-hero-slideshow::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(18,42,58,.46) 0%,rgba(18,42,58,.29) 42%,rgba(18,42,58,.06) 78%),
    linear-gradient(0deg,rgba(18,42,58,.12) 0%,rgba(18,42,58,0) 36%);
  pointer-events:none;
}
/* Keep the hero tall enough for the more scenic images. */
.home .nhg-hero-slideshow{
  min-height:610px;
}
/* Favor the glider/pilot area on these Yosemite images. */
.nhg-hero-slide:nth-child(1){background-position:center 52%}
.nhg-hero-slide:nth-child(2){background-position:center 48%}
.nhg-hero-slide:nth-child(3){background-position:center 48%}
.nhg-hero-slide:nth-child(4){background-position:center 48%}

@media (prefers-reduced-motion: reduce){
  .nhg-hero-slide{
    transition:none !important;
    transform:none !important;
  }
}


/* ============================================================
   v3.22 — restore original Ed Levin hero as first slideshow image
   ============================================================ */
.nhg-hero-slide-original{
  background-position:center center !important;
  transform:scaleX(-1) scale(1.015);
}
.nhg-hero-slide-original.is-active{
  transform:scaleX(-1) scale(1);
}
/* With the original image restored as slide 1, Glacier Point slides are 2–5. */
.nhg-hero-slide:nth-child(2){background-position:center 52%}
.nhg-hero-slide:nth-child(3){background-position:center 48%}
.nhg-hero-slide:nth-child(4){background-position:center 48%}
.nhg-hero-slide:nth-child(5){background-position:center 48%}

/* ============================================================
   v3.23 — compact polygon certification stamps
   ============================================================ */
.nhg-home-selling-points{
  padding:8px 0 56px !important;
}
.nhg-safety-badges{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:26px !important;
  max-width:790px !important;
  margin:0 auto !important;
}

/* Whole badge is the link. A metallic outer shell creates the
   "official stamp" feel without making the badges oversized. */
.nhg-safety-badge{
  position:relative !important;
  display:block !important;
  min-height:158px !important;
  padding:3px !important;
  text-decoration:none !important;
  color:inherit !important;
  border:0 !important;
  border-radius:0 !important;
  background:
    linear-gradient(135deg,
      #eef2f4 0%,
      #7f8b93 16%,
      #f9fbfc 31%,
      #9ba6ad 48%,
      #f7f9fa 67%,
      #69767f 84%,
      #e8edef 100%) !important;
  clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%) !important;
  box-shadow:0 9px 22px rgba(37,65,82,.14) !important;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}
.nhg-safety-badge:hover{
  transform:translateY(-3px) !important;
  filter:brightness(1.025);
  box-shadow:0 15px 28px rgba(37,65,82,.20) !important;
}
.nhg-safety-badge:focus-visible{
  outline:3px solid #f58a17;
  outline-offset:5px;
}

.nhg-badge-inner{
  min-height:152px;
  padding:19px 28px;
  display:grid;
  grid-template-columns:112px 1fr;
  gap:18px;
  align-items:center;
  background:linear-gradient(180deg,#ffffff 0%,#f5f9fb 100%);
  clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);
}

/* Small inset chrome seal behind the organization mark. */
.nhg-badge-logo-wrap{
  width:108px;
  height:108px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  background:
    linear-gradient(135deg,#dce2e6,#ffffff 28%,#87939b 48%,#f7fafb 67%,#a2adb4);
  clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);
}
.nhg-badge-logo-wrap::before{
  content:"";
  position:absolute;
}
.nhg-badge-logo-wrap .nhg-org-logo{
  max-width:88px !important;
  max-height:72px !important;
  width:auto !important;
  height:auto !important;
  background:#fff;
  padding:6px;
  box-sizing:border-box;
}
.nhg-badge-logo-wrap .nhg-pasa-logo{
  max-width:90px !important;
  max-height:56px !important;
}

.nhg-safety-badge-copy{
  padding:0 !important;
  border:0 !important;
}
.nhg-safety-badge-copy strong{
  display:block !important;
  margin:0 0 7px !important;
  color:#203a4c !important;
  font-size:1.05rem !important;
  line-height:1.15 !important;
  letter-spacing:.01em;
}
.nhg-safety-badge-copy > span{
  display:block !important;
  color:#607684 !important;
  font-size:.84rem !important;
  line-height:1.38 !important;
}

/* Slightly different accent line for PASA while retaining the same chrome family. */
.nhg-safety-badge-pasa .nhg-badge-inner{
  box-shadow:inset 0 4px 0 #23599f;
}
.nhg-safety-badge-ushpa .nhg-badge-inner{
  box-shadow:inset 0 4px 0 #48acd2;
}

@media(max-width:820px){
  .nhg-safety-badges{
    grid-template-columns:1fr !important;
    max-width:430px !important;
  }
}
@media(max-width:480px){
  .nhg-badge-inner{
    grid-template-columns:88px 1fr;
    gap:13px;
    padding:15px 21px;
  }
  .nhg-badge-logo-wrap{
    width:84px;
    height:84px;
    padding:9px;
  }
  .nhg-safety-badge{
    min-height:128px !important;
  }
  .nhg-badge-inner{
    min-height:122px;
  }
}

/* ============================================================
   v3.24 — move First Lesson + Progression content to Classes
   ============================================================ */

.nhg-classes-progression{
  padding-top:84px !important;
  padding-bottom:92px !important;
}
.nhg-classes-progression .nhg-first-day-steps{
  margin-top:34px;
  margin-bottom:42px;
}
.nhg-classes-progression .nhg-home-progression{
  margin-top:22px;
}

/* Add a little breathing room before the purchase choices that now
   follow the training/progression explanation. */
.nhg-classes-progression + .nhg-section{
  padding-top:82px !important;
}


/* ============================================================
   v3.26 — full-width real-flight video section below badges
   ============================================================ */
.nhg-home-video-fullbleed{
  position:relative !important;
  width:100% !important;
  min-height:600px;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden;
  background:#0f2535;
}
.nhg-home-video-fullbleed .nhg-home-video-frame{
  position:absolute !important;
  inset:0;
  width:100%;
  height:100%;
  border-radius:0 !important;
  overflow:hidden;
  box-shadow:none !important;
  z-index:1;
  pointer-events:none;
}
.nhg-home-video-fullbleed .nhg-home-video-frame iframe{
  position:absolute;
  top:50%;
  left:50%;
  width:120vw;
  height:67.5vw;
  min-width:100%;
  min-height:100%;
  transform:translate(-50%, -50%);
  border:0;
}
.nhg-home-video-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg, rgba(10,26,38,.78) 0%, rgba(10,26,38,.64) 28%, rgba(10,26,38,.36) 52%, rgba(10,26,38,.12) 76%, rgba(10,26,38,.18) 100%),
    linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 24%, rgba(6,16,24,.14) 100%);
}
.nhg-home-video-content-wrap{
  position:relative;
  z-index:3;
  min-height:600px;
  display:flex;
  align-items:center;
}
.nhg-home-video-fullbleed .nhg-home-video-copy{
  max-width:520px;
  padding:52px 0;
}
.nhg-home-video-fullbleed .nhg-kicker{
  display:inline-block;
  margin-bottom:18px;
  color:#8fd3f5 !important;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:700;
}
.nhg-home-video-fullbleed h2{
  margin:0 0 22px;
  color:#ffffff !important;
  font-size:clamp(2.6rem, 5vw, 4.8rem);
  line-height:.98;
  max-width:10ch;
  text-shadow:0 3px 18px rgba(0,0,0,.28);
}
.nhg-home-video-fullbleed p{
  margin:0 0 28px;
  color:rgba(255,255,255,.92) !important;
  font-size:1.16rem;
  line-height:1.6;
  max-width:38ch;
  text-shadow:0 2px 10px rgba(0,0,0,.22);
}
.nhg-home-video-fullbleed .nhg-btns{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
@media (max-width: 1100px){
  .nhg-home-video-fullbleed,
  .nhg-home-video-content-wrap{
    min-height:540px;
  }
}
@media (max-width: 800px){
  .nhg-home-video-fullbleed,
  .nhg-home-video-content-wrap{
    min-height:500px;
  }
  .nhg-home-video-overlay{
    background:
      linear-gradient(180deg, rgba(10,26,38,.72) 0%, rgba(10,26,38,.52) 40%, rgba(10,26,38,.46) 100%);
  }
  .nhg-home-video-fullbleed .nhg-home-video-copy{
    max-width:100%;
    padding:44px 0;
  }
  .nhg-home-video-fullbleed h2{
    max-width:12ch;
  }
}
@media (max-width: 560px){
  .nhg-home-video-fullbleed,
  .nhg-home-video-content-wrap{
    min-height:440px;
  }
  .nhg-home-video-fullbleed .nhg-home-video-frame iframe{
    width:180vw;
    height:101.25vw;
  }
  .nhg-home-video-fullbleed p{
    font-size:1rem;
  }
}

/* ============================================================
   v3.27 — lighter video, stable sticky header, approved badge art
   ============================================================ */

/* Keep the sticky header fully visible below the WordPress admin bar. */
.nhg-header{
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
}
body.admin-bar .nhg-header{
  top:32px !important;
}
@media(max-width:782px){
  body.admin-bar .nhg-header{
    top:46px !important;
  }
}

/* Do not allow logo/header geometry to collapse while sticky. */
.nhg-header,
.nhg-nav,
.nhg-brand-logo{
  flex-shrink:0;
}
.nhg-header{
  min-height:76px !important;
}
.nhg-nav{
  height:76px !important;
  min-height:76px !important;
}

/* Reduce the dark video overlay by about 25%. */
.nhg-home-video-overlay{
  background:
    linear-gradient(90deg,
      rgba(10,26,38,.59) 0%,
      rgba(10,26,38,.48) 28%,
      rgba(10,26,38,.27) 52%,
      rgba(10,26,38,.09) 76%,
      rgba(10,26,38,.14) 100%),
    linear-gradient(180deg,
      rgba(255,255,255,.04) 0%,
      rgba(255,255,255,0) 24%,
      rgba(6,16,24,.10) 100%) !important;
}

/* Use the actual approved raster badge artwork rather than approximating
   the mockup with CSS geometry. */
.nhg-safety-badges-art{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  width:min(860px,100%) !important;
  max-width:860px !important;
  margin:0 auto !important;
}
.nhg-cert-art-link{
  display:block;
  width:100%;
  text-decoration:none;
  border-radius:8px;
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.nhg-cert-art-link img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.nhg-cert-art-link:hover{
  transform:translateY(-3px);
  filter:brightness(1.025);
  box-shadow:0 12px 26px rgba(33,63,82,.13);
}
.nhg-cert-art-link:focus-visible{
  outline:3px solid #f58a17;
  outline-offset:5px;
}
@media(max-width:760px){
  .nhg-safety-badges-art{
    grid-template-columns:1fr !important;
    max-width:460px !important;
  }
}


/* ============================================================
   v3.28 — darker sky-blue header + more prominent cumulus clouds
   ============================================================ */

/* Make the header sky a bit deeper and add more visible cloud forms. */
.nhg-header{
  position:sticky !important;
  overflow:hidden !important;
  background:
    linear-gradient(180deg, #1c83c5 0%, #2a97d6 58%, #35a4de 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 8px 20px rgba(15,37,53,.18) !important;
}

/* Ensure nav content stays above the decorative cloud layers. */
.nhg-nav{
  position:relative;
  z-index:3;
}

/* Cloud masses */
.nhg-header::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(ellipse 180px 52px at 10% 40%, rgba(255,255,255,.46) 0 34%, rgba(255,255,255,.22) 35% 50%, rgba(255,255,255,0) 66%),
    radial-gradient(ellipse 130px 40px at 18% 30%, rgba(255,255,255,.34) 0 34%, rgba(255,255,255,0) 66%),
    radial-gradient(ellipse 210px 58px at 34% 20%, rgba(255,255,255,.42) 0 34%, rgba(255,255,255,.18) 35% 50%, rgba(255,255,255,0) 66%),
    radial-gradient(ellipse 120px 34px at 44% 28%, rgba(255,255,255,.26) 0 34%, rgba(255,255,255,0) 66%),
    radial-gradient(ellipse 190px 56px at 66% 26%, rgba(255,255,255,.44) 0 34%, rgba(255,255,255,.20) 35% 50%, rgba(255,255,255,0) 66%),
    radial-gradient(ellipse 120px 36px at 75% 18%, rgba(255,255,255,.30) 0 34%, rgba(255,255,255,0) 66%),
    radial-gradient(ellipse 170px 48px at 88% 42%, rgba(255,255,255,.40) 0 34%, rgba(255,255,255,.18) 35% 50%, rgba(255,255,255,0) 66%);
  opacity:.88;
  filter:blur(.2px);
}

/* Soft mist layer to help the clouds feel fuller. */
.nhg-header::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 48%, rgba(255,255,255,.02) 100%),
    radial-gradient(ellipse 320px 58px at 22% 55%, rgba(255,255,255,.14) 0 36%, rgba(255,255,255,0) 70%),
    radial-gradient(ellipse 280px 54px at 72% 54%, rgba(255,255,255,.14) 0 36%, rgba(255,255,255,0) 70%);
  opacity:.9;
}

@media(max-width:900px){
  .nhg-header::before{
    background:
      radial-gradient(ellipse 140px 42px at 14% 38%, rgba(255,255,255,.44) 0 34%, rgba(255,255,255,.20) 35% 50%, rgba(255,255,255,0) 66%),
      radial-gradient(ellipse 160px 44px at 42% 24%, rgba(255,255,255,.40) 0 34%, rgba(255,255,255,.18) 35% 50%, rgba(255,255,255,0) 66%),
      radial-gradient(ellipse 150px 42px at 74% 34%, rgba(255,255,255,.40) 0 34%, rgba(255,255,255,.18) 35% 50%, rgba(255,255,255,0) 66%);
  }
}

/* ============================================================
   v3.29 — homepage message/paths + named calendar students
   ============================================================ */

.nhg-home-message{
  padding:22px 0 72px;
  background:#f7fbfd;
  text-align:center;
}
.nhg-home-message h2{
  max-width:900px;
  margin:0 auto 22px;
  color:#273d4d;
  font-size:clamp(1.55rem,3vw,2.5rem);
  line-height:1.18;
}
.nhg-home-message h2 span{
  color:#1676b2;
}
.nhg-home-dreams{
  max-width:980px;
  margin:0 auto 28px;
  padding:22px 30px;
  border-top:1px solid #d9e7ee;
  border-bottom:1px solid #d9e7ee;
  color:#243b4d;
  font-size:clamp(1.25rem,2.2vw,1.8rem);
  line-height:1.45;
  font-weight:500;
}
.nhg-home-message-copy{
  max-width:860px;
  margin:0 auto;
  color:#536b7b;
  font-size:1rem;
  line-height:1.7;
}
.nhg-home-message-copy p{
  margin:8px 0;
}
.nhg-home-message-accent{
  color:#f28a1a !important;
  font-weight:700;
}
.nhg-home-message-small{
  margin-top:16px !important;
  color:#243b4d !important;
  font-size:.88rem;
  font-weight:700;
}

.nhg-home-paths{
  padding:72px 0 82px;
  background:#fff;
}
.nhg-home-path-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:920px;
  margin:0 auto;
}
.nhg-home-path-card{
  padding:28px 24px;
  border:1px solid #e0e8ed;
  background:#fafcfd;
  text-align:center;
}
.nhg-home-path-icon{
  width:46px;
  height:46px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border:1px solid #becbd3;
  border-radius:50%;
  color:#526d7d;
  font-size:1.15rem;
}
.nhg-home-path-card h3{
  margin:0 0 8px;
  color:#283e4f;
  font-size:1.05rem;
}
.nhg-home-path-card p{
  margin:0;
  color:#6b7e8a;
  font-size:.88rem;
  line-height:1.55;
}
.nhg-home-buy-cta{
  max-width:560px;
  margin:34px auto 0;
  padding:30px;
  border:1px solid #e0e8ed;
  background:#f8fafb;
  text-align:center;
}
.nhg-home-buy-cta h2{
  margin:0 0 10px;
  color:#263d4e;
  font-size:1.7rem;
}
.nhg-home-buy-cta p{
  margin:0 0 20px;
  color:#607582;
}

.nhg-community-ribbon{
  display:inline-block;
  margin:0 0 18px;
  padding:9px 14px;
  background:#f28a1a;
  color:#213547;
  font-weight:800;
  font-size:.92rem;
}

.nhg-calendar-student-names{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-bottom:7px;
}
.nhg-calendar-student-names span{
  display:inline-block;
  padding:4px 7px;
  border-radius:999px;
  background:#eef4f7;
  color:#29485b;
  font-size:.72rem;
  font-weight:800;
  line-height:1.1;
}
.nhg-calendar-day.full .nhg-calendar-student-names span{
  background:#fff0f3;
  color:#a92d45;
}

@media(max-width:760px){
  .nhg-home-path-grid{
    grid-template-columns:1fr;
    max-width:520px;
  }
  .nhg-home-message{
    padding-bottom:52px;
  }
  .nhg-home-dreams{
    padding:18px 8px;
  }
}

/* ============================================================
   v3.30 — realistic cumulus header + subtle elevation
   ============================================================ */

/* Use actual cloud imagery instead of CSS ellipse/blob clouds. */
.nhg-header{
  background:
    linear-gradient(rgba(17,112,180,.10),rgba(17,112,180,.10)),
    url('assets/images/header-cumulus-v330.jpg') center center / cover no-repeat !important;
  border-bottom:1px solid rgba(9,64,104,.38) !important;
  box-shadow:
    0 2px 0 rgba(255,255,255,.18),
    0 7px 16px rgba(9,37,58,.24) !important;
}

/* Retire the old CSS cloud blobs from v3.28. */
.nhg-header::before,
.nhg-header::after{
  content:none !important;
  display:none !important;
}

/* Keep header content crisp above the photo background. */
.nhg-nav{
  position:relative;
  z-index:3;
}

/* Slight visual separation so header and hero do not sit on one plane. */
.nhg-hero{
  position:relative;
  z-index:1;
}
.nhg-header{
  z-index:1000 !important;
}


/* ============================================================
   v3.31 — public calendar names remain intentionally minimal
   ============================================================ */
.nhg-calendar-student-names{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-bottom:7px;
}
.nhg-calendar-student-names span{
  display:inline-block;
  padding:4px 7px;
  border-radius:999px;
  background:#eef4f7;
  color:#29485b;
  font-size:.72rem;
  font-weight:800;
  line-height:1.1;
}
.nhg-calendar-day.full .nhg-calendar-student-names span{
  background:#fff0f3;
  color:#a92d45;
}


/* ============================================================
   v3.32 — less orange, taller header, stronger elevation line
   ============================================================ */

/* 1) Taller header (+20px) with a more visible lifted separation */
.nhg-header{
  min-height:96px !important;
  position:sticky;
  top:0;
  overflow:visible;
  border-bottom:1px solid rgba(255,255,255,.42) !important;
  box-shadow:
    0 10px 24px rgba(14,55,79,.16),
    0 18px 42px rgba(14,55,79,.14) !important;
}
.nhg-header:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-18px;
  height:22px;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(19,67,97,.20), rgba(19,67,97,0));
}
.nhg-nav,
.nhg-brand-logo{
  min-height:96px !important;
}
.nhg-logo-img,
.woocommerce .nhg-logo-img,
.woocommerce-page .nhg-logo-img{
  max-height:78px !important;
}
.nhg-menu a{
  line-height:96px !important;
}

@media(max-width:900px){
  .nhg-header,
  .nhg-nav,
  .nhg-brand-logo{
    min-height:86px !important;
  }
  .nhg-menu a{
    line-height:86px !important;
  }
  .nhg-logo-img,
  .woocommerce .nhg-logo-img,
  .woocommerce-page .nhg-logo-img{
    max-height:68px !important;
  }
}
@media(max-width:620px){
  .nhg-header,
  .nhg-nav,
  .nhg-brand-logo{
    min-height:76px !important;
  }
  .nhg-menu a{
    line-height:76px !important;
  }
  .nhg-logo-img,
  .woocommerce .nhg-logo-img,
  .woocommerce-page .nhg-logo-img{
    max-height:58px !important;
  }
}

/* 2) Replace the big orange rule with a cooler "elevated" divider */
.nhg-hero-orange-rule{
  width:100%;
  height:24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.70) 0%, rgba(231,244,251,1) 44%, rgba(214,233,244,1) 100%) !important;
  border-top:1px solid rgba(255,255,255,.65);
  border-bottom:1px solid rgba(187,214,228,.85);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    inset 0 -1px 0 rgba(154,185,203,.22),
    0 10px 18px rgba(20,64,91,.10);
}

/* 3) Lose the large orange background treatments */
.nhg-btn.orange{
  background:#237daf !important;
  border-color:#237daf !important;
  color:#fff !important;
}
.nhg-btn.orange:hover{
  background:#1c678f !important;
  border-color:#1c678f !important;
  color:#fff !important;
}

.nhg-community-ribbon{
  background:linear-gradient(180deg, #edf7fc 0%, #dff0f9 100%) !important;
  color:#21475d !important;
  border:1px solid #b8d8ea;
  border-radius:999px;
  box-shadow:0 8px 24px rgba(24,89,123,.08);
}

/* Also remove the orange checkout CTA so the store feels consistent */
.woocommerce a.checkout-button,
.woocommerce button#place_order,
.wc-block-cart__submit-button{
  background:#237daf !important;
  color:#fff !important;
}
.woocommerce a.checkout-button:hover,
.woocommerce button#place_order:hover,
.wc-block-cart__submit-button:hover{
  background:#1c678f !important;
  color:#fff !important;
}


/* ============================================================
   v3.34 — confirmation calendar link, softer accents, stronger header elevation
   ============================================================ */
.nhg-form-success a{
  color:#176ea1;
  font-weight:800;
  text-decoration:underline;
}

.nhg-calendar-focus-note{
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  background:#ffffff;
  color:#34556a;
  border:1px solid #d7e5ed;
  box-shadow:0 10px 24px rgba(26,81,112,.08);
  font-weight:700;
}
.nhg-calendar-day.focus-day{
  outline:3px solid #f2a64a;
  outline-offset:2px;
  box-shadow:0 16px 34px rgba(18,74,102,.12);
}

.nhg-community-ribbon{
  background:#ffffff !important;
  color:#264356 !important;
  border:1px solid #d5e6ef !important;
  border-left:6px solid #f28a1a !important;
  border-radius:16px !important;
  box-shadow:0 12px 28px rgba(24,89,123,.08) !important;
  padding:14px 18px !important;
}

.nhg-header{
  min-height:116px !important;
  box-shadow:
    0 16px 30px rgba(14,55,79,.18),
    0 32px 64px rgba(14,55,79,.16) !important;
}
.nhg-header:after{
  bottom:-26px !important;
  height:34px !important;
  background:linear-gradient(to bottom, rgba(19,67,97,.28), rgba(19,67,97,0)) !important;
}
.nhg-hero-orange-rule{
  height:34px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(154,185,203,.24),
    0 16px 28px rgba(20,64,91,.16) !important;
}


/* ============================================================
   v3.35 — remove large orange fields from Classes / About / Study
   Keep orange only as a restrained accent.
   ============================================================ */

/* CLASSES */
body .nhg-classes-page .nhg-page-hero{
  background:linear-gradient(180deg,#e7f5fb 0%,#f8fbfd 100%) !important;
  color:#243b4d !important;
}
body .nhg-classes-page .nhg-section.alt,
body .nhg-classes-page .nhg-classes-progression,
body .nhg-classes-page .nhg-classes-before-buy{
  background:#f3f8fb !important;
  color:#263746 !important;
}

/* ABOUT */
body .nhg-about-page .nhg-page-hero,
body .nhg-about-page .nhg-about-hero{
  background:linear-gradient(180deg,#e7f5fb 0%,#f8fbfd 100%) !important;
  color:#243b4d !important;
}
body .nhg-about-page .nhg-section.alt{
  background:#f3f8fb !important;
  color:#263746 !important;
}
body .nhg-about-page .nhg-about-feature{
  background:#f5fbfe !important;
  border-color:#d9e9f1 !important;
}

/* STUDY — blue/white fields rather than orange */
body .nhg-study .nhg-study-hero,
body .nhg-study-hero{
  background:linear-gradient(135deg,#176fa8 0%,#2d9bd0 100%) !important;
  color:#fff !important;
}
body .nhg-study .nhg-study-chooser,
body .nhg-study .nhg-rating-section,
body .nhg-study-lock{
  background:#fff !important;
}
body .nhg-study .nhg-section.alt,
body .nhg-study .nhg-rating-section.alt{
  background:#f3f8fb !important;
}
body .nhg-study .nhg-study-tip{
  background:#fff !important;
  color:#374f5e !important;
  border:1px solid #e2e9ed !important;
  border-left:5px solid #f28a1a !important;
  box-shadow:0 10px 26px rgba(25,70,95,.06);
}

/* If the parent theme injects a page-title/background color, neutralize it
   on these three custom pages specifically. */
body .nhg-classes-page [style*="background-color: rgb(242, 138, 26)"],
body .nhg-about-page [style*="background-color: rgb(242, 138, 26)"],
body .nhg-study [style*="background-color: rgb(242, 138, 26)"]{
  background-color:#f3f8fb !important;
}

/* Orange remains as small visual punctuation only. */
body .nhg-classes-page .nhg-kicker,
body .nhg-about-page .nhg-kicker,
body .nhg-study .nhg-kicker{
  text-decoration-color:#f28a1a;
}


/* ============================================================
   v3.36 — Ground School
   ============================================================ */
.nhg-ground-school{background:#f5f9fb;color:#263746}
.nhg-ground-school-hero{
  padding:76px 0 54px;
  background:linear-gradient(135deg,rgba(14,72,105,.95),rgba(25,126,177,.92)),url('assets/images/header-cumulus-v330.jpg') center/cover no-repeat;
  color:#fff
}
.nhg-ground-school-hero .nhg-kicker{color:#9edcf7}
.nhg-ground-school-hero h1{
  max-width:900px;margin:4px 0 18px;font-size:clamp(2.7rem,6vw,5.2rem);line-height:.96;letter-spacing:-.045em;color:#fff
}
.nhg-ground-school-hero p{max-width:860px;margin:0;color:rgba(255,255,255,.88);font-size:1.08rem;line-height:1.7}
.nhg-ground-progress{margin-top:30px;max-width:760px}
.nhg-ground-progress-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:9px;font-size:.9rem}
.nhg-ground-progress-track{height:10px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.18)}
.nhg-ground-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:#f28a1a;transition:width .25s ease}

.nhg-ground-school-nav-section{
  position:sticky;top:116px;z-index:20;padding:12px 0;background:rgba(255,255,255,.97);
  border-bottom:1px solid #dbe7ed;box-shadow:0 10px 24px rgba(26,65,86,.05)
}
.nhg-ground-stage-nav{display:flex;gap:10px;overflow:auto}
.nhg-ground-stage-nav a{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #d8e5eb;
  border-radius:999px;background:#fff;color:#34576a;text-decoration:none;font-size:.82rem;font-weight:800
}
.nhg-ground-stage-nav a span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eaf5fa;color:#1676b2}

.nhg-ground-content{padding:48px 0 90px}
.nhg-ground-stage{scroll-margin-top:190px;margin-bottom:64px}
.nhg-ground-stage-heading{margin-bottom:22px}
.nhg-ground-stage-heading>span{color:#f28a1a;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.nhg-ground-stage-heading h2{margin:5px 0;color:#243f50;font-size:clamp(2rem,4vw,3rem);line-height:1.04}
.nhg-ground-lessons{display:grid;gap:12px}
.nhg-ground-lesson{scroll-margin-top:190px;overflow:hidden;border:1px solid #dce7ed;border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(28,69,91,.04)}
.nhg-ground-lesson.is-open{border-color:#bad9e8;box-shadow:0 14px 34px rgba(27,78,106,.08)}
.nhg-ground-lesson.is-complete{border-left:5px solid #49a566}
.nhg-ground-lesson-toggle{
  width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto 24px;gap:14px;align-items:center;padding:18px 20px;border:0;background:#fff;text-align:left;cursor:pointer
}
.nhg-ground-lesson-toggle:hover{background:#f9fcfd}
.nhg-ground-lesson-number{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e9f5fa;color:#1676b2;font-weight:900}
.nhg-ground-lesson-title-wrap{display:grid;gap:2px}
.nhg-ground-lesson-title-wrap small{color:#8799a4;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.nhg-ground-lesson-title-wrap strong{color:#294657;font-size:1.08rem}
.nhg-ground-lesson-status{padding:6px 10px;border-radius:999px;background:#f1f4f6;color:#82909a;font-size:.72rem;font-weight:800}
.nhg-ground-lesson.is-complete .nhg-ground-lesson-status{background:#eaf7ed;color:#2d7e45}
.nhg-ground-lesson-chevron{color:#6f8591;font-size:1.35rem;transition:transform .2s ease}
.nhg-ground-lesson.is-open .nhg-ground-lesson-chevron{transform:rotate(180deg)}
.nhg-ground-lesson-body{padding:0 24px 26px 82px;border-top:1px solid #edf2f4}
.nhg-ground-lesson-intro{max-width:850px;margin:22px 0;color:#536d7c;font-size:1rem;line-height:1.7}
.nhg-ground-lesson-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:22px;align-items:start}
.nhg-ground-lesson-columns h3{margin:0 0 10px;color:#314e5f;font-size:1rem}
.nhg-ground-lesson-columns ul{margin:0;padding-left:20px;color:#5b707e}
.nhg-ground-lesson-columns li{margin:6px 0}
.nhg-ground-goal{padding:18px 20px;background:#f7fbfd;border:1px solid #dcebf2;border-left:5px solid #f28a1a;border-radius:12px}
.nhg-ground-goal span{display:block;margin-bottom:7px;color:#1676b2;font-size:.73rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.nhg-ground-goal p{margin:0;color:#48616f;line-height:1.6}
.nhg-ground-placeholder{margin-top:22px;padding:18px 20px;border:1px dashed #c7d9e2;border-radius:12px;background:#fbfdfe}
.nhg-ground-placeholder strong{color:#35586b}
.nhg-ground-placeholder p{margin:4px 0 0;color:#7a8d98;font-size:.9rem}
.nhg-ground-lesson-actions{margin-top:22px}
.nhg-ground-complete-btn{min-height:42px;padding:0 16px;border:0;border-radius:999px;background:#1676b2;color:#fff;font-weight:800;cursor:pointer}
.nhg-ground-lesson.is-complete .nhg-ground-complete-btn{background:#4b8e5e}

@media(max-width:900px){
  .nhg-ground-school-nav-section{top:86px}
  .nhg-ground-lesson-body{padding-left:24px}
  .nhg-ground-lesson-columns{grid-template-columns:1fr}
}
@media(max-width:700px){
  .nhg-ground-school-hero{padding:58px 0 42px}
  .nhg-ground-school-nav-section{position:relative;top:auto}
  .nhg-ground-lesson-toggle{grid-template-columns:42px minmax(0,1fr) 22px}
  .nhg-ground-lesson-status{grid-column:2;justify-self:start}
  .nhg-ground-lesson-chevron{grid-column:3;grid-row:1/3}
  .nhg-ground-lesson-body{padding:0 18px 22px}
}


/* ============================================================
   v3.37 — final CTA cleanup
   ============================================================ */

/* The old white community box has been removed from the markup.
   This is now one centered blue kicker line. */
.nhg-final .nhg-final-kicker{
  display:block !important;
  width:100%;
  max-width:1000px;
  margin:0 auto 18px !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
  color:#2496d2 !important;
  text-align:center !important;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.11em;
  line-height:1.55;
  text-transform:uppercase;
}

/* Defensive override in case older cached markup briefly appears. */
.nhg-final .nhg-community-ribbon{
  display:none !important;
}


/* ============================================================
   v3.38 — Ground School source / attribution structure
   ============================================================ */
.nhg-ground-source-note{
  max-width:900px;
  margin-top:28px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.26);
  border-left:5px solid #f28a1a;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(4px);
}
.nhg-ground-source-note strong{
  display:block;
  margin-bottom:5px;
  color:#fff;
  font-size:.92rem;
}
.nhg-ground-source-note p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:.9rem;
  line-height:1.6;
}

.nhg-ground-content-slots{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);
  gap:18px;
  margin-top:22px;
}
.nhg-ground-content-slots .nhg-ground-placeholder{
  margin-top:0;
}
.nhg-ground-reference-box{
  padding:18px 20px;
  border:1px solid #d7e6ed;
  border-radius:12px;
  background:#f7fbfd;
}
.nhg-ground-reference-box>span{
  display:block;
  margin-bottom:7px;
  color:#1676b2;
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nhg-ground-reference-box p{
  margin:0;
  color:#5d7482;
  font-size:.9rem;
  line-height:1.6;
}
.nhg-ground-reference-empty{
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #dce8ee;
  color:#8a9aa4;
  font-size:.82rem;
  font-style:italic;
}

@media(max-width:850px){
  .nhg-ground-content-slots{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   v3.39 — Ground School consolidated to ~8-hour core
   ============================================================ */
.nhg-ground-time-card{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.nhg-ground-time-card>div{
  min-width:170px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:12px;
  background:rgba(255,255,255,.08);
}
.nhg-ground-time-card strong{
  display:block;
  color:#fff;
  font-size:1.35rem;
  line-height:1.05;
}
.nhg-ground-time-card span{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.72);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.nhg-ground-core-intro{
  max-width:820px;
  margin:0 0 26px;
}
.nhg-ground-core-intro>span,
.nhg-ground-library header>span{
  color:#f28a1a;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.nhg-ground-core-intro h2,
.nhg-ground-library h2{
  margin:5px 0 8px;
  color:#294657;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.05;
}
.nhg-ground-core-intro p,
.nhg-ground-library header p{
  margin:0;
  color:#667d8a;
  line-height:1.65;
}
.nhg-reference-list{
  margin:10px 0 0;
  padding-left:18px;
  color:#516c7b;
  font-size:.88rem;
  line-height:1.5;
}
.nhg-reference-list li{margin:6px 0}
.nhg-ref-policy{
  margin-top:13px !important;
  padding-top:12px;
  border-top:1px solid #dce8ee;
  color:#8a9aa4 !important;
  font-size:.78rem !important;
  font-style:italic;
}
.nhg-ground-library{
  margin-top:78px;
  padding-top:48px;
  border-top:1px solid #dce7ed;
}
.nhg-ground-library header{
  max-width:860px;
  margin-bottom:24px;
}
.nhg-library-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.nhg-library-grid article{
  padding:20px;
  border:1px solid #dce7ed;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(28,69,91,.04);
}
.nhg-library-grid article>span{
  display:inline-block;
  margin-bottom:7px;
  color:#1676b2;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.nhg-library-grid h3{
  margin:0 0 7px;
  color:#294657;
  font-size:1.08rem;
}
.nhg-library-grid strong{
  display:block;
  color:#667c89;
  font-size:.82rem;
}
.nhg-library-grid p{
  margin:9px 0 0;
  color:#758994;
  font-size:.86rem;
  line-height:1.55;
}

@media(max-width:760px){
  .nhg-library-grid{grid-template-columns:1fr}
  .nhg-ground-time-card>div{min-width:calc(50% - 6px)}
}
@media(max-width:520px){
  .nhg-ground-time-card>div{min-width:100%}
}


/* ============================================================
   v3.40 — Ground School + Study are curriculum tools, not marketing pages
   ============================================================ */

/* ---------- Ground School compact header ---------- */
.nhg-ground-school-hero{
  padding:30px 0 24px !important;
  background:#f7fbfd !important;
  color:#294657 !important;
  border-bottom:1px solid #dce8ee;
}
.nhg-ground-school-hero .nhg-kicker{
  color:#1676b2 !important;
  font-size:.68rem !important;
  letter-spacing:.10em !important;
}
.nhg-ground-school-hero h1{
  max-width:none !important;
  margin:4px 0 8px !important;
  color:#294657 !important;
  font-size:clamp(2rem,3.5vw,3rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.025em !important;
}
.nhg-ground-school-hero p{
  max-width:900px !important;
  color:#607886 !important;
  font-size:.98rem !important;
  line-height:1.55 !important;
}
.nhg-ground-course-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:14px;
  color:#496474;
  font-size:.82rem;
}
.nhg-ground-course-meta span{
  position:relative;
  padding-right:18px;
}
.nhg-ground-course-meta span:not(:last-child):after{
  content:"•";
  position:absolute;
  right:2px;
  color:#a7bac4;
}
.nhg-ground-progress{
  max-width:900px !important;
  margin-top:15px !important;
}
.nhg-ground-progress-top{
  margin-bottom:6px !important;
  color:#536c7a;
  font-size:.78rem !important;
}
.nhg-ground-progress-track{
  height:7px !important;
  background:#dceaf1 !important;
}
.nhg-ground-source-note{
  max-width:900px !important;
  margin-top:14px !important;
  padding:10px 12px !important;
  display:flex;
  gap:6px;
  align-items:baseline;
  border:1px solid #dbe7ed !important;
  border-left:3px solid #f28a1a !important;
  border-radius:7px !important;
  background:#fff !important;
  backdrop-filter:none !important;
}
.nhg-ground-source-note strong{
  flex:0 0 auto;
  margin:0 !important;
  color:#37576a !important;
  font-size:.78rem !important;
}
.nhg-ground-source-note p{
  margin:0 !important;
  color:#718590 !important;
  font-size:.78rem !important;
  line-height:1.4 !important;
}

/* Make module navigation and curriculum denser */
.nhg-ground-school-nav-section{
  position:static !important;
  padding:8px 0 !important;
  box-shadow:none !important;
}
.nhg-ground-stage-nav{
  gap:6px !important;
}
.nhg-ground-stage-nav a{
  min-height:34px !important;
  padding:0 10px !important;
  font-size:.72rem !important;
}
.nhg-ground-stage-nav a span{
  width:20px !important;
  height:20px !important;
}
.nhg-ground-content{
  padding:26px 0 60px !important;
}
.nhg-ground-core-intro{
  margin-bottom:16px !important;
}
.nhg-ground-core-intro>span{
  font-size:.68rem !important;
}
.nhg-ground-core-intro h2{
  margin:3px 0 5px !important;
  font-size:1.55rem !important;
}
.nhg-ground-core-intro p{
  font-size:.9rem !important;
  line-height:1.45 !important;
}
.nhg-ground-lessons{
  gap:7px !important;
}
.nhg-ground-lesson{
  border-radius:10px !important;
  box-shadow:none !important;
}
.nhg-ground-lesson-toggle{
  grid-template-columns:34px minmax(0,1fr) auto 18px !important;
  gap:10px !important;
  padding:10px 13px !important;
}
.nhg-ground-lesson-number{
  width:30px !important;
  height:30px !important;
  font-size:.8rem !important;
}
.nhg-ground-lesson-title-wrap small{
  font-size:.62rem !important;
}
.nhg-ground-lesson-title-wrap strong{
  font-size:.96rem !important;
}
.nhg-ground-lesson-status{
  padding:4px 7px !important;
  font-size:.64rem !important;
}
.nhg-ground-lesson-body{
  padding:0 16px 16px 57px !important;
}
.nhg-ground-lesson-intro{
  margin:13px 0 !important;
  font-size:.9rem !important;
  line-height:1.5 !important;
}
.nhg-ground-lesson-columns{
  gap:14px !important;
}
.nhg-ground-lesson-columns h3{
  margin-bottom:6px !important;
  font-size:.88rem !important;
}
.nhg-ground-lesson-columns ul{
  font-size:.84rem !important;
  line-height:1.35 !important;
}
.nhg-ground-lesson-columns li{
  margin:3px 0 !important;
}
.nhg-ground-goal{
  padding:11px 13px !important;
  border-radius:8px !important;
}
.nhg-ground-goal span{
  margin-bottom:4px !important;
  font-size:.64rem !important;
}
.nhg-ground-goal p{
  font-size:.82rem !important;
  line-height:1.4 !important;
}
.nhg-ground-content-slots{
  gap:10px !important;
  margin-top:12px !important;
}
.nhg-ground-placeholder,
.nhg-ground-reference-box{
  padding:11px 13px !important;
  border-radius:8px !important;
}
.nhg-ground-placeholder p,
.nhg-ground-reference-box p,
.nhg-reference-list{
  font-size:.78rem !important;
  line-height:1.4 !important;
}
.nhg-ground-lesson-actions{
  margin-top:12px !important;
}
.nhg-ground-complete-btn{
  min-height:34px !important;
  padding:0 12px !important;
  font-size:.76rem !important;
}
.nhg-ground-library{
  margin-top:46px !important;
  padding-top:28px !important;
}
.nhg-library-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:9px !important;
}
.nhg-library-grid article{
  padding:13px !important;
  border-radius:9px !important;
  box-shadow:none !important;
}
.nhg-library-grid h3{
  font-size:.94rem !important;
}
.nhg-library-grid p{
  font-size:.76rem !important;
}

/* ---------- Study Center compact utility layout ---------- */
.nhg-study-hero{
  padding:28px 0 22px !important;
  background:#f7fbfd !important;
  color:#294657 !important;
  border-bottom:1px solid #dce8ee;
}
.nhg-study-hero .nhg-kicker{
  color:#1676b2 !important;
  font-size:.68rem !important;
}
.nhg-study-hero h1{
  margin:3px 0 7px !important;
  color:#294657 !important;
  font-size:clamp(2rem,3.5vw,3rem) !important;
  line-height:1.05 !important;
  letter-spacing:-.025em !important;
}
.nhg-study-hero p{
  max-width:820px;
  margin:0;
  color:#607886 !important;
  font-size:.95rem !important;
  line-height:1.5 !important;
}
.nhg-study-chooser{
  padding:18px 0 !important;
}
.nhg-rating-choice-grid{
  gap:10px !important;
}
.nhg-rating-choice{
  padding:14px 16px !important;
  border-radius:10px !important;
  box-shadow:none !important;
}
.nhg-rating-choice h2{
  margin:3px 0 5px !important;
  font-size:1.2rem !important;
}
.nhg-rating-choice p{
  margin:0 0 7px !important;
  font-size:.82rem !important;
  line-height:1.4 !important;
}
.nhg-rating-choice b{
  font-size:.76rem !important;
}
.nhg-rating-section{
  padding-top:24px !important;
  padding-bottom:32px !important;
}
.nhg-rating-header{
  margin-bottom:14px !important;
}
.nhg-rating-header .nhg-title{
  font-size:1.7rem !important;
  line-height:1.08 !important;
}
.nhg-rating-header .nhg-lede{
  font-size:.9rem !important;
  line-height:1.45 !important;
}
.nhg-rating-badge{
  width:54px !important;
  height:54px !important;
  font-size:1.2rem !important;
}
.nhg-study-start{
  padding:12px 14px !important;
  margin-bottom:14px !important;
}
.nhg-study-start h3{
  margin:0 0 4px !important;
  font-size:.96rem !important;
}
.nhg-study-start p{
  margin:0 !important;
  font-size:.8rem !important;
  line-height:1.4 !important;
}
.nhg-h1-topic-stack{
  gap:8px !important;
}
.nhg-h1-topic{
  border-radius:9px !important;
  box-shadow:none !important;
}
.nhg-h1-topic-head{
  padding:10px 12px !important;
}
.nhg-topic-number{
  width:29px !important;
  height:29px !important;
  font-size:.78rem !important;
}
.nhg-h1-topic-head small{
  font-size:.6rem !important;
}
.nhg-h1-topic-head h3{
  margin:2px 0 0 !important;
  font-size:.98rem !important;
}
.nhg-h1-topic-body{
  padding:11px 13px !important;
  gap:10px !important;
}
.nhg-know-list h4{
  margin:0 0 5px !important;
  font-size:.82rem !important;
}
.nhg-know-list ul{
  margin:0 !important;
  font-size:.8rem !important;
  line-height:1.35 !important;
}
.nhg-know-list li{
  margin:3px 0 !important;
}
.nhg-concept-box,
.nhg-topic-resources{
  padding:10px 12px !important;
  border-radius:8px !important;
}
.nhg-concept-box p,
.nhg-topic-resources{
  font-size:.78rem !important;
  line-height:1.4 !important;
}

/* Large desktop: take advantage of width to reduce scrolling */
@media(min-width:1100px){
  .nhg-ground-lesson-columns{
    grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr) !important;
  }
  .nhg-h1-topic-body{
    grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr) !important;
  }
}

@media(max-width:850px){
  .nhg-library-grid{grid-template-columns:1fr !important}
  .nhg-ground-source-note{display:block}
  .nhg-ground-source-note strong{display:block;margin-bottom:3px !important}
}


/* ============================================================
   v3.41 — simple, readable curriculum layout
   ============================================================ */

/* One readable type system for Ground School + Study */
.nhg-ground-simple,
.nhg-study{
  font-size:17px;
  line-height:1.52;
  color:#314b5b;
}

.nhg-course-header-simple,
.nhg-study-hero{
  padding:26px 0 20px !important;
  background:#f7fbfd !important;
  border-bottom:1px solid #dce7ed;
  color:#294657 !important;
}

.nhg-course-header-simple h1,
.nhg-study-hero h1{
  margin:0 0 7px !important;
  color:#294657 !important;
  font-size:32px !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
}

.nhg-course-header-simple p,
.nhg-study-hero p{
  margin:0 !important;
  max-width:none !important;
  color:#607784 !important;
  font-size:17px !important;
  line-height:1.45 !important;
}

/* Hide marketing-style kicker on Study */
.nhg-study-hero .nhg-kicker{
  display:none !important;
}

/* ---------- Ground School ---------- */
.nhg-course-body-simple{
  padding:28px 0 58px;
  background:#fff;
}

.nhg-rating-material{
  margin:0 0 38px;
}

.nhg-rating-material + .nhg-rating-material{
  padding-top:30px;
  border-top:2px solid #dce7ed;
}

.nhg-rating-material-head{
  margin-bottom:18px;
  max-width:1050px;
}

.nhg-rating-material-head h2,
.nhg-reference-library-simple h2{
  margin:0 0 6px;
  color:#24465a;
  font-size:26px;
  line-height:1.2;
  font-weight:700;
}

.nhg-rating-material-head p,
.nhg-reference-library-simple p{
  margin:0;
  color:#617984;
  font-size:17px;
  line-height:1.5;
}

.nhg-material-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 26px;
}

.nhg-material-block{
  padding:15px 0;
  border-top:1px solid #e5edf1;
}

.nhg-material-block h3{
  margin:0 0 8px;
  color:#31576d;
  font-size:19px;
  line-height:1.25;
  font-weight:700;
}

.nhg-material-block ul{
  margin:0;
  padding-left:21px;
  color:#425d6c;
  font-size:17px;
  line-height:1.45;
}

.nhg-material-block li{
  margin:4px 0;
}

.nhg-reference-library-simple{
  margin-top:12px;
  padding-top:28px;
  border-top:2px solid #dce7ed;
}

/* ---------- Study page: remove gadgetry ---------- */

/* Hide rating chooser cards and decorative badge blocks */
.nhg-study-chooser,
.nhg-rating-choice-grid,
.nhg-rating-badge,
.nhg-study-start,
.nhg-study-tip{
  display:none !important;
}

/* Keep H1 and H2 sections visible one after another */
.nhg-rating-section{
  padding:28px 0 36px !important;
  background:#fff !important;
}

.nhg-rating-section + .nhg-rating-section{
  border-top:2px solid #dce7ed;
}

.nhg-rating-header{
  display:block !important;
  margin:0 0 18px !important;
}

.nhg-rating-header .nhg-title{
  margin:0 0 6px !important;
  color:#24465a !important;
  font-size:26px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}

.nhg-rating-header .nhg-lede{
  margin:0 !important;
  max-width:1000px;
  color:#617984 !important;
  font-size:17px !important;
  line-height:1.5 !important;
}

.nhg-h1-topic-stack{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 24px !important;
}

.nhg-h1-topic{
  border:0 !important;
  border-top:1px solid #e5edf1 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
}

.nhg-h1-topic-head{
  display:block !important;
  padding:14px 0 7px !important;
  background:none !important;
}

.nhg-topic-number,
.nhg-h1-topic-head small{
  display:none !important;
}

.nhg-h1-topic-head h3{
  margin:0 !important;
  color:#31576d !important;
  font-size:19px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
}

.nhg-h1-topic-body{
  display:block !important;
  padding:0 0 15px !important;
}

.nhg-know-list h4{
  margin:0 0 7px !important;
  color:#425d6c !important;
  font-size:17px !important;
  font-weight:700 !important;
}

.nhg-know-list ul{
  margin:0 !important;
  padding-left:21px !important;
  color:#425d6c !important;
  font-size:17px !important;
  line-height:1.45 !important;
}

.nhg-know-list li{
  margin:4px 0 !important;
}

.nhg-concept-box,
.nhg-topic-resources{
  margin-top:10px !important;
  padding:11px 13px !important;
  border:1px solid #dde8ed !important;
  border-left:3px solid #f28a1a !important;
  border-radius:6px !important;
  background:#f8fbfc !important;
  color:#536e7d !important;
  font-size:16px !important;
  line-height:1.45 !important;
}

/* Prevent tiny helper text throughout the curriculum */
.nhg-ground-simple small,
.nhg-study small{
  font-size:15px !important;
}

/* Responsive */
@media(max-width:900px){
  .nhg-material-grid,
  .nhg-h1-topic-stack{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:600px){
  .nhg-ground-simple,
  .nhg-study{
    font-size:16px;
  }
  .nhg-course-header-simple h1,
  .nhg-study-hero h1{
    font-size:28px !important;
  }
  .nhg-rating-material-head h2,
  .nhg-reference-library-simple h2,
  .nhg-rating-header .nhg-title{
    font-size:24px !important;
  }
  .nhg-material-block h3,
  .nhg-h1-topic-head h3{
    font-size:18px !important;
  }
  .nhg-material-block ul,
  .nhg-rating-material-head p,
  .nhg-reference-library-simple p,
  .nhg-study-hero p,
  .nhg-rating-header .nhg-lede,
  .nhg-know-list ul{
    font-size:16px !important;
  }
}


/* ============================================================
   v3.42 — clickable, useful reference links
   ============================================================ */
.nhg-simple-references{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #dfe9ee;
}
.nhg-simple-references h3{
  margin:0 0 7px;
  color:#31576d;
  font-size:19px;
  line-height:1.25;
  font-weight:700;
}
.nhg-simple-references ul{
  margin:0;
  padding-left:21px;
  font-size:17px;
  line-height:1.45;
}
.nhg-simple-references li{
  margin:4px 0;
}
.nhg-simple-references a{
  color:#176fa8;
  text-decoration:underline;
  text-underline-offset:2px;
}
.nhg-simple-references a:hover,
.nhg-simple-references a:focus{
  color:#0f587f;
}


/* ============================================================
   v3.43 — Study attestation
   ============================================================ */
.nhg-study-attestation{
  margin-top:30px;
  padding-top:24px;
  border-top:2px solid #dce7ed;
}
.nhg-study-attestation h2{
  margin:0 0 6px;
  color:#24465a;
  font-size:26px;
  line-height:1.2;
}
.nhg-study-attestation>p{
  margin:0 0 16px;
  max-width:900px;
  color:#617984;
  font-size:17px;
  line-height:1.5;
}
.nhg-attest-fields{
  display:grid;
  grid-template-columns:1.1fr 1.2fr .7fr;
  gap:12px;
}
.nhg-attest-fields label{
  display:grid;
  gap:5px;
  color:#415d6c;
  font-size:16px;
  font-weight:700;
}
.nhg-attest-fields input,
.nhg-attest-fields select{
  min-height:42px;
  padding:7px 9px;
  border:1px solid #cfdde4;
  border-radius:6px;
  background:#fff;
  font-size:16px;
}
.nhg-attest-check{
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin:15px 0;
  max-width:950px;
  color:#415d6c;
  font-size:16px;
  line-height:1.45;
}
.nhg-attest-check input{margin-top:4px}
.nhg-study-attestation button{
  min-height:42px;
  padding:0 16px;
  border:0;
  border-radius:6px;
  background:#176fa8;
  color:#fff;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
}
.nhg-attest-success,
.nhg-attest-error{
  margin:12px 0;
  padding:10px 12px;
  border-radius:6px;
  font-size:16px;
}
.nhg-attest-success{background:#edf8ef;border:1px solid #b9ddc0;color:#2f6e3e}
.nhg-attest-error{background:#fff1f1;border:1px solid #e0b6b6;color:#8a2e2e}

@media(max-width:760px){
  .nhg-attest-fields{grid-template-columns:1fr}
}


/* ============================================================
   v3.44 — About page readability cleanup
   ============================================================ */
.nhg-about-page{
  background:#fff !important;
  color:#314b5b !important;
  font-size:17px;
  line-height:1.58;
}

.nhg-about-page .nhg-page-hero,
.nhg-about-page .nhg-about-hero{
  padding:28px 0 22px !important;
  background:#f7fbfd !important;
  color:#294657 !important;
  border-bottom:1px solid #dce7ed;
}

.nhg-about-page .nhg-page-hero h1,
.nhg-about-page .nhg-about-hero h1{
  margin:0 !important;
  color:#294657 !important;
  font-size:32px !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
}

.nhg-about-page .nhg-kicker{
  display:none !important;
}

.nhg-about-page .nhg-section,
.nhg-about-page .nhg-section.alt,
.nhg-about-page .nhg-about-section,
.nhg-about-page .nhg-about-story{
  background:#fff !important;
  color:#314b5b !important;
}

.nhg-about-page .nhg-section.alt{
  background:#f7fbfd !important;
}

.nhg-about-page p{
  color:#405d6d !important;
  font-size:17px !important;
  line-height:1.62 !important;
}

.nhg-about-page h2{
  color:#24465a !important;
  font-size:26px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

.nhg-about-page h3{
  color:#31576d !important;
  font-size:19px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
}

.nhg-about-page .nhg-about-feature,
.nhg-about-page .nhg-about-card,
.nhg-about-page .nhg-about-callout{
  background:#f8fbfc !important;
  color:#314b5b !important;
  border:1px solid #dde8ed !important;
  border-left:4px solid #f28a1a !important;
  box-shadow:none !important;
}

.nhg-about-page .nhg-about-feature p,
.nhg-about-page .nhg-about-card p,
.nhg-about-page .nhg-about-callout p{
  color:#4d6877 !important;
}

.nhg-about-page .nhg-about-image img{
  border-radius:8px !important;
}

@media(max-width:600px){
  .nhg-about-page{
    font-size:16px;
  }
  .nhg-about-page .nhg-page-hero h1,
  .nhg-about-page .nhg-about-hero h1{
    font-size:28px !important;
  }
  .nhg-about-page h2{
    font-size:24px !important;
  }
  .nhg-about-page p{
    font-size:16px !important;
  }
}


/* ============================================================
   v3.46 — persistent, navigable Training Calendar
   ============================================================ */
.nhg-calendar-month-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
}
.nhg-calendar-month-nav>a{
  color:#176fa8;
  font-weight:700;
  text-decoration:none;
}
.nhg-calendar-month-nav>a:hover,
.nhg-calendar-month-nav>a:focus{
  text-decoration:underline;
}
.nhg-calendar-month-nav .nhg-calendar-month-label{
  margin:0 !important;
}


/* ============================================================
   v3.49 — Upper Hill / Bunny Hill calendar types
   ============================================================ */
.nhg-calendar-day-type{
  display:block;
  margin-bottom:6px;
  color:#547181;
  font-size:.68rem;
  font-weight:800;
  line-height:1.2;
}


/* ============================================================
   v3.50 — shared visual system / Classes / Style Guide
   ============================================================ */
:root{
  --nhg-blue:#176fa8;
  --nhg-sky:#2d9bd0;
  --nhg-navy:#203746;
  --nhg-text:#405d6d;
  --nhg-muted:#617984;
  --nhg-pale:#f7fbfd;
  --nhg-line:#dce7ed;
  --nhg-orange:#f28a1a;
  --nhg-title-size:32px;
  --nhg-section-size:26px;
  --nhg-subhead-size:19px;
  --nhg-body-size:17px;
  --nhg-small-size:15px;
  --nhg-radius:8px;
}

.nhg-page-header-simple{
  padding:28px 0 22px;
  background:var(--nhg-pale);
  border-bottom:1px solid var(--nhg-line);
}
.nhg-page-header-simple h1{
  margin:0 0 7px;
  color:var(--nhg-navy);
  font-size:var(--nhg-title-size);
  line-height:1.15;
  letter-spacing:0;
  font-weight:700;
}
.nhg-page-header-simple p{
  max-width:950px;
  margin:0;
  color:var(--nhg-muted);
  font-size:var(--nhg-body-size);
  line-height:1.5;
}

.nhg-classes-simple{
  background:#fff;
  color:var(--nhg-text);
  font-size:var(--nhg-body-size);
  line-height:1.55;
}
.nhg-classes-overview,
.nhg-progression-section,
.nhg-pricing-section{padding:34px 0}
.nhg-progression-section{
  background:var(--nhg-pale);
  border-top:1px solid var(--nhg-line);
  border-bottom:1px solid var(--nhg-line);
}
.nhg-classes-simple h2{
  margin:0 0 10px;
  color:var(--nhg-navy);
  font-size:var(--nhg-section-size);
  line-height:1.2;
  font-weight:700;
}
.nhg-classes-simple h3{
  margin:0 0 7px;
  color:#31576d;
  font-size:var(--nhg-subhead-size);
  line-height:1.25;
  font-weight:700;
}
.nhg-classes-simple p{
  color:var(--nhg-text);
  font-size:var(--nhg-body-size);
  line-height:1.55;
}
.nhg-classes-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);
  gap:34px;
  align-items:start;
}
.nhg-classes-note{
  padding:16px 18px;
  border:1px solid var(--nhg-line);
  border-left:4px solid var(--nhg-orange);
  border-radius:var(--nhg-radius);
  background:var(--nhg-pale);
}
.nhg-class-steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 26px;
  margin-top:26px;
}
.nhg-class-steps article{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:11px;
  padding:14px 0;
  border-top:1px solid var(--nhg-line);
}
.nhg-class-steps article>span{
  display:grid;
  place-items:center;
  width:30px;height:30px;
  border-radius:50%;
  background:#e9f5fa;
  color:var(--nhg-blue);
  font-size:15px;
  font-weight:800;
}
.nhg-class-steps p{margin:0}
.nhg-progression-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.nhg-progression-grid article{
  padding:15px;
  border:1px solid var(--nhg-line);
  border-top:3px solid var(--nhg-orange);
  border-radius:var(--nhg-radius);
  background:#fff;
}
.nhg-progression-grid p{margin:0;font-size:16px}
.nhg-section-heading-simple{max-width:850px;margin-bottom:18px}
.nhg-section-heading-simple p{margin:0}
.nhg-price-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.nhg-price-card{
  padding:17px;
  border:1px solid var(--nhg-line);
  border-radius:var(--nhg-radius);
  background:#eef7fc;
  box-shadow:0 10px 24px rgba(32,55,70,.14), 0 3px 8px rgba(32,55,70,.08);
  transition:box-shadow .2s ease, transform .2s ease;
}
.nhg-price-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(32,55,70,.20), 0 6px 12px rgba(32,55,70,.10);
}
.nhg-price-line{display:flex;align-items:baseline;gap:9px;margin:7px 0 8px}
.nhg-price-line strong{color:var(--nhg-navy);font-size:23px}
.nhg-price-line del{color:#8799a4;font-size:15px}
.nhg-price-card p{min-height:54px;margin:0 0 13px;font-size:16px}
.nhg-classes-booking-note{margin-top:26px;padding-top:22px;border-top:1px solid var(--nhg-line)}
.nhg-classes-booking-note>div{display:flex;flex-wrap:wrap;gap:8px}

.nhg-style-guide{background:#fff;color:var(--nhg-text);font-size:var(--nhg-body-size)}
.nhg-style-guide-body{padding:30px 0 60px}
.nhg-style-section{padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--nhg-line)}
.nhg-style-section:last-child{border-bottom:0}
.nhg-style-section>h2{margin:0 0 14px;color:var(--nhg-navy);font-size:var(--nhg-section-size)}
.nhg-style-type-samples{display:grid;gap:12px}
.nhg-style-type-samples>div{
  display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:baseline;
  padding-bottom:10px;border-bottom:1px solid #edf2f4
}
.nhg-style-type-samples span{color:#718590;font-size:15px}
.nhg-style-type-samples h1{margin:0;color:var(--nhg-navy);font-size:32px;line-height:1.15}
.nhg-style-type-samples h2{margin:0;color:var(--nhg-navy);font-size:26px}
.nhg-style-type-samples h3{margin:0;color:#31576d;font-size:19px}
.nhg-style-type-samples p{margin:0;font-size:17px}
.nhg-style-type-samples small{margin:0;font-size:15px}
.nhg-style-swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.nhg-style-swatches>div{padding:10px;border:1px solid var(--nhg-line);border-radius:var(--nhg-radius)}
.nhg-style-swatches i{display:block;height:54px;margin-bottom:8px;border-radius:5px;border:1px solid rgba(0,0,0,.08)}
.nhg-style-swatches strong,.nhg-style-swatches span{display:block}
.nhg-style-swatches span{color:#718590;font-size:15px}
.nhg-style-rule{margin:16px 0 0;padding:12px 14px;border-left:4px solid var(--nhg-orange);background:var(--nhg-pale)}
.nhg-style-rules p{margin:7px 0}
.nhg-style-demo-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.nhg-style-card-demo{max-width:520px;padding:16px;border:1px solid var(--nhg-line);border-radius:var(--nhg-radius)}
.nhg-style-card-demo h3{margin:0 0 6px;font-size:19px;color:#31576d}
.nhg-style-card-demo p{margin:0}
.nhg-style-rule-list{font-size:17px;line-height:1.5}
.nhg-style-rule-list li{margin:5px 0}

@media(max-width:950px){
  .nhg-progression-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nhg-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nhg-style-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .nhg-classes-intro-grid,.nhg-class-steps{grid-template-columns:1fr}
  .nhg-progression-grid,.nhg-price-grid{grid-template-columns:1fr}
  .nhg-style-type-samples>div{grid-template-columns:1fr;gap:4px}
  .nhg-style-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ============================================================
   v3.51 — Classes ratings + first-day content
   ============================================================ */
.nhg-ratings-section,
.nhg-first-day-detail,
.nhg-classes-video-section{
  padding:34px 0;
  background:#fff;
}
.nhg-ratings-section{
  border-top:1px solid var(--nhg-line);
}
.nhg-first-day-detail{
  background:var(--nhg-pale);
  border-top:1px solid var(--nhg-line);
  border-bottom:1px solid var(--nhg-line);
}
.nhg-rating-flip-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.nhg-rating-flip{
  min-height:185px;
  padding:0;
  border:0;
  background:transparent;
  perspective:1000px;
  cursor:pointer;
  text-align:inherit;
}
.nhg-rating-flip-inner{
  position:relative;
  display:block;
  width:100%;
  min-height:185px;
  transition:transform .45s ease;
  transform-style:preserve-3d;
}
.nhg-rating-flip.is-flipped .nhg-rating-flip-inner{
  transform:rotateY(180deg);
}
.nhg-rating-face{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:18px;
  border:1px solid var(--nhg-line);
  border-radius:var(--nhg-radius);
  background:#fff;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.nhg-rating-front{
  border-top:3px solid var(--nhg-orange);
}
.nhg-rating-back{
  transform:rotateY(180deg);
  background:var(--nhg-pale);
  text-align:center;
}
.nhg-rating-circle{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin-bottom:10px;
  border:2px solid #b9ccd6;
  border-radius:50%;
  color:var(--nhg-blue);
  font-size:18px;
  font-weight:800;
}
.nhg-rating-face strong{
  color:var(--nhg-navy);
  font-size:19px;
}
.nhg-rating-front>span:last-child{
  margin-top:4px;
  color:var(--nhg-muted);
  font-size:15px;
}
.nhg-rating-back p{
  margin:8px 0 0;
  font-size:16px;
  line-height:1.45;
}
.nhg-ratings-note{
  max-width:900px;
  margin:20px 0 0;
}
.nhg-first-day-layout{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
  gap:34px;
  align-items:start;
}
.nhg-first-day-layout p{
  margin-top:0;
}
.nhg-date-help-box{
  padding:16px 18px;
  border:1px solid #9fcde2;
  border-radius:var(--nhg-radius);
  background:#fff;
}
.nhg-date-help-box h3{
  margin:0 0 7px;
}
.nhg-date-help-box p{
  margin:0 0 12px;
  font-size:16px;
}
.nhg-date-help-box>div{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.nhg-classes-video-section{
  border-top:1px solid var(--nhg-line);
}
.nhg-classes-video-section h2{
  margin-bottom:8px;
}
.nhg-classes-video-section p{
  max-width:850px;
  margin-top:0;
}
@media(max-width:950px){
  .nhg-rating-flip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .nhg-first-day-layout{grid-template-columns:1fr}
}
@media(max-width:540px){
  .nhg-rating-flip-grid{grid-template-columns:1fr}
}


/* ============================================================
   v3.53 — rating flip behavior
   ============================================================ */
@media (hover:hover) and (pointer:fine){
  .nhg-rating-flip:hover .nhg-rating-flip-inner,
  .nhg-rating-flip:focus-visible .nhg-rating-flip-inner{
    transform:rotateY(180deg);
  }
}
@media (hover:none){
  .nhg-rating-flip.is-flipped .nhg-rating-flip-inner{
    transform:rotateY(180deg);
  }
}


/* ============================================================
   v3.55 — move purchase requirements into Lesson Options
   ============================================================ */
.nhg-lesson-options-top{
  display:flex;
  justify-content:flex-start;
  margin:0 0 18px;
}
.nhg-lesson-options-requirements{
  width:min(100%, 430px);
}


/* ============================================================
   v3.57 — simplify Classes editing + restore First Lesson at top
   ============================================================ */
.nhg-first-lesson-top{
  padding:34px 0 30px;
  background:#fff;
  border-bottom:1px solid var(--nhg-line);
}
.nhg-first-lesson-top h2{
  margin:0 0 12px;
  color:var(--nhg-navy);
  font-size:var(--nhg-section-size);
  line-height:1.2;
}
.nhg-first-lesson-top p{
  max-width:980px;
  margin:0 0 14px;
  color:var(--nhg-text);
  font-size:var(--nhg-body-size);
  line-height:1.55;
}
.nhg-first-lesson-top p:last-child{margin-bottom:0}


/* ============================================================
   v3.59 — flip-card face isolation
   ============================================================ */
.nhg-rating-flip{
  position:relative;
  overflow:visible;
}
.nhg-rating-flip-inner{
  position:relative;
  display:block;
  width:100%;
  height:190px;
  min-height:190px;
  transform-style:preserve-3d;
}
.nhg-rating-face{
  position:absolute !important;
  inset:0 !important;
  width:100%;
  height:100%;
  box-sizing:border-box;
  backface-visibility:hidden !important;
  -webkit-backface-visibility:hidden !important;
}
.nhg-rating-front{
  transform:rotateY(0deg);
  z-index:2;
}
.nhg-rating-back{
  transform:rotateY(180deg);
  z-index:1;
}
@media (hover:hover) and (pointer:fine){
  .nhg-rating-flip:hover .nhg-rating-flip-inner,
  .nhg-rating-flip:focus-visible .nhg-rating-flip-inner{
    transform:rotateY(180deg);
  }
}


/* ============================================================
   v3.60 — rating front detail lines
   ============================================================ */
.nhg-rating-front .nhg-rating-front-detail{
  margin-top:8px;
  color:var(--nhg-muted);
  font-size:15px;
  font-weight:600;
  line-height:1.25;
}


/* ============================================================
   v3.61 — consistent Classes paragraph width
   ============================================================ */
.nhg-first-lesson-top p,
.nhg-ratings-section .nhg-section-heading-simple{
  max-width:980px;
}

.nhg-ratings-section .nhg-section-heading-simple p{
  max-width:980px;
}

/* Keep the same proportional line length as the viewport narrows. */
@media(max-width:1040px){
  .nhg-first-lesson-top p,
  .nhg-ratings-section .nhg-section-heading-simple{
    max-width:100%;
  }
}


/* ============================================================
   v3.62 — remove top-of-page eyebrow/kicker labels
   ============================================================ */
.nhg-page-header-simple > .nhg-wrap > .nhg-kicker,
[class*="hero"] > .nhg-wrap > .nhg-kicker{
  display:none !important;
}


/* ============================================================
   v3.63 — more efficient Training Calendar top
   ============================================================ */
.nhg-calendar-hero-compact{
  padding:18px 0 14px !important;
}
.nhg-calendar-hero-compact .nhg-calendar-hero-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.nhg-calendar-hero-compact h1{
  margin:0 0 5px !important;
  font-size:32px !important;
  line-height:1.1 !important;
}
.nhg-calendar-hero-compact p{
  max-width:760px;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.4 !important;
}
.nhg-calendar-hero-compact .nhg-calendar-legend{
  margin:0 !important;
  flex:0 0 auto;
}
.nhg-calendar-section{
  padding-top:16px !important;
}
.nhg-calendar-month-nav{
  margin-bottom:10px !important;
}
@media(max-width:800px){
  .nhg-calendar-hero-compact .nhg-calendar-hero-row{
    display:block;
  }
  .nhg-calendar-hero-compact .nhg-calendar-legend{
    margin-top:10px !important;
  }
}


/* ============================================================
   v3.64 — normalize Training Calendar typography
   ============================================================ */
.nhg-calendar-page{
  font-size:17px;
  line-height:1.5;
}
.nhg-calendar-hero-compact h1{
  font-size:32px !important;
  line-height:1.12 !important;
  letter-spacing:0 !important;
}
.nhg-calendar-hero-compact p{
  font-size:17px !important;
  line-height:1.45 !important;
}
.nhg-calendar-month-label,
.nhg-calendar-month-label strong{
  font-size:19px !important;
  line-height:1.25 !important;
}
.nhg-calendar-weekday{
  font-size:15px !important;
  line-height:1.2 !important;
}
.nhg-calendar-day-number{
  font-size:24px !important;
  line-height:1 !important;
}
.nhg-calendar-month-short,
.nhg-calendar-dow-mobile{
  font-size:14px !important;
}
.nhg-calendar-day-type{
  font-size:14px !important;
}
.nhg-calendar-student-names,
.nhg-calendar-student-names span{
  font-size:15px !important;
}
.nhg-state-pill{
  font-size:14px !important;
  line-height:1.2 !important;
}
.nhg-calendar-custom-date strong,
.nhg-calendar-note h2{
  font-size:22px !important;
  line-height:1.2 !important;
}
.nhg-calendar-custom-date p,
.nhg-calendar-note p{
  font-size:17px !important;
}


/* ============================================================
   v3.65 — compact custom-date box above calendar
   ============================================================ */
.nhg-calendar-tools-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin-bottom:10px;
}
.nhg-calendar-tools-row .nhg-calendar-month-nav{
  margin:0 !important;
}
.nhg-calendar-custom-date-compact{
  display:flex;
  align-items:center;
  gap:12px;
  width:auto;
  max-width:430px;
  margin:0 !important;
  padding:10px 12px !important;
  border-radius:10px !important;
  background:#fff;
}
.nhg-calendar-custom-date-compact>div{
  min-width:0;
}
.nhg-calendar-custom-date-compact strong{
  display:block;
  margin:0 0 2px;
  font-size:16px !important;
  line-height:1.2 !important;
}
.nhg-calendar-custom-date-compact p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.3 !important;
}
.nhg-calendar-custom-date-compact .nhg-btn{
  flex:0 0 auto;
  padding:8px 13px !important;
  font-size:14px !important;
  white-space:nowrap;
}
@media(max-width:900px){
  .nhg-calendar-tools-row{
    grid-template-columns:1fr;
  }
  .nhg-calendar-custom-date-compact{
    max-width:none;
    justify-content:space-between;
  }
}


/* ============================================================
   v3.66 — combined compact calendar action bar
   ============================================================ */
.nhg-calendar-tools-row{
  grid-template-columns:minmax(0,1fr) minmax(520px,auto);
}
.nhg-calendar-action-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0;
  padding:10px 12px;
  border:1px solid var(--nhg-line);
  border-radius:10px;
  background:#fff;
}
.nhg-calendar-action-copy{
  min-width:0;
}
.nhg-calendar-action-copy strong{
  display:block;
  margin:0 0 2px;
  color:var(--nhg-navy);
  font-size:16px;
  line-height:1.2;
}
.nhg-calendar-action-copy p{
  max-width:640px;
  margin:0;
  color:var(--nhg-text);
  font-size:14px !important;
  line-height:1.35 !important;
}
.nhg-calendar-action-buttons{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
.nhg-calendar-action-buttons .nhg-btn{
  padding:8px 13px !important;
  font-size:14px !important;
  white-space:nowrap;
}
@media(max-width:1100px){
  .nhg-calendar-tools-row{
    grid-template-columns:1fr;
  }
  .nhg-calendar-action-bar{
    width:100%;
  }
}
@media(max-width:700px){
  .nhg-calendar-action-bar{
    align-items:flex-start;
    flex-direction:column;
  }
  .nhg-calendar-action-buttons{
    width:100%;
    flex-wrap:wrap;
  }
}


/* ============================================================
   v3.67 — public calendar defaults to current week + 4 weeks
   ============================================================ */
.nhg-public-calendar-grid{
  grid-auto-rows:minmax(108px,auto);
}


/* ============================================================
   v3.69 — availability note below public calendar
   ============================================================ */
.nhg-calendar-availability-note{
  margin:12px 0 0;
  color:var(--nhg-muted);
  font-size:15px;
  line-height:1.4;
}


/* ============================================================
   v3.70 — defined calendar panel + subtle month color changes
   ============================================================ */
.nhg-calendar-panel{
  border:1px solid #cfdde5;
  border-radius:12px;
  background:#fff;
  padding:14px;
  box-shadow:0 1px 0 rgba(30,70,90,.03);
}

.nhg-calendar-panel .nhg-calendar-tools-row{
  margin:0 0 12px;
  padding-bottom:10px;
  border-bottom:1px solid #dce7ed;
}

.nhg-calendar-panel .nhg-calendar-month-nav{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  min-width:360px;
}
.nhg-calendar-panel .nhg-calendar-month-nav>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 12px;
  border:1px solid #bfd4df;
  border-radius:8px;
  background:#fff;
  color:#176fa8;
  font-size:15px;
  font-weight:800;
  text-decoration:none;
}
.nhg-calendar-panel .nhg-calendar-month-nav>a:hover,
.nhg-calendar-panel .nhg-calendar-month-nav>a:focus{
  background:#f3f9fc;
}
.nhg-calendar-panel .nhg-calendar-month-label{
  text-align:center;
}
.nhg-calendar-panel .nhg-calendar-month-label strong{
  color:#203746;
  font-size:20px !important;
  font-weight:800;
}

/* Alternating month tints: light blue and light orange.
   Strong enough to show month changes, still soft enough for calendar content. */
.nhg-calendar-day.nhg-month-01,
.nhg-calendar-day.nhg-month-03,
.nhg-calendar-day.nhg-month-05,
.nhg-calendar-day.nhg-month-07,
.nhg-calendar-day.nhg-month-09,
.nhg-calendar-day.nhg-month-11{
  background:#eef7fc;
}
.nhg-calendar-day.nhg-month-02,
.nhg-calendar-day.nhg-month-04,
.nhg-calendar-day.nhg-month-06,
.nhg-calendar-day.nhg-month-08,
.nhg-calendar-day.nhg-month-10,
.nhg-calendar-day.nhg-month-12{
  background:#fff4e8;
}

/* Preserve stronger status cues while keeping the month tint visible. */
.nhg-calendar-day.available{
  background-image:linear-gradient(rgba(255,255,255,.10),rgba(255,255,255,.10));
}
.nhg-calendar-day.full{
  background-image:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08));
}

@media(max-width:900px){
  .nhg-calendar-panel{
    padding:10px;
  }
  .nhg-calendar-panel .nhg-calendar-month-nav{
    min-width:0;
  }
}
@media(max-width:620px){
  .nhg-calendar-panel .nhg-calendar-month-nav{
    grid-template-columns:1fr 1fr;
  }
  .nhg-calendar-panel .nhg-calendar-month-label{
    grid-column:1 / -1;
    grid-row:1;
  }
}


/* ============================================================
   v3.71 — move calendar action bar above panel
   ============================================================ */
.nhg-calendar-action-bar-above{
  max-width:980px;
  margin:0 auto 12px;
  justify-content:center;
  text-align:left;
}
.nhg-calendar-action-bar-above .nhg-calendar-action-copy{
  flex:1 1 auto;
}
.nhg-calendar-panel .nhg-calendar-tools-row{
  display:block;
}
.nhg-calendar-panel .nhg-calendar-month-nav{
  max-width:760px;
  margin:0 auto !important;
}
@media(max-width:700px){
  .nhg-calendar-action-bar-above{
    text-align:left;
  }
}


/* ============================================================
   v3.72 — share calendar panel header between nav + legend
   ============================================================ */
.nhg-calendar-panel .nhg-calendar-tools-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
}
.nhg-calendar-panel .nhg-calendar-month-nav{
  max-width:none;
  margin:0 !important;
}
.nhg-calendar-legend-inline{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px 16px;
  margin:0 !important;
  font-size:14px;
  white-space:nowrap;
}
.nhg-calendar-legend-inline span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
@media(max-width:980px){
  .nhg-calendar-panel .nhg-calendar-tools-row{
    grid-template-columns:1fr;
  }
  .nhg-calendar-legend-inline{
    justify-content:center;
  }
}


/* ============================================================
   v3.73 — stronger calendar navigation buttons
   ============================================================ */
.nhg-calendar-panel .nhg-calendar-month-nav .nhg-calendar-nav-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:40px;
  padding:9px 14px;
  border:1px solid var(--nhg-blue);
  border-radius:8px;
  background:var(--nhg-blue);
  color:#fff !important;
  font-size:15px;
  font-weight:800;
  text-decoration:none;
  box-shadow:none;
}
.nhg-calendar-panel .nhg-calendar-month-nav .nhg-calendar-nav-button:hover,
.nhg-calendar-panel .nhg-calendar-month-nav .nhg-calendar-nav-button:focus{
  background:#0f5f92;
  border-color:#0f5f92;
  color:#fff !important;
}
.nhg-nav-triangle{
  display:inline-block;
  width:0;
  height:0;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
}
.nhg-nav-triangle.left{
  border-right:11px solid #fff;
}
.nhg-nav-triangle.right{
  border-left:11px solid #fff;
}


/* ============================================================
   v3.76 — Ed Levin Park intro above First Lesson
   ============================================================ */
.nhg-park-intro{
  padding:28px 0;
  background:var(--nhg-pale);
  border-bottom:1px solid var(--nhg-line);
}
.nhg-park-intro-grid{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:28px;
  align-items:center;
}
.nhg-park-intro-photo{
  overflow:hidden;
  border-radius:10px;
  min-height:220px;
  max-height:250px;
}
.nhg-park-intro-photo img{
  width:100%;
  height:100%;
  min-height:220px;
  max-height:250px;
  object-fit:cover;
  display:block;
}
.nhg-park-intro-copy h2{
  margin:0 0 10px;
  color:var(--nhg-navy);
  font-size:var(--nhg-section-size);
  line-height:1.2;
}
.nhg-park-intro-copy p{
  margin:0 0 12px;
  color:var(--nhg-text);
  font-size:var(--nhg-body-size);
  line-height:1.5;
}
.nhg-park-intro-copy p:last-child{
  margin-bottom:0;
}
@media(max-width:800px){
  .nhg-park-intro-grid{
    grid-template-columns:1fr;
  }
  .nhg-park-intro-photo,
  .nhg-park-intro-photo img{
    min-height:190px;
    max-height:220px;
  }
}


/* ============================================================
   v3.79 — Classes pricing flow + stronger rating-card lift
   ============================================================ */

/* Purchase requirements now lead into Lesson Options and span the same
   readable line length as the major page paragraphs. */
.nhg-lesson-options-top{
  display:block;
  margin:0 0 20px;
}
.nhg-lesson-options-requirements{
  width:100%;
  max-width:980px;
  box-sizing:border-box;
}
.nhg-lesson-options-requirements p{
  max-width:900px;
}
.nhg-lesson-options-heading{
  max-width:980px;
  margin:0 0 18px;
}

/* Rating cards: slightly taller and more clearly floating. */
.nhg-rating-flip{
  min-height:215px;
}
.nhg-rating-flip-inner{
  min-height:215px;
  height:215px;
}
.nhg-rating-face{
  box-shadow:0 10px 24px rgba(32,55,70,.14), 0 3px 8px rgba(32,55,70,.08);
  transition:box-shadow .2s ease, transform .2s ease;
}
@media (hover:hover) and (pointer:fine){
  .nhg-rating-flip:hover .nhg-rating-face{
    box-shadow:0 16px 34px rgba(32,55,70,.20), 0 6px 12px rgba(32,55,70,.10);
  }
}


/* ============================================================
   v3.82 — tighter rating cards, more breathing room around them
   ============================================================ */
.nhg-ratings-section{
  padding-top:40px;
  padding-bottom:42px;
}
.nhg-rating-flip-grid{
  gap:22px;
  padding:8px 0 10px;
}
.nhg-rating-flip{
  min-height:178px;
}
.nhg-rating-flip-inner{
  min-height:178px;
  height:178px;
}
.nhg-rating-face{
  padding:14px 16px;
}
.nhg-rating-circle{
  width:52px;
  height:52px;
  margin-bottom:8px;
}
.nhg-rating-face strong{
  font-size:18px;
}
.nhg-rating-front>span:last-child{
  margin-top:3px;
}
.nhg-rating-front .nhg-rating-front-detail{
  margin-top:6px;
  font-size:14px;
}
.nhg-ratings-note{
  margin-top:24px;
}


/* ============================================================
   v3.83 — synchronize Classes paragraph line length
   ============================================================ */
/* Use one responsive content width for the two major copy blocks.
   This removes the different breakpoint behavior they previously had. */
.nhg-first-lesson-top p,
.nhg-ratings-section .nhg-section-heading-simple{
  width:min(100%, 980px);
  max-width:none !important;
  box-sizing:border-box;
}

.nhg-ratings-section .nhg-section-heading-simple p{
  width:100%;
  max-width:none !important;
}

@media(max-width:1040px){
  .nhg-first-lesson-top p,
  .nhg-ratings-section .nhg-section-heading-simple{
    width:100%;
    max-width:none !important;
  }
}


/* ============================================================
   v3.84 — Park intro: copy left, fixed-size image right
   ============================================================ */
.nhg-park-intro-grid{
  grid-template-columns:minmax(0, 1fr) 420px;
  gap:32px;
  align-items:center;
}

.nhg-park-intro-copy{
  grid-column:1;
  text-align:left;
}

.nhg-park-intro-copy h2,
.nhg-park-intro-copy p{
  text-align:left;
}

.nhg-park-intro-photo{
  grid-column:2;
  width:420px;
  height:236px;
  min-height:236px;
  max-height:236px;
  justify-self:end;
  overflow:hidden;
  border-radius:10px;
}

.nhg-park-intro-photo img{
  width:420px;
  height:236px;
  min-height:236px;
  max-height:236px;
  object-fit:cover;
  display:block;
}

/* Keep the image visually stable on normal laptop/tablet widths.
   Only stack on genuinely narrow screens. */
@media(max-width:860px){
  .nhg-park-intro-grid{
    grid-template-columns:1fr;
  }

  .nhg-park-intro-copy{
    grid-column:1;
    grid-row:1;
  }

  .nhg-park-intro-photo{
    grid-column:1;
    grid-row:2;
    width:420px;
    height:236px;
    min-height:236px;
    max-height:236px;
    justify-self:start;
  }

  .nhg-park-intro-photo img{
    width:420px;
    height:236px;
    min-height:236px;
    max-height:236px;
  }
}

/* On small phones, allow only one controlled downsize so it stays legible
   without continuously resizing with every small viewport change. */
@media(max-width:470px){
  .nhg-park-intro-photo,
  .nhg-park-intro-photo img{
    width:320px;
    height:180px;
    min-height:180px;
    max-height:180px;
  }
}


/* ============================================================
   v3.85 — narrower, centered rating-card group
   ============================================================ */
.nhg-ratings-section .nhg-section-heading-simple,
.nhg-ratings-note{
  max-width:980px;
}

.nhg-rating-flip-grid{
  grid-template-columns:repeat(4, 220px);
  justify-content:center;
  gap:24px;
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}

.nhg-rating-flip{
  width:220px;
}

@media(max-width:980px){
  .nhg-rating-flip-grid{
    grid-template-columns:repeat(2, 220px);
    max-width:520px;
  }
}

@media(max-width:540px){
  .nhg-rating-flip-grid{
    grid-template-columns:220px;
    max-width:220px;
  }
}

/* Center page structures, not long-form reading text:
   headings/paragraphs remain left-aligned for readability. */
.nhg-ratings-section .nhg-wrap,
.nhg-first-lesson-top .nhg-wrap,
.nhg-park-intro .nhg-wrap,
.nhg-pricing-section .nhg-wrap{
  margin-left:auto;
  margin-right:auto;
}


/* ============================================================
   v3.86 — center the lower Classes-page sales area
   ============================================================ */

/* Training video section */
.nhg-classes-video-section .nhg-wrap{
  text-align:center;
}
.nhg-classes-video-section p{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
.nhg-classes-video-section .nhg-btn{
  margin-left:auto;
  margin-right:auto;
}

/* Before-you-purchase box */
.nhg-lesson-options-top{
  display:flex;
  justify-content:center;
}
.nhg-lesson-options-requirements{
  max-width:980px;
  text-align:center;
}
.nhg-lesson-options-requirements p{
  max-width:850px;
  margin-left:auto;
  margin-right:auto;
}

/* Lesson Options heading and intro */
.nhg-lesson-options-heading{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.nhg-lesson-options-heading p{
  margin-left:auto;
  margin-right:auto;
}

/* Center the pricing grid itself */
.nhg-price-grid{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

/* Center content within each pricing card */
.nhg-price-card{
  text-align:center;
}
.nhg-price-line{
  justify-content:center;
}
.nhg-price-card p{
  margin-left:auto;
  margin-right:auto;
}
.nhg-price-card .nhg-btn{
  display:inline-flex;
  margin-left:auto;
  margin-right:auto;
}

/* Keep scheduling block balanced too */
.nhg-classes-booking-note{
  text-align:center;
}
.nhg-classes-booking-note>div{
  justify-content:center;
}


/* ============================================================
   v3.87 — simplify Before You Purchase
   ============================================================ */
.nhg-lesson-options-top{
  display:block;
  margin:0 0 22px;
  text-align:center;
}
.nhg-lesson-options-requirements{
  width:auto;
  max-width:820px;
  margin:0 auto;
  padding:0;
  border:0;
  border-left:0;
  border-radius:0;
  background:transparent;
  text-align:center;
}
.nhg-lesson-options-requirements h3{
  margin:0 0 10px;
  color:var(--nhg-orange) !important;
  font-size:19px;
}
.nhg-lesson-options-requirements p{
  max-width:none;
  margin:0 0 8px;
  text-align:center;
}
.nhg-lesson-options-requirements p:last-child{
  margin-bottom:0;
}


/* ============================================================
   v3.88 — center the upper Classes-page content
   ============================================================ */

/* Page title / intro */
.nhg-page-header-simple .nhg-wrap{
  text-align:center;
}
.nhg-page-header-simple p{
  margin-left:auto;
  margin-right:auto;
}

/* Park section: true two-column row, copy left / image right */
.nhg-park-intro-grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 420px !important;
  gap:34px !important;
  align-items:center !important;
}
.nhg-park-intro-copy{
  grid-column:1 !important;
  grid-row:1 !important;
  text-align:center !important;
}
.nhg-park-intro-copy h2,
.nhg-park-intro-copy p{
  text-align:center !important;
  margin-left:auto;
  margin-right:auto;
}
.nhg-park-intro-copy p{
  max-width:650px;
}
.nhg-park-intro-photo{
  grid-column:2 !important;
  grid-row:1 !important;
  justify-self:end !important;
  align-self:center !important;
}

/* First Lesson */
.nhg-first-lesson-top .nhg-wrap{
  text-align:center;
}
.nhg-first-lesson-top p{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

/* Ratings heading / intro / closing note */
.nhg-ratings-section .nhg-wrap{
  text-align:center;
}
.nhg-ratings-section .nhg-section-heading-simple{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.nhg-ratings-section .nhg-section-heading-simple p,
.nhg-ratings-note{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

/* Keep the cards centered as a group */
.nhg-rating-flip-grid{
  margin-left:auto;
  margin-right:auto;
}

/* On narrower screens, stack park copy and image while staying centered */
@media(max-width:860px){
  .nhg-park-intro-grid{
    grid-template-columns:1fr !important;
  }
  .nhg-park-intro-copy{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .nhg-park-intro-photo{
    grid-column:1 !important;
    grid-row:2 !important;
    justify-self:center !important;
  }
}


/* ============================================================
   v3.91 — Ed Levin Park flip card
   ============================================================ */
.nhg-park-intro{
  padding-top:26px;
}

.nhg-park-flip-wrap{
  display:flex;
  justify-content:center;
}

.nhg-park-flip{
  width:min(100%, 430px);
  height:330px;
  margin:0 auto;
}

.nhg-park-front,
.nhg-park-back{
  height:100%;
}

.nhg-park-front{
  position:relative;
  padding:0;
  overflow:hidden;
  border-top:3px solid var(--nhg-orange);
}

.nhg-park-front-photo,
.nhg-park-front-photo img{
  display:block;
  width:100%;
  height:100%;
}

.nhg-park-front-photo img{
  object-fit:cover;
}

.nhg-park-front::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,.42) 0%, rgba(0,0,0,.14) 26%, rgba(0,0,0,0) 52%);
  pointer-events:none;
}

.nhg-park-front-title{
  position:absolute;
  top:20px;
  left:18px;
  right:18px;
  z-index:2;
  text-align:center;
  color:#fff;
  font-size:28px;
  line-height:1.1;
  font-weight:800;
  letter-spacing:.01em;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}

.nhg-park-back{
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
  padding:22px 24px;
  gap:12px;
}

.nhg-park-back strong{
  display:block;
  margin:0 0 2px;
  font-size:18px;
}

.nhg-park-back p{
  margin:0;
  font-size:15px;
  line-height:1.55;
}

@media(max-width:640px){
  .nhg-park-flip{
    width:min(100%, 360px);
    height:290px;
  }

  .nhg-park-front-title{
    top:16px;
    font-size:24px;
  }

  .nhg-park-back{
    padding:18px 18px 20px;
    gap:10px;
  }

  .nhg-park-back p{
    font-size:14px;
    line-height:1.5;
  }
}


/* ============================================================
   v3.92 — simpler Ed Levin Park intro
   ============================================================ */
.nhg-park-intro{
  padding-top: 28px;
}

.nhg-park-simple{
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.nhg-park-simple-photo-wrap{
  display:flex;
  justify-content:center;
  margin:0 auto 22px;
}

.nhg-park-simple-photo{
  display:block;
  width:min(100%, 420px);
  max-width:420px;
  height:auto;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(18, 48, 72, .12);
}

.nhg-park-simple-copy{
  max-width:900px;
  margin:0 auto;
}

.nhg-park-simple-copy h2{
  margin:0 0 14px;
  text-align:center;
}

.nhg-park-simple-copy p{
  max-width:900px;
  margin:0 auto 16px;
  text-align:left;
}

.nhg-park-simple-copy p:last-child{
  margin-bottom:0;
}

@media (max-width: 640px){
  .nhg-park-simple-photo{
    width:min(100%, 340px);
    max-width:340px;
    border-radius:16px;
  }

  .nhg-park-simple-copy h2{
    margin-bottom:12px;
  }

  .nhg-park-simple-copy p{
    margin-bottom:14px;
  }
}


/* ============================================================
   v3.94 — Ground School vs Study distinction
   ============================================================ */
.nhg-study-purpose{
  padding:14px 0 0;
}
.nhg-study-purpose p{
  max-width:980px;
  margin:0 auto;
  padding:12px 16px;
  border-left:4px solid var(--nhg-orange);
  background:var(--nhg-pale);
  color:var(--nhg-text);
  font-size:17px;
  line-height:1.5;
}


/* ============================================================
   v3.95 — expandable Hang One Ground School topics
   ============================================================ */
.nhg-topic-help{
  margin-top:8px !important;
  color:var(--nhg-muted);
  font-size:15px !important;
}

.nhg-topic-list{
  margin-top:8px;
  border-top:1px solid var(--nhg-line);
}

.nhg-topic-detail{
  border-bottom:1px solid var(--nhg-line);
}

.nhg-topic-detail summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:11px 30px 11px 2px;
  color:var(--nhg-blue);
  font-size:17px;
  line-height:1.35;
  font-weight:650;
  text-decoration:none;
}

.nhg-topic-detail summary::-webkit-details-marker{
  display:none;
}

.nhg-topic-detail summary::after{
  content:'+';
  position:absolute;
  right:4px;
  top:8px;
  color:var(--nhg-blue);
  font-size:22px;
  line-height:1;
  font-weight:500;
}

.nhg-topic-detail[open] summary::after{
  content:'–';
}

.nhg-topic-detail summary:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.nhg-topic-detail[open] summary{
  color:var(--nhg-navy);
}

.nhg-topic-explanation{
  padding:0 8px 14px 2px;
}

.nhg-topic-explanation p{
  margin:0;
  color:var(--nhg-text);
  font-size:17px;
  line-height:1.58;
}

.nhg-topic-static{
  padding:10px 2px;
  border-bottom:1px solid var(--nhg-line);
  font-size:17px;
}


/* ============================================================
   v3.96 — simplified Study page top
   ============================================================ */
.nhg-study .nhg-study-hero,
.nhg-study .nhg-study-purpose{
  display:none;
}

.nhg-study-top{
  padding:30px 0 28px;
  background:#fff;
  border-bottom:1px solid var(--nhg-line);
}

.nhg-study-top .nhg-wrap{
  max-width:1120px;
}

.nhg-study-top h1{
  margin:0 0 8px;
  color:var(--nhg-navy);
  font-size:32px;
  line-height:1.15;
  letter-spacing:-.02em;
}

.nhg-study-top-lede{
  max-width:900px;
  margin:0;
  color:var(--nhg-text);
  font-size:17px;
  line-height:1.55;
}

.nhg-study-top-note{
  max-width:900px;
  margin:18px 0 0;
  padding:10px 14px;
  border-left:4px solid var(--nhg-orange);
  background:var(--nhg-pale);
  color:var(--nhg-text);
  font-size:16px;
  line-height:1.5;
}

.nhg-study-top-note strong{
  color:var(--nhg-navy);
}

.nhg-study-chooser{
  padding-top:26px;
  padding-bottom:30px;
}

@media (max-width:640px){
  .nhg-study-top{
    padding:24px 0 22px;
  }

  .nhg-study-top h1{
    font-size:30px;
  }

  .nhg-study-top-note{
    margin-top:14px;
    padding:10px 12px;
  }
}


/* ============================================================
   v4.17 — cart access below the checkout Order Summary
   ============================================================ */
.woocommerce-checkout .nhg-checkout-cart-link{
  margin:14px 0 0 !important;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.woocommerce-checkout .nhg-checkout-cart-link .nhg-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 18px !important;
  border:0 !important;
  border-radius:8px;
  background:#176fa8 !important;
  color:#fff !important;
  font-weight:700;
  text-decoration:none !important;
  box-shadow:0 6px 16px rgba(23,111,168,.18);
}
.woocommerce-checkout .nhg-checkout-cart-link .nhg-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(23,111,168,.24);
}
.woocommerce-checkout .nhg-checkout-cart-link--block-fallback{
  width:100%;
  text-align:left;
}
.woocommerce-checkout .nhg-checkout-cart-link--classic{
  margin-top:16px !important;
}


/* ============================================================
   v4.18 — WooCommerce follows the site style guide
   Large orange fields are prohibited; orange is accent-only.
   ============================================================ */

/* Neutralize any inherited Avada / WooCommerce wrapper background. */
body.nhg-draft.woocommerce,
body.nhg-draft.woocommerce-page,
body.nhg-draft.woocommerce-cart,
body.nhg-draft.woocommerce-checkout,
body.woocommerce,
body.woocommerce-page,
body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-page #wrapper,
.woocommerce-page #main,
.woocommerce-page .fusion-page-title-bar,
.woocommerce-cart #wrapper,
.woocommerce-cart #main,
.woocommerce-checkout #wrapper,
.woocommerce-checkout #main{
  background:#f5f9fb !important;
  background-color:#f5f9fb !important;
  background-image:none !important;
}

/* The actual store content remains clean white / pale blue. */
.woocommerce-cart main,
.woocommerce-checkout main,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-cart .content-area,
.woocommerce-checkout .content-area,
.woocommerce-cart .post-content,
.woocommerce-checkout .post-content,
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content{
  background:#f5f9fb !important;
  background-color:#f5f9fb !important;
}

/* Cart and checkout surfaces stay white and elevated. */
.woocommerce-cart .wc-block-cart,
.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout form.checkout,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment{
  background:#fff !important;
  background-color:#fff !important;
}

/* Remove large decorative orange strips around WooCommerce content. */
.woocommerce-page #main::before,
.woocommerce-page #main::after,
.woocommerce-cart #main::before,
.woocommerce-cart #main::after,
.woocommerce-checkout #main::before,
.woocommerce-checkout #main::after,
.woocommerce-page #wrapper::before,
.woocommerce-page #wrapper::after{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

/* Footer is always followed by the same dark/neutral site background,
   never a leftover orange field. */
.woocommerce-page .nhg-footer,
.woocommerce-cart .nhg-footer,
.woocommerce-checkout .nhg-footer{
  margin-bottom:0 !important;
}

html:has(body.woocommerce-page),
html:has(body.woocommerce-cart),
html:has(body.woocommerce-checkout){
  background:#0b1217 !important;
}

/* Store action buttons remain blue. Orange is reserved for small accents. */
.woocommerce a.checkout-button,
.woocommerce button#place_order,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:#237daf !important;
  color:#fff !important;
  border-color:#237daf !important;
}
.woocommerce a.checkout-button:hover,
.woocommerce button#place_order:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{
  background:#1c678f !important;
  color:#fff !important;
}


/* ============================================================
   v4.19 — About page 600-foot Ed Levin flight video
   ============================================================ */
.nhg-about-video{
  max-width:980px;
  margin:38px auto 34px;
}
.nhg-about-video-copy{
  margin-bottom:16px;
  text-align:center;
}
.nhg-about-video-copy h2{
  margin:4px 0 8px;
}
.nhg-about-video-copy p{
  margin:0 auto;
  max-width:760px;
}
.nhg-about-video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(18,48,72,.12);
  background:#000;
}
.nhg-about-video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}


/* ============================================================
   v4.20 — About page video converted to home-page style hero
   ============================================================ */
.nhg-about-video-hero{
  margin:42px calc(50% - 50vw) 34px !important;
  width:100vw !important;
}
.nhg-about-video-hero .nhg-home-video-frame{
  pointer-events:auto !important;
}
.nhg-about-video-hero .nhg-home-video-copy{
  max-width:560px;
}
.nhg-about-video-hero .nhg-kicker,
.nhg-about-video-hero h2,
.nhg-about-video-hero p{
  color:#ffffff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.nhg-about-video-hero .nhg-kicker{
  letter-spacing:.16em;
}
.nhg-about-video-hero h2{
  max-width:11ch;
}
.nhg-about-video-hero p{
  max-width:40ch;
}
@media (max-width:800px){
  .nhg-about-video-hero{
    margin:34px calc(50% - 50vw) 28px !important;
  }
}


/* ============================================================
   v4.27 — Dedicated Ed Levin Park page
   ============================================================ */
.nhg-ed-levin-header{
  padding:42px 0 34px;
  background:#fff;
}
.nhg-ed-levin-header .nhg-kicker{
  display:block;
  margin-bottom:8px;
  color:#2585b7;
}
.nhg-ed-levin-header h1{
  margin:0 0 12px;
  color:var(--nhg-navy);
  font-size:32px;
  line-height:1.15;
}
.nhg-ed-levin-header p{
  max-width:820px;
  margin:0;
  color:var(--nhg-text);
  font-size:17px;
  line-height:1.6;
}
.nhg-ed-levin-hero-media{
  width:100%;
  max-height:560px;
  overflow:hidden;
  background:#eaf5fb;
}
.nhg-ed-levin-hero-media img{
  display:block;
  width:100%;
  height:clamp(320px,48vw,560px);
  object-fit:cover;
  object-position:center;
}
.nhg-ed-levin-copy{
  max-width:900px;
}
.nhg-ed-levin-copy h2,
.nhg-ed-levin-grid h2{
  margin:0 0 16px;
  color:var(--nhg-navy);
  font-size:26px;
  line-height:1.2;
}
.nhg-ed-levin-copy p,
.nhg-ed-levin-grid p{
  color:var(--nhg-text);
  font-size:17px;
  line-height:1.65;
}
.nhg-ed-levin-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);
  gap:52px;
  align-items:start;
}
.nhg-ed-levin-history .nhg-kicker{
  color:#2585b7;
}
.nhg-ed-levin-fact-card{
  padding:26px;
  border:1px solid #d9e6ed;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(28,70,96,.08);
}
.nhg-ed-levin-fact-card strong{
  display:block;
  margin-bottom:14px;
  color:var(--nhg-navy);
  font-size:19px;
}
.nhg-ed-levin-fact-card span{
  display:block;
  padding:10px 0;
  border-top:1px solid #e6eef2;
  color:var(--nhg-text);
  font-size:16px;
}
.nhg-ed-levin-video{
  margin:0 !important;
  width:100% !important;
}
.nhg-ed-levin-video .nhg-kicker,
.nhg-ed-levin-video h2,
.nhg-ed-levin-video p{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.nhg-ed-levin-source-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:22px;
}
.nhg-ed-levin-source-links a{
  color:#147aad;
  font-weight:700;
  text-decoration:none;
}
.nhg-ed-levin-source-links a:hover{
  text-decoration:underline;
}
@media(max-width:800px){
  .nhg-ed-levin-grid{grid-template-columns:1fr;gap:28px}
  .nhg-ed-levin-header{padding:32px 0 28px}
}


/* ============================================================
   v4.30 — Ed Levin page style-guide cleanup
   ============================================================ */
.nhg-ed-levin-page .nhg-ed-levin-intro,
.nhg-ed-levin-page .nhg-ed-levin-next{
  background:#ffffff !important;
}
.nhg-ed-levin-page .nhg-ed-levin-history{
  background:#eef7fc !important;
}
.nhg-ed-levin-page .nhg-ed-levin-intro,
.nhg-ed-levin-page .nhg-ed-levin-history,
.nhg-ed-levin-page .nhg-ed-levin-next{
  padding-top:58px !important;
  padding-bottom:58px !important;
}
.nhg-ed-levin-page .nhg-ed-levin-intro h2,
.nhg-ed-levin-page .nhg-ed-levin-history h2,
.nhg-ed-levin-page .nhg-ed-levin-next h2{
  position:relative;
}
.nhg-ed-levin-page .nhg-ed-levin-intro h2:after,
.nhg-ed-levin-page .nhg-ed-levin-next h2:after{
  content:'';
  display:block;
  width:54px;
  height:3px;
  margin-top:12px;
  border-radius:999px;
  background:var(--nhg-orange, #f28a1a);
}
@media(max-width:800px){
  .nhg-ed-levin-page .nhg-ed-levin-intro,
  .nhg-ed-levin-page .nhg-ed-levin-history,
  .nhg-ed-levin-page .nhg-ed-levin-next{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }
}


/* ============================================================
   v4.31 — Ed Levin background enforcement + cache-safe release
   ============================================================ */
body .nhg-ed-levin-page section.nhg-ed-levin-intro.nhg-section{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
}
body .nhg-ed-levin-page section.nhg-ed-levin-history.nhg-section{
  background:#eef7fc !important;
  background-color:#eef7fc !important;
  background-image:none !important;
}
body .nhg-ed-levin-page section.nhg-ed-levin-next.nhg-section{
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;
}


/* ============================================================
   v4.33 — footer live version + useful video links
   ============================================================ */
.nhg-footer-feature-links{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.nhg-footer-feature-links a{
  color:#d7e7f0;
  text-decoration:none;
  font-weight:600;
}
.nhg-footer-feature-links a:hover{
  color:#ffffff;
  text-decoration:underline;
}


/* ============================================================
   v4.35 — Classes page full-width training flight photograph
   ============================================================ */
.nhg-classes-flight-photo{
  width:100%;
  margin:0;
  overflow:hidden;
  background:#eef7fc;
}
.nhg-classes-flight-photo img{
  display:block;
  width:100%;
  height:clamp(360px, 42vw, 620px);
  object-fit:cover;
  object-position:center 46%;
}
@media(max-width:700px){
  .nhg-classes-flight-photo img{
    height:360px;
    object-position:center center;
  }
}


/* ============================================================
   v4.36 — Second Classes photo beside "Your first lesson"
   ============================================================ */
.nhg-first-lesson-layout{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:42px;
  align-items:center;
}
.nhg-first-lesson-copy{
  min-width:0;
}
.nhg-first-lesson-photo{
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(24,61,83,.14);
  background:#eef7fc;
}
.nhg-first-lesson-photo img{
  display:block;
  width:100%;
  height:520px;
  object-fit:cover;
  object-position:center 38%;
}
@media(max-width:900px){
  .nhg-first-lesson-layout{
    grid-template-columns:1fr;
    gap:26px;
  }
  .nhg-first-lesson-photo{
    max-width:520px;
    margin:0 auto;
  }
  .nhg-first-lesson-photo img{
    height:auto;
    max-height:620px;
    object-fit:contain;
  }
}


/* ============================================================
   v4.37 — Classes page flight-sequence strip
   ============================================================ */
.nhg-classes-sequence-section{
  padding:26px 0 34px;
  background:#fff;
}
.nhg-classes-sequence-frame{
  max-width:1080px;
  margin:0 auto;
}
.nhg-classes-sequence-frame img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:700px){
  .nhg-classes-sequence-section{
    padding:20px 0 28px;
  }
}


/* ============================================================
   v4.38 — About page instructor photograph
   ============================================================ */
.nhg-about-instructor-photo{
  max-width:340px;
  width:100%;
  margin:30px 0 14px;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(24,61,83,.14);
  background:#eef7fc;
}
.nhg-about-instructor-photo img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:700px){
  .nhg-about-instructor-photo{
    max-width:260px;
    margin:24px 0 12px;
    border-radius:14px;
  }
}


/* ============================================================
   v4.39 — Classes hero becomes a two-photo training slideshow
   ============================================================ */
.nhg-classes-flight-slideshow{
  position:relative;
  height:clamp(360px, 42vw, 620px);
  overflow:hidden;
}
.nhg-classes-flight-slideshow .nhg-classes-flight-slide{
  position:absolute;
  inset:0;
  opacity:0;
  animation:nhgClassesHeroFade 16s infinite;
}
.nhg-classes-flight-slideshow .nhg-classes-flight-slide.is-one{
  animation-delay:0s;
}
.nhg-classes-flight-slideshow .nhg-classes-flight-slide.is-two{
  animation-delay:8s;
}
.nhg-classes-flight-slideshow .nhg-classes-flight-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 46%;
}
.nhg-classes-flight-slideshow .nhg-classes-flight-slide.is-two img{
  object-position:center 42%;
}
@keyframes nhgClassesHeroFade{
  0%{opacity:0}
  5%{opacity:1}
  45%{opacity:1}
  50%{opacity:0}
  100%{opacity:0}
}
@media(max-width:700px){
  .nhg-classes-flight-slideshow{
    height:360px;
  }
  .nhg-classes-flight-slideshow .nhg-classes-flight-slide img{
    object-position:center center;
  }
}
@media(prefers-reduced-motion:reduce){
  .nhg-classes-flight-slideshow .nhg-classes-flight-slide{
    animation:none;
    opacity:0;
  }
  .nhg-classes-flight-slideshow .nhg-classes-flight-slide.is-one{
    opacity:1;
  }
}


/* ============================================================
   v4.40 — Reduce height of "Your first lesson" side image
   ============================================================ */
.nhg-first-lesson-photo img{
  height:280px;
  object-fit:cover;
  object-position:center 34%;
}

@media(max-width:900px){
  .nhg-first-lesson-photo img{
    height:auto;
    max-height:340px;
    object-fit:cover;
    object-position:center 34%;
  }
}


/* ============================================================
   v4.41 — Balance "Your first lesson" photo with the copy
   ============================================================ */
.nhg-first-lesson-layout{
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
  align-items:stretch;
}
.nhg-first-lesson-photo{
  min-height:100%;
}
.nhg-first-lesson-photo img{
  width:100%;
  height:100%;
  min-height:300px;
  max-height:360px;
  object-fit:cover;
  object-position:center 30%;
}
@media(max-width:900px){
  .nhg-first-lesson-layout{
    grid-template-columns:1fr;
    align-items:start;
  }
  .nhg-first-lesson-photo{
    max-width:560px;
  }
  .nhg-first-lesson-photo img{
    height:auto;
    min-height:0;
    max-height:360px;
    object-fit:cover;
  }
}


/* ============================================================
   v4.42 — Mobile hamburger navigation
   ============================================================ */
.nhg-menu-toggle,
.nhg-mobile-contact{
  display:none;
}

@media(max-width:900px){
  .nhg-nav{
    position:relative;
  }

  .nhg-menu-toggle{
    display:flex;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:10px;
    border:0;
    border-radius:10px;
    background:rgba(255,255,255,.96);
    box-shadow:0 4px 14px rgba(20,55,75,.16);
    flex-direction:column;
    justify-content:center;
    gap:5px;
    cursor:pointer;
    z-index:1002;
  }

  .nhg-menu-toggle span{
    display:block;
    width:24px;
    height:2px;
    margin:0 auto;
    border-radius:2px;
    background:#168fca;
    transition:transform .2s ease, opacity .2s ease;
  }

  .nhg-menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .nhg-menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }
  .nhg-menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  .nhg-menu{
    display:none !important;
    position:absolute;
    top:calc(100% + 1px);
    left:14px;
    right:14px;
    z-index:1001;
    margin:0;
    padding:10px 0;
    border-radius:0 0 16px 16px;
    background:#fff;
    box-shadow:0 14px 28px rgba(16,48,67,.22);
    overflow:hidden;
  }

  .nhg-menu.is-open{
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }

  .nhg-menu a{
    display:block;
    padding:13px 20px;
    line-height:1.25 !important;
    color:#17384e !important;
    text-shadow:none !important;
    font-size:16px;
    border-bottom:1px solid #e7eef2;
  }

  .nhg-menu a:last-child{
    border-bottom:0;
  }

  .nhg-menu a:hover,
  .nhg-menu a:focus{
    color:#168fca !important;
    background:#eef7fc;
    opacity:1 !important;
  }

  .nhg-mobile-contact{
    display:block;
    font-weight:800 !important;
  }
}

@media(max-width:620px){
  .nhg-nav>.nhg-btn{
    display:none !important;
  }

  .nhg-logo-img,
  .woocommerce .nhg-logo-img,
  .woocommerce-page .nhg-logo-img{
    max-width:66vw;
  }

  .nhg-menu-toggle{
    flex:0 0 44px;
    margin-left:auto;
  }
}


/* ============================================================
   v4.46 — Ed Levin title and section refinements
   ============================================================ */
.nhg-ed-levin-page .nhg-page-hero p,
.nhg-ed-levin-page .nhg-page-header-simple p,
.nhg-ed-levin-page .nhg-lede{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.nhg-ed-levin-page .nhg-ed-levin-intro h2::after,
.nhg-ed-levin-page .nhg-ed-levin-intro .nhg-title::after,
.nhg-ed-levin-page .nhg-ed-levin-intro h2 + .nhg-orange-rule{
  display:none !important;
  content:none !important;
}


/* ============================================================
   v4.48 — Mobile menu clipping fix
   The screenshot showed the dropdown being clipped by the header.
   Make the mobile navigation a fixed overlay beneath the header.
   ============================================================ */
@media(max-width:900px){
  .nhg-header,
  .nhg-nav,
  .nhg-brand-logo{
    overflow:visible !important;
  }

  .nhg-header{
    z-index:9999 !important;
  }

  .nhg-menu{
    position:fixed !important;
    top:76px !important;
    left:16px !important;
    right:16px !important;
    width:auto !important;
    max-height:calc(100dvh - 92px);
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    border-radius:0 0 16px 16px;
    z-index:10000 !important;
  }

  .nhg-menu.is-open{
    display:flex !important;
  }

  body.admin-bar .nhg-menu{
    top:108px !important;
    max-height:calc(100dvh - 124px);
  }
}

@media(max-width:620px){
  .nhg-menu{
    top:66px !important;
    left:10px !important;
    right:10px !important;
    max-height:calc(100dvh - 78px);
  }

  body.admin-bar .nhg-menu{
    top:112px !important;
    max-height:calc(100dvh - 124px);
  }
}

/* Dim the page while the mobile menu is open so the navigation reads clearly. */
@media(max-width:900px){
  body.nhg-menu-open::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(10,28,40,.18);
    z-index:9998;
    pointer-events:none;
  }
  .nhg-header{
    position:relative;
  }
}


/* ============================================================
   v4.49 — iPhone Safari browser-chrome tint fix
   ============================================================ */
html{
  background:#ffffff !important;
}
body.nhg-draft{
  background:#ffffff !important;
}

/* On mobile, keep the page canvas behind the sticky header in the same blue family. */
@media(max-width:900px){
  html{
    background:#2496D2 !important;
  }
  body.nhg-draft{
    background:#ffffff !important;
  }
}


/* ============================================================
   v4.50 — Mobile framing for the original homepage hero photo
   Keep the people clear of both the crop and the text overlay.
   Desktop framing is unchanged.
   ============================================================ */
@media(max-width:620px){
  /* This adjustment applies only to the first/original Ed Levin hero image. */
  .home .nhg-hero-slide-original{
    background-position:34% center !important;
  }

  /* Give the people on the right side of the image their own visual space. */
  .home .nhg-hero-content{
    max-width:62%;
    padding-top:300px !important;
    padding-bottom:42px;
  }

  .home .nhg-hero h1{
    max-width:6.5ch;
    font-size:clamp(3rem,13vw,4.15rem);
    line-height:.96;
  }

  .home .nhg-hero p{
    max-width:24ch;
    font-size:1.05rem;
    line-height:1.52;
  }

  .home .nhg-hero .nhg-btns{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    max-width:230px;
  }

  .home .nhg-hero .nhg-btn{
    width:100%;
    justify-content:center;
  }
}

@media(max-width:430px){
  .home .nhg-hero-slide-original{
    background-position:30% center !important;
  }

  .home .nhg-hero-content{
    max-width:60%;
  }
}


/* ============================================================
   v4.51 — Mobile hero slides: show more image with gentler crop
   Prioritize keeping the slideshow photos more visible on phones.
   ============================================================ */
@media(max-width:620px){
  .home .nhg-hero-slideshow{
    min-height:560px;
  }

  /* Show more of the slideshow photos on phones by reducing hero height
     and shifting the mobile focal area upward. */
  .home .nhg-hero-slide{
    background-position:center 22% !important;
  }

  .home .nhg-hero-slide-original{
    background-position:36% 20% !important;
  }

  /* Give the image a little more room than the text on small screens. */
  .home .nhg-hero-content{
    max-width:58%;
    padding-top:245px !important;
    padding-bottom:28px;
  }

  .home .nhg-hero h1{
    font-size:clamp(2.7rem,11.5vw,4rem);
    max-width:7ch;
  }

  .home .nhg-hero p{
    max-width:24ch;
    font-size:1rem;
    line-height:1.45;
  }
}

@media(max-width:430px){
  .home .nhg-hero-slideshow{
    min-height:520px;
  }

  .home .nhg-hero-slide{
    background-position:center 18% !important;
  }

  .home .nhg-hero-slide-original{
    background-position:38% 18% !important;
  }

  .home .nhg-hero-content{
    max-width:56%;
    padding-top:225px !important;
  }
}


/* ============================================================
   v5.08 — Classes hero actually fills a wide frame
   The earlier version widened the container but kept object-fit:contain,
   so the 5:4 source image still appeared nearly unchanged. This version
   crops the photos into a true wide hero instead.
   ============================================================ */
.nhg-classes-flight-slideshow{
  width:100% !important;
  aspect-ratio:1.618 / 1;
  height:auto !important;
  max-height:620px;
  min-height:0 !important;
  overflow:hidden;
  background:#eef7fc !important;
}

.nhg-classes-flight-slideshow .nhg-classes-flight-slide{
  display:block;
  position:absolute;
  inset:0;
  background:#eef7fc;
}

.nhg-classes-flight-slideshow .nhg-classes-flight-slide img{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 44% !important;
}
.nhg-classes-flight-slideshow .nhg-classes-flight-slide.is-two img{
  object-position:center 40% !important;
}

@media(max-width:900px){
  .nhg-classes-flight-slideshow{
    aspect-ratio:1.5 / 1;
    max-height:none;
  }
}

@media(max-width:620px){
  .nhg-classes-flight-slideshow{
    aspect-ratio:1.25 / 1;
  }
  .nhg-classes-flight-slideshow .nhg-classes-flight-slide img,
  .nhg-classes-flight-slideshow .nhg-classes-flight-slide.is-two img{
    object-position:center center !important;
  }
}


/* ============================================================
   v4.53 — Public Calendar past dates return to blank/default
   ============================================================ */
.nhg-public-calendar-grid .nhg-calendar-day.past-blank{
  background:#fff !important;
  border-color:var(--nhg-line) !important;
  box-shadow:none !important;
}
.nhg-public-calendar-grid .nhg-calendar-day.past-blank .nhg-calendar-date-top{
  opacity:.58;
}


/* ============================================================
   v4.54 — Public Calendar navigation is future-only
   ============================================================ */
.nhg-calendar-nav-placeholder{
  visibility:hidden !important;
  pointer-events:none !important;
}


/* v4.58 — automated booking / 24-hour checklist workflow */
.nhg-calendar-select-date{display:inline-flex;justify-content:center;align-items:center;margin-top:8px;padding:8px 10px;border-radius:7px;background:#1676B2;color:#fff!important;text-decoration:none;font-weight:800;font-size:.82rem}
.nhg-calendar-not-enough{display:block;margin-top:7px;font-size:.76rem;font-weight:700;color:#7a4b00}
.nhg-calendar-pending-names span:after{content:" · held";font-size:.72em;opacity:.7}
.nhg-booking-error{margin-top:9px!important;padding:9px 11px;background:#fff3df;border-radius:7px}
.nhg-booking-hold-card{border:2px solid #f0b34a!important;background:#fff9e8!important}
.nhg-order-next-step{margin:28px 0;padding:22px;border-radius:12px;background:#eef8fd;border:1px solid #cfeaf6}
.nhg-order-next-step h2{margin-top:4px}


/* ============================================================
   v4.59 — Paid-student Ground School / Test Prep access
   ============================================================ */
.nhg-student-access-form{display:grid;gap:14px;margin-top:18px}
.nhg-student-access-form label{display:grid;gap:7px;font-weight:800}
.nhg-student-access-form input{
  width:100%;min-height:48px;padding:10px 12px;
  border:1px solid #c9d7df;border-radius:8px;background:#fff;font:inherit
}
.nhg-student-access-form .nhg-btn{width:max-content}
.nhg-access-error{
  padding:10px 12px;border-radius:7px;
  background:#fff2e7;border:1px solid #efc49e
}


/* ============================================================
   v4.60 — Make calendar date-selection mode obvious
   ============================================================ */
.nhg-booking-mode-banner{
  display:grid;
  gap:5px;
  margin:0 0 14px;
  padding:12px 14px;
  border:2px solid #2496D2;
  border-radius:9px;
  background:#eef8fd;
}
.nhg-booking-mode-banner strong{
  color:#1676B2;
  font-size:.9rem;
  letter-spacing:.05em;
}
.nhg-booking-mode-banner span{
  color:#263f50;
  font-weight:700;
}
.nhg-booking-mode-banner em{
  font-style:normal;
  color:#1676B2;
}
.nhg-calendar-select-date{
  width:100%;
  min-height:38px;
  margin-top:10px;
  font-size:.88rem;
}


/* ============================================================
   v4.61 — Classic WooCommerce checkout
   ============================================================ */
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce{
  max-width:1180px;
  margin:42px auto 70px;
  padding:0 22px;
}
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  column-gap:34px;
  align-items:start;
}
.woocommerce-checkout #customer_details{grid-column:1}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{grid-column:2}
.woocommerce-checkout #order_review_heading{margin:0 0 12px}
.woocommerce-checkout #order_review{
  padding:22px;
  border:1px solid #d7e0e5;
  border-radius:12px;
  background:#fff;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select{
  min-height:46px;
  padding:10px 12px;
  border:1px solid #cbd7de;
  border-radius:7px;
  background:#fff;
}
.woocommerce-checkout #payment{
  background:#f4f8fb;
  border-radius:10px;
}
.woocommerce-checkout #payment .payment_box{background:#fff}
.woocommerce-checkout #place_order{
  min-height:48px;
  border-radius:8px;
  background:#1676B2;
  font-weight:800;
}
.woocommerce-cart table.shop_table,
.woocommerce-cart .cart_totals{border-radius:10px}
@media(max-width:900px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:1}
}


/* ============================================================
   v4.62 — Immediate payment/order confirmation
   ============================================================ */
.nhg-payment-confirmation{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:18px;
  align-items:start;
  margin:18px 0 26px;
  padding:24px;
  border-radius:14px;
  border:2px solid #b7cbd6;
  background:#f6fafc;
}
.nhg-payment-confirmation-icon{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:2rem;
  font-weight:900;
  background:#fff;
}
.nhg-payment-confirmation h1{
  margin:3px 0 8px;
  font-size:clamp(1.7rem,4vw,2.5rem);
  line-height:1.05;
}
.nhg-payment-confirmation p{
  margin:6px 0;
  font-size:1.03rem;
}
.nhg-payment-confirmation.is-success{
  border-color:#69ad79;
  background:#eff9f1;
}
.nhg-payment-confirmation.is-success .nhg-payment-confirmation-icon{
  color:#26743a;
  border:2px solid #69ad79;
}
.nhg-payment-confirmation.is-pending{
  border-color:#e2b24f;
  background:#fff8e8;
}
.nhg-payment-confirmation.is-pending .nhg-payment-confirmation-icon{
  color:#8a5a00;
  border:2px solid #e2b24f;
}
.nhg-payment-confirmation.is-failed{
  border-color:#d88888;
  background:#fff1f1;
}
.nhg-payment-confirmation.is-failed .nhg-payment-confirmation-icon{
  color:#9d2c2c;
  border:2px solid #d88888;
}
.nhg-payment-confirmation-date{
  margin-top:11px !important;
}
@media(max-width:620px){
  .nhg-payment-confirmation{
    grid-template-columns:46px 1fr;
    gap:12px;
    padding:18px;
  }
  .nhg-payment-confirmation-icon{
    width:42px;
    height:42px;
    font-size:1.45rem;
  }
}


/* ============================================================
   v4.63 — Compact one-screen lesson purchase confirmation
   ============================================================ */
.woocommerce-order-received .woocommerce{
  max-width:1040px;
  margin:24px auto 44px;
  padding:0 20px;
}
.woocommerce-order-received .woocommerce-notice--success,
.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details{
  display:none !important;
}
.nhg-payment-confirmation,
.nhg-order-next-step{
  display:none !important;
}
.nhg-compact-confirmation{
  margin:0;
  padding:20px 22px;
  border:2px solid #b7cbd6;
  border-radius:14px;
  background:#f7fafc;
}
.nhg-compact-confirmation.is-success{
  border-color:#69ad79;
  background:#f0f9f2;
}
.nhg-compact-confirmation.is-pending{
  border-color:#e2b24f;
  background:#fff8e8;
}
.nhg-compact-confirmation.is-failed{
  border-color:#d88888;
  background:#fff1f1;
}
.nhg-compact-confirmation-head{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  align-items:center;
  padding-bottom:14px;
  border-bottom:1px solid rgba(40,70,85,.16);
}
.nhg-compact-status-icon{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff;
  border:2px solid currentColor;
  font-size:1.45rem;
  font-weight:900;
}
.nhg-compact-confirmation.is-success .nhg-compact-status-icon{color:#2f8247}
.nhg-compact-confirmation.is-pending .nhg-compact-status-icon{color:#8a5a00}
.nhg-compact-confirmation.is-failed .nhg-compact-status-icon{color:#9d2c2c}
.nhg-compact-confirmation-head h1{
  margin:2px 0 4px;
  font-size:clamp(1.55rem,3vw,2.15rem);
  line-height:1.08;
}
.nhg-compact-confirmation-head p{
  margin:0;
  font-size:.98rem;
}
.nhg-compact-confirmation-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:14px 0;
}
.nhg-compact-confirmation-grid > div{
  min-width:0;
  padding:9px 10px;
  border-radius:8px;
  background:rgba(255,255,255,.72);
}
.nhg-compact-confirmation-grid span{
  display:block;
  margin-bottom:2px;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#61717b;
}
.nhg-compact-confirmation-grid strong{
  display:block;
  font-size:.92rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.nhg-compact-confirmation-grid .nhg-confirm-deadline{
  grid-column:span 2;
}
.nhg-compact-next-step{
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-between;
  padding-top:13px;
  border-top:1px solid rgba(40,70,85,.16);
}
.nhg-compact-next-step > div{
  display:grid;
  gap:3px;
}
.nhg-compact-next-step strong{
  font-size:1rem;
}
.nhg-compact-next-step span{
  font-size:.88rem;
  line-height:1.35;
}
.nhg-compact-next-step .nhg-btn{
  flex:0 0 auto;
  white-space:nowrap;
  padding:11px 16px;
}
@media(max-width:760px){
  .nhg-compact-confirmation-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nhg-compact-confirmation-grid .nhg-confirm-deadline{
    grid-column:span 2;
  }
  .nhg-compact-next-step{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
  }
  .nhg-compact-next-step .nhg-btn{
    width:100%;
    text-align:center;
  }
}


/* ============================================================
   v4.68 — Public Calendar confirmed vs pending student colors
   ============================================================ */
/* Confirmed students are always shown in the red/pink treatment,
   regardless of whether the training day is sold out. */
.nhg-public-calendar-grid .nhg-calendar-student-names:not(.nhg-calendar-pending-names) span{
  background:#fff0f3 !important;
  color:#a92d45 !important;
}

/* A temporary paid hold remains visually distinct until the checklist
   is completed. */
.nhg-public-calendar-grid .nhg-calendar-pending-names span{
  background:#fff8df !important;
  color:#8a5a00 !important;
}


/* ============================================================
   v4.72 — Desktop navigation wrap fix
   ============================================================ */
@media(min-width:901px){
  .nhg-header{
    overflow:visible !important;
  }

  .nhg-nav{
    display:flex !important;
    align-items:center !important;
    gap:20px !important;
    min-width:0 !important;
    flex-wrap:nowrap !important;
  }

  .nhg-menu{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:20px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    min-width:0 !important;
  }

  .nhg-menu > li,
  .nhg-menu > a,
  .nhg-menu .menu-item{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .nhg-menu a{
    white-space:nowrap !important;
    font-size:clamp(.88rem,1vw,1rem) !important;
  }

  .nhg-nav .nhg-btn,
  .nhg-header .nhg-btn{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .nhg-brand{
    flex:0 1 auto !important;
    min-width:260px !important;
  }

  .nhg-brand-logo{
    max-width:320px !important;
    width:100% !important;
    height:auto !important;
  }
}

@media(min-width:901px) and (max-width:1180px){
  .nhg-nav,
  .nhg-menu{
    gap:13px !important;
  }

  .nhg-menu a{
    font-size:.9rem !important;
  }

  .nhg-brand{
    min-width:220px !important;
  }

  .nhg-brand-logo{
    max-width:270px !important;
  }

  .nhg-header .nhg-btn{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}


/* ============================================================
   v4.75 — Private phone-friendly Student Directory
   ============================================================ */
.nhg-directory-login-wrap{max-width:560px}
.nhg-directory-login-card{
  display:grid;
  gap:14px;
  margin-top:22px;
  padding:22px;
  border:1px solid #d6e2e8;
  border-radius:12px;
  background:#fff;
}
.nhg-directory-login-card label{display:grid;gap:7px;font-weight:800}
.nhg-directory-login-card input{
  min-height:50px;
  padding:10px 12px;
  border:1px solid #c8d6de;
  border-radius:8px;
  font:inherit;
}
.nhg-directory-error{
  margin:0;
  padding:10px 12px;
  border-radius:7px;
  background:#fff0f0;
  border:1px solid #e4b7b7;
}
.nhg-directory-wrap{max-width:1280px}
.nhg-directory-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}
.nhg-directory-head h1{margin:3px 0 0}
.nhg-directory-count{
  padding:7px 10px;
  border-radius:999px;
  background:#eef7fc;
  font-weight:800;
  color:#315469;
}
.nhg-directory-search{
  display:grid;
  grid-template-columns:auto minmax(0,420px);
  gap:10px;
  align-items:center;
  margin:0 0 14px;
}
.nhg-directory-search label{font-weight:800}
.nhg-directory-search input{
  min-height:46px;
  padding:9px 12px;
  border:1px solid #c8d6de;
  border-radius:8px;
  font:inherit;
}
.nhg-directory-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid #d8e2e7;
  border-radius:10px;
  background:#fff;
}
.nhg-directory-table{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
  font-size:.95rem;
}
.nhg-directory-table th,
.nhg-directory-table td{
  padding:11px 12px;
  border-bottom:1px solid #e3eaee;
  text-align:left;
  vertical-align:middle;
}
.nhg-directory-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#eef6fa;
  color:#29485a;
  white-space:nowrap;
}
.nhg-directory-table th button{
  border:0;
  padding:0;
  background:transparent;
  font:inherit;
  font-weight:800;
  color:inherit;
  cursor:pointer;
}
.nhg-directory-table tbody tr:nth-child(even){background:#fafcfd}
.nhg-directory-table tbody tr:hover{background:#f0f8fc}
.nhg-directory-table a{font-weight:700}
.nhg-rating-chip{
  display:inline-block;
  min-width:36px;
  padding:4px 7px;
  border-radius:999px;
  background:#eef7fc;
  text-align:center;
  font-weight:800;
}
.nhg-directory-note{
  margin-top:11px;
  font-size:.88rem;
  color:#60717b;
}
@media(max-width:700px){
  .nhg-directory-wrap{padding-left:12px;padding-right:12px}
  .nhg-directory-head{align-items:flex-start}
  .nhg-directory-search{grid-template-columns:1fr}
  .nhg-directory-table{min-width:850px;font-size:.9rem}
  .nhg-directory-table th,
  .nhg-directory-table td{padding:10px}
}


/* ============================================================
   v4.76 — Temporary visible development version badge
   ============================================================ */
.nhg-dev-version-badge{
  position:fixed;
  top:8px;
  right:10px;
  z-index:20000;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(15,42,58,.88);
  color:#fff;
  font-size:.72rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.03em;
  box-shadow:0 1px 4px rgba(0,0,0,.22);
  pointer-events:none;
}
.admin-bar .nhg-dev-version-badge{
  top:40px;
}
@media(max-width:782px){
  .admin-bar .nhg-dev-version-badge{
    top:54px;
  }
}


/* ============================================================
   v4.91 — About page refocused on the school and instructor
   ============================================================ */
.nhg-about-hero .nhg-kicker,
.nhg-about-feature .nhg-kicker,
.nhg-about-section-head .nhg-kicker{
  color:var(--sky-deep);
  font-weight:800;
  letter-spacing:.08em;
}
.nhg-about-hero p{max-width:850px}
.nhg-about-feature{
  margin-top:0;
  margin-bottom:54px;
}
.nhg-about-feature + .nhg-about-feature{margin-top:54px}
.nhg-about-feature p{margin:0 0 18px}
.nhg-about-instructor-feature{
  grid-template-columns:.9fr 1.1fr;
  background:#fff;
}
.nhg-about-instructor-feature img{
  aspect-ratio:3/4;
  max-height:600px;
}
.nhg-about-section-head{max-width:760px;margin-bottom:32px}
.nhg-about-section-head h2{
  margin:8px 0 0;
  color:#243b4d;
  font-size:clamp(2rem,3.4vw,3.25rem);
  line-height:1.05;
}
@media (max-width:760px){
  .nhg-about-feature,
  .nhg-about-instructor-feature{grid-template-columns:1fr}
  .nhg-about-instructor-feature img{order:2;aspect-ratio:4/3;max-height:none}
}


/* v5.02 Gift certificate purchase option */
.nhg-gift-card { border-color: rgba(22,118,178,.35); }
.nhg-gift-purchase { display:flex; flex-direction:column; gap:10px; margin-top:auto; }
.nhg-gift-purchase select { width:100%; min-height:44px; padding:9px 10px; border:1px solid #b8c5cf; border-radius:6px; background:#fff; color:#173247; font:inherit; }
.nhg-gift-purchase .nhg-btn { width:100%; text-align:center; font-size:1rem; font-family:inherit; line-height:1.1; -webkit-appearance:none; appearance:none; }

/* ============================================================
   v5.12 — Classes hero: shorter, wider, and cropped lower
   Reduce overall height while preserving the pilots' feet so the
   gliders still read as clearly off the ground.
   ============================================================ */
.nhg-classes-flight-slideshow{
  width:calc(100% - 96px) !important;
  max-width:1120px !important;
  margin:0 auto !important;
  aspect-ratio:1.55 / 1 !important;
  height:auto !important;
  max-height:none !important;
  border-radius:18px;
  overflow:hidden;
}

.nhg-classes-flight-slideshow .nhg-classes-flight-slide img{
  object-fit:cover !important;
  object-position:center 60% !important;
}

.nhg-classes-flight-slideshow .nhg-classes-flight-slide.is-two img{
  object-position:center 58% !important;
}

@media(max-width:900px){
  .nhg-classes-flight-slideshow{
    width:calc(100% - 40px) !important;
    max-width:760px !important;
    aspect-ratio:1.42 / 1 !important;
    border-radius:14px;
  }
  .nhg-classes-flight-slideshow .nhg-classes-flight-slide img{
    object-position:center 58% !important;
  }
  .nhg-classes-flight-slideshow .nhg-classes-flight-slide.is-two img{
    object-position:center 56% !important;
  }
}

@media(max-width:620px){
  .nhg-classes-flight-slideshow{
    width:calc(100% - 24px) !important;
    aspect-ratio:1.28 / 1 !important;
    border-radius:12px;
  }
  .nhg-classes-flight-slideshow .nhg-classes-flight-slide img,
  .nhg-classes-flight-slideshow .nhg-classes-flight-slide.is-two img{
    object-position:center 54% !important;
  }
}


/* ============================================================
   v5.16 — H3 Test Prep path
   ============================================================ */
@media(min-width:901px){
  .nhg-study-chooser .nhg-rating-choice-grid{grid-template-columns:repeat(3,1fr);}
}
.nhg-rating-choice.h3{background:linear-gradient(135deg,#4f6472,#32434f);}
.nhg-rating-badge.h3-badge{background:linear-gradient(135deg,#596f7d,#334854);}
.nhg-h3-prep{margin-top:48px;padding-top:48px;border-top:1px solid #dce5ea;}
.nhg-h3-topic-stack{margin-top:22px;}
@media(max-width:700px){.nhg-h3-prep{margin-top:34px;padding-top:34px;}}


/* ============================================================
   v5.17 — Test Prep rating tabs + H4 Advanced path
   ============================================================ */
.nhg-study-rating-nav{
  padding:22px 0 8px;
  background:#fff;
  position:sticky;
  top:78px;
  z-index:20;
}
.admin-bar .nhg-study-rating-nav{top:110px;}
.nhg-study-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:760px;
  margin:0 auto;
  border:1px solid #cbdbe4;
  border-radius:999px;
  overflow:hidden;
  background:#eef7fc;
  box-shadow:0 6px 18px rgba(31,70,92,.08);
}
.nhg-study-tabs a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:54px;
  padding:8px 14px;
  color:#294b60;
  text-decoration:none;
  border-right:1px solid #cbdbe4;
  transition:.18s ease;
}
.nhg-study-tabs a:last-child{border-right:0;}
.nhg-study-tabs a:hover,.nhg-study-tabs a:focus{background:#dff1fb;color:#126d9f;}
.nhg-study-tabs strong{font-size:1.08rem;}
.nhg-study-tabs span{font-size:.82rem;font-weight:700;opacity:.78;}
#hang1,#hang2,#hang3,#hang4{scroll-margin-top:160px;}
.nhg-h4-prep{margin-top:48px;padding-top:48px;border-top:1px solid #dce5ea;}
.nhg-rating-badge.h4-badge{background:linear-gradient(135deg,#30495b,#182c39);}
.nhg-h4-topic-stack{margin-top:22px;}
@media(max-width:700px){
  .nhg-study-rating-nav{top:64px;padding:12px 0 4px;}
  .admin-bar .nhg-study-rating-nav{top:110px;}
  .nhg-study-tabs{border-radius:16px;grid-template-columns:repeat(4,1fr);}
  .nhg-study-tabs a{min-height:48px;padding:7px 5px;gap:2px;flex-direction:column;}
  .nhg-study-tabs span{font-size:.68rem;}
  .nhg-h4-prep{margin-top:34px;padding-top:34px;}
}


/* ============================================================
   v5.18 — Home2 Silicon Valley campaign landing page
   ============================================================ */
.nhg-home2{background:#fff;color:#173247}
.nhg-home2-hero{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;background:#173247}
.nhg-home2-hero-media,.nhg-home2-hero-overlay{position:absolute;inset:0}
.nhg-home2-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block}
.nhg-home2-hero-overlay{background:linear-gradient(90deg,rgba(8,29,43,.88) 0%,rgba(8,29,43,.72) 42%,rgba(8,29,43,.22) 73%,rgba(8,29,43,.08) 100%)}
.nhg-home2-hero-inner{position:relative;z-index:2;width:100%}
.nhg-home2-hero-copy{max-width:720px;color:#fff;padding:90px 0}
.nhg-home2-eyebrow{display:inline-block;font-weight:800;letter-spacing:.055em;text-transform:uppercase;font-size:.86rem;color:#bfe9ff;margin-bottom:18px}
.nhg-home2-hero h1{font-size:clamp(3.25rem,7vw,6.4rem);line-height:.94;letter-spacing:-.055em;margin:0 0 24px;color:#fff;max-width:700px}
.nhg-home2-hero-lede{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.55;max-width:690px;margin:0;color:#eef8fd}
.nhg-home2-hero .nhg-btn.secondary{background:rgba(255,255,255,.95)}
.nhg-home2-quickline{margin-top:24px;font-weight:800;color:#d9f1fc;font-size:.95rem}
.nhg-home2-answers,.nhg-home2-morning{padding:82px 0}
.nhg-home2-section-head{max-width:790px;margin:0 auto 36px;text-align:center}
.nhg-home2-section-head h2,.nhg-home2-progression h2,.nhg-home2-group-box h2,.nhg-home2-final h2{font-size:clamp(2.15rem,4vw,3.7rem);line-height:1.04;letter-spacing:-.035em;color:#243b4d;margin:8px 0 0}
.nhg-home2-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1120px;margin:0 auto}
.nhg-home2-answer-card{padding:28px 30px;border:1px solid #dce7ee;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(24,61,83,.06)}
.nhg-home2-answer-card h3{font-size:1.25rem;line-height:1.2;margin:0 0 10px;color:#173247}
.nhg-home2-answer-card p{margin:0;color:#526b7b;line-height:1.65}
.nhg-home2-answer-card-safety{border-color:rgba(240,145,40,.55);background:#fffaf4}
.nhg-home2-text-link{display:inline-block;margin-top:14px;font-weight:800;color:var(--sky-deep);text-decoration:none}
.nhg-home2-progression{padding:82px 0;background:#f3f8fb}
.nhg-home2-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:58px;align-items:center}
.nhg-home2-progression p{font-size:1.08rem;line-height:1.7;color:#526b7b;max-width:720px}
.nhg-home2-progression .nhg-btn{margin-top:12px}
.nhg-home2-progression-photo{border-radius:22px;overflow:hidden;box-shadow:0 18px 42px rgba(24,61,83,.15)}
.nhg-home2-progression-photo img{display:block;width:100%;aspect-ratio:1.28/1;object-fit:cover;object-position:center}
.nhg-home2-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1120px;margin:0 auto}
.nhg-home2-step-grid article{padding:30px;border-radius:18px;background:#f5f9fb;border:1px solid #e2ebf0}
.nhg-home2-step-grid article>span{display:flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:var(--sky);color:#fff;font-weight:900;margin-bottom:18px}
.nhg-home2-step-grid h3{margin:0 0 8px;color:#173247;font-size:1.3rem}
.nhg-home2-step-grid p{margin:0;color:#526b7b;line-height:1.6}
.nhg-home2-groups{padding:70px 0;background:#173247}
.nhg-home2-group-box{display:flex;align-items:center;justify-content:space-between;gap:36px;color:#fff}
.nhg-home2-group-box h2{color:#fff;margin-bottom:14px}
.nhg-home2-group-box p{max-width:780px;color:#d5e7ef;font-size:1.08rem;line-height:1.65;margin:0}
.nhg-home2-group-box .nhg-kicker{color:#8ed9ff}
.nhg-home2-group-box .nhg-btn{flex:0 0 auto}
.nhg-home2-final{padding:88px 0;text-align:center;background:#fff}
.nhg-home2-final .nhg-wrap{max-width:900px}
.nhg-home2-final p{font-size:1.15rem;line-height:1.65;color:#526b7b;max-width:760px;margin:20px auto 0}
.nhg-home2-final .nhg-btns{justify-content:center}
#gift-certificates{scroll-margin-top:110px}
@media(max-width:900px){
  .nhg-home2-hero{min-height:590px}
  .nhg-home2-hero-overlay{background:linear-gradient(90deg,rgba(8,29,43,.85),rgba(8,29,43,.52))}
  .nhg-home2-answer-grid{grid-template-columns:1fr}
  .nhg-home2-two-col{grid-template-columns:1fr;gap:34px}
  .nhg-home2-progression-photo{max-width:700px}
  .nhg-home2-step-grid{grid-template-columns:1fr}
  .nhg-home2-group-box{display:block;text-align:center}
  .nhg-home2-group-box .nhg-btn{margin-top:26px}
}
@media(max-width:620px){
  .nhg-home2-hero{min-height:620px;align-items:flex-end}
  .nhg-home2-hero-media img{object-position:58% center}
  .nhg-home2-hero-overlay{background:linear-gradient(0deg,rgba(8,29,43,.94) 0%,rgba(8,29,43,.72) 62%,rgba(8,29,43,.28) 100%)}
  .nhg-home2-hero-copy{padding:58px 0 44px}
  .nhg-home2-hero h1{font-size:3.45rem}
  .nhg-home2-hero .nhg-btns{display:grid;grid-template-columns:1fr}
  .nhg-home2-hero .nhg-btn{width:100%}
  .nhg-home2-answers,.nhg-home2-morning,.nhg-home2-progression,.nhg-home2-final{padding:58px 0}
  .nhg-home2-answer-card{padding:23px 22px}
  .nhg-home2-quickline{font-size:.86rem;line-height:1.5}
}


/* ============================================================
   v5.19 — Primary nav: Home2 + consolidated Learning dropdown
   ============================================================ */
.nhg-menu-dropdown{position:relative;flex:0 0 auto}
.nhg-menu-dropdown-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--slate);
  font:inherit;
  font-weight:700;
  font-size:.94rem;
  cursor:pointer;
  white-space:nowrap;
}
.nhg-menu-dropdown-toggle:hover,
.nhg-menu-dropdown-toggle:focus{color:var(--sky);outline:none}
.nhg-menu-dropdown-toggle span{font-size:.72em;transition:transform .18s ease}
.nhg-menu-dropdown.is-open .nhg-menu-dropdown-toggle span{transform:rotate(180deg)}
.nhg-menu-submenu{
  display:none;
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  transform:translateX(-50%);
  min-width:190px;
  padding:8px;
  background:#fff;
  border:1px solid #dce7ed;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(18,48,66,.16);
  z-index:10020;
}
.nhg-menu-dropdown.is-open .nhg-menu-submenu{display:block}
.nhg-menu-submenu a{
  display:block;
  padding:10px 12px;
  border-radius:8px;
  color:#17384e !important;
  font-size:.92rem !important;
}
.nhg-menu-submenu a:hover,
.nhg-menu-submenu a:focus{background:#eef7fc;color:#168fca !important}

@media(min-width:901px){
  .nhg-menu-dropdown-toggle{font-size:clamp(.88rem,1vw,1rem) !important}
  .nhg-menu-dropdown:hover .nhg-menu-submenu,
  .nhg-menu-dropdown:focus-within .nhg-menu-submenu{display:block}
}

@media(max-width:900px){
  .nhg-menu-dropdown{width:100%}
  .nhg-menu-dropdown-toggle{
    width:100%;
    justify-content:space-between;
    padding:13px 20px;
    color:#17384e !important;
    font-size:16px !important;
    border-bottom:1px solid #e7eef2;
  }
  .nhg-menu-dropdown-toggle:hover,
  .nhg-menu-dropdown-toggle:focus{background:#eef7fc;color:#168fca !important}
  .nhg-menu-submenu{
    position:static;
    transform:none;
    min-width:0;
    padding:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:#f6fafc;
  }
  .nhg-menu-dropdown.is-open .nhg-menu-submenu{display:block}
  .nhg-menu-submenu a{
    padding:12px 20px 12px 38px !important;
    border-radius:0 !important;
    border-bottom:1px solid #e7eef2 !important;
    font-size:15px !important;
  }
}

/* ============================================================
   v5.22 — Resources > Site Guides
   ============================================================ */
.nhg-site-guides-page{background:#f7fafc}
.nhg-site-guides-hero{text-align:center}
.nhg-site-guides-hero .nhg-wrap{max-width:900px}
.nhg-site-guides-hero p{margin-left:auto;margin-right:auto}
.nhg-site-guides-intro{padding:34px 0 10px}
.nhg-site-guides-warning{
  max-width:960px;margin:0 auto;background:#fff;border:1px solid #dbe6ed;
  border-left:5px solid var(--sky);border-radius:14px;padding:22px 24px;
  box-shadow:0 8px 22px rgba(24,61,83,.07)
}
.nhg-site-guides-warning strong{display:block;color:#243b4d;font-size:1.05rem;margin-bottom:7px}
.nhg-site-guides-warning p{margin:0;color:var(--muted)}
.nhg-site-guides-jump{display:flex;justify-content:center;gap:10px;margin:24px 0 0}
.nhg-site-guides-jump a{
  display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:44px;
  padding:0 18px;border:2px solid var(--sky);border-radius:999px;text-decoration:none;
  font-weight:850;color:var(--sky);background:#fff
}
.nhg-site-guides-jump a:hover{background:var(--sky);color:#fff}
.nhg-site-guides-rating{padding:52px 0 14px;scroll-margin-top:105px}
.nhg-site-guides-heading{display:flex;align-items:center;justify-content:center;gap:16px;text-align:left;margin-bottom:26px}
.nhg-site-guides-heading h2{margin:0;color:#243b4d;font-size:clamp(1.8rem,3vw,2.7rem)}
.nhg-site-guides-heading p{margin:5px 0 0;color:var(--muted);max-width:680px}
.nhg-site-guides-rating-badge{
  display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;
  background:var(--sky);color:#fff;font-weight:900;font-size:1.1rem;flex:0 0 auto
}
.nhg-site-guides-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.nhg-site-guide-card{
  background:#fff;border:1px solid #dbe6ed;border-radius:16px;padding:22px;
  box-shadow:0 9px 24px rgba(24,61,83,.07)
}
.nhg-site-guide-card-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}
.nhg-site-guide-card h3{margin:0;color:#243b4d;font-size:1.35rem}
.nhg-site-guide-map-link{white-space:nowrap;font-size:.88rem;font-weight:800;text-decoration:none;color:var(--sky)}
.nhg-site-guide-card dl{margin:0}
.nhg-site-guide-card dl>div{padding:9px 0;border-top:1px solid #edf1f4}
.nhg-site-guide-card dt{font-weight:850;color:#415767;font-size:.82rem;text-transform:uppercase;letter-spacing:.035em;margin-bottom:3px}
.nhg-site-guide-card dd{margin:0;color:#334b5c;line-height:1.45}
.nhg-site-guide-card dd a{color:var(--sky-deep);font-weight:750}
.nhg-site-guide-important{margin-top:13px;padding:13px 15px;border-radius:10px;background:#eef7fc;color:#334b5c}
.nhg-site-guide-important strong{color:#176fa8}
.nhg-site-guide-important p{margin:5px 0 0}
.nhg-site-guides-checklist{padding:58px 0 72px}
.nhg-site-guides-checklist h2{text-align:center;color:#243b4d;margin:0 0 24px}
.nhg-site-guides-checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:980px;margin:0 auto}
.nhg-site-guides-checklist-grid>div{background:#fff;border:1px solid #dbe6ed;border-radius:12px;padding:15px 17px;color:#334b5c}
@media(max-width:800px){
  .nhg-site-guides-grid,.nhg-site-guides-checklist-grid{grid-template-columns:1fr}
  .nhg-site-guides-heading{justify-content:flex-start}
}
@media(max-width:520px){
  .nhg-site-guide-card-head{align-items:flex-start;flex-direction:column;gap:7px}
  .nhg-site-guides-warning{padding:18px}
}


/* ============================================================
   v5.23 — Site Guides visual blocks
   ============================================================ */
.nhg-site-guide-card{background:#fff;border:1px solid #dbe6ed;border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(15,41,61,.06)}
.nhg-site-guide-card dl{margin:18px 0 0}
.nhg-site-guide-card dl>div{padding:10px 0;border-top:1px solid #e6edf2}
.nhg-site-guide-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.nhg-site-guide-card-head h3{margin:0;color:#243b4d}
.nhg-site-guide-map-link{white-space:nowrap}
.nhg-site-guide-important{margin-top:18px;padding:15px 16px;border-radius:12px;background:#f3f8fb;border:1px solid #dbe6ed}
.nhg-site-guide-important strong{display:block;color:#243b4d;margin-bottom:6px}
.nhg-site-guide-important p{margin:0;color:#415a6b}
.nhg-site-guide-visuals{margin-top:18px;padding:16px;border:1px solid #dbe6ed;border-radius:14px;background:#f8fbfd}
.nhg-site-guide-visuals-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:14px}
.nhg-site-guide-visuals-head strong{color:#243b4d;font-size:1rem}
.nhg-site-guide-visuals-head span{color:#678090;font-size:.92rem}
.nhg-site-guide-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nhg-site-guide-visual-item{display:flex;flex-direction:column;gap:8px}
.nhg-site-guide-visual-label{display:block;font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5f788a}
.nhg-site-guide-visual-item figure{margin:0;background:#fff;border:1px solid #dbe6ed;border-radius:12px;overflow:hidden}
.nhg-site-guide-visual-item img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:#eaf2f7}
.nhg-site-guide-visual-item figcaption{padding:10px 12px;color:#4d6678;font-size:.94rem;line-height:1.45}
.nhg-site-guide-visual-placeholder{display:flex;align-items:center;justify-content:center;min-height:190px;padding:16px;border:1px dashed #bfd0dc;border-radius:12px;background:#fff;color:#5c7587;text-align:center}
.nhg-site-guide-visual-placeholder p{margin:0;max-width:24ch}
@media(max-width:900px){
  .nhg-site-guide-card-head,.nhg-site-guide-visuals-head{flex-direction:column;align-items:flex-start}
  .nhg-site-guide-visual-grid{grid-template-columns:1fr}
}

/* v5.24 — staff-only Student Portal nav shortcut */
.nhg-menu .nhg-staff-portal-link{font-weight:800}

/* v5.26 Site Guide five-category navigation */
.nhg-site-guides-jump{flex-wrap:wrap}
.nhg-site-guides-jump a[href="#unregulated"]{padding-left:18px;padding-right:18px}


/* ============================================================
   v5.27 — Calendar-first checkout + purchase-policy acknowledgment
   ============================================================ */
.nhg-calendar-policy-ack{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:13px 15px;border:1px solid #b9dff1;border-radius:10px;background:#f2f9fd;color:#29485b;line-height:1.45;cursor:pointer}
.nhg-calendar-policy-ack input{margin-top:4px;flex:0 0 auto;width:18px;height:18px}
.nhg-calendar-policy-ack strong{color:#173247}
button.nhg-calendar-select-date{font:inherit;border:0;cursor:pointer;-webkit-appearance:none;appearance:none}
.nhg-calendar-booking-form{display:contents}


/* v5.29 — Launch + main LZ map links */
.nhg-site-guide-map-links{display:flex;flex-direction:column;align-items:flex-end;gap:5px;white-space:nowrap}
@media(max-width:900px){.nhg-site-guide-map-links{align-items:flex-start}}


/* ============================================================
   v5.32 — In-page map popup for Site Guides
   ============================================================ */
.nhg-site-guide-map-link.nhg-site-map-open{
  appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;
  font:inherit;font-size:.88rem;font-weight:800;color:var(--sky);cursor:pointer;
  text-decoration:none;text-align:right
}
.nhg-site-guide-map-link.nhg-site-map-open:hover{text-decoration:underline}
.nhg-site-map-modal{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:24px}
.nhg-site-map-modal.is-open{display:flex}
.nhg-site-map-modal-backdrop{position:absolute;inset:0;background:rgba(8,24,35,.68);backdrop-filter:blur(3px)}
.nhg-site-map-dialog{position:relative;width:min(94vw,980px);max-height:90vh;background:#fff;border-radius:18px;box-shadow:0 28px 70px rgba(0,0,0,.35);overflow:hidden}
.nhg-site-map-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid #dce7ed;background:#fff}
.nhg-site-map-dialog-head h2{margin:0;color:#243b4d;font-size:1.15rem}
.nhg-site-map-close{appearance:none;-webkit-appearance:none;border:0;background:#eef5f9;color:#173247;width:38px;height:38px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.nhg-site-map-frame-wrap{width:100%;aspect-ratio:16/10;background:#e8eef2;overflow:hidden}
.nhg-site-map-frame-wrap iframe{display:block;width:100%;height:100%;border:0}
body.nhg-map-modal-open{overflow:hidden}
@media(max-width:620px){
  .nhg-site-map-modal{padding:12px}
  .nhg-site-map-dialog{width:100%;max-height:92vh;border-radius:14px}
  .nhg-site-map-frame-wrap{aspect-ratio:4/5}
  .nhg-site-guide-map-link.nhg-site-map-open{text-align:left}
}

/* v5.33 — single visual column for coastal launch/top-landing sites */
.nhg-site-guide-visual-grid.is-single{grid-template-columns:1fr}


/* ============================================================
   v5.35 — USHPA student membership note on Classes
   ============================================================ */
.nhg-classes-ushpa-note{
  max-width:900px;
  margin:0 auto 38px;
  padding:22px 24px;
  background:#f3f8fb;
  border:1px solid #d7e5ee;
  border-left:5px solid var(--sky);
  border-radius:14px;
  color:#334b5c;
}
.nhg-classes-ushpa-note h3{margin:0 0 10px;color:#243b4d;font-size:1.2rem}
.nhg-classes-ushpa-note p{margin:8px 0}
.nhg-classes-ushpa-note a{color:var(--sky-deep);font-weight:800;text-decoration:none}
.nhg-classes-ushpa-note a:hover{text-decoration:underline}

/* ============================================================
   v5.47 — Student directory compact numeric columns / phone nowrap
   ============================================================ */
.nhg-directory-table td.nhg-directory-phone,
.nhg-directory-table td.nhg-directory-phone a{
  white-space:nowrap;
}
.nhg-directory-table th:nth-child(7),
.nhg-directory-table td:nth-child(7),
.nhg-directory-table th:nth-child(8),
.nhg-directory-table td:nth-child(8){
  width:58px;
  min-width:58px;
  max-width:72px;
  text-align:center;
}
.nhg-directory-table th:nth-child(5),
.nhg-directory-table td:nth-child(5){
  width:130px;
  min-width:130px;
}


/* ============================================================
   v5.48 — Ed Levin training-hill video progression
   ============================================================ */
.nhg-ed-levin-progression{
  background:#eef7fc !important;
  padding-top:62px !important;
  padding-bottom:68px !important;
}
.nhg-ed-levin-progression-head{
  max-width:820px;
  margin-bottom:30px;
}
.nhg-ed-levin-progression-head .nhg-kicker{
  color:#2585b7;
}
.nhg-ed-levin-progression-head h2{
  margin:6px 0 12px;
  color:var(--nhg-navy, #173247);
  font-size:clamp(28px,3vw,38px);
  line-height:1.15;
}
.nhg-ed-levin-progression-head p{
  margin:0;
  color:var(--nhg-text, #405768);
  font-size:17px;
  line-height:1.6;
}
.nhg-ed-levin-progress-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
.nhg-ed-levin-progress-card{
  overflow:hidden;
  background:#fff;
  border:1px solid #d7e5ee;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(15,41,61,.07);
}
.nhg-ed-levin-progress-card:last-child{
  grid-column:1 / -1;
  max-width:calc(50% - 12px);
}
.nhg-ed-levin-progress-media{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#173247;
}
.nhg-ed-levin-progress-media iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
}
.nhg-ed-levin-progress-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:linear-gradient(135deg,#173247,#2c647f);
  color:#fff;
  text-align:center;
}
.nhg-ed-levin-progress-placeholder span{
  display:inline-block;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:999px;
  background:rgba(0,0,0,.18);
  font-weight:800;
  letter-spacing:.01em;
}
.nhg-ed-levin-progress-copy{
  padding:20px 22px 23px;
}
.nhg-ed-levin-step{
  display:block;
  margin-bottom:5px;
  color:#2585b7;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nhg-ed-levin-progress-copy h3{
  margin:0 0 8px;
  color:var(--nhg-navy, #173247);
  font-size:23px;
}
.nhg-ed-levin-progress-copy p{
  margin:0;
  color:var(--nhg-text, #405768);
  line-height:1.55;
}
@media(max-width:760px){
  .nhg-ed-levin-progress-grid{grid-template-columns:1fr}
  .nhg-ed-levin-progress-card:last-child{grid-column:auto;max-width:none}
  .nhg-ed-levin-progression{padding-top:44px !important;padding-bottom:48px !important}
}

/* ============================================================
   v5.49 — Compact desktop Resources dropdown
   Prevent submenu links from inheriting the 96px main-nav line-height.
   ============================================================ */
@media(min-width:901px){
  .nhg-menu-submenu{
    min-width:200px;
    padding:7px;
  }
  .nhg-menu-submenu a{
    line-height:1.25 !important;
    min-height:0 !important;
    padding:11px 14px !important;
    margin:0 !important;
  }
}


/* v5.52 — public calendar booking queue + H1 Upper Hill note */
.nhg-public-calendar-grid .nhg-calendar-day.queued{
  border-top:7px solid #e3a44a;
  background:#fffaf1;
}
.nhg-state-pill.queued{
  display:inline-block;
  background:#fff0cf;
  color:#7a5200;
  border:1px solid #e6c77f;
  border-radius:999px;
  padding:4px 8px;
  font-size:.73rem;
  font-weight:800;
  line-height:1.25;
  white-space:normal;
}
.nhg-calendar-rating-note{
  display:block;
  margin-top:6px;
  font-size:.72rem;
  line-height:1.25;
  font-weight:800;
  color:#365164;
}
.nhg-dot.queued{background:#e3a44a}


/* ============================================================
   v5.56 — Desktop Resources menu opens on hover
   Keep click/tap behavior for touch/mobile navigation.
   ============================================================ */
@media (min-width:901px){
  .nhg-menu-dropdown:hover > .nhg-menu-submenu,
  .nhg-menu-dropdown:focus-within > .nhg-menu-submenu,
  .nhg-menu-dropdown.is-open > .nhg-menu-submenu{
    display:block !important;
  }
  /* Invisible hover bridge between Resources and its submenu. */
  .nhg-menu-submenu::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-14px;
    height:14px;
  }
}

/* v5.57 — Flight Deck hidden community board */
.nhg-flight-deck-page{background:#f5f8fa;min-height:70vh}.nhg-flight-deck-hero{padding:58px 0 42px;background:linear-gradient(135deg,#203b4e,#315f76);color:#fff;text-align:center}.nhg-flight-deck-hero h1{font-size:clamp(2.5rem,6vw,4.8rem);margin:0 0 12px;color:#fff}.nhg-flight-deck-hero p{max-width:760px;margin:0 auto 24px;line-height:1.65}.nhg-flight-deck-main{padding:34px 0 70px}.nhg-fd-notice{max-width:900px;margin:0 auto 22px;padding:15px 18px;border-radius:10px;background:#e7f5ea;border:1px solid #acd6b5;color:#244d2b}.nhg-fd-notice.error{background:#fff0f0;border-color:#efb4b4;color:#7b2d2d}.nhg-fd-filter-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 28px}.nhg-fd-filter{border:1px solid #c8d6df;background:#fff;border-radius:999px;padding:8px 14px;cursor:pointer;color:#304b5c}.nhg-fd-filter.active,.nhg-fd-filter:hover{background:#294c60;color:#fff;border-color:#294c60}.nhg-fd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1080px;margin:0 auto}.nhg-fd-card{background:#fff;border:1px solid #dce5ea;border-radius:15px;overflow:hidden;box-shadow:0 7px 24px rgba(22,45,58,.06)}.nhg-fd-photo img{display:block;width:100%;height:260px;object-fit:cover}.nhg-fd-card-body{padding:21px}.nhg-fd-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.nhg-fd-category{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#23718b}.nhg-fd-posted{font-size:.82rem;color:#788a95}.nhg-fd-card h2{font-size:1.4rem;margin:9px 0;color:#263f50}.nhg-fd-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:.88rem;color:#5c707c;margin-bottom:10px}.nhg-fd-copy{color:#405561;line-height:1.6}.nhg-fd-author{border-top:1px solid #e9eef1;margin-top:16px;padding-top:12px;font-size:.84rem;color:#73858f}.nhg-fd-empty{grid-column:1/-1;background:#fff;border:1px dashed #bdcbd4;border-radius:14px;padding:48px;text-align:center}.nhg-fd-modal[hidden]{display:none}.nhg-fd-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}.nhg-fd-modal-backdrop{position:absolute;inset:0;background:rgba(7,19,26,.72)}.nhg-fd-modal-panel{position:relative;z-index:1;background:#fff;width:min(720px,100%);max-height:90vh;overflow:auto;border-radius:16px;padding:30px;box-shadow:0 25px 80px rgba(0,0,0,.35)}.nhg-fd-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:2rem;cursor:pointer;color:#526875}.nhg-fd-modal-panel h2{margin-top:0;color:#263f50}.nhg-fd-form-intro{color:#637782}.nhg-fd-form{display:grid;gap:15px}.nhg-fd-form label{font-weight:700;color:#304b5c}.nhg-fd-form input,.nhg-fd-form select,.nhg-fd-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #bacad3;border-radius:8px;padding:10px 11px;font:inherit;background:#fff}.nhg-fd-form small{display:block;font-weight:400;color:#70838e;margin-top:5px}.nhg-fd-form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.nhg-fd-check{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important}.nhg-fd-check input{width:auto!important;margin-top:3px!important}.nhg-modal-open{overflow:hidden}@media(max-width:760px){.nhg-fd-grid{grid-template-columns:1fr}.nhg-fd-form-two{grid-template-columns:1fr}.nhg-flight-deck-hero{padding-top:42px}.nhg-fd-modal-panel{padding:25px 18px}.nhg-fd-photo img{height:210px}}
