:root{--public-navy:#071b33;--public-blue:#175cd3;--public-blue-dark:#0b46a0;--public-cyan:#38bdf8;--public-ink:#10233f;--public-muted:#586b84;--public-line:#dce5ef;--public-soft:#f5f8fc;--public-white:#fff;--public-radius:18px;--public-shadow:0 18px 50px rgba(7,27,51,.10)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.public-shell{width:min(1180px,calc(100% - 3rem));margin-inline:auto}.public-main{min-height:55vh;background:#fff;color:var(--public-ink)}.public-main>:not(.public-hero):not(.public-section):not(.public-page-hero){width:min(1180px,calc(100% - 3rem));margin-left:auto;margin-right:auto}.public-header{position:relative;z-index:50;background:rgba(255,255,255,.98);border-bottom:1px solid var(--public-line)}.public-header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.public-brand{display:inline-flex;align-items:center;color:var(--public-navy);text-decoration:none;letter-spacing:.04em;font-size:1rem}.public-brand strong{color:var(--public-blue)}.public-brand img{display:block;max-width:220px;max-height:52px}.public-navigation>ul,.public-submenu{list-style:none;margin:0;padding:0}.public-navigation>ul{display:flex;align-items:center;gap:.25rem}.public-navigation li{position:relative}.public-navigation a{display:block;padding:.7rem .85rem;border-radius:10px;color:#263b56;text-decoration:none;font-weight:650}.public-navigation a:hover,.public-navigation a:focus-visible{color:var(--public-blue);background:#eef5ff;outline:none}.public-navigation>ul>li:last-child>a{background:var(--public-blue);color:#fff}.public-submenu{display:none;position:absolute;top:100%;left:0;min-width:210px;padding:.45rem;background:#fff;border:1px solid var(--public-line);border-radius:12px;box-shadow:var(--public-shadow)}.has-submenu:hover .public-submenu,.has-submenu:focus-within .public-submenu{display:block}.public-menu-toggle{display:none;width:44px;height:44px;padding:10px;border:1px solid var(--public-line);border-radius:10px;background:#fff}.public-menu-toggle span:not(.sr-only){display:block;height:2px;margin:5px 0;background:var(--public-navy)}
.public-hero{position:relative;isolation:isolate;min-height:620px;display:grid;align-items:center;overflow:hidden;background:linear-gradient(120deg,#071b33 0%,#123b70 64%,#175cd3 100%);color:#fff}.public-hero-media,.public-hero-overlay{position:absolute;inset:0;width:100%;height:100%}.public-hero-media{z-index:-2;object-fit:cover}.public-hero-overlay{z-index:-1;background:linear-gradient(90deg,rgba(4,18,36,.93) 0%,rgba(7,27,51,.75) 53%,rgba(7,27,51,.25) 100%)}.public-hero--none .public-hero-overlay{background:radial-gradient(circle at 78% 24%,rgba(56,189,248,.26),transparent 28%),linear-gradient(120deg,#071b33,#123b70 68%,#175cd3)}.public-hero-content{padding-block:6rem}.public-eyebrow{margin:0 0 1rem;color:var(--public-blue);font-size:.77rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.public-hero .public-eyebrow{color:#8ddcff}.public-hero h1{max-width:820px;margin:0;font-size:clamp(2.7rem,6vw,5.4rem);line-height:1.02;letter-spacing:-.045em}.public-hero-content>p:not(.public-eyebrow){max-width:690px;margin:1.6rem 0 0;color:#dae7f7;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.75}.public-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.public-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.25rem;border:1px solid var(--public-blue);border-radius:11px;background:var(--public-blue);color:#fff!important;text-decoration:none;font-weight:750;transition:.18s}.public-btn:hover,.public-btn:focus-visible{background:var(--public-blue-dark);transform:translateY(-1px);outline:3px solid rgba(56,189,248,.35);outline-offset:2px}.public-btn--secondary{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.public-section{padding:5.5rem 0}.public-section:nth-of-type(odd){background:var(--public-soft)}.public-section-heading{max-width:720px;margin-bottom:2.25rem}.public-section-heading h2{margin:0;color:var(--public-navy);font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.03em}.public-section-heading>p:last-child{margin:.9rem 0 0;color:var(--public-muted);font-size:1.08rem}.public-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.public-course-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--public-line);border-radius:var(--public-radius);background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 30px rgba(7,27,51,.06);transition:.2s}.public-course-card:hover,.public-course-card:focus-visible{transform:translateY(-5px);box-shadow:var(--public-shadow);outline:3px solid rgba(23,92,211,.2);outline-offset:2px}.public-course-image{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#e0f2fe);color:var(--public-blue);font-size:2rem;font-weight:850}.public-course-image img{width:100%;height:100%;object-fit:cover}.public-course-body{padding:1.25rem}.public-card-kicker{margin:0 0 .55rem!important;color:var(--public-blue)!important;font-size:.76rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.public-course-body h3{margin:0;font-size:1.2rem;line-height:1.35}.public-course-body>p{color:var(--public-muted);font-size:.92rem}.public-course-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.public-course-meta span{padding:.25rem .48rem;border-radius:999px;background:#edf5ff;color:#164e9d;font-size:.7rem;font-weight:700}.public-section-link{text-align:right;margin-top:1.5rem}.public-section-link a{color:var(--public-blue);font-weight:750;text-decoration:none}.public-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.public-category-card{display:flex;align-items:flex-start;gap:1rem;padding:1.4rem;border:1px solid var(--public-line);border-radius:15px;background:#fff;color:inherit;text-decoration:none}.public-category-card:hover,.public-category-card:focus-visible{border-color:#8fb7ef;box-shadow:0 10px 28px rgba(7,27,51,.07);outline:none}.public-category-icon{display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:12px;background:#e8f2ff;color:var(--public-blue);font-weight:850}.public-category-card h3{margin:0 0 .3rem}.public-category-card p{margin:.2rem 0;color:var(--public-muted)}.public-category-card small{color:var(--public-blue);font-weight:700}.public-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.public-benefit-card{padding:1.5rem;border-top:4px solid var(--public-blue);border-radius:0 0 14px 14px;background:#fff;box-shadow:0 8px 26px rgba(7,27,51,.06)}.public-benefit-card>span{color:#8aa0ba;font-size:.75rem;font-weight:800}.public-benefit-card h3{margin:1.2rem 0 .55rem}.public-benefit-card p{margin:0;color:var(--public-muted)}.public-section--cta{background:var(--public-navy)!important;color:#fff;text-align:center}.public-section--cta .public-section-heading{margin-inline:auto}.public-section--cta h2,.public-section--cta .public-section-heading>p:last-child{color:#fff}.public-cta{display:flex;justify-content:center}.public-page-hero{background:linear-gradient(120deg,#071b33,#164780);color:#fff}.public-page-hero-inner{padding-block:5rem}.public-page-hero h1{margin:0;font-size:clamp(2.5rem,5vw,4.5rem)}.public-page-hero p:last-child{max-width:720px;color:#dbeafe;font-size:1.2rem}.public-prose{max-width:780px;font-size:1.08rem;line-height:1.9;color:#334b67}.public-prose p{margin:0 0 1.5rem}
.public-main>h1:first-child{padding-top:3rem}.public-main>.card:first-child,.public-main>.container-narrow:first-child{margin-top:3rem}.public-main>.course-grid,.public-main>.public-catalog-grid,.public-main>form{margin-bottom:2rem}.public-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-footer{padding:4rem 0 1.5rem;background:#06172d;color:#c8d6e8}.public-footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:2rem}.public-footer-about p{max-width:350px;color:#9fb1c8}.public-brand--footer{color:#fff}.public-footer h2{margin:.2rem 0 1rem;color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}.public-footer ul{list-style:none;margin:0;padding:0}.public-footer li{margin:.6rem 0}.public-footer a{color:#c8d6e8;text-decoration:none}.public-footer a:hover{color:#fff}.public-footer-bottom{margin-top:3rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.12);font-size:.84rem}.public-footer-bottom p{margin:0}
@media(max-width:900px){.public-course-grid,.public-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-footer-grid{grid-template-columns:2fr repeat(2,1fr)}.public-menu-toggle{display:block}.public-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:1rem 1.5rem 1.5rem;background:#fff;border-bottom:1px solid var(--public-line);box-shadow:0 18px 30px rgba(7,27,51,.12)}.public-navigation.is-open{display:block}.public-navigation>ul{display:block}.public-navigation a{padding:.85rem}.public-submenu{display:block;position:static;margin-left:1rem;border:0;box-shadow:none}.public-navigation>ul>li:last-child>a{display:inline-block;margin-top:.35rem}}
@media(max-width:620px){.public-shell,.public-main>:not(.public-hero):not(.public-section):not(.public-page-hero){width:min(100% - 1.5rem,1180px)}.public-header-inner{min-height:68px}.public-brand img{max-width:170px;max-height:42px}.public-hero{min-height:570px}.public-hero-content{padding-block:4.5rem}.public-hero h1{font-size:clamp(2.35rem,12vw,3.6rem)}.public-actions,.public-actions .public-btn{width:100%}.public-section{padding:4rem 0}.public-course-grid,.public-catalog-grid,.public-category-grid,.public-benefit-grid{grid-template-columns:1fr}.public-footer-grid{grid-template-columns:1fr}.public-section-link{text-align:left}}
@media(prefers-reduced-motion:reduce){.public-hero video{display:none}.public-course-card,.public-btn{transition:none}.public-course-card:hover,.public-btn:hover{transform:none}}

/* CMS theme layer: scoped by .public-theme so learner/admin interfaces remain unchanged. */
.public-theme{font-family:var(--theme-font);background:var(--theme-background);color:var(--theme-text)}
.public-theme .public-shell,.public-theme .public-main>:not(.public-hero):not(.public-section):not(.public-page-hero){width:min(var(--theme-width),calc(100% - 3rem))}
.public-theme .public-main{background:var(--theme-background);color:var(--theme-text)}
.public-theme .public-header{background:var(--theme-header);color:var(--theme-header-text)}
.public-theme .public-brand,.public-theme .public-navigation a{color:var(--theme-header-text)}
.public-theme .public-brand strong,.public-theme .public-navigation a:hover,.public-theme .public-navigation a:focus-visible{color:var(--theme-primary)}
.public-theme .public-navigation a:hover,.public-theme .public-navigation a:focus-visible{background:color-mix(in srgb,var(--theme-primary) 9%,var(--theme-header))}
.public-theme .public-navigation>ul>li:last-child>a{background:var(--theme-button);color:var(--theme-button-text)}
.public-theme .public-menu-toggle,.public-theme .public-navigation,.public-theme .public-submenu{background:var(--theme-header);color:var(--theme-header-text)}
.public-theme .public-menu-toggle span:not(.sr-only){background:var(--theme-header-text)}
.public-theme .public-hero--none .public-hero-overlay{background:radial-gradient(circle at 78% 24%,color-mix(in srgb,var(--theme-secondary) 30%,transparent),transparent 28%),linear-gradient(120deg,var(--theme-footer),color-mix(in srgb,var(--theme-primary) 58%,var(--theme-footer)) 68%,var(--theme-primary))}
.public-theme .public-hero:not(.public-hero--none) .public-hero-overlay{background:linear-gradient(90deg,color-mix(in srgb,var(--theme-footer) 94%,transparent),color-mix(in srgb,var(--theme-footer) 72%,transparent) 55%,transparent)}
.public-theme .public-eyebrow,.public-theme .public-card-kicker,.public-theme .public-section-link a,.public-theme .public-category-card small{color:var(--theme-primary)!important}
.public-theme .public-section-heading h2,.public-theme .public-category-card h3,.public-theme .public-course-body h3,.public-theme .public-benefit-card h3{color:var(--theme-text)}
.public-theme .public-section:nth-of-type(odd){background:color-mix(in srgb,var(--theme-background) 95%,var(--theme-primary))}
.public-theme .public-course-card,.public-theme .public-category-card,.public-theme .public-benefit-card,.public-theme .public-main .card,.public-theme .public-main .course-card{background:var(--theme-background);color:var(--theme-text)}
.public-theme .public-course-image,.public-theme .public-category-icon{background:color-mix(in srgb,var(--theme-primary) 12%,var(--theme-background));color:var(--theme-primary)}
.public-theme .public-benefit-card{border-top-color:var(--theme-primary)}
.public-theme .public-section--cta{background:var(--theme-footer)!important}
.public-theme .public-section--cta .public-section-heading h2,.public-theme .public-section--cta .public-section-heading>p:last-child{color:var(--theme-footer-text)}
.public-theme .public-section--cta .public-eyebrow{color:var(--theme-secondary)!important}
.public-theme .public-page-hero{background:linear-gradient(120deg,var(--theme-footer),var(--theme-primary))}
.public-theme .public-prose{color:var(--theme-text)}
.public-theme .public-footer{background:var(--theme-footer);color:var(--theme-footer-text)}
.public-theme .public-footer a,.public-theme .public-footer-about p{color:var(--theme-footer-text)}
.public-theme .public-footer a:hover,.public-theme .public-footer a:focus-visible{color:var(--theme-primary)}
.public-theme .public-footer h2,.public-theme .public-brand--footer{color:var(--theme-footer-text)}
.public-theme .public-btn,.public-theme .public-main .btn{border-color:var(--theme-button);background:var(--theme-button);color:var(--theme-button-text)!important}
.public-theme .public-btn:hover,.public-theme .public-main .btn:hover{border-color:var(--theme-primary-hover);background:var(--theme-primary-hover)}
.public-theme.theme-preset-default.theme-button-solid .public-btn--secondary{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff!important}
.public-theme .text-muted,.public-theme .public-course-body>p,.public-theme .public-category-card p,.public-theme .public-benefit-card p,.public-theme .public-section-heading>p:last-child{color:var(--theme-text)}
.public-theme .public-course-meta span{color:var(--theme-text)}
.public-theme.theme-button-soft .public-btn,.public-theme.theme-button-soft .public-main .btn{border-color:transparent;background:color-mix(in srgb,var(--theme-button) 15%,var(--theme-background));color:var(--theme-text)!important}
.public-theme.theme-button-outline .public-btn,.public-theme.theme-button-outline .public-main .btn{border:2px solid var(--theme-button);background:transparent;color:var(--theme-button)!important}
.public-theme.theme-card-flat .public-course-card,.public-theme.theme-card-flat .public-category-card,.public-theme.theme-card-flat .public-benefit-card,.public-theme.theme-card-flat .public-main .course-card{border-color:transparent;box-shadow:none;background:color-mix(in srgb,var(--theme-background) 96%,var(--theme-primary))}
.public-theme.theme-card-bordered .public-course-card,.public-theme.theme-card-bordered .public-category-card,.public-theme.theme-card-bordered .public-benefit-card,.public-theme.theme-card-bordered .public-main .course-card{border:2px solid color-mix(in srgb,var(--theme-primary) 32%,var(--theme-background));box-shadow:none}
.public-theme.theme-card-soft_shadow .public-course-card,.public-theme.theme-card-soft_shadow .public-category-card,.public-theme.theme-card-soft_shadow .public-benefit-card,.public-theme.theme-card-soft_shadow .public-main .course-card{border-color:transparent;box-shadow:0 18px 45px color-mix(in srgb,var(--theme-footer) 13%,transparent)}
.public-theme.theme-corners-subtle .public-course-card,.public-theme.theme-corners-subtle .public-category-card,.public-theme.theme-corners-subtle .public-benefit-card,.public-theme.theme-corners-subtle .public-main .card,.public-theme.theme-corners-subtle .public-main .course-card,.public-theme.theme-corners-subtle .public-btn,.public-theme.theme-corners-subtle .public-main .btn{border-radius:8px}
.public-theme.theme-corners-rounded .public-course-card,.public-theme.theme-corners-rounded .public-category-card,.public-theme.theme-corners-rounded .public-benefit-card,.public-theme.theme-corners-rounded .public-main .card,.public-theme.theme-corners-rounded .public-main .course-card,.public-theme.theme-corners-rounded .public-btn,.public-theme.theme-corners-rounded .public-main .btn{border-radius:28px}
.public-theme.theme-preset-academic .public-hero h1,.public-theme.theme-preset-academic .public-page-hero h1{letter-spacing:-.02em}
.public-theme.theme-preset-modern .public-section{padding-block:6rem}
.public-theme.theme-preset-professional .public-hero--none .public-hero-overlay{background:linear-gradient(135deg,var(--theme-footer),var(--theme-primary))}
.public-theme.theme-preset-creative .public-hero--none .public-hero-overlay{background:radial-gradient(circle at 78% 20%,var(--theme-secondary),transparent 32%),linear-gradient(125deg,var(--theme-footer),var(--theme-primary))}
.public-theme.theme-is-default .public-header{background:rgba(255,255,255,.98)}
.public-theme.theme-is-default .public-hero--none .public-hero-overlay{background:radial-gradient(circle at 78% 24%,rgba(56,189,248,.26),transparent 28%),linear-gradient(120deg,#071b33,#123b70 68%,#175cd3)}
.public-theme.theme-is-default .public-hero:not(.public-hero--none) .public-hero-overlay{background:linear-gradient(90deg,rgba(4,18,36,.93) 0%,rgba(7,27,51,.75) 53%,rgba(7,27,51,.25) 100%)}
.public-theme.theme-is-default .public-section:nth-of-type(odd){background:#f5f8fc}
.public-theme.theme-is-default .public-page-hero{background:linear-gradient(120deg,#071b33,#164780)}
.public-theme.theme-is-default .public-course-image{background:linear-gradient(135deg,#dbeafe,#e0f2fe)}
.public-theme.theme-is-default .public-category-icon{background:#e8f2ff}
.public-theme.theme-is-default .public-course-meta span{color:#164e9d}
.public-theme.theme-is-default .text-muted{color:#64748b}.public-theme.theme-is-default .public-course-body>p,.public-theme.theme-is-default .public-category-card p,.public-theme.theme-is-default .public-benefit-card p,.public-theme.theme-is-default .public-section-heading>p:last-child{color:#586b84}
.public-theme.theme-is-default .public-section--cta .public-section-heading h2,.public-theme.theme-is-default .public-section--cta .public-section-heading>p:last-child{color:#fff}.public-theme.theme-is-default .public-section--cta .public-eyebrow{color:var(--public-blue)!important}
.public-theme.theme-is-default .public-main .btn{border-color:#4f46e5;background:#4f46e5;color:#fff!important}.public-theme.theme-is-default .public-main .btn:hover{border-color:#4338ca;background:#4338ca}
@media(max-width:620px){.public-theme .public-shell,.public-theme .public-main>:not(.public-hero):not(.public-section):not(.public-page-hero){width:min(100% - 1.5rem,var(--theme-width))}}
