/* Purposeful movement; interaction remains fully usable without animation. */
/* Explicit affordances across browsers. Non-interactive copy keeps its normal cursor. */
:is(a[href],button,summary,select,input[type="button"],input[type="submit"],input[type="reset"],input[type="checkbox"],input[type="radio"],input[type="range"],[role="button"],[role="link"],[data-action]):not(:disabled):not([aria-disabled="true"]){cursor:pointer}
label:has(input:is([type="checkbox"],[type="radio"]):not(:disabled)){cursor:pointer}
:is(button,input,select,textarea):disabled,[aria-disabled="true"]{cursor:not-allowed}
label:has(input:is([type="checkbox"],[type="radio"]):disabled){cursor:not-allowed}
/* Framed typographic identity; lettering is outlined, no font dependency. */
.brand.wordmark-brand{width:182px;max-width:100%;display:inline-flex;letter-spacing:0;line-height:1;flex-shrink:0}
.brand.wordmark-brand img{width:100%;height:auto;object-fit:contain}
.footer .brand.wordmark-brand{width:220px}
@media(max-width:1100px){.desktop-nav{gap:18px;font-size:12px}.nav-wrap{gap:20px}.account-link{font-size:11px;padding:9px 11px}}
@media(max-width:800px){.brand.wordmark-brand{width:164px}.footer .brand.wordmark-brand{width:220px}}
@media(max-width:480px){.brand.wordmark-brand{width:158px}.nav-wrap{gap:10px}.nav-actions{gap:8px}}
.reading-progress{position:fixed;z-index:60;top:0;left:0;width:100%;height:3px;background:#5e8c7b;transform:scaleX(0);transform-origin:left;pointer-events:none}
.header{transition:box-shadow .25s ease,background .25s ease}
.header.is-scrolled{box-shadow:0 3px 20px #203b3510}
.button{transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 5px 12px #163b3517}
.button:active{transform:translateY(0);box-shadow:none}
.button>span,.text-link>span:last-child:not(.play-mini),.course-price a>span{display:inline-block;transition:transform .22s}
.button:hover>span,.text-link:hover>span:last-child:not(.play-mini),.course-price a:hover>span{transform:translateX(3px)}
.course-card{transition:transform .28s,border-color .28s,box-shadow .28s}
.course-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #193e3410}
.event-row{transition:padding-left .25s,background .25s}
.event-row:hover{padding-left:8px}
.event-arrow{transition:transform .25s,background .25s,color .25s}
.event-row:hover .event-arrow{transform:rotate(45deg)}
.text-link .play-mini{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background .2s,transform .25s}
.play-mini svg{display:block;width:12px;height:12px;fill:currentColor;stroke:none;transform:translateX(1px)}
.text-link:hover .play-mini{transform:scale(1.08);background:#e5eee9}
.back-top{position:fixed;bottom:24px;right:25px;width:43px;height:43px;z-index:25;border-radius:50%;background:#fff;border:1px solid #cad6d0;color:#234c4b;box-shadow:0 4px 18px #142b3210;font-size:21px;transition:transform .2s,background .2s}
.back-top:hover{transform:translateY(-3px);background:#eef4f0}
.search-clear{font-size:20px;line-height:1;min-width:30px;min-height:30px;color:#61756b;border-radius:4px}
.search-clear:hover{background:#eaf1ed}
.searchbox{gap:8px}
.searchbox input::-webkit-search-cancel-button{display:none}
.belief-band{padding:56px 0;border-block:1px solid #e3e9e5;background:#fff}
.belief-band .container{display:flex;align-items:center;gap:30px}
.belief-mark{font-family:Georgia,serif;color:#b2c7bb;font-size:95px;line-height:.7;align-self:start;padding-top:18px}
.belief-band p{font-size:25px;line-height:1.5;color:#3d5d50;letter-spacing:-.5px;margin:0;flex:1;font-weight:400}
.belief-band strong{font-weight:600}
.belief-band .eyebrow{font-size:9px;color:#7c9185;white-space:nowrap}
.mobile-course-bar{display:none}
dialog[open]{animation:dialogIn .24s ease both}
#mobile-nav:not([hidden]){animation:menuIn .2s ease both}
.hero-copy>*{animation:heroIn .65s cubic-bezier(.2,.65,.25,1) both}
.hero-copy .eyebrow{animation-delay:.04s}.hero-copy h1{animation-delay:.1s}
.hero-copy>p{animation-delay:.18s}.hero-buttons{animation-delay:.26s}.hero-bottom{animation-delay:.33s}
.hero-photo{animation:heroIn .8s .18s cubic-bezier(.2,.65,.25,1) both}
.page-intro{animation:heroIn .45s ease both}
.reveal-pending{opacity:0;transform:translateY(22px);transition:opacity .6s var(--reveal-delay,0ms),transform .6s cubic-bezier(.2,.65,.25,1) var(--reveal-delay,0ms)}
.reveal-pending.reveal-visible{opacity:1;transform:translateY(0)}
.reveal-visible.course-card:hover{transform:translateY(-5px)}
.results-updated>.course-card{animation:resultIn .28s ease both}
.results-updated>.course-card:nth-child(2){animation-delay:.04s}
.results-updated>.course-card:nth-child(3){animation-delay:.08s}
@keyframes heroIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes resultIn{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialogIn{from{opacity:0;transform:translateY(9px) scale(.98)}to{opacity:1;transform:none}}
@keyframes menuIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media(max-width:800px){
 .belief-band{padding:38px 0}.belief-band .container{gap:18px}.belief-band .eyebrow{display:none}
 .belief-band p{font-size:22px}.belief-mark{font-size:76px}
 .mobile-course-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid #d6e0d9;padding:13px 22px calc(13px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:16px;box-shadow:0 -3px 18px #1b393408}
 .mobile-course-bar strong{display:block;color:#234c4b;font-size:20px;line-height:1.4}
 .mobile-course-bar small{font-size:9px;color:#687b70;display:block}
 .mobile-course-bar .button{min-height:44px;padding:11px 17px;font-size:12px;white-space:nowrap}
 .has-mobile-course{padding-bottom:92px}.has-mobile-course .back-top{bottom:104px}
 .back-top{right:18px;bottom:18px;width:39px;height:39px}
}
@media(max-width:480px){.belief-band p{font-size:20px}.belief-band .container{gap:12px}.belief-mark{font-size:65px}.mobile-course-bar{padding-inline:18px}.mobile-course-bar .button{padding-inline:14px}.mobile-course-bar small{max-width:155px;line-height:1.5}.mobile-course-bar strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .reveal-pending{opacity:1;transform:none}
 .button:hover,.course-card:hover,.reveal-visible.course-card:hover{transform:none}
}
