.parent-coaching-page{background:#fff}
.parent-hero h1{font-size:clamp(2.75rem,5vw,5.4rem)}
.parent-hero-title span{display:block}
.parent-hero-title span:first-child{margin-bottom:clamp(14px,2vw,24px);color:var(--deep);font-size:.82em;letter-spacing:-.035em}
.parent-hero-title span:last-child{max-width:780px;font-size:1.06em;line-height:.9}
.parent-truth span,.parent-truth strong{position:relative;display:block}
.parent-truth span{margin-bottom:18px;color:#fff;font-size:.72em;letter-spacing:-.02em}
.parent-truth strong{color:#9ff0a1;font-size:.96em;line-height:.9;text-wrap:balance;text-shadow:0 10px 34px rgb(0 0 0/.24)}
.parent-truth strong:after{display:block;width:68px;height:6px;margin-top:18px;border-radius:99px;background:#9ff0a1;content:""}
.parent-promise{color:#fff!important}
.definition-reassurance{max-width:460px;color:var(--green);font:800 clamp(1.5rem,2.5vw,2.5rem)/1.05 "League Spartan";letter-spacing:-.03em}
.definition-intro{align-self:start}
.definition-top-actions{align-items:stretch;flex-direction:column;margin-top:28px}
.definition-top-actions .button{width:100%}
.definition-closing-cta{width:100%;margin-top:22px}
.future-adult-emphasis{display:inline-block;padding:1px 7px 2px;border-radius:7px;background:linear-gradient(transparent 52%,rgb(22 139 52/.2) 52%);color:var(--purple);font-weight:900;white-space:nowrap}
.operating-system{position:relative;margin:28px 0;padding:22px 24px;border-left:8px solid var(--green);border-radius:0 20px 20px 0;background:var(--deep);color:#fff;box-shadow:0 18px 44px rgb(45 0 61/.18);overflow:hidden}
.operating-system:after{position:absolute;right:-54px;bottom:-72px;width:150px;height:150px;border:24px solid rgb(143 227 145/.11);border-radius:50%;content:""}
.operating-system span,.operating-system strong{position:relative;z-index:1;display:block;font-family:"League Spartan"}
.operating-system span{font-size:clamp(1.2rem,2vw,1.75rem);font-weight:700;letter-spacing:-.02em}
.operating-system strong{margin-top:4px;color:#9ff0a1;font-size:clamp(2.8rem,5vw,5.4rem);line-height:.78;letter-spacing:-.045em}
.transcript-toggle{cursor:pointer}
.parent-transcript{margin-top:22px;padding:20px;border-left:5px solid var(--green);border-radius:16px;background:#fff}
.parent-transcript p{margin-bottom:10px;font-size:.96rem}
.parent-transcript p:last-child{margin-bottom:0}

.code-section{background:var(--deep);color:#fff;overflow:hidden}
.code-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(38px,7vw,90px)}
.code-grid h2{font-size:clamp(2.45rem,3vw,2.8rem)}
.code-grid h2 span{display:block}
.code-copy{position:relative;padding:clamp(26px,4vw,44px);border:1px solid rgb(255 255 255/.16);border-radius:28px;background:rgb(255 255 255/.06)}
.code-copy:after{position:absolute;right:-120px;bottom:-190px;width:380px;height:380px;border:60px solid rgb(118 212 120/.08);border-radius:50%;content:"";pointer-events:none}
.code-copy p{position:relative;z-index:1;color:rgb(255 255 255/.78);font-size:1.05rem}
.code-copy p.major-code-line{margin:clamp(32px,4.5vw,48px) 0!important;padding:clamp(22px,3.5vw,34px);border:2px solid rgb(159 240 161/.38);border-left:10px solid #9ff0a1;border-radius:0 24px 24px 0;background:linear-gradient(135deg,rgb(159 240 161/.13),rgb(255 255 255/.04));color:#b9f3ba!important;box-shadow:0 22px 60px rgb(0 0 0/.2);font:800 clamp(2.8rem,4.8vw,5.2rem)/.88 "League Spartan"!important;letter-spacing:-.05em;text-shadow:0 8px 28px rgb(0 0 0/.28);text-wrap:balance}

.growth-story{padding-bottom:0!important;background:linear-gradient(180deg,#fbfaf7,#fff)}
.growth-intro{max-width:900px;text-align:center}
.growth-intro .eyebrow{justify-content:center}
.growth-intro h2{font-size:clamp(2.6rem,5vw,5rem)}
.growth-stage{display:grid;grid-template-columns:8px 1fr;gap:clamp(22px,4vw,48px);max-width:950px;padding-top:34px}
.growth-progress{position:sticky;top:145px;width:6px;height:calc(100vh - 260px);max-height:520px;border-radius:99px;background:rgb(73 3 99/.1);overflow:hidden}
.growth-progress span{display:block;width:100%;height:0;background:var(--grad);transition:height .65s ease}
.growth-steps{padding-bottom:clamp(34px,6vh,72px)}
.growth-step{min-height:64vh;margin:0;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;color:#a29ba5;font:700 clamp(2rem,4.7vw,5rem)/1 "League Spartan";letter-spacing:-.045em;opacity:.42;transform:translateY(18px);transition:color .7s,opacity .7s,transform .7s}
.growth-step span,.growth-step strong{display:block}
.growth-step span{max-width:830px}
.growth-step strong{position:relative;max-width:900px;margin-top:clamp(18px,3vw,30px);padding-left:clamp(34px,5vw,66px);color:inherit;font-size:.82em;line-height:.98}
.growth-step strong:before{position:absolute;top:.43em;left:0;width:clamp(22px,3.5vw,44px);height:5px;border-radius:99px;background:currentColor;content:""}
.growth-step.current{color:var(--purple);opacity:1;transform:none}
.growth-step.current strong{color:var(--green)}
.growth-step.passed{color:#746c78;opacity:.62;transform:none}
.growth-turn{display:grid;min-height:78vh;align-content:center;text-align:center}
.growth-turn p,.growth-turn strong{opacity:0;transform:translateY(18px);transition:opacity 1s,transform 1s}
.growth-turn p{margin-bottom:28px;color:var(--purple);font:800 clamp(3.2rem,7vw,7.2rem)/.9 "League Spartan";letter-spacing:-.055em}
.growth-turn strong{color:var(--green);font:800 clamp(2.2rem,5vw,5rem)/.95 "League Spartan";letter-spacing:-.045em;transition-delay:.8s}
.growth-turn.revealed p,.growth-turn.revealed strong{opacity:1;transform:none}
.growth-bridge{position:relative;z-index:2;margin:0 auto clamp(34px,5vw,64px);padding:clamp(30px,5vw,56px);border:1px solid rgb(73 3 99/.1);border-radius:30px;background:#fff;box-shadow:0 24px 70px rgb(45 0 61/.12);text-align:center}
.growth-bridge>p:first-child{margin-bottom:16px;color:var(--green);font:800 clamp(1.7rem,2.8vw,2.7rem)/1 "League Spartan";letter-spacing:-.03em}
.growth-bridge h3{max-width:800px;margin:0 auto 24px;color:var(--purple);font-size:clamp(2.2rem,4.5vw,4.8rem)}
.growth-bridge h3 em{color:var(--green);font-style:normal}
.growth-bridge>p:not(:first-child){max-width:720px;margin:0 auto 30px;color:var(--muted);font-size:1.1rem}
.growth-bridge>strong,.growth-bridge>span{display:block}
.growth-bridge>strong{max-width:780px;margin:0 auto 12px;color:var(--deep);font:800 clamp(1.8rem,3.4vw,3.4rem)/1 "League Spartan";letter-spacing:-.035em}
.growth-bridge>span{color:var(--green);font:800 clamp(2.1rem,4.2vw,4.5rem)/.95 "League Spartan";letter-spacing:-.045em}
.breathe-transition{position:relative;display:grid;width:min(100%,620px);min-height:340px;margin:0 auto clamp(26px,4vw,48px);place-items:center;align-content:center;isolation:isolate;text-align:center}
.breathe-rings,.breathe-rings:before,.breathe-rings:after{position:absolute;inset:50% auto auto 50%;width:240px;height:240px;border:3px solid rgb(73 3 99/.16);border-radius:50%;content:"";transform:translate(-50%,-50%)}
.breathe-rings{z-index:-1;background:radial-gradient(circle,rgb(233 245 233/.9),rgb(242 232 246/.45) 55%,transparent 70%);animation:breatheRing 5s ease-in-out infinite}
.breathe-rings:before{width:175px;height:175px;border-color:rgb(3 99 6/.22)}
.breathe-rings:after{width:305px;height:305px;border-color:rgb(73 3 99/.1)}
.breathe-transition>span{color:var(--purple);font:800 clamp(3.8rem,7vw,7.4rem)/1 "League Spartan";letter-spacing:.08em;animation:breatheWord 5s ease-in-out infinite}
.breathe-transition small{display:block;margin-top:16px;color:var(--green);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
@keyframes breatheWord{0%{opacity:.12;transform:scale(.9)}60%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.06)}}
@keyframes breatheRing{0%{opacity:.35;transform:translate(-50%,-50%) scale(.78)}60%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.12)}}
.context-copy{max-width:820px;padding:clamp(40px,7vw,82px) clamp(22px,5vw,68px);border-radius:30px 30px 0 0;background:var(--deep);color:#fff;box-shadow:var(--shadow)}
.context-copy p{color:rgb(255 255 255/.8);font-size:1.1rem}
.context-no{margin-bottom:clamp(10px,1.5vw,18px);color:#9ff0a1!important;font:800 clamp(3rem,6vw,6rem)/1 "League Spartan"!important}
.context-rule{color:#fff!important;font:800 clamp(2.5rem,5vw,5rem)/1 "League Spartan"!important;letter-spacing:-.045em}
.context-takeaway{margin:clamp(34px,5vw,54px) 0 0!important;padding:clamp(24px,4vw,38px) 0 0;border-top:2px solid rgb(159 240 161/.35);color:#9ff0a1!important;font:500 clamp(2.2rem,4.2vw,4.4rem)/.94 "League Spartan"!important;letter-spacing:-.04em;text-wrap:balance}
.context-takeaway strong{font-weight:800}

.parent-familiar{padding-top:clamp(76px,9vw,112px)!important}
.parent-familiar-grid{grid-template-columns:repeat(3,1fr)}
.parent-familiar-grid .familiar-card{display:flex;min-height:360px;flex-direction:column}
.parent-familiar-grid .familiar-card h3{width:100%;margin:22px 0;padding:14px 8px;border-block:1px solid rgb(73 3 99/.1);font-size:clamp(1.45rem,2vw,2.1rem);letter-spacing:.015em;line-height:.92;text-align:center;text-transform:uppercase}
.parent-familiar-grid .familiar-card h3.descriptor-lower{margin-top:36px;margin-bottom:8px}
.parent-familiar-grid .familiar-card p:last-child{margin-top:auto}
.parent-familiar .section-kicker + .wfht-row{margin-bottom:clamp(30px,4vw,48px)}

.what-we-do{background:#fff}
.what-we-do-layout{grid-template-columns:1fr;gap:clamp(30px,5vw,54px)}
.what-we-do-intro h2{max-width:760px}
.what-we-do-intro>p:not(.eyebrow){max-width:780px;font-size:1.05rem}
.what-we-do h2{font-size:clamp(2.4rem,3vw,2.7rem)}
.what-we-do h2 span{display:block}
.action-path{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.action-path article{display:grid;grid-template-columns:44px 1fr;column-gap:18px;padding:20px;border:1px solid rgb(73 3 99/.12);border-radius:18px;background:var(--paper)}
.action-path article:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}
.action-path span{grid-row:1/3;color:var(--green);font-size:.78rem;font-weight:900;letter-spacing:.14em}
.action-path h3{margin:0 0 6px;color:var(--purple);font-size:clamp(1.55rem,2.3vw,2.3rem)}
.action-path p{grid-column:2;margin:0;color:var(--muted)}
.all-at-once{margin-top:clamp(40px,6vw,70px);padding:clamp(28px,5vw,54px);border-radius:26px;background:var(--grad);color:#fff;font:700 clamp(2rem,4vw,4rem)/1 "League Spartan";letter-spacing:-.04em;text-align:justify;text-wrap:pretty}
.all-at-once strong{display:block;margin-top:14px;color:#b9f3ba;text-align:center}

@media(max-width:760px){
  .action-path{grid-template-columns:1fr}
  .action-path article:last-child{grid-column:auto;width:100%}
}

.parent-sessions .sessions-heading p:last-child{color:var(--green);font-weight:800}
.session-heading-line{display:block}
.session-heading-break{display:block;margin-top:.18em}
.inline-label{display:inline!important;margin:0!important;color:inherit!important;font-size:inherit!important}
.parent-packages{grid-column:span 2}

@media(max-width:1100px){
  .parent-familiar-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .code-grid{grid-template-columns:1fr}
  .parent-packages{grid-column:auto}
}
@media(max-width:620px){
  .parent-familiar-grid{grid-template-columns:1fr}
  .parent-familiar-grid .familiar-card{min-height:auto}
  .growth-stage{grid-template-columns:5px 1fr;gap:18px}
  .growth-step{min-height:58vh;font-size:clamp(2.25rem,11vw,3.6rem)}
  .growth-turn{min-height:70vh}
  .growth-bridge{border-radius:22px}
  .context-copy{border-radius:24px 24px 0 0}
}
@media(prefers-reduced-motion:reduce){
  .growth-steps{padding-bottom:0}
  .growth-step{min-height:auto;margin:46px 0;color:var(--purple);opacity:1;transform:none;transition:none}
  .growth-turn{min-height:auto;padding:80px 0}
  .growth-turn p,.growth-turn strong{opacity:1;transform:none;transition:none}
  .breathe-rings,.breathe-transition>span{animation:none}
}
