/* A shared, quiet motion language for the website and the course portal. */
:root{--tc-ease:cubic-bezier(.22,.7,.2,1);--tc-fast:160ms;--tc-motion:320ms}
@keyframes tc-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes tc-header-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes tc-menu-arrive{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.concept-header{animation:tc-header-arrive 450ms var(--tc-ease) both}
.home-intro>.eyebrow,.product-copy>.eyebrow{animation:tc-arrive 520ms var(--tc-ease) both}
.home-intro>h1,.product-copy>h1{animation:tc-arrive 600ms 50ms var(--tc-ease) both}
.home-intro>.learning-motto,.product-copy>.learning-motto{animation:tc-arrive 600ms 110ms var(--tc-ease) both}
.home-intro>.hero-actions,.product-copy>.hero-actions{animation:tc-arrive 600ms 160ms var(--tc-ease) both}
.page-heading,.auth-card{animation:tc-arrive 440ms var(--tc-ease) both}
.mobile-nav:not([hidden]){animation:tc-menu-arrive 240ms var(--tc-ease) both}
dialog[open],.cookie-panel:not([hidden]){animation:tc-arrive 260ms var(--tc-ease) both}
.tc-motion-pending{opacity:0;transform:translateY(18px)}
.tc-motion-pending,.tc-motion-in{transition:opacity 620ms var(--tc-ease),transform 620ms var(--tc-ease);transition-delay:var(--tc-stagger,0ms)}
.tc-motion-in{opacity:1;transform:none}
.action,.button,.account-button,button,.sidebar nav>a,.course-link,.text-button{transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,box-shadow 240ms var(--tc-ease),transform 240ms var(--tc-ease)}
.course-card,.learning-card{transition:transform 380ms var(--tc-ease),box-shadow 380ms var(--tc-ease),opacity 620ms var(--tc-ease)}
.course-photo{overflow:hidden}.course-photo img,.learning-card>img{transition:transform 700ms var(--tc-ease)}
.sidebar{transition:transform 300ms var(--tc-ease)}
.curriculum-item[open]>:not(summary),.home-faq details[open]>:not(summary),.payment-course[open]>form{animation:tc-arrive 260ms var(--tc-ease) both}
.curriculum-item .plus,.home-faq summary span[aria-hidden]{transition:transform 240ms var(--tc-ease)}
.curriculum-item[open] .plus,.home-faq details[open] summary span[aria-hidden]{transform:rotate(45deg)}
.action:active,.button:active,.account-button:active{transform:translateY(1px) scale(.985)}
:is(.action,.button,.account-button,.slideshow-control):focus-visible{outline:3px solid #829c64;outline-offset:4px}
@media(hover:hover) and (pointer:fine){
 .action:hover,.button:hover,.account-button:hover{transform:translateY(-2px);box-shadow:0 7px 16px #203b2717}
 .course-card:hover,.learning-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px #243a2512}
 .course-card:hover .course-photo img,.learning-card:hover>img{transform:scale(1.025)}
}
@media(prefers-reduced-motion:reduce){
 html,html:focus-within{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
 .tc-motion-pending,.tc-motion-in{opacity:1!important;transform:none!important}
}
