@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/brand-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/brand-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/brand-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/brand-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/brand-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/brand-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/brand-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/brand-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(fonts/brand-8.ttf) format('truetype');
}

:root,.sla-marketplace{--sla-navy:#1E3A8A;--sla-deep:#1E3A8A;--sla-navy-deep:#1E3A8A;--sla-teal:#0EA5E9;--sla-teal-dark:#1E3A8A;--sla-cyan:#0EA5E9;--sla-cyan-deep:#1E3A8A;--sla-ink:#0F172A;--sla-text:#0F172A;--sla-line:#E2E8F0;--sla-border:#E2E8F0;--sla-soft:#F8FAFC;--sla-light:#F8FAFC;--sla-surface:#FFFFFF}
html{scroll-behavior:auto}
.sla-body,.sla-marketplace{font-family:"Open Sans",sans-serif;color:#0F172A;background:#FFFFFF}
.sla-body :is(input,select,textarea,button){font-family:"Open Sans",sans-serif}
.sla-body :is(h1,h2,h3,h4,h5,h6),.sla-card-title,.sla-year-card,.sla-subject-card,.sla-brand{font-family:Montserrat,sans-serif}
.sla-body :is(h1,h2,h3){font-weight:700}
.sla-body a:focus-visible,.sla-body button:focus-visible,.sla-body input:focus-visible,.sla-body select:focus-visible,.sla-body summary:focus-visible{outline:3px solid #0EA5E9;outline-offset:4px}
.sla-marketplace .sla-hero{background:#1E3A8A}
.sla-marketplace .sla-hero h1 em,.sla-marketplace .sla-eyebrow{color:#FFFFFF}
.sla-marketplace .sla-hero h1 em{ text-decoration:underline;text-decoration-color:#0EA5E9;text-underline-offset:.13em;text-decoration-thickness:3px}
.sla-marketplace .sla-hero-panel{backdrop-filter:none;box-shadow:none}
.sla-marketplace .sla-hero-panel-heading,.sla-marketplace .sla-hero p{color:#FFFFFF}
.sla-marketplace .sla-btn-primary{background:#1E3A8A;color:#FFFFFF!important}
.sla-marketplace .sla-btn-primary:hover{background:#0F172A}
.sla-marketplace .sla-hero .sla-btn-primary{background:#FFFFFF;color:#1E3A8A!important}
.sla-marketplace .sla-btn-ghost{border-color:#FFFFFF}
.sla-marketplace :is(.sla-kicker,.sla-link,.sla-card-meta,.sla-reset,.sla-subject-tag){color:#1E3A8A}
.sla-marketplace :is(.sla-promise-icon,.sla-filter-chip,.sla-split-banner){background:#F8FAFC;color:#1E3A8A}
.sla-marketplace .sla-card-media-empty{background:#F8FAFC}
.sla-marketplace :is(.sla-card,.sla-year-card,.sla-subject-card){border-color:#E2E8F0;box-shadow:0 2px 6px rgba(15,23,42,.035);transition:box-shadow .2s,border-color .2s}
.sla-marketplace :is(.sla-card,.sla-year-card,.sla-subject-card):hover{border-color:#0EA5E9;box-shadow:0 8px 22px rgba(30,58,138,.08)}
.sla-marketplace .sla-filter-panel{border-color:#E2E8F0}
.sla-marketplace .sla-check{display:flex;flex-direction:row;align-items:center;gap:9px}
.sla-marketplace .sla-check input{width:16px;min-height:16px;height:16px;flex:0 0 16px;accent-color:#1E3A8A}
.sla-site-footer{background:#0F172A}
.sla-site-header a:hover,.sla-site-footer a:hover{color:#0EA5E9}
.sla-body .primary-button,.sla-body button.bg-blue-500{background-color:#1E3A8A;color:#FFFFFF}
.sla-body .secondary-button{border-color:#1E3A8A;color:#1E3A8A}
.sla-body .sla-site-footer a[href^="mailto:"]{overflow-wrap:anywhere}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
@media(prefers-reduced-motion:reduce){.sla-body *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Storefront composition: 2026-11-14 */
.sla-site-header{position:sticky;top:0;z-index:60;background:#FFFFFF;border-bottom:1px solid #E2E8F0;box-shadow:0 2px 12px rgba(15,23,42,.04)}
.sla-site-header__bar{width:min(1280px,calc(100% - 48px));min-height:100px;display:flex;align-items:center;gap:40px}
.sla-brand{display:block;flex:0 0 220px}
.sla-brand img{width:210px;height:80px;object-fit:contain;object-position:left center}
.sla-site-header__actions{display:flex;align-items:center;gap:28px;flex:1;justify-content:flex-end;min-width:0}
.sla-search{display:flex;align-items:center;border:1px solid #E2E8F0;border-radius:10px;background:#F8FAFC;flex:1;max-width:570px;min-width:180px}
.sla-search input{width:100%;min-width:0;background:none;border:0;padding:14px 18px;font-size:14px;min-height:48px}
.sla-search button{display:grid;place-items:center;flex:0 0 48px;height:46px;background:transparent;color:#1E3A8A;border:0}
.sla-account-link,.sla-cart-link{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600}
.sla-account-link svg,.sla-cart-link svg{flex-shrink:0}
.sla-nav-row{border-top:1px solid #F1F5F9}
.sla-nav{width:min(1280px,calc(100% - 48px));margin:auto;justify-content:flex-start;gap:34px;min-height:52px}
.sla-nav a,.sla-nav summary{font-size:13px;font-weight:600;padding-block:15px}
.sla-nav a{position:relative}
.sla-nav>a:after{content:"";position:absolute;inset-inline:0;bottom:8px;height:2px;background:#0EA5E9;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.sla-nav>a:hover:after{transform:scaleX(1)}
.sla-category-menu{position:relative}
.sla-category-menu>div{z-index:80;min-width:240px}
.sla-site-footer__grid{width:min(1280px,calc(100% - 48px));grid-template-columns:1.35fr .85fr 1fr .95fr 1.35fr;gap:34px;padding:64px 0 50px}
.sla-site-footer__about img{width:200px;height:84px;background:#FFFFFF;border-radius:8px;padding:10px;filter:none}
.sla-site-footer__about p{font-size:13px;line-height:1.8;max-width:230px}
.sla-site-footer section:not(.sla-site-footer__about){gap:13px}
.sla-site-footer h2,.sla-footer-students{font-family:Montserrat,sans-serif;font-size:12px;letter-spacing:.09em;font-weight:700;color:#FFFFFF}
.sla-footer-students{margin-top:14px}
.sla-site-footer a,.sla-site-footer span{font-size:12px;line-height:1.6}
.sla-site-footer a{transition:color .2s}
.sla-site-footer__grid a[href^="mailto:"]{font-size:11px;white-space:nowrap}
.sla-contact-icons{display:flex;gap:10px;margin-top:8px}
.sla-contact-icons a{width:38px;height:38px;border:1px solid #334155;border-radius:50%;display:grid;place-items:center}
.sla-contact-icons a:hover{border-color:#0EA5E9;background:#1E3A8A;color:#FFFFFF}
.sla-site-footer__bottom{font-size:12px;padding:22px}
.sla-marketplace .sla-hero{min-height:0;padding:64px 0 72px;background:#F8FAFC;color:#0F172A}
.sla-hero-inner{grid-template-columns:1fr 1fr;gap:52px}
.sla-marketplace .sla-hero h1{font-size:clamp(34px,3.6vw,54px);letter-spacing:-1.6px;line-height:1.14;color:#1E3A8A;font-weight:700}
.sla-marketplace .sla-hero h1 em{color:#1E3A8A;text-decoration-thickness:3px}
.sla-marketplace .sla-hero p{color:#475569;font-size:15px;line-height:1.85}
.sla-marketplace .sla-eyebrow{color:#1E3A8A;letter-spacing:.1em;font-size:10px}
.sla-marketplace .sla-hero .sla-btn-primary{background:#1E3A8A;color:#FFFFFF!important}
.sla-marketplace .sla-hero .sla-btn-ghost{background:transparent;border-color:#CBD5E1;color:#1E3A8A}
.sla-hero-art{margin:0;position:relative;padding:0 0 22px 0;min-width:0}
.sla-hero-art img{width:100%;height:440px;object-fit:cover;border-radius:20px 20px 64px 20px;display:block;box-shadow:0 20px 40px rgba(30,58,138,.10)}
.sla-hero-art figcaption{font-size:11px;color:#475569;display:flex;align-items:center;gap:10px;margin-top:18px}
.sla-art-line{width:32px;height:2px;background:#0EA5E9}
.sla-section{padding:76px 0}
.sla-marketplace .sla-section-head h2,.sla-editorial-copy h2,.sla-instructor-inner h2{font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.8px;color:#1E3A8A}
.sla-section-head{margin-bottom:28px}
.sla-year-grid{border:0!important}
.sla-marketplace .sla-year-tile{border:1px solid #E2E8F0;border-radius:12px;padding:24px;min-height:145px;position:relative;transition:border-color .2s,box-shadow .2s}
.sla-marketplace .sla-year-tile:hover,.sla-marketplace .sla-subject:hover{border-color:#0EA5E9;box-shadow:0 12px 28px rgba(30,58,138,.08)}
.sla-marketplace .sla-subject{border:1px solid #E2E8F0;border-radius:12px;padding:24px;min-height:140px}
.sla-marketplace .sla-card{border:1px solid #E2E8F0;border-radius:14px;box-shadow:0 3px 12px rgba(15,23,42,.04);overflow:hidden}
.sla-card-media{aspect-ratio:16/9;height:auto;position:relative}
.sla-marketplace .sla-card-media-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#F8FAFC;color:#64748B;border-bottom:1px solid #E2E8F0;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.sla-placeholder-symbol{display:block;color:#94A3B8}
.sla-marketplace .sla-media-tag{left:16px;top:16px;font-size:10px;font-weight:600;border:1px solid #E2E8F0;color:#1E3A8A;background:#FFFFFF;padding:6px 10px;border-radius:6px}
.sla-card-body{padding:24px;gap:12px;display:flex;flex-direction:column;flex:1;min-width:0}
.sla-marketplace .sla-card-title{font-size:17px;font-weight:700;line-height:1.45;min-height:50px}
.sla-card-sub{font-size:12px;color:#64748B;line-height:1.6}
.sla-card-bottom{border-top:1px solid #E2E8F0;display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding-top:18px;margin-top:auto}
.sla-card-bottom .sla-card-price{width:100%;color:#1E3A8A;font-size:15px;font-weight:600}
.sla-card-price small{font-size:11px;line-height:1.6;font-weight:400;color:#64748B;margin-top:6px}
.sla-card-bottom .sla-btn{width:100%;background:#FFFFFF;border-color:#1E3A8A;color:#1E3A8A;justify-content:space-between;padding:11px 14px;font-size:12px}
.sla-card-bottom .sla-btn:hover{background:#1E3A8A;color:#FFFFFF}
.sla-editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}
.sla-editorial-art{margin:0}
.sla-editorial-art img{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:16px;display:block}
.sla-editorial-copy>p,.sla-instructor-inner p{color:#475569;line-height:1.9;font-size:14px;margin:20px 0}
.sla-benefits{display:grid;gap:24px;margin-top:28px}
.sla-benefits>div{display:flex;gap:18px;align-items:flex-start}
.sla-benefits>div>span{font-family:Montserrat,sans-serif;color:#0EA5E9;font-weight:700;font-size:19px}
.sla-benefits h3{font-size:15px;font-weight:700;color:#0F172A;margin:0 0 5px}
.sla-benefits p{font-size:12px;line-height:1.8;color:#64748B;margin:0}
.sla-instructor-feature{background:#F8FAFC}
.sla-instructor-inner{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:90px}
.sla-instructor-topics{display:grid;gap:0;background:#FFFFFF;border:1px solid #E2E8F0;border-radius:12px;padding:28px}
.sla-instructor-topics>span{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748B;margin-bottom:12px}
.sla-instructor-topics a{padding:16px 0;border-bottom:1px solid #E2E8F0;display:flex;justify-content:space-between;font-size:13px;color:#1E3A8A}
.sla-instructor-topics a:last-child{border:0}
.sla-marketplace .sla-split-banner{border:1px solid #E2E8F0;border-left:4px solid #0EA5E9;padding:38px;border-radius:12px;background:#FFFFFF}
.sla-final-cta{background:#1E3A8A;color:#FFFFFF;padding:56px 0}
.sla-final-cta>.sla-container{display:flex;justify-content:space-between;align-items:center;gap:32px}
.sla-final-cta h2{font-size:30px;letter-spacing:-.6px;color:#FFFFFF;margin:8px 0 12px}
.sla-marketplace .sla-final-cta .sla-kicker{color:#FFFFFF}
.sla-final-cta p{font-size:13px;color:#FFFFFF}
.sla-final-cta .sla-btn-primary{background:#FFFFFF!important;color:#1E3A8A!important}
.sla-final-cta .sla-btn-outline{background:transparent;color:#FFFFFF;border-color:#FFFFFF}
@media(max-width:1100px){
.sla-site-header__bar{gap:24px}.sla-site-header__actions{gap:18px}.sla-nav{gap:23px}.sla-brand{flex-basis:195px}.sla-brand img{width:190px}.sla-search{display:flex}
.sla-site-footer__grid{grid-template-columns:1.3fr 1fr 1fr;gap:38px}.sla-hero-inner{gap:30px}.sla-hero-art img{height:400px}
}
@media(max-width:800px){
.sla-site-header__bar{min-height:0;width:calc(100% - 28px);flex-wrap:wrap;gap:12px;padding:10px 0 14px}
.sla-brand{flex:1;order:0}.sla-brand img{width:170px;height:64px}
.sla-mobile-menu{display:block;order:1;margin:0;position:static}
.sla-mobile-menu summary{display:flex;align-items:center;gap:8px;font-size:12px;padding:10px 12px}
.sla-mobile-menu[open] nav{position:absolute;top:78px;inset-inline:14px;width:auto;max-height:65vh;overflow:auto;border-radius:12px;padding:12px;z-index:90}
.sla-mobile-menu nav a{font-size:13px}
.sla-site-header__actions{display:flex;order:2;flex:0 0 100%;gap:14px}
.sla-search{display:flex;min-width:0;max-width:none;flex:1}
.sla-search input{padding:10px;font-size:11px;min-height:42px}
.sla-search button{flex-basis:35px;height:40px}
.sla-account-link,.sla-cart-link{font-size:11px;gap:5px;flex-direction:column}
.sla-account-link svg,.sla-cart-link svg{width:18px;height:18px}
.sla-nav-row{display:none}.sla-nav{display:none}
.sla-hero-inner,.sla-editorial-grid,.sla-instructor-inner{grid-template-columns:1fr;gap:32px}
.sla-marketplace .sla-hero{padding:34px 0 40px}
.sla-marketplace .sla-hero h1{font-size:36px}
.sla-hero-art img{height:auto;aspect-ratio:1.4;border-radius:14px 14px 40px 14px}
.sla-hero-art figcaption{font-size:10px}
.sla-section{padding:48px 0}
.sla-marketplace .sla-section-head .sla-link{display:inline-block;font-size:11px;flex-shrink:0}
.sla-section-head{flex-wrap:wrap;gap:16px}
.sla-marketplace .sla-card-title{font-size:17px;min-height:0}
.sla-editorial-art img{aspect-ratio:1.5}
.sla-instructor-topics{padding:22px}
.sla-final-cta>.sla-container{display:block}
.sla-final-cta .sla-hero-actions{margin-top:24px}
.sla-final-cta h2{font-size:26px}
.sla-site-footer__grid{width:calc(100% - 36px);grid-template-columns:1fr 1fr;gap:34px 24px;padding:46px 0}
.sla-site-footer__about{grid-column:1/-1}.sla-site-footer__about p{max-width:100%;font-size:13px}
.sla-site-footer__grid section:last-child{grid-column:1/-1}
.sla-site-footer__grid a[href^="mailto:"]{font-size:13px}
.sla-site-footer a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.sla-card,.sla-year-tile,.sla-subject,.sla-btn{transform:none!important}}

@media(max-width:800px){.sla-marketplace .sla-pager{width:100%;min-width:0}.sla-marketplace .sla-pager>div{width:100%;min-width:0;flex-direction:column;gap:16px;padding:12px 0}.sla-marketplace .sla-pager nav{max-width:100%;overflow-x:auto}.sla-marketplace .sla-pager p{text-align:center}}

.sla-marketplace .sla-hero::before{content:none;display:none}.sla-marketplace .sla-instructor-feature{display:block}.sla-marketplace .sla-instructor-feature p{color:#475569}.sla-marketplace .sla-instructor-feature .sla-instructor-inner{width:min(1200px,calc(100% - 48px));margin-inline:auto}@media(max-width:800px){.sla-marketplace .sla-instructor-feature .sla-instructor-inner{width:calc(100% - 28px)}}

/* Owner-supplied official portrait: preserve natural proportions and full frame. */
.sla-instructor-portrait{margin:0;width:100%;max-width:340px;justify-self:center}
.sla-instructor-portrait img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #E2E8F0;background:#FFFFFF}
.sla-marketplace .sla-instructor-feature .sla-instructor-inner{grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:72px}
.sla-instructor-copy{min-width:0}
.sla-profile-shell{width:min(1200px,calc(100% - 48px));margin:64px auto}
.sla-instructor-profile{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:64px;align-items:center}
.sla-instructor-profile .sla-cms{width:100%;padding:0;margin:0}
.sla-instructor-profile .sla-cms h1{font-size:clamp(28px,3vw,42px);line-height:1.18;color:#1E3A8A}
.sla-instructor-profile .sla-instructor-grid{grid-template-columns:1fr;margin-top:24px}
.sla-instructor-profile .sla-instructor-card{border-radius:10px;padding:24px}
.sla-instructor-profile .sla-instructor-card p{font-size:14px;line-height:1.9}
.sla-instructor-profile .sla-instructor-card a{color:#1E3A8A}
@media(max-width:800px){
.sla-marketplace .sla-instructor-feature .sla-instructor-inner,.sla-instructor-profile{grid-template-columns:1fr;gap:32px}
.sla-instructor-portrait{max-width:280px}
.sla-profile-shell{width:calc(100% - 32px);margin:36px auto}
}
