:root{--cream:#fff5f5;--green:#2d483d;--rose:#dea8a0;--coral:#ec645d;--soft:#f6efef;--ink:#20372f;--white:#fffafa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--green);font-family:Montserrat,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.wrap{max-width:1220px;margin:auto;padding:0 30px}.topband{background:var(--green);color:var(--cream);padding:13px 0}.topband .wrap{display:flex;justify-content:center;font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase}.dot{color:var(--coral)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{font-weight:800;font-size:30px;letter-spacing:-1.5px;white-space:nowrap}.navlinks{display:flex;align-items:center;gap:30px;font-size:11px;font-weight:700;letter-spacing:1.4px}.navlinks a:not(.btn):hover{color:var(--coral)}.btn{display:inline-block;background:var(--coral);color:#fff;padding:14px 22px;border:0;font:700 11px Montserrat,Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer}.btn.outline{background:transparent;color:var(--green);border:1px solid var(--green)}.btn.light{background:var(--cream);color:var(--green)}.eyebrow,.smallcaps{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.eyebrow{color:var(--coral);font-size:13px;letter-spacing:1.8px}h1,h2,h3{margin:0;line-height:1.06}h1{font-size:58px;letter-spacing:-2.8px;text-wrap:balance}h2{font-size:38px;letter-spacing:-1.5px;text-wrap:balance}h3{font-size:19px;letter-spacing:-.3px}.pagehero{padding:72px 0 82px}.pagehero .copy{max-width:850px}.pagehero h1{margin:15px 0 22px}.pagehero p{font-size:20px;max-width:720px;margin:0}.section{padding:76px 0}.section.soft{background:var(--soft)}.section.green{background:var(--green);color:var(--cream)}.section.rose{background:var(--rose)}.sectionhead{max-width:760px;margin-bottom:38px}.sectionhead h2{margin:10px 0 14px}.sectionhead p{font-size:17px;margin:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--rose);padding:28px;background:var(--cream)}.card .num{color:var(--coral);font-size:10px;font-weight:700;letter-spacing:1.5px}.card h3{margin:10px 0 10px}.card p{margin:0;font-size:14px}.principle{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:start}.principle h2{font-size:48px}.principle p{font-size:18px;margin:0 0 16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{padding:26px 0;border-top:2px solid var(--coral)}.step .num{font-size:11px;color:var(--coral);font-weight:700;letter-spacing:1.5px}.step h3{margin:10px 0}.step p{margin:0;font-size:14px}.pricegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pricecard{background:var(--cream);border:1px solid var(--rose);padding:34px}.pricecard.featured{background:var(--green);color:var(--cream);border-color:var(--green)}.pricecard h2{font-size:30px;margin:8px 0}.price{font-size:48px;font-weight:800;letter-spacing:-2px;margin:16px 0 6px}.pricecard p{font-size:14px}.pricecard ul{padding-left:18px;font-size:14px}.notice{border-left:3px solid var(--coral);padding:3px 0 3px 20px;margin-top:28px;max-width:850px;font-size:13px}.bio{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.photo{background:var(--rose);min-height:480px;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--green);font-size:12px;letter-spacing:1.5px;text-transform:uppercase}.bio p{font-size:17px}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.credential{border-top:1px solid var(--rose);padding:14px 0;font-size:12px;font-weight:700}.faq{max-width:900px}.faq details{border-top:1px solid var(--rose);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--rose)}.faq summary{cursor:pointer;font-weight:700}.faq p{font-size:14px;max-width:760px}.contactgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contactgrid h2{font-size:44px}.contactinfo{margin-top:30px;font-size:14px}.contactinfo div{padding:12px 0;border-top:1px solid var(--rose)}form{display:grid;gap:14px}label{font-size:10px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}input,textarea{width:100%;border:1px solid var(--rose);background:var(--cream);padding:14px;font:14px Montserrat,Arial,sans-serif;color:var(--green)}textarea{min-height:150px;resize:vertical}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.formnote{font-size:11px;opacity:.75}.cta{padding:72px 0;text-align:center;background:var(--green);color:var(--cream)}.cta h2{font-size:44px}.cta p{max-width:610px;margin:15px auto 25px}.script{font-family:'Josefin Sans',sans-serif;font-style:italic;font-size:20px;color:var(--coral);margin-top:22px}footer{background:var(--ink);color:var(--cream);padding:35px 0;font-size:12px}.footerrow{display:flex;justify-content:space-between;gap:30px;align-items:center}.footerlinks{display:flex;gap:20px;flex-wrap:wrap}.mobileMenu{display:none}.headline-line{display:block;white-space:nowrap}
@media(max-width:800px){.wrap{padding:0 20px}.topband .wrap{font-size:9px;letter-spacing:1.2px}.nav{height:72px}.wordmark{font-size:20px}.navlinks{display:none}.mobileMenu{display:block;position:relative}.mobileMenu summary{list-style:none;font-size:11px;font-weight:700;letter-spacing:1.2px;cursor:pointer}.mobileMenu summary::-webkit-details-marker{display:none}.mobileMenu nav{position:absolute;right:0;top:34px;background:var(--green);color:var(--cream);padding:18px 22px;min-width:180px;z-index:10;box-shadow:0 10px 30px rgba(0,0,0,.12)}.mobileMenu nav a{display:block;padding:9px 0;font-size:11px;font-weight:700;letter-spacing:1px}.pagehero{padding:48px 0 58px}h1{font-size:40px;letter-spacing:-2px}.pagehero p{font-size:18px}.section{padding:55px 0}h2{font-size:32px}.grid2,.grid3,.steps,.pricegrid,.bio,.contactgrid,.principle{grid-template-columns:1fr;gap:28px}.principle h2,.contactgrid h2{font-size:36px}.photo{min-height:360px}.credentials{grid-template-columns:1fr}.formrow{grid-template-columns:1fr}.cta h2{font-size:34px}.footerrow{flex-direction:column;align-items:flex-start}.headline-line{white-space:normal}}
@media(max-width:480px){.wordmark{font-size:17px}.topband .wrap{font-size:8px;letter-spacing:.7px;white-space:nowrap}h1{font-size:36px}.card,.pricecard{padding:24px}.cta h2{font-size:31px}}

.brandblock{display:flex;flex-direction:column;line-height:1}.brandsub{font-size:9px;font-weight:700;letter-spacing:1.05px;text-transform:uppercase;color:var(--coral);margin-top:7px}.credential-list{margin-top:28px;border-top:1px solid var(--rose)}.credential-row{display:grid;grid-template-columns:165px 1fr;gap:22px;padding:16px 0;border-bottom:1px solid var(--rose);align-items:baseline}.credential-row strong{font-size:11px;letter-spacing:1.1px}.credential-row span{font-size:14px}.footnote{font-size:12px;vertical-align:super;color:var(--coral);font-weight:800}.benefit{font-weight:600}.closing-line{font-size:20px!important;font-weight:600;margin-top:26px!important}.closing-line em{color:var(--coral);font-family:'Josefin Sans',sans-serif;font-weight:400}@media(max-width:800px){.credential-row{grid-template-columns:1fr;gap:4px}.brandsub{font-size:7px;letter-spacing:.7px}}

/* v8 consistency and readability */
.topband .wrap>span{display:inline-flex;align-items:center;justify-content:center;gap:11px;white-space:nowrap}.topband .dot{display:inline-block;line-height:1;transform:translateY(-.02em);margin:0 2px}.brandblock{min-width:310px}.plan-card p{font-size:16px;line-height:1.65}.nowrap-desktop{white-space:nowrap;max-width:none!important}.mobile-home{background:var(--soft)}.mobile-home .sectionhead{margin-bottom:24px}.mobile-home .btn{background:var(--coral);color:#fff}.pagehero .copy>p+p{margin-top:18px}.sectionhead .eyebrow{font-size:14px}.steps h3{font-size:17px}.card h3{font-size:17px}
@media(max-width:800px){.topband .wrap>span{gap:7px}.brandblock{min-width:0}.nowrap-desktop{white-space:normal}.plan-card p{font-size:14px}.sectionhead .eyebrow{font-size:13px}}

/* v11 refinements */
.price-with-gift{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.gift-badge{display:inline-block;background:var(--coral);color:#fff;padding:9px 12px;font-size:10px;font-weight:800;letter-spacing:1.1px;line-height:1.2;text-transform:uppercase;white-space:nowrap}
@media(max-width:800px){.price-with-gift{gap:10px}.gift-badge{font-size:9px}}

/* v20: make 10-session gift card benefit more prominent */
.gift-badge{font-size:13px;padding:12px 16px;letter-spacing:1px}
@media(max-width:800px){.gift-badge{font-size:11px;padding:10px 13px}}
/* v21 refinements */
.sectionhead h2{max-width:none}
@media(min-width:801px){
  .sectionhead h2{white-space:nowrap}
  .simple-credentials{max-width:760px}
  .simple-credentials .credential-row span:last-child{white-space:nowrap}
}
.credential-with-logo{display:flex;align-items:center;gap:18px}
.credential-logo-placeholder{flex:0 0 86px;min-width:86px;height:48px;border:1px dashed var(--rose);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:1px;color:var(--coral);white-space:nowrap!important}
@media(max-width:800px){.credential-with-logo{align-items:flex-start}.credential-logo-placeholder{flex-basis:72px;min-width:72px}.simple-credentials .credential-row span:last-child{white-space:normal}}


/* v23 audience/readability refinements */
body{font-size:16px;line-height:1.62}
.topband .wrap{font-size:12px;letter-spacing:2.2px}
.navlinks{font-size:13px;letter-spacing:1.15px;gap:28px}
.btn{font-size:13px;padding:15px 23px;letter-spacing:1px;transition:transform .18s ease,filter .18s ease}
.btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.eyebrow{font-size:14px;letter-spacing:1.65px}
.smallcaps{font-size:12px;letter-spacing:1.6px}
.brandsub{font-size:10px;letter-spacing:.95px}
.card .num,.step .num,.credential-row strong{font-size:12px}
.card p,.step p,.pricecard p,.pricecard ul,.faq p{font-size:16px;line-height:1.68}
.notice{font-size:15px;line-height:1.65}
.credential-row{padding:18px 0}.credential-row span{font-size:15px}
.footerrow,footer{font-size:13px}
.section{padding:84px 0}.sectionhead{margin-bottom:42px}.sectionhead p{font-size:18px;line-height:1.7}
.pagehero{padding:82px 0 88px}.pagehero p{line-height:1.68}
.card{padding:32px}.steps{gap:24px}.step{padding:30px 0}
.mobileActions{display:none}
.contactmethod{display:grid!important;grid-template-columns:100px 1fr auto;gap:18px;align-items:center;padding:20px 0!important}
.contactmethod strong{font-size:12px;letter-spacing:1.4px}
.contactvalue{font-size:16px}
.contactaction{display:inline-block;background:var(--coral);color:#fff;padding:10px 14px;font-size:12px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;text-align:center;min-width:108px}
.contactaction.pending{opacity:.46;cursor:default}
.legalhero{padding-bottom:54px}.legal{max-width:900px}.legal>p:first-child{font-size:18px}.legal h2{font-size:27px;margin:46px 0 14px;letter-spacing:-.7px}.legal p,.legal li{font-size:16px;line-height:1.72}.legal ul{padding-left:24px}.legal a{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:3px}

/* Homepage */
.hero{min-height:650px;display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:42px;padding:20px 0 82px}
.hero h1{margin:18px 0 24px;max-width:900px}
.hero .lead{font-size:19px;max-width:720px;margin:0 0 31px;line-height:1.68}
.hero-art{display:flex;flex-direction:column;align-items:center}.hero-art img{display:block;width:100%;max-width:610px;height:auto;object-fit:contain;aspect-ratio:auto;margin:0 auto}.hero-art .script{text-align:center;margin-top:-4px;font-size:19px;width:100%;max-width:610px;margin-left:auto;margin-right:auto}
.actions{display:flex;gap:12px;flex-wrap:wrap}.hero .btn.outline{background:var(--coral);color:#fff;border-color:var(--coral)}
.intro{background:var(--soft);padding:78px 0}.introgrid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}.intro p{font-size:18px;margin:18px 0 28px;line-height:1.7}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px}.mini{border:1px solid var(--rose);padding:24px 20px;min-height:124px;background:var(--cream);transition:transform .18s ease,box-shadow .18s ease}.mini:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(45,72,61,.07)}.mini span{color:var(--coral);font-size:12px;font-weight:700;letter-spacing:1.4px}.mini h3{font-size:15px;margin-top:9px;letter-spacing:.15px;text-wrap:balance}
.offer{padding:78px 0}.offerbox{background:var(--rose);padding:56px 62px;display:grid;grid-template-columns:1.4fr .6fr;gap:55px;align-items:center}.offer h2{font-size:36px;margin:10px 0 14px}.offer p{margin:0 0 25px;max-width:650px;font-size:17px;line-height:1.65}.offer .price{font-size:58px}
.final{background:var(--green);color:var(--cream);padding:80px 0;text-align:center}.final h2{font-size:46px}.final p{max-width:620px;margin:16px auto 28px;font-size:18px}.final .script{margin-top:22px}

@media(max-width:800px){
  .wrap{padding:0 21px}.topband .wrap{font-size:10px;letter-spacing:1px}.nav{height:78px;gap:12px}.wordmark{font-size:20px}.brandsub{font-size:8px;letter-spacing:.55px;margin-top:6px}.navlinks{display:none}.mobileActions{display:flex;align-items:center;gap:9px}.mobileContact{background:var(--coral);color:#fff;padding:10px 12px;font-size:11px;font-weight:700;letter-spacing:.8px}.mobileMenu{display:block;position:relative}.mobileMenu summary{list-style:none;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.9px;cursor:pointer;padding:9px 0}.mobileMenu summary::-webkit-details-marker{display:none}.menuIcon{font-size:17px;line-height:1}.mobileMenu nav{position:absolute;right:0;top:42px;background:var(--green);color:var(--cream);padding:18px 22px;min-width:190px;z-index:10;box-shadow:0 10px 30px rgba(0,0,0,.12)}.mobileMenu nav a{display:block;padding:11px 0;font-size:13px;font-weight:700;letter-spacing:.9px}
  .pagehero{padding:56px 0 64px}.pagehero p{font-size:18px}.section{padding:62px 0}.card,.pricecard{padding:27px}.sectionhead p{font-size:17px}.faq p,.card p,.step p,.pricecard p,.pricecard ul{font-size:16px}.contactmethod{grid-template-columns:1fr;gap:7px;padding:18px 0!important}.contactaction{width:max-content;min-width:132px;margin-top:3px}
  .hero{grid-template-columns:1fr;gap:28px;padding:44px 0 58px;min-height:0}.hero-art{order:2}.hero .lead{font-size:18px}.actions .btn{width:100%;text-align:center}.intro{padding:60px 0}.introgrid{grid-template-columns:1fr;gap:34px}.mini-grid{grid-template-columns:1fr 1fr}.offer{padding:54px 0}.offerbox{grid-template-columns:1fr;padding:40px 28px;gap:26px}.final{padding:64px 0}.final h2{font-size:36px}
}
@media(max-width:480px){
  .wordmark{font-size:16px}.brandsub{font-size:7px}.mobileContact{font-size:10px;padding:9px 10px}.mobileMenu summary span:first-child{display:none}.topband .wrap{font-size:9px;letter-spacing:.55px}.mini-grid{grid-template-columns:1fr}.hero h1{font-size:36px}.final h2{font-size:32px}.legal h2{font-size:24px}
}


/* v24: shared banner consistency + compact contact actions */
.topband .wrap{display:flex!important;justify-content:center!important;align-items:center!important;gap:0!important}
.topband-content{display:inline-grid!important;grid-template-columns:auto auto auto auto auto!important;align-items:center!important;column-gap:11px!important;white-space:nowrap!important}
.topband-content .dot{display:block!important;color:var(--coral)!important;line-height:1!important;margin:0!important;transform:none!important;text-align:center!important}
.contactinfo{max-width:640px}
.contactmethod{display:grid!important;grid-template-columns:92px max-content 132px!important;justify-content:start;column-gap:14px!important;align-items:center}
.contactaction{width:132px!important;min-width:132px!important;padding:10px 12px!important}
@media(max-width:800px){
  .topband-content{column-gap:7px!important}
  .contactmethod{grid-template-columns:1fr!important;gap:7px!important}
  .contactaction{width:150px!important;min-width:150px!important;margin-top:3px}
}
@media(max-width:480px){.topband-content{column-gap:5px!important}}

/* v25: align and center contact action buttons */
.contactinfo{max-width:680px;margin-left:auto!important;margin-right:auto!important}
.contactmethod{grid-template-columns:92px 1fr 150px!important}
.contactaction{width:150px!important;min-width:150px!important;justify-self:center!important}
@media(max-width:800px){
  .contactmethod{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important}
  .contactvalue{display:block}
  .contactaction{width:170px!important;min-width:170px!important;margin:5px auto 0!important}
}


/* v26: launch-readiness, accessibility and interaction states */
:root{--coral-action:#ec645d;--coral-text:#ec645d}
.skip-link{position:fixed;left:16px;top:12px;z-index:9999;background:var(--green);color:var(--cream);padding:12px 16px;font-weight:700;transform:translateY(-180%);transition:transform .15s ease;border:2px solid var(--cream)}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.section.green a:focus-visible,.cta a:focus-visible,footer a:focus-visible,.mobileMenu nav a:focus-visible{outline-color:var(--cream)}
.btn,.mobileContact,.contactaction{background:var(--coral-action)}
.hero .btn.outline{background:var(--coral-action);border-color:var(--coral-action)}
.eyebrow,.card .num,.step .num{color:var(--coral-text)}
.navlinks a:not(.btn){padding:12px 2px;border-bottom:2px solid transparent}
.navlinks a[aria-current="page"]:not(.btn){border-bottom-color:var(--coral-action)}
.navlinks .btn[aria-current="page"],.mobileContact[aria-current="page"]{box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}
.mobileMenu nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.footerlinks a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.faq summary{min-height:44px;display:flex;align-items:center;padding-right:10px}
.contactaction{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.contactaction.pending{background:transparent;color:var(--green);border:1px solid var(--rose);opacity:.75}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.skip-link{transition:none}}
@media(max-width:800px){.mobileContact{min-height:44px;display:inline-flex;align-items:center}.mobileMenu summary{min-width:44px;min-height:44px;justify-content:center}.mobileMenu nav a{min-height:44px;display:flex;align-items:center}.footerlinks a{padding:5px 0}}

/* v28: lock brand alignment consistently across all pages */
.brandblock{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1}
.wordmark{display:block;line-height:1}


/* v31: shared service/location descriptor moved from header to key hero sections only. */
.hero-descriptor{color:var(--coral-text);font-size:15px;font-weight:700;letter-spacing:1.45px;text-transform:uppercase;line-height:1.35;margin:0 0 16px}
.hero .hero-descriptor{margin-bottom:18px}
.pagehero .hero-descriptor{margin-bottom:16px}
@media(max-width:800px){.hero-descriptor{font-size:13px;letter-spacing:1.05px;margin-bottom:14px}.hero .hero-descriptor{margin-bottom:15px}.pagehero .hero-descriptor{margin-bottom:14px}}

/* Credential logos */
.credential-logo{display:block;flex:0 0 86px;width:86px;height:auto;object-fit:contain}
.credential-logo-nbcaam{max-height:90px}
@media(max-width:800px){.credential-logo{flex-basis:72px;width:72px}.credential-logo-nbcaam{max-height:76px}}
