/* Course dossier. Scoped to the landing; account, classroom and checkout keep their UI. */
body:has(.training-landing){--gutter:clamp(22px,5.5vw,88px)}
.training-landing{--training-space:clamp(56px,7vw,96px);--training-h1:clamp(52px,5.7vw,88px);--training-h2:clamp(34px,4.3vw,58px);--training-h3:26px;--training-body:17px;--training-body-sm:16px;--training-caption:14px;--training-meta:13px;--training-button:15px;font-size:var(--training-body);line-height:1.55}
.training-landing section[id]{scroll-margin-top:24px}
.training-landing h2{font-size:var(--training-h2);line-height:1.05;letter-spacing:-.055em;margin:0}
.training-landing h3{font-size:var(--training-h3);line-height:1.12;margin:0}
.training-landing p{margin-bottom:0}
.training-cover{padding-top:12px}
.training-cover-index{display:flex;justify-content:space-between;gap:24px;align-items:center;font-family:var(--mono);font-size:var(--training-meta);line-height:1.5}
.training-cover-index p{letter-spacing:.04em;text-transform:uppercase}
.training-cover-index a{padding-block:10px;min-height:44px}
.training-cover-index a:hover{text-decoration:underline;text-underline-offset:5px}
.training-cover-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(32px,4vw,64px);padding-block:12px 12px;align-items:center}
.training-cover-copy h1{font-size:var(--training-h1);line-height:.99;letter-spacing:-.065em;margin:0 0 18px}
.training-subtitle{font-size:clamp(21px,2vw,27px);line-height:1.25;margin-bottom:18px!important;font-style:italic}
.training-intro{max-width:47ch!important;font-size:var(--training-body-sm);line-height:1.55}
.training-cover-offer{display:flex;align-items:center;gap:24px;margin-top:22px;flex-wrap:wrap}
.training-cover-offer p{display:flex;flex-direction:column;line-height:1.25;flex:1;min-width:155px}
.training-cover-offer strong{font-size:23px;font-weight:400;letter-spacing:-.02em}
.training-cover-offer p>span{font-size:var(--training-caption);color:var(--stone);margin-top:4px}
.training-offer-note{font-size:var(--training-caption);color:var(--stone);line-height:1.65;margin-top:12px!important}
.training-text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding-block:8px;text-decoration:underline;text-underline-offset:5px;font-size:var(--training-body-sm)}
.training-text-link:hover{text-decoration-thickness:2px}
.training-cover-copy>.training-text-link{margin-top:8px}
.training-screen{min-width:0;width:100%;display:grid;grid-template-columns:1fr;gap:0;align-items:start}
.training-take{margin:0}
.training-frame{position:relative;width:100%;background:var(--coal);aspect-ratio:4/3;max-height:calc(100svh - 280px)}
.training-frame>img,.training-frame>video{position:absolute;top:0;left:50%;transform:translateX(-50%);width:auto;height:100%;max-width:100%;aspect-ratio:9/16;object-fit:contain}
.training-frame>button{position:absolute;bottom:14px;left:50%;right:auto;transform:translateX(-50%);width:min(280px,calc(100% - 28px));display:flex;justify-content:space-between;gap:12px;min-height:48px;align-items:center;border:0;background:var(--ivory);color:var(--coal);padding:12px 15px;font-size:var(--training-button)}
.training-frame>button:hover{background:var(--white)}
.training-frame>button:active{transform:translateX(-50%) translateY(1px)}
.training-film-selector button:active>img{transform:scale(.96)}
.training-frame>button>span{font-family:var(--mono);font-size:var(--training-meta)}
.training-take figcaption{display:flex;justify-content:space-between;gap:12px;font-size:var(--training-caption);padding-block:10px}
.training-take figcaption>span:last-child{font-family:var(--mono);font-size:var(--training-meta);color:var(--stone)}
.training-video-status{position:absolute;inset:auto 10px 72px;background:var(--coal);color:var(--ivory);font-size:var(--training-caption);padding:10px;pointer-events:none}
.training-film-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.training-film-selector button{padding:10px 0;display:flex;align-items:center;gap:10px;color:var(--stone);background:none;border:0;border-bottom:2px solid transparent;text-align:left;min-height:68px;font-size:var(--training-meta)}
.training-film-selector button>img{width:27px;height:48px;object-fit:cover;opacity:.65;transition:transform .2s var(--ease),opacity .2s var(--ease)}
.training-film-selector button>span{display:block}
.training-film-selector button small{display:block;font-family:var(--mono);font-size:var(--training-meta);margin-bottom:4px}
.training-film-selector button[aria-pressed=true]{color:var(--ivory);border-bottom-color:var(--ivory)}
.training-film-selector button[aria-pressed=true]>img{opacity:1}
.training-film-selector button:hover>img{transform:translateY(-3px);opacity:1}
.training-film-selector button:hover{color:var(--ivory)}
.training-screen-note{display:none}
.training-section-nav{display:flex;gap:32px;border-top:1px solid #ada79b60;padding-block:6px;margin-top:0;flex-wrap:wrap;font-size:var(--training-button)}
.training-section-nav a{min-height:44px;display:flex;align-items:center}
.training-section-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.training-program,.training-plans{background:var(--ivory);color:var(--coal);padding-block:var(--training-space)}
.training-program-head{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;margin-bottom:48px;align-items:end}
.training-program-head>p{max-width:33ch!important;font-size:var(--training-body)}
.training-stage{display:grid;grid-template-columns:1fr 2fr;gap:64px;border-top:1px solid #5b4b3c70;padding-block:25px 34px}
.training-stage-range{font-family:var(--mono);font-size:var(--training-meta);color:var(--brown);margin-bottom:10px!important}
.training-stage-intro h3{font-size:25px}
.training-stage-intro>p:last-child{font-size:var(--training-body-sm);margin-top:14px!important;max-width:29ch!important}
.training-lesson{border-bottom:1px solid #5b4b3c40}
.training-lesson summary{display:grid;grid-template-columns:32px 1fr 24px;gap:14px;align-items:center;padding-block:16px;min-height:62px;font-size:20px;line-height:1.25;cursor:pointer;list-style:none;letter-spacing:-.015em}
.training-lesson-number{font-family:var(--mono);font-size:var(--training-meta);color:var(--brown)}
.training-disclosure{font-size:24px;font-weight:400;text-align:center;line-height:1}
.training-lesson summary::-webkit-details-marker,.training-faq summary::-webkit-details-marker{display:none}
.training-lesson[open] .training-disclosure,.training-faq[open] .training-disclosure{font-size:0}
.training-lesson[open] .training-disclosure::after,.training-faq[open] .training-disclosure::after{content:'−';font-size:24px}
.training-lesson summary:hover>span:nth-child(2){text-decoration:underline;text-underline-offset:4px}
.training-lesson>p{padding:0 38px 20px 46px;font-size:var(--training-body-sm);max-width:58ch!important}
.training-program-note{border-top:1px solid #5b4b3c70;padding-top:24px;font-size:var(--training-button);max-width:85ch!important}
.training-method{padding-block:var(--training-space)}
.training-teacher{display:grid;grid-template-columns:minmax(210px,30%) 1fr;gap:clamp(40px,8vw,115px);align-items:center}
.training-teacher figure{margin:0;max-width:330px}
.training-teacher img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.training-teacher figcaption{font-size:var(--training-meta);color:var(--stone);margin-top:16px;max-width:29ch}
.training-teacher h2{font-size:clamp(48px,6vw,82px);line-height:.98;margin-bottom:26px}
.training-method-lead{font-size:clamp(19px,2.05vw,26px);line-height:1.35;margin-bottom:22px!important;max-width:39ch!important}
.training-teacher>div>p:not(.training-method-lead){max-width:46ch!important}
.training-publication{display:grid;grid-template-columns:1fr 1.35fr;gap:80px;border-top:1px solid #ada79b60;margin-top:56px;padding-top:30px}
.training-publication h3{font-size:clamp(30px,3.2vw,44px)}
.training-publication>div>p{font-size:var(--training-button);color:var(--stone);margin-top:20px}
.training-publication dl{margin:0}
.training-publication dl>div{display:grid;grid-template-columns:190px 1fr;gap:24px;padding-block:16px;border-bottom:1px solid #ada79b40}
.training-publication dl>div:first-child{padding-top:0}
.training-publication dt{font-weight:700;font-size:var(--training-body-sm);line-height:1.35}
.training-publication dd{margin:0;font-size:var(--training-body-sm);line-height:1.5}
.training-plans-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:36px}
.training-plans-head p{font-size:var(--training-body)}
.training-comparison{border-collapse:collapse;width:100%;table-layout:fixed;text-align:left;font-size:var(--training-body)}
.training-label-col{width:24%}
.training-comparison th,.training-comparison td{vertical-align:top;padding:20px 24px;border-bottom:1px solid #5b4b3c55;font-weight:400;line-height:1.4}
.training-comparison tr>*:first-child{padding-left:0}
.training-comparison thead th{padding-top:0;padding-bottom:28px}
.training-comparison thead th:nth-child(2){border-top:3px solid var(--coal);padding-top:14px}
.training-comparison thead th:nth-child(3){padding-top:17px}
.training-plan-name{font-size:36px;letter-spacing:-.04em;display:block;margin-bottom:10px}
.training-plan-price{font-size:clamp(30px,3.8vw,52px);letter-spacing:-.055em;display:block;line-height:1}
.training-plan-price small{display:block;font-size:var(--training-button);letter-spacing:0;margin-top:7px}
.training-plan-summary{font-size:var(--training-body-sm);display:block;margin-top:18px}
.training-comparison tbody th{font-family:var(--mono);font-size:var(--training-meta);color:var(--brown)}
.training-comparison .button-primary{background:var(--coal);color:var(--ivory)}
.training-comparison .button-primary:hover{background:var(--brown)}
.training-plan-actions>*{border-bottom:0!important}
.training-terms{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:20px;border-top:1px solid #5b4b3c55;font-size:var(--training-caption);color:var(--brown)}
.training-terms a{text-decoration:underline;text-underline-offset:.2em}
.training-questions{padding-block:var(--training-space)}
.training-questions h2{font-size:36px;margin-bottom:28px}
.training-faq{border-top:1px solid #ada79b60}
.training-faq summary{display:flex;justify-content:space-between;align-items:center;gap:28px;min-height:66px;padding-block:18px;list-style:none;cursor:pointer;font-size:20px;line-height:1.3}
.training-faq summary:hover{text-decoration:underline;text-underline-offset:4px}
.training-faq>p{padding:0 40px 24px 0;max-width:80ch!important;font-size:var(--training-body);color:var(--stone)}
.training-next{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;border-top:1px solid #ada79b60;margin-top:30px;padding-top:30px}
.training-next h3{font-size:30px;margin-bottom:14px}
.training-next p{max-width:42ch!important;font-size:var(--training-body-sm)}
.training-next .button{margin-top:22px}
.training-next>div:last-child>a{display:flex;width:fit-content}
@media(min-width:1000px) and (max-height:750px){.training-cover{padding-top:8px}.training-cover-layout{padding-block:6px 10px}.training-frame{max-height:calc(100svh - 250px)}.training-cover-copy h1{font-size:clamp(50px,4.5vw,64px);margin-bottom:12px}.training-subtitle{font-size:22px;margin-bottom:12px!important}.training-intro{line-height:1.45}.training-cover-offer{margin-top:16px}.training-cover-copy>.training-text-link{margin-top:0}.training-section-nav{margin-top:0}}
@media(max-width:1000px){.training-cover-layout{gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.training-cover-copy h1{font-size:clamp(46px,6.3vw,65px)}.training-cover-offer{gap:16px}.training-cover-offer strong{font-size:21px}.training-program-head{gap:32px;grid-template-columns:1.5fr 1fr}.training-stage{gap:32px;grid-template-columns:1fr 1.8fr}.training-publication{gap:40px;grid-template-columns:1fr 1.2fr}.training-publication dl>div{grid-template-columns:1fr;gap:8px}.training-comparison th,.training-comparison td{padding-inline:18px}}
@media(max-width:700px){.training-landing{font-size:var(--training-body-sm)}.training-cover{padding-top:16px}.training-cover-index{font-size:12px;align-items:start}.training-cover-index a{font-size:12px;padding-top:0;min-height:24px;max-width:13ch;text-align:right}.training-cover-layout{grid-template-columns:1fr;gap:36px;padding-top:22px}.training-cover-copy h1{font-size:clamp(41px,10.8vw,65px);line-height:1.02;margin-bottom:16px}.training-subtitle{font-size:21px;margin-bottom:18px!important}.training-intro{font-size:var(--training-body-sm)}.training-cover-offer{margin-top:22px;gap:16px}.training-cover-offer strong{font-size:20px}.training-cover-offer .button{gap:14px;padding-inline:16px;font-size:var(--training-caption)}.training-offer-note{font-size:var(--training-caption)}.training-section-nav{gap:0;display:grid;grid-template-columns:1fr 1fr;font-size:var(--training-caption);padding-block:8px}.training-program-head{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.training-program-head>p{max-width:40ch!important;font-size:var(--training-body-sm)}.training-program-head h2{font-size:clamp(32px,7.5vw,46px)}.training-stage{grid-template-columns:1fr;gap:14px;padding-block:24px}.training-stage-intro{display:grid;grid-template-columns:1fr auto;gap:8px 16px}.training-stage-range{grid-column:1/-1;margin-bottom:0!important}.training-stage-intro h3{font-size:24px}.training-stage-intro>p:last-child{grid-column:1/-1;max-width:42ch!important;margin-top:0!important}.training-lesson summary{font-size:18px;grid-template-columns:24px 1fr 22px;gap:10px;min-height:60px}.training-lesson>p{padding-left:34px;padding-right:12px}.training-program-note{font-size:var(--training-caption)}.training-teacher{grid-template-columns:1fr;gap:28px}.training-teacher figure{width:70%;max-width:290px}.training-teacher h2{font-size:52px;margin-bottom:20px}.training-teacher h2 br{display:none}.training-method-lead{font-size:22px}.training-publication{grid-template-columns:1fr;gap:28px;margin-top:36px;padding-top:28px}.training-publication dl>div{grid-template-columns:1fr;gap:8px;padding-block:18px}.training-publication h3{font-size:34px}.training-plans-head{display:block;margin-bottom:32px}.training-plans-head h2{font-size:36px}.training-plans-head p{font-size:var(--training-body-sm);margin-top:18px}.training-label-col{width:23%}.training-comparison{font-size:var(--training-button);line-height:1.5}.training-comparison th,.training-comparison td{padding:16px 10px;overflow-wrap:break-word}.training-comparison tbody th{font-size:12px}.training-comparison thead th{padding-bottom:22px}.training-plan-name{font-size:27px;margin-bottom:14px}.training-plan-price{font-size:clamp(24px,6.5vw,35px);white-space:nowrap}.training-plan-price small{font-size:var(--training-caption)}.training-plan-summary{font-size:var(--training-caption);margin-top:16px}.training-plan-actions .button{font-size:var(--training-caption);padding:12px;min-height:54px;gap:8px;display:flex;white-space:normal}.training-plan-actions .button span{display:none}.training-plan-actions .training-text-link{font-size:var(--training-caption)}.training-terms{grid-template-columns:1fr;gap:14px;padding-top:14px;font-size:var(--training-caption)}.training-questions h2{font-size:32px}.training-faq summary{font-size:18px;min-height:68px;gap:16px}.training-faq p{padding-right:8px;font-size:var(--training-body-sm)}.training-next{grid-template-columns:1fr;gap:32px}.training-next h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.training-landing *{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:700px){
  .training-teacher h2 br{display:block}
  .training-comparison,.training-comparison thead,.training-comparison tbody{display:block;width:100%}
  .training-comparison colgroup{display:none}
  .training-comparison tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #5b4b3c55}
  .training-comparison thead td{display:none}
  .training-comparison thead th{padding-inline:12px;border-bottom:0}
  .training-comparison thead th:nth-child(2){padding-left:0}
  .training-plan-price{font-size:30px}
  .training-comparison tbody th{grid-column:1/-1;font-size:var(--training-meta);padding:18px 0 8px;border:0;color:var(--brown)}
  .training-comparison tbody td{font-size:var(--training-body-sm);line-height:1.5;border:0;padding:0 12px 18px}
  .training-comparison tbody td:nth-child(2){padding-left:0}
  .training-comparison .training-plan-actions{border-bottom:0}
  .training-plan-actions th{display:none}
  .training-comparison .training-plan-actions td{padding-top:20px}
}
.training-future-price{display:block!important;font-size:13px!important;letter-spacing:0;line-height:1.45;color:var(--stone)}
.training-comparison .training-future-price{color:var(--brown);margin-bottom:12px}
.training-future-price s{text-decoration-thickness:1px}
.training-future-price>span{display:block}
.training-launch-terms{font-size:16px;line-height:1.6;max-width:78ch!important;margin:20px 0 24px!important}
.training-comparison .training-future-price{margin-top:12px;margin-bottom:0}

/* Mobile keeps the portrait complete at the full available width, with controls below. */
@media(max-width:700px){
  .training-screen{width:100%}
  .training-frame{aspect-ratio:9/16;max-height:560px}
  .training-film-selector{gap:10px}
  .training-film-selector button{gap:7px;min-height:92px;font-size:var(--training-meta);flex-direction:column;align-items:flex-start}
  .training-film-selector button>img{width:22px;height:40px}
  .training-take figcaption{flex-wrap:wrap}
}

@media(min-width:701px) and (max-width:1000px){
  .training-frame{aspect-ratio:9/16;max-height:550px}
  .training-film-selector button{gap:7px;min-height:92px;flex-direction:column;align-items:flex-start}
  .training-film-selector button>img{width:22px;height:40px}
  .training-take figcaption{flex-wrap:wrap}
}
