/* Shared visual language for the public site and authenticated workspace. */
:root{--itl-green:#175a3f;--itl-green-light:#247759;--itl-green-soft:#eaf2ed;--itl-green-mid:#cbded2;--gray-50:#f8f8f5;--gray-100:#f1f1eb;--gray-200:#dedfd6;--gray-400:#858d84;--gray-500:#69746b;--gray-700:#33423a;--gray-900:#17251e;--shadow-xs:0 1px 3px #17251e0b;--shadow-sm:0 4px 16px #17251e0c;--shadow-md:0 12px 32px #17251e12;--radius-lg:12px;--radius-xl:16px}
body{background:#f8f8f5;color:#17251e}a,button,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #317c5b;outline-offset:3px}img{max-width:100%}

/* Public navigation: compact nested menus on desktop, disclosure tree on mobile. */
.site-header{position:sticky;top:0;z-index:150;height:76px;background:#fdfdfb;border-bottom:1px solid #e1e4dc}.site-header-inner{max-width:1380px;height:100%;padding:0 clamp(20px,3vw,44px);margin:auto;display:flex;align-items:center;gap:28px}.site-brand{display:flex;align-items:center;gap:10px;flex:none}.site-brand img{width:42px;height:42px;object-fit:contain}.site-brand span{display:flex;flex-direction:column;line-height:1.14}.site-brand strong{font-family:var(--font-display);font-size:14px;letter-spacing:-.03em}.site-brand small{font-size:9px;color:#69766e}.desktop-menu{display:flex;align-items:center;gap:5px;margin:auto;height:100%}.desktop-menu>a,.nav-group>summary{display:flex;align-items:center;gap:7px;padding:11px 12px;color:#35463b;font-size:13px;font-weight:650;white-space:nowrap;cursor:pointer;list-style:none}.nav-group>summary::-webkit-details-marker,.nav-subgroup>summary::-webkit-details-marker{display:none}.nav-group>summary i{font-size:10px;transition:transform .2s}.nav-group[open]>summary i{transform:rotate(180deg)}.desktop-menu>a:hover,.nav-group>summary:hover,.nav-group[open]>summary{color:var(--itl-green)}.nav-group{position:relative}.nav-dropdown{position:absolute;left:0;top:calc(100% + 8px);width:260px;padding:10px;background:#fff;border:1px solid #dfe6df;box-shadow:0 18px 45px #17251e1e;z-index:170}.nav-group:nth-of-type(2) .nav-dropdown{width:285px}.nav-group:nth-of-type(3) .nav-dropdown{left:auto;right:0}.nav-group:last-of-type .nav-dropdown{width:195px}.nav-dropdown>a,.nav-subgroup>summary,.nav-submenu>a,.nav-submenu>span,.nav-empty{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:9px 11px;color:#34453b;font-size:12px;line-height:1.35}.nav-dropdown>a:hover,.nav-subgroup>summary:hover,.nav-submenu>a:hover{background:#f1f5f0;color:var(--itl-green)}.nav-all{border-bottom:1px solid #e8ece5;font-weight:750}.nav-subgroup{position:relative}.nav-subgroup>summary{cursor:pointer;list-style:none}.nav-subgroup>summary i{font-size:10px}.nav-subgroup[open]>summary{background:#f1f5f0}.nav-submenu{position:absolute;left:calc(100% + 9px);top:-10px;width:280px;max-height:min(380px,75vh);overflow:auto;padding:10px;background:white;border:1px solid #dfe6df;box-shadow:0 18px 45px #17251e1e}.nav-submenu>span,.nav-empty{color:#7d8b80}.nav-submenu a{justify-content:flex-start}.header-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.header-login,.header-cta{min-height:39px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #cfd8cf;font-size:12px;font-weight:750}.header-cta{background:#175a3f;border-color:#175a3f;color:#fff}.header-login:hover{background:#f1f5f0}.header-cta:hover{background:#10442e;color:#fff}.mobile-trigger{display:none;width:40px;height:40px;align-items:center;justify-content:center;background:transparent;color:#173c2a;font-size:22px}.mobile-overlay{position:fixed;inset:0;z-index:290;background:#0f221a88}.mobile-drawer{position:fixed;z-index:300;top:0;right:0;bottom:0;width:min(400px,92vw);overflow:auto;padding:20px;background:#fff;box-shadow:-20px 0 55px #0002}.mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:4px 0 20px;border-bottom:1px solid #e1e6df}.mobile-drawer-head strong{font-family:var(--font-display);font-size:20px}.mobile-drawer-head button{font-size:20px}.mobile-drawer>a,.mobile-drawer>details>summary{display:block;padding:15px 4px;border-bottom:1px solid #ecf0ea;font-size:15px;font-weight:650;cursor:pointer}.mobile-drawer details summary{list-style:none}.mobile-drawer details summary::-webkit-details-marker{display:none}.mobile-drawer details summary:after{content:'+';float:right;color:#54705e}.mobile-drawer details[open]>summary:after{content:'−'}.mobile-drawer details>div{padding:4px 0 10px 15px;border-left:1px solid #d9e3d8}.mobile-drawer details>div>a,.mobile-drawer details>div>details>summary{display:block;padding:9px 8px;font-size:13px;color:#405248}.mobile-drawer details>div>details>div>a{display:block;padding:7px 8px;font-size:12px;color:#56675d}.mobile-auth{display:flex;gap:10px;padding-top:24px}.mobile-auth a{flex:1;padding:11px;border:1px solid #175a3f;text-align:center;font-size:12px;font-weight:700}.mobile-auth a:last-child{background:#175a3f;color:white}

/* Landing page: editorial spacing, quiet surfaces, and a single strong green accent. */
.public-page{overflow:clip;background:#fafaf7}.home-hero{max-width:1380px;min-height:580px;margin:auto;padding:clamp(74px,8vw,128px) clamp(24px,5vw,72px) 84px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:6vw}.section-overline{margin-bottom:19px;color:#286b4d;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.home-hero h1{font-family:var(--font-display);font-size:clamp(44px,5.7vw,78px);line-height:1.08;letter-spacing:-.065em;font-weight:750}.home-hero h1 em{font-style:normal;color:#397959}.home-hero-copy>p:not(.section-overline){max-width:610px;margin-top:28px;color:#5a685e;font-size:clamp(15px,1.3vw,18px);line-height:1.75}.home-hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}.primary-link{min-height:50px;padding:12px 18px;display:inline-flex;align-items:center;gap:22px;background:#175a3f;color:#fff;font-size:13px;font-weight:750}.primary-link:hover{background:#10472f;color:white}.text-link{display:inline-flex;align-items:center;gap:12px;color:#175a3f;font-size:13px;font-weight:750}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.home-hero-art{position:relative;min-height:390px;display:grid;place-items:center;background:#e8ece4;overflow:hidden}.home-hero-art:before{content:'';position:absolute;width:550px;height:550px;border:1px solid #b8c8b9;transform:rotate(-24deg)}.art-rule{position:absolute;width:200%;height:1px;background:#b4c4b6;transform:rotate(-30deg)}.art-rule-one{top:25%;left:-30%}.art-rule-two{bottom:18%;right:-30%}.art-sheet{position:relative;width:min(70%,370px);aspect-ratio:1.12;padding:24px;background:#175a3f;color:white;display:flex;flex-direction:column;justify-content:space-between;box-shadow:22px 22px 0 #b8caba}.art-sheet>span{font-size:10px;letter-spacing:.16em}.art-sheet strong{font-family:var(--font-display);font-size:clamp(28px,3vw,45px);line-height:1.14;letter-spacing:-.05em}.art-sheet i{align-self:flex-end;font-size:26px}.art-number{position:absolute;left:24px;bottom:20px;color:#567161;font-size:10px;letter-spacing:.1em}
.home-section{max-width:1380px;margin:auto;padding:92px clamp(24px,5vw,72px)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-heading .section-overline{margin-bottom:8px}.section-heading h2,.home-about h2,.home-contact h2{font-family:var(--font-display);font-size:clamp(29px,3.2vw,43px);line-height:1.2;letter-spacing:-.045em}.section-heading p:not(.section-overline){margin-top:9px;color:#68766b;font-size:14px}.trending-section{padding-top:86px}.trending-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.trending-card{min-width:0;background:#fff;border:1px solid #dfe4dc;display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s,border-color .22s}.trending-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #17251e13;border-color:#bbcebe}.trending-image{aspect-ratio:1.7;overflow:hidden;background:#e8eee7}.trending-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.trending-card:hover img{transform:scale(1.04)}.trending-image-empty{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#e5eee4,#c9d9cc);color:#287151;font-size:42px}.trending-body{padding:19px 20px 20px;display:flex;flex:1;flex-direction:column}.trending-kind{color:#54715c;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.trending-body h3{margin:9px 0 8px;min-height:52px;font-family:var(--font-display);font-size:16px;line-height:1.4;letter-spacing:-.02em}.trending-body>p{min-height:20px;color:#738077;font-size:12px}.trending-foot{margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}.trending-foot strong{font-size:15px}.trending-foot span{color:#175a3f;font-size:11px;font-weight:750}.home-empty{padding:50px;background:#f0f3ee;color:#596c5e}.home-empty a{margin-left:5px;color:#175a3f;font-weight:700}.pathways-section{padding-top:38px}.pathway-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.pathway-card{min-height:285px;padding:30px;display:flex;flex-direction:column;background:#eff2ec;border-top:3px solid #175a3f}.pathway-card:last-child{background:#e8edeb;border-color:#294c5b}.pathway-card>span{color:#5f7466;font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.pathway-card h3{margin:29px 0 9px;font-family:var(--font-display);font-size:clamp(24px,2.6vw,33px);letter-spacing:-.04em}.pathway-card p{max-width:470px;color:#5f6f64;font-size:14px;line-height:1.7}.pathway-card b{margin-top:auto;padding-top:23px;color:#175a3f;font-size:12px}.pathway-card i{margin-left:9px}.home-about{padding:94px max(clamp(24px,5vw,72px),calc((100vw - 1236px)/2));display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#e8ede7}.home-about-intro>p:not(.section-overline){max-width:490px;margin:23px 0;color:#586a5d;font-size:15px;line-height:1.8}.home-about-principles article{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:23px 0;border-top:1px solid #bfcfc0}.home-about-principles article>span{color:#558065;font-size:12px;font-weight:750}.home-about-principles h3{margin-bottom:9px;font-family:var(--font-display);font-size:20px}.home-about-principles p{color:#5a6c5e;font-size:13px;line-height:1.75}.home-contact{padding:72px max(clamp(24px,5vw,72px),calc((100vw - 1236px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px}.home-contact p:not(.section-overline){margin-top:12px;color:#69786e;font-size:14px}.home-contact>a{padding-bottom:7px;border-bottom:1px solid #175a3f;color:#175a3f;font-size:16px;font-weight:750;white-space:nowrap}.home-contact>a i{margin-left:12px}.public-footer{background:#152b20;color:#dce8dc}.footer-main{max-width:1380px;margin:auto;padding:65px clamp(24px,5vw,72px);display:flex;justify-content:space-between;gap:45px}.footer-brand{display:flex;align-items:center;gap:11px;color:white;font-family:var(--font-display);font-size:17px;font-weight:750}.footer-brand img{width:40px;height:40px;object-fit:contain}.footer-main>div>p{margin-top:13px;color:#a7b9ab;font-size:12px}.footer-main nav{display:flex;gap:clamp(34px,6vw,90px)}.footer-main nav>div{display:flex;flex-direction:column;gap:12px}.footer-main nav strong{margin-bottom:6px;color:#fff;font-size:12px}.footer-main nav a{color:#b9cabe;font-size:12px}.footer-main nav a:hover{color:#fff}.footer-bottom{max-width:1236px;margin:auto;padding:19px 0;border-top:1px solid #456352;display:flex;justify-content:space-between;color:#9cb2a2;font-size:11px}

/* Free lesson showcase: retain playback and carousel actions, simplify presentation. */
.public-page .preview-showcase{background:#f0f3ed;color:#17251e}.public-page .showcase-inner{max-width:1380px;padding:76px clamp(24px,5vw,72px) 78px}.public-page .showcase-intro{margin-bottom:29px}.public-page .showcase-kicker{color:#286b4d;font-size:11px;letter-spacing:.15em}.public-page .showcase-intro h2{margin:9px 0 10px;color:#17251e;font-family:var(--font-display);font-size:clamp(29px,3.2vw,43px);letter-spacing:-.045em}.public-page .showcase-intro p{color:#67776a;font-size:14px}.public-page .showcase-explore{padding:0 0 5px;border:0;border-bottom:1px solid #175a3f;border-radius:0;color:#175a3f;font-size:12px}.public-page .showcase-grid{grid-template-columns:minmax(0,1.55fr) minmax(250px,.55fr);gap:0;min-height:420px;background:#173826}.public-page .feature-player{min-height:420px;border-radius:0;box-shadow:none;animation:none}.public-page .feature-shade{background:linear-gradient(180deg,#07180b55 0,transparent 45%,#07180bdc 100%)}.public-page .feature-topline>span:first-child{color:#fff;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.public-page .feature-play span{width:67px;height:67px;border:1px solid #fff8;background:#ffffff29;box-shadow:none}.public-page .feature-play small{font-size:11px;letter-spacing:.08em}.public-page .feature-copy h2{font-size:clamp(24px,2.6vw,35px)}.public-page .preview-context{padding:40px 30px;display:flex;flex-direction:column;justify-content:flex-end;color:#e2efe4}.public-page .preview-context>span{color:#98c3a1;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.public-page .preview-context h3{margin:10px 0 13px;color:#fff;font-family:var(--font-display);font-size:23px;line-height:1.3}.public-page .preview-context p{color:#aec5b4;font-size:12px;line-height:1.7}.public-page .preview-context-controls{display:flex;align-items:center;gap:8px;margin-top:30px}.public-page .preview-context-controls button{width:38px;height:38px;border:1px solid #ffffff55;color:#fff}.public-page .preview-context-controls button:disabled{opacity:.4}.public-page .preview-context-controls span{margin-left:6px;color:#a6c5ad;font-size:10px}.public-page .showcase-pagination{margin-top:19px}.public-page .showcase-pagination button{height:3px;background:#bbcbc0}.public-page .showcase-pagination button.active{background:#175a3f}.public-page .showcase-empty{min-height:270px;gap:32px;border-radius:0;background:#173826}.public-page .empty-graphic{width:110px;height:110px}.public-page .empty-graphic i{font-size:40px}.public-page .graphic-ring{animation:none}.public-page .showcase-empty h2{font-size:25px}.public-page .theater-card{border-radius:4px}.public-page .theater-heading span{color:#a3d1ae}

/* Catalog and plans. */
.catalog-hero{background:#e9eee7!important;padding:56px 0 48px!important}.catalog-hero h1{color:#17251e!important;font-size:clamp(31px,3vw,43px)!important;letter-spacing:-.04em}.catalog-hero p{color:#607266!important}.catalog-hero .breadcrumb a,.catalog-hero .breadcrumb span{color:#607266!important}.catalog-hero .breadcrumb i{color:#92a298!important}.catalog-page{max-width:1380px!important;padding-top:45px!important}.catalog-layout{grid-template-columns:250px minmax(0,1fr)!important;gap:28px!important}.course-filters .card{border-radius:0;border:1px solid #dfe6dc;box-shadow:none}.course-filters .card-header{background:#f4f6f1}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px}.course-card{border:1px solid #dfe4dc;border-radius:0;box-shadow:none}.course-card:hover{transform:translateY(-3px);border-color:#b9cebe;box-shadow:0 13px 30px #17251e14}.course-card-thumb{background:#e7eee8}.course-card-thumb img{object-fit:cover}.course-card-thumb-placeholder{background:#dce9dc;color:#266e4b}.course-badge{top:auto;bottom:0;left:0;padding:6px 10px;border-radius:0;background:#175a3f;color:#fff;font-size:9px;letter-spacing:.09em}.course-badge-new{background:#334d5a}.course-card-body{padding:19px}.course-card-title{font-size:16px;line-height:1.42}.course-card-footer{margin-top:auto;gap:12px}.course-price{font-size:17px}.course-card-footer .btn{border-radius:0;font-size:11px}.plans-hero{padding:68px 24px;background:#e9eee7;color:#17251e;text-align:left}.plans-hero>*{display:block;max-width:1180px;margin-left:auto!important;margin-right:auto!important}.plans-hero>span{color:#286b4d}.plans-hero h1{color:#17251e;font-size:clamp(33px,3.8vw,49px)}.plans-hero p{color:#607266}.plans-page{max-width:1230px}.plan-section-head{align-items:flex-start}.plan-section-icon{border-radius:0}.plan-grid{gap:18px}.plan-card,.plan-card.bundle{border:1px solid #dfe4dc;border-top:3px solid #175a3f;border-radius:0;box-shadow:none}.plan-card.bundle{border-top-color:#345466}.plan-card h3{font-size:20px}.plan-card>p{font-size:12px}.plan-type{color:#50705a}.plan-price strong{font-size:28px}.included strong{font-size:12px}.plan-button{font-size:12px}.workflow{background:#edf1e9}.purchase-modal{border-radius:4px}

/* Admin and student workspaces inherit the same spacing, surfaces, and type scale. */
.app-layout,.app-main{background:#f8f8f5}.sidebar{background:#fdfdfb;border-right-color:#e0e5dc}.sidebar-logo,.sidebar-user{border-color:#e2e6df}.sidebar-link{border-radius:3px}.sidebar-link i{border-radius:3px;background:#edf2ec;color:#2a6a4a}.sidebar-link:hover{background:#edf2ec}.sidebar-link.active{background:#175a3f}.app-topbar{background:#fdfdfb;border-bottom-color:#e0e5dc;box-shadow:none}.app-main{padding:clamp(18px,3vw,36px)}.app-layout .card,.app-layout .stat-card,.app-layout .course-card{border:1px solid #dfe4dc;border-radius:5px;box-shadow:0 3px 13px #17251e08}.app-layout .page-title{letter-spacing:-.04em}.app-layout .btn,.app-layout .form-input{border-radius:4px}.app-layout .modal-content,.app-layout .rz-dialog{border-radius:6px}.app-layout table{border-collapse:collapse}.app-layout th{background:#f1f4ee;color:#526357}.app-layout td{border-bottom-color:#e8ece6}
@media(max-width:1120px){.desktop-menu{display:none}.mobile-trigger{display:flex}.home-hero{grid-template-columns:1fr 340px}.trending-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-layout{grid-template-columns:220px minmax(0,1fr)!important}}
@media(max-width:760px){.site-header{height:64px}.site-header-inner{padding:0 16px}.site-brand img{width:36px;height:36px}.site-brand small{display:none}.header-actions>.header-login,.header-actions>.header-cta{display:none}.home-hero{min-height:0;padding:65px 20px 50px;grid-template-columns:1fr;gap:45px}.home-hero h1{font-size:clamp(41px,9vw,60px)}.home-hero-art{min-height:280px}.art-sheet{width:62%;aspect-ratio:1.3}.home-section{padding:66px 20px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}.trending-section{padding-top:65px}.pathways-section{padding-top:20px}.home-about{padding:68px 20px;grid-template-columns:1fr;gap:45px}.home-contact{padding:65px 20px;align-items:flex-start;flex-direction:column}.footer-main{padding:55px 20px;flex-direction:column}.footer-bottom{margin:0 20px}.public-page .showcase-inner{padding:65px 20px}.public-page .showcase-grid{grid-template-columns:1fr}.public-page .feature-player{min-height:430px}.public-page .preview-context{padding:23px;min-height:185px}.public-page .preview-context-controls{margin-top:17px}.catalog-layout{grid-template-columns:1fr!important}.course-filters{position:static!important}.course-filters .card-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}.course-filters .card-body>div:first-child{grid-column:1/-1}.course-filters .card-body>div[style*="border-top"]{display:none}.catalog-page{padding:25px 16px 55px!important}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.trending-grid,.pathway-grid,.plan-grid{grid-template-columns:1fr}.home-hero-art{min-height:250px}.home-hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.public-page .showcase-intro{gap:18px}.public-page .showcase-explore{align-self:flex-start}.public-page .feature-player{min-height:410px}.public-page .feature-copy{left:18px;right:18px}.public-page .feature-copy h2{font-size:24px}.public-page .showcase-empty{padding:28px;flex-direction:column;text-align:center}.footer-main nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.footer-bottom{flex-direction:column;gap:5px}.course-filters .card-body{display:block}.courses-grid{grid-template-columns:1fr}.plan-section-head{align-items:flex-start}.app-topbar{padding:0 14px}.app-topbar-actions{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Course details keep the enrollment and preview flow in a readable two-column frame. */
.nav-group:nth-of-type(3) .nav-submenu,.nav-group:last-of-type .nav-submenu{left:auto;right:calc(100% + 9px)}
.app-layout .itl-card{border:1px solid #dfe4dc;border-radius:5px;box-shadow:0 3px 13px #17251e08}.app-layout .page-header{gap:18px}.app-layout .cc-modal-box{border-radius:7px}.app-layout .cc-modal-md{width:min(860px,100%)}.app-layout .cc-modal-lg{width:min(1080px,100%)}
.auth-left{background:#173826}.auth-left:before{background:linear-gradient(135deg,transparent 55%,#88ab8c1a 55.1%,transparent 55.3%),linear-gradient(155deg,transparent 65%,#88ab8c1a 65.1%,transparent 65.3%)}.auth-right{background:#fdfdfb}.auth-box h2{font-family:var(--font-display);letter-spacing:-.045em}.auth-box .form-input{border-radius:3px}.auth-layout .btn{border-radius:3px}
.course-detail-hero{background:#173826!important;padding:58px 0 56px!important}.course-detail-hero .enroll-card{border:1px solid #dfe7dd;border-radius:5px!important;box-shadow:0 16px 38px #07170c23!important}.course-detail-hero h1{letter-spacing:-.045em;line-height:1.2}.course-detail-hero .chip{border-radius:2px}.course-layout{max-width:1240px;margin:0 auto!important;padding:20px 12px 85px}.course-layout .itl-card{border:1px solid #dfe4dc;border-radius:5px;box-shadow:none}.course-layout .curriculum-module{border:1px solid #dfe4dc;border-radius:4px;overflow:hidden}.course-layout .curriculum-module-header{background:#f2f5ef}.course-player-overlay .course-player-card{border-radius:5px}.course-preview-video{width:100%;aspect-ratio:16/9;background:#07120d}
@media(max-width:900px){.course-detail-hero .course-hero-grid{grid-template-columns:1fr!important}.course-detail-hero .enroll-card{max-width:100%!important;width:100%}}

/* Product refinements: a real lesson in the hero, restrained course covers, and fluid footer. */
.home-hero{max-width:1320px;min-height:0;padding:clamp(56px,6vw,92px) clamp(20px,4vw,60px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(34px,5vw,72px)}
.home-hero-copy{min-width:0}
.home-hero h1{font-size:clamp(42px,4.5vw,64px);line-height:1.11;letter-spacing:-.055em}
.home-hero-copy>p:not(.section-overline){max-width:535px;font-size:16px;line-height:1.72}
.home-hero .hero-preview{min-width:0;width:100%;align-self:center;background:#14241d;border:1px solid #243f30;box-shadow:0 22px 50px #15281c1c}
/*.hero-preview-media{position:relative;min-height:390px;aspect-ratio:1.14;overflow:hidden;background:#1c3327}
.hero-preview-poster,.hero-preview-video,.hero-preview-shade{position:absolute;inset:0;width:100%;height:100%}
.hero-preview-poster,.hero-preview-video{object-fit:cover}
.hero-preview-shade{background:linear-gradient(180deg,#07150d80 0%,transparent 43%,#07150de8 100%);pointer-events:none}
.hero-preview-top{position:absolute;z-index:2;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;gap:16px;color:#fff;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.hero-preview-top span:last-child{font-variant-numeric:tabular-nums;color:#dce7df}
.hero-preview-play{position:absolute;z-index:3;top:48%;left:50%;transform:translate(-50%,-50%);width:74px;height:74px;border:1px solid #ffffffaa;border-radius:50%;display:grid;place-items:center;background:#10251db0;color:#fff;backdrop-filter:blur(8px);transition:background .2s,transform .2s}
.hero-preview-play:hover{background:#175a3f;transform:translate(-50%,-50%) scale(1.05)}
.hero-preview-play i{font-size:29px;margin-left:3px}
.hero-preview-caption{position:absolute;z-index:2;left:25px;right:25px;bottom:24px;color:#fff;pointer-events:none}
.hero-preview-caption span{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.12em;color:#b5d1bb}
.hero-preview-caption h2{max-width:490px;margin:6px 0;font-family:var(--font-display);font-size:clamp(22px,2.1vw,32px);line-height:1.26;letter-spacing:-.035em;color:#fff}
.hero-preview-caption p{font-size:12px;color:#d3e2d5}
.hero-preview-bar{min-height:64px;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff}
.hero-preview-bar>a{color:#175a3f;font-size:12px;font-weight:750}
.hero-preview-bar>a i{margin-left:8px}
.hero-preview-controls{display:flex;gap:6px}
.hero-preview-controls button{width:36px;height:36px;border:1px solid #d7e1d8;display:grid;place-items:center;color:#175a3f}
.hero-preview-controls button:hover:not(:disabled){background:#e8f1e9}
.hero-preview-controls button:disabled{opacity:.4}
.hero-preview-state{min-height:390px;padding:38px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;background:linear-gradient(135deg,#1d3e2c,#15291f);color:white}
.hero-preview-state-icon{width:62px;height:62px;margin-bottom:auto;border:1px solid #99b7a188;border-radius:50%;display:grid;place-items:center;color:#d2e6d6;font-size:25px}
.hero-preview-state>span{color:#b5d2bd;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.12em}
.hero-preview-state h2{margin:9px 0;color:#fff;font-family:var(--font-display);font-size:clamp(23px,2.3vw,31px);line-height:1.25;letter-spacing:-.04em}
.hero-preview-state p{max-width:340px;color:#c0d1c4;font-size:13px;line-height:1.6}
.hero-preview-state-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.hero-preview-state-actions a,.hero-preview-state-actions button{padding:8px 0;border-bottom:1px solid #adceb5;color:#e8f5e9;font-size:12px;font-weight:700}
.hero-preview-state-actions i{margin-left:7px}
*/
/* Hero — editorial redesign. Treats the preview as a case file, not a SaaS media card:
   sentence-case labels instead of tracked-out ALL CAPS, a near-square frame instead of
   uniform rounded corners, a real sequence indicator (dots) instead of a "00/02" counter,
   and shadows/greens tinted to the brand instead of generic neutral grey. */

.home-hero {
    max-width: 1320px;
    min-height: 0;
    padding: clamp(64px,7vw,104px) clamp(20px,4vw,60px) clamp(88px,8vw,128px);
    display: grid;
    grid-template-columns: minmax(0,0.94fr) minmax(0,1.06fr);
    gap: clamp(40px,5vw,84px);
    align-items: center;
}

.home-hero-copy {
    min-width: 0
}

    .home-hero-copy > .section-overline {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 20px;
        font-family: var(--font-display);
        font-style: italic;
        font-weight: 500;
        font-size: 15px;
        color: #175a3f;
        letter-spacing: .01em;
    }

        .home-hero-copy > .section-overline::before {
            content: "";
            width: 26px;
            height: 1px;
            background: #175a3f;
        }

.home-hero h1 {
    font-size: clamp(42px,4.4vw,66px);
    line-height: 1.09;
    letter-spacing: -.02em;
    font-weight: 650;
}

.home-hero-copy > p:not(.section-overline) {
    max-width: 52ch;
    margin-top: 18px;
    font-size: 16.5px;
    line-height: 1.75;
    color: #3c463f;
}

/* ---- Preview card ---- */
.home-hero .hero-preview {
    min-width: 0;
    width: 100%;
    align-self: stretch;
    background: #0f1d15;
    border: 1px solid #22392b;
    border-radius: 3px;
    box-shadow: 0 40px 70px -32px rgba(11,26,17,.45);
    overflow: hidden;
}

.hero-preview-media {
    position: relative;
    min-height: 400px;
    aspect-ratio: 1.1;
    overflow: hidden;
    background: #182b20;
}

.hero-preview-poster, .hero-preview-video, .hero-preview-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.hero-preview-poster, .hero-preview-video {
    object-fit: cover
}

.hero-preview-shade {
    background: linear-gradient(180deg,#07130c66 0%,transparent 38%,#07130cf0 100%);
    pointer-events: none
}

.hero-preview-top {
    position: absolute;
    z-index: 2;
    top: 24px;
    left: 26px;
    right: 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

    .hero-preview-top > span:first-child {
        padding: 5px 12px;
        border: 1px solid #ffffff3d;
        border-radius: 999px;
        font-size: 11.5px;
        font-weight: 500;
        color: #eef4ef;
        letter-spacing: .01em;
    }

    .hero-preview-top > span:last-child {
        display: flex;
        align-items: center;
        gap: 4px
    }
/* Position dots — this is a real sequence (rotating lessons), so marking it is earned,
   not decorative. Rendered by the @for loop in the .razor file below. */
.hero-preview-step {
    width: 14px;
    height: 2px;
    background: #ffffff40;
    transition: background .25s ease
}

    .hero-preview-step.is-active {
        background: #fff
    }

.hero-preview-play {
    position: absolute;
    z-index: 3;
    top: 48%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 70px;
    height: 70px;
    border: 1px solid #ffffff80;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #0d1f16b3;
    color: #fff;
    backdrop-filter: blur(6px);
    transition: background .2s ease,transform .2s ease,border-color .2s ease;
}

    .hero-preview-play:hover {
        background: #175a3f;
        border-color: #175a3f;
        transform: translate(-50%,-50%) scale(1.04)
    }

    .hero-preview-play i {
        font-size: 27px;
        margin-left: 3px
    }

.hero-preview-caption {
    position: absolute;
    z-index: 2;
    left: 26px;
    right: 26px;
    bottom: 26px;
    color: #fff;
    pointer-events: none
}

    .hero-preview-caption span {
        font-size: 12.5px;
        color: #a9c6af
    }

    .hero-preview-caption h2 {
        max-width: 480px;
        margin: 8px 0 4px;
        font-family: var(--font-display);
        font-size: clamp(21px,2vw,29px);
        line-height: 1.28;
        letter-spacing: -.015em;
        color: #fff
    }

    .hero-preview-caption p {
        font-size: 12.5px;
        color: #c3d4c6
    }

.hero-preview-bar {
    min-height: 62px;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #fff;
    border-top: 1px solid #eceee9;
}

    .hero-preview-bar > a {
        color: #14201a;
        font-size: 13px;
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 8px
    }

        .hero-preview-bar > a i {
            transition: transform .18s ease
        }

        .hero-preview-bar > a:hover i {
            transform: translateX(3px)
        }

.hero-preview-controls {
    display: flex;
    gap: 4px
}

    .hero-preview-controls button {
        width: 34px;
        height: 34px;
        border: none;
        border-radius: 50%;
        display: grid;
        place-items: center;
        color: #5b665e;
        transition: background .15s ease,color .15s ease;
    }

        .hero-preview-controls button:hover:not(:disabled) {
            background: #eef2ee;
            color: #14201a
        }

        .hero-preview-controls button:disabled {
            opacity: .35
        }

.hero-preview-state {
    min-height: 400px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    background: linear-gradient(160deg,#16301f,#0f1d15);
    color: #fff;
}

.hero-preview-state-icon {
    width: 58px;
    height: 58px;
    margin-bottom: auto;
    border: 1px solid #ffffff30;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #d2e6d6;
    font-size: 23px;
}

.hero-preview-state > span {
    color: #a9c6af;
    font-size: 12.5px
}

.hero-preview-state h2 {
    margin: 10px 0 6px;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(22px,2.2vw,30px);
    line-height: 1.27;
    letter-spacing: -.02em
}

.hero-preview-state p {
    max-width: 340px;
    color: #c0d1c4;
    font-size: 13.5px;
    line-height: 1.65
}

.hero-preview-state-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 24px
}

    .hero-preview-state-actions a, .hero-preview-state-actions button {
        padding: 8px 0;
        border-bottom: 1px solid #ffffff40;
        color: #eef4ef;
        font-size: 13px;
        font-weight: 500
    }

/* ---- Theater (lightbox) ---- */
.theater-shell {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    place-items: center;
    padding: 24px
}

.theater-backdrop {
    position: absolute;
    inset: 0;
    background: #070f0aeb
}

.theater-card {
    position: relative;
    width: min(980px,100%);
    background: #0f1d15;
    color: #fff;
    border-radius: 3px;
    box-shadow: 0 30px 90px -20px rgba(0,0,0,.6);
    overflow: hidden
}

.theater-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 24px
}

    .theater-heading span {
        color: #a9c6af;
        font-size: 12.5px
    }

    .theater-heading h2 {
        margin: 6px 0 2px;
        color: #fff;
        font-family: var(--font-display);
        font-size: 19px
    }

    .theater-heading p {
        color: #9db3a3;
        font-size: 12.5px
    }

    .theater-heading button {
        color: #fff;
        font-size: 19px;
        opacity: .75;
        transition: opacity .15s ease
    }

        .theater-heading button:hover {
            opacity: 1
        }

.theater-card video {
    display: block;
    width: 100%;
    max-height: 70vh;
    aspect-ratio: 16/9;
    background: #000
}

.theater-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 18px 24px;
    color: #9db3a3;
    font-size: 12.5px;
    border-top: 1px solid #ffffff14
}

    .theater-footer a {
        color: #eef4ef;
        font-weight: 600
    }
.theater-shell{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:22px}
.theater-backdrop{position:absolute;inset:0;background:#07120de8}
.theater-card{position:relative;width:min(980px,100%);background:#111d16;color:#fff;box-shadow:0 25px 80px #0006}
.theater-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 22px}
.theater-heading span{color:#b6d6bf;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.1em}
.theater-heading h2{margin:5px 0;color:#fff;font-size:19px}
.theater-heading p{color:#a8bcae;font-size:12px}
.theater-heading button{color:white;font-size:20px}
.theater-card video{display:block;width:100%;max-height:70vh;aspect-ratio:16/9;background:#000}
.theater-footer{display:flex;justify-content:space-between;gap:16px;padding:17px 22px;color:#a8bcae;font-size:12px}
.theater-footer a{color:#e0f1e3;font-weight:700}

.course-cover{height:100%;min-height:100%;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;overflow:hidden;background:#193629;color:#f0f5ec;position:relative}
.course-cover:before{content:'';position:absolute;top:-30%;right:12%;height:170%;width:1px;background:#c6d9c63d;transform:rotate(28deg)}
.course-cover-head,.course-cover-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;font-weight:750;letter-spacing:.1em}
.course-cover-head>span:last-child{color:#b2c9b7;text-align:right}
.course-cover-mark{display:inline-grid;place-items:center;width:27px;height:27px;border:1px solid #bdd3bf;color:#fff;font-family:var(--font-display);font-size:10px;letter-spacing:-.08em}
.course-cover>strong{position:relative;max-width:85%;font-family:var(--font-display);font-size:clamp(17px,1.5vw,23px);font-weight:650;line-height:1.25;letter-spacing:-.035em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.course-cover-foot{color:#9fbba6}.course-cover-foot i{font-size:14px;color:#d8eddb}
.course-card-thumb .course-cover{aspect-ratio:16/9}
.trending-image .course-cover{aspect-ratio:1.7;padding:16px}.trending-image .course-cover>strong{font-size:clamp(15px,1.25vw,20px)}
.course-card-kind{display:block;margin-bottom:9px;color:#457455;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.course-card-thumb{aspect-ratio:16/9}.course-card-thumb-placeholder{background:#193629;color:#fff}
.courses-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.course-card{min-width:0;border-color:#dce3dc;border-radius:5px}
.course-card-body{padding:20px;gap:0}
.course-card-title{min-height:45px;font-size:17px;line-height:1.38}
.course-card-title a:hover{color:#175a3f;text-decoration:underline;text-underline-offset:3px}
.course-card-footer{flex-wrap:wrap}
.catalog-hero{padding:48px 0 43px!important}
.catalog-hero h1{font-size:clamp(30px,3vw,42px)!important}

.public-footer{width:100%;overflow:hidden;background:#15291e}
.footer-main{box-sizing:border-box;width:min(100%,1320px);max-width:none;padding:clamp(48px,5vw,72px) clamp(20px,4vw,60px);display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.5fr);align-items:start;gap:clamp(30px,6vw,96px)}
.footer-main>div{min-width:0}
.footer-brand img{width:42px;height:42px;padding:4px;background:#fff;border-radius:50%}
.footer-main nav{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,42px)}
.footer-main nav>div{min-width:0;gap:10px}
.footer-main nav a{overflow-wrap:anywhere;line-height:1.5}
.footer-bottom{box-sizing:border-box;width:min(calc(100% - 40px),1200px);max-width:none;gap:14px}
.home-contact>a{white-space:normal;overflow-wrap:anywhere}

.app-layout{--surface:#fff;--ink:#17251e;--muted:#637168}
.app-layout :is(h1,h2,h3){letter-spacing:-.035em}
.app-layout .page-title{font-size:clamp(22px,2.4vw,30px)}
.app-layout :is(.card,.itl-card,.stat-card,.course-card){border-color:#dce3dc;border-radius:5px}
.app-layout :is(.btn,.form-input,.form-control){font-family:var(--font-body)}
.app-layout .app-main{min-width:0}

@media(max-width:1120px){.home-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px}.home-hero h1{font-size:clamp(39px,4.8vw,57px)}.hero-preview-media,.hero-preview-state{min-height:330px}}
@media(max-width:840px){.home-hero{grid-template-columns:1fr;max-width:650px;gap:40px}.hero-preview-media{aspect-ratio:16/11;min-height:0}.footer-main{grid-template-columns:1fr;gap:42px}.footer-main nav{max-width:700px}}
@media(max-width:620px){.home-hero{padding:50px 18px 58px;gap:35px}.home-hero h1{font-size:clamp(38px,10vw,52px)}.hero-preview-media{aspect-ratio:4/3}.hero-preview-state{min-height:330px;padding:26px}.hero-preview-top{top:17px;left:17px;right:17px;font-size:9px}.hero-preview-caption{left:18px;right:18px;bottom:19px}.hero-preview-caption h2{font-size:23px}.hero-preview-play{width:62px;height:62px}.hero-preview-bar{min-height:58px;padding:9px 16px}.footer-main{padding:48px 20px}.footer-main nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.footer-bottom{margin:0 20px;width:calc(100% - 40px);padding:18px 0}.course-cover>strong{font-size:20px}.trending-image .course-cover>strong{font-size:18px}}
@media(max-width:380px){.footer-main nav{grid-template-columns:1fr}.footer-brand{font-size:15px}.hero-preview-caption h2{font-size:20px}.hero-preview-state h2{font-size:24px}}

/* Academic library and security extend the existing institutional tokens. */
.library-page{max-width:var(--container);margin:auto;padding:36px 24px 72px}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0}.library-heading h1{font-size:clamp(26px,4vw,38px);margin:12px 0}.library-heading p{color:var(--gray-500);line-height:1.7}.library-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:24px;align-items:start}.library-toc{position:sticky;top:96px}.library-section{display:flex;flex-direction:column;gap:5px;text-align:left;width:100%;padding:14px 12px;border-bottom:1px solid var(--gray-100);background:transparent;color:var(--gray-700);border-radius:8px}.library-section:hover,.library-section.active{background:var(--itl-green-soft);color:var(--itl-green)}.library-section small{font-size:12px;color:var(--gray-500)}.library-reading{padding:clamp(24px,4vw,52px);min-height:480px}.library-reading>h2{font-size:28px;margin:12px 0 24px}.library-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--itl-green)}.academic-text{max-width:68ch;font-size:17px;line-height:1.85;overflow-wrap:anywhere;color:var(--gray-700)}.academic-text p{margin:0 0 20px;white-space:pre-wrap}.academic-text h2,.academic-text h3{margin:32px 0 16px;line-height:1.4;color:var(--gray-900)}.academic-text ul{padding-left:24px;margin:0 0 24px}.academic-text li{padding-left:5px;margin:8px 0}.library-watermark{padding:10px 0;margin-bottom:24px;border-bottom:1px solid var(--gray-100);color:var(--gray-500);font-size:12px;overflow-wrap:anywhere}.library-lock{position:relative;min-height:320px;display:grid;place-items:center}.library-placeholder{position:absolute;inset:28px 0;filter:blur(5px);opacity:.5;pointer-events:none}.library-placeholder span{display:block;height:16px;background:var(--gray-200);margin:20px 0;width:95%}.library-placeholder span:nth-child(even){width:72%}.library-lock-message{position:relative;text-align:center;padding:24px;max-width:440px;background:rgba(255,255,255,.93);border-radius:12px}.library-lock-message>i{font-size:32px;color:var(--itl-green)}.library-lock-message h3{margin:16px 0 12px}.library-lock-message p{color:var(--gray-500);line-height:1.7;margin-bottom:20px}.academic-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.library-pagination,.library-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.academic-preview{border-top:1px solid var(--gray-200);margin-top:24px;padding-top:24px}.account-security{max-width:1180px;margin:0 auto;padding:70px 24px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;min-height:75vh}.security-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.2;margin:24px 0}.security-intro p{line-height:1.8;color:var(--gray-500);max-width:440px}.security-detail{display:flex;gap:14px;align-items:start;background:var(--itl-green-soft);padding:20px;margin-top:36px;border-radius:12px;color:var(--gray-600);font-size:14px;line-height:1.7}.security-detail i{font-size:24px;color:var(--itl-green)}.security-card .card-body{padding:36px}.security-card h2{font-size:28px;margin:20px 0 12px}.security-card p{color:var(--gray-500);line-height:1.7;margin-bottom:24px}.security-icon{font-size:28px;padding:16px;border-radius:16px;color:var(--itl-green);background:var(--itl-green-soft);display:inline-block}.security-back{display:block;text-align:center;margin-top:24px;font-weight:600;color:var(--itl-green)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--itl-green);outline-offset:3px}.alert{overflow-wrap:anywhere}.form-input{max-width:100%}button:disabled{cursor:not-allowed;opacity:.65}.app-content{min-width:0}.library-page,.library-reading,.security-card{min-width:0}
@media(max-width:1000px){.desktop-menu{gap:12px}.site-brand small{display:none}.library-layout{grid-template-columns:240px minmax(0,1fr)}.account-security{gap:32px}}
@media(max-width:768px){.library-layout,.academic-form-grid,.account-security{grid-template-columns:1fr}.library-toc{position:static}.library-heading{align-items:flex-start;flex-direction:column}.library-page{padding:24px 16px 48px}.library-reading{min-height:320px}.account-security{padding:32px 16px;gap:24px}.security-intro{display:none}.security-card .card-body{padding:28px 22px}.academic-text{font-size:16px}.card-body [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.pathway-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-access-options{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.course-access-options .form-hint{line-height:1.7}.lp-video-status{padding:12px 18px;background:var(--gray-50);font-size:14px;color:var(--gray-600)}.lp-error{margin-bottom:18px}
@media(max-width:840px){.pathway-grid{grid-template-columns:1fr}}
.plan-card>p{font-size:14px;line-height:1.7}.included strong{font-size:14px}.included small{font-size:12px}.included>b,.plan-type{font-size:11px}.plan-button{font-size:14px;border-radius:10px}.plan-price small,.plan-price>span{font-size:12px}.plan-section-head p{font-size:14px}.purchase-form label>span{font-size:14px}.purchase-form label>small{font-size:12px}.bank-box span{font-size:11px}.bank-box strong{font-size:14px}.workflow b{font-size:14px}.workflow small{font-size:12px}.workflow{border-radius:14px}.plan-card{padding:28px}.form-hint{line-height:1.6}.validation-message,.validation-errors{color:var(--red);font-size:13px;line-height:1.6}.app-main>.page-enter>.library-heading h1{font-size:28px}
.purchase-shell{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:18px}.purchase-backdrop{position:absolute;inset:0;background:rgba(8,25,16,.62);backdrop-filter:blur(4px)}.purchase-modal{position:relative;z-index:1;width:min(560px,100%);max-height:92vh;overflow:auto;padding:30px;background:#fff;border-radius:16px}.purchase-close{position:absolute;right:17px;top:17px;width:35px;height:35px;border-radius:8px;background:var(--gray-100)}.purchase-modal h2{margin:7px 0 18px;font-size:21px}.purchase-total{padding:14px 17px;background:var(--gray-900);color:white;display:flex;align-items:center;justify-content:space-between}.purchase-total span{font-size:11px}.purchase-total strong{font-size:20px}.bank-box{margin:14px 0;padding:14px;background:var(--itl-green-soft);display:grid;grid-template-columns:1fr 1fr;gap:10px}.bank-box div{display:flex;flex-direction:column}.bank-box span{font-size:8px;color:var(--gray-500);text-transform:uppercase}.bank-box strong{font-size:11px}.purchase-form{display:flex;flex-direction:column;gap:13px}.purchase-form label>span{display:block;font-size:11px;font-weight:700;margin-bottom:5px}.purchase-form label>span b{color:var(--red)}.purchase-form label>small{font-size:9px;color:var(--gray-400)}

.course-document-page{max-width:1000px}.course-document{padding:clamp(24px,5vw,64px)}.course-document .academic-text{max-width:74ch;margin:auto}.document-locked-block{padding:22px 0;filter:blur(5px);opacity:.65;user-select:none}.document-locked-block span{display:block;height:14px;background:var(--gray-200);margin:14px 0;width:96%}.document-locked-block span:nth-child(even){width:77%}.document-access{margin:24px auto;background:var(--itl-green-soft);max-width:620px}.document-editor-card{margin-top:24px}.document-load{display:block;margin:32px auto}.academic-text table{width:100%;border-collapse:collapse;margin:20px 0}.academic-text th,.academic-text td{border:1px solid var(--gray-200);padding:10px}.academic-text blockquote{border-left:3px solid var(--itl-green);padding-left:20px;margin:24px 0}.purchase-eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--itl-green)}.purchase-form .btn{justify-content:center}@media(max-width:620px){.purchase-modal{padding:24px 18px}.bank-box{grid-template-columns:1fr}.course-document-page{padding:24px 16px}.course-document{padding:24px}}
