
/* =========================================================
   FREE COURSES / EBOOKS / RESOURCE LIBRARY
   ========================================================= */
.crs-page,.res-page{background:#f3f2ef;color:#111}
.crs-shell,.res-shell{width:min(calc(100% - 80px),1320px);margin:0 auto}
.crs-label,.res-label{margin:0 0 18px;color:#d90a2c;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.crs-label--light,.res-label--light{color:#ff4964}
.crs-page h2,.res-page h2{margin:0;font-size:clamp(40px,4.8vw,70px);line-height:.97;letter-spacing:-.055em;font-weight:500}
.crs-page h2 em,.res-page h2 em{font-style:normal;color:#d90a2c}

/* Archive hero */
.crs-hero{padding:78px 0 82px;background:#07080a;color:#fff;overflow:hidden}
.crs-hero__layout{min-height:625px;display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;padding-top:58px}
.crs-kicker{margin:0 0 20px;color:rgba(255,255,255,.45);font-size:10px;font-weight:700;letter-spacing:.18em}
.crs-hero h1{margin:0;font-size:clamp(64px,7vw,108px);line-height:.82;letter-spacing:-.075em;font-weight:600;text-transform:uppercase}
.crs-hero h1 span{color:#d90a2c}
.crs-breadcrumbs,.res-breadcrumbs{display:flex;align-items:center;gap:9px;margin-top:28px;color:rgba(255,255,255,.48);font-size:11px;flex-wrap:wrap}
.crs-breadcrumbs a,.res-breadcrumbs a{color:#fff;text-decoration:none}
.crs-breadcrumbs svg,.res-breadcrumbs svg{width:14px;height:14px;fill:none;stroke:#d90a2c;stroke-width:1.7}
.crs-hero__lead{max-width:650px;margin:27px 0 0;color:rgba(255,255,255,.66);font-size:14px;line-height:1.82}
.crs-hero__lead strong{color:#fff;font-weight:500}
.crs-hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:29px}
.crs-hero__visual{position:relative;height:520px;border:1px solid rgba(255,255,255,.11);background:
linear-gradient(rgba(255,255,255,.023) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,.023) 1px,transparent 1px);
background-size:58px 58px;overflow:hidden}
.crs-library-core{position:absolute;z-index:3;left:50%;top:50%;width:300px;height:300px;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,255,255,.16);background:rgba(8,9,11,.83)}
.crs-library-core>span{color:#ff4964;font-size:10px;font-weight:700;letter-spacing:.14em}
.crs-library-core>strong{margin-top:11px;font-size:92px;line-height:.86;letter-spacing:-.08em;font-weight:500}
.crs-library-core>small{margin-top:10px;color:rgba(255,255,255,.42);font-size:10px;letter-spacing:.13em}
.crs-library-core>div{display:flex;gap:7px;margin-top:25px}.crs-library-core i{padding:6px 8px;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.52);font-size:10px;font-style:normal;font-weight:700}
.crs-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.09);border-radius:50%;transform:translate(-50%,-50%);animation:crsSpin 24s linear infinite}
.crs-orbit--a{width:410px;height:410px}.crs-orbit--b{width:475px;height:475px;border-style:dashed;animation-duration:34s;animation-direction:reverse}
.crs-orbit--a:after{content:"";position:absolute;top:-4px;left:50%;width:7px;height:7px;background:#d90a2c;transform:rotate(45deg);box-shadow:0 0 12px rgba(217,10,44,.65)}
@keyframes crsSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* Intro */
.crs-intro{padding:104px 0}.crs-intro__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.crs-intro__layout>div:last-child{padding-top:25px;border-top:1px solid rgba(0,0,0,.14)}.crs-intro__layout p{color:#595a5e;font-size:14px;line-height:1.82}.crs-intro__layout .crs-intro__lead{margin-top:0;color:#17181a;font-size:20px;line-height:1.55;font-weight:500}

/* Directory */
.crs-library{padding:105px 0 115px;background:#f8f7f4}
.crs-library__head{display:grid;grid-template-columns:1fr 410px;gap:70px;align-items:end;margin-bottom:48px}.crs-library__head>p{margin:0;color:#626367;font-size:12px;line-height:1.75}
.crs-tools{padding:16px 0 22px;border-top:1px solid rgba(0,0,0,.13);display:grid;gap:16px}
.crs-search{width:min(560px,100%);height:46px;display:flex;align-items:center;gap:11px;padding:0 14px;border:1px solid rgba(0,0,0,.14);background:#fff}.crs-search svg{width:18px;height:18px;fill:none;stroke:#111;stroke-width:1.5}.crs-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font:500 11px Montserrat,sans-serif}
.crs-filters{display:flex;gap:7px;flex-wrap:wrap}.crs-filters button{border:1px solid rgba(0,0,0,.13);background:transparent;padding:9px 11px;font:700 7px Montserrat,sans-serif;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.crs-filters button span{color:#a0a0a3;margin-left:5px}.crs-filters button.is-active,.crs-filters button:hover{background:#111;color:#fff;border-color:#111}.crs-filters button.is-active span,.crs-filters button:hover span{color:#ff4964}
.crs-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(0,0,0,.13);border-left:1px solid rgba(0,0,0,.13)}
.crs-card{min-width:0;border-right:1px solid rgba(0,0,0,.13);border-bottom:1px solid rgba(0,0,0,.13);transition:.18s ease;background:#f8f7f4}.crs-card:hover{background:#fff}.crs-card[hidden]{display:none!important}
.crs-card__image{position:relative;display:block;aspect-ratio:1/1.02;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.09);background:#111}.crs-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.crs-card:hover img{transform:scale(1.025)}.crs-card__image span{position:absolute;top:12px;right:12px;padding:7px 9px;background:#d90a2c;color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em}
.crs-card__body{padding:20px}.crs-card__body>small{color:#d90a2c;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.crs-card h3{margin:23px 0 9px;font-size:16px;line-height:1.18;letter-spacing:-.025em}.crs-card h3 a{color:#111;text-decoration:none}.crs-card p{margin:0;color:#65666a;font-size:10px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:66px}.crs-card__read{display:inline-flex;align-items:center;gap:6px;margin-top:19px;color:#d90a2c;text-decoration:none;font-size:10px;font-weight:700}.crs-card__read svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}
.crs-load-wrap{text-align:center;padding-top:35px}.crs-load{border:1px solid rgba(0,0,0,.16);background:#111;color:#fff;padding:14px 19px;font:700 9px Montserrat,sans-serif;cursor:pointer}.crs-load span{color:#ff4964;margin-left:7px}
.crs-empty{text-align:center;padding:70px;border:1px solid rgba(0,0,0,.13)}.crs-empty span{color:#d90a2c;font-size:10px;font-weight:700}.crs-empty h2{margin:12px 0 6px;font-size:35px}.crs-empty p{color:#666;font-size:11px}

/* Search section */
.crs-search-section{padding:112px 0;background:#090a0d;color:#fff}.crs-search-section__layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}.crs-search-section__layout>div:first-child>p:not(.crs-label){color:rgba(255,255,255,.54);font-size:13px;line-height:1.8}
.crs-search-cards{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}.crs-search-cards article{min-height:200px;padding:22px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.crs-search-cards span{color:#ff4964;font-size:10px;font-weight:700}.crs-search-cards strong{display:block;margin-top:47px;font-size:14px}.crs-search-cards p{margin:8px 0 0;color:rgba(255,255,255,.48);font-size:10px;line-height:1.65}

/* FAQ */
.crs-faq{padding:108px 0}.crs-faq__layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.crs-faq__layout>div:first-child>p:not(.crs-label){color:#626367;font-size:12px;line-height:1.75}.crs-faq__items{border-top:1px solid rgba(0,0,0,.14)}.crs-faq details{border-bottom:1px solid rgba(0,0,0,.14)}.crs-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:14px;font-weight:600}.crs-faq summary::-webkit-details-marker{display:none}.crs-faq summary span{color:#d90a2c;font-size:20px;transition:.18s}.crs-faq details[open] summary span{transform:rotate(45deg)}.crs-faq details p{margin:-2px 65px 24px 0;color:#626367;font-size:11px;line-height:1.72}
.crs-cta,.res-cta{padding:82px 0;background:#0a0b0e;color:#fff}.crs-cta__inner,.res-cta__inner{display:grid;grid-template-columns:1fr 390px auto;gap:48px;align-items:center}.crs-cta__inner>p,.res-cta__inner>p{margin:0;color:rgba(255,255,255,.56);font-size:12px;line-height:1.72}

/* Individual resource */
.res-hero{padding:90px 0 95px;background:#07080a;color:#fff}
.res-breadcrumbs{margin-top:30px}
.res-hero__layout{display:grid;grid-template-columns:minmax(280px,460px) 1fr;gap:78px;align-items:center;margin-top:65px}
.res-cover{position:relative;aspect-ratio:1/1.03;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#111}.res-cover img{width:100%;height:100%;object-fit:cover}.res-cover>span{position:absolute;right:17px;top:17px;padding:8px 10px;background:#d90a2c;font-size:10px;font-weight:800;letter-spacing:.1em}
.res-kicker{margin:0 0 18px;color:#ff4964;font-size:10px;font-weight:700;letter-spacing:.14em}.res-hero h1{margin:0;font-size:clamp(48px,6.3vw,91px);line-height:.91;letter-spacing:-.065em;font-weight:600}.res-lead{max-width:730px;margin:25px 0 0;color:rgba(255,255,255,.64);font-size:14px;line-height:1.8}
.res-meta{display:grid;grid-template-columns:repeat(3,1fr);margin-top:31px;border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}.res-meta>div{padding:14px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.res-meta span{display:block;color:rgba(255,255,255,.32);font-size:10px;font-weight:700;letter-spacing:.1em}.res-meta strong{display:block;margin-top:5px;color:rgba(255,255,255,.78);font-size:11px}
.res-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}.res-gate-note{margin:13px 0 0;color:rgba(255,255,255,.35);font-size:10px;line-height:1.55}
.res-overview{padding:105px 0;background:#f8f7f4}.res-overview__layout{display:grid;grid-template-columns:260px minmax(0,820px);gap:90px;justify-content:center;align-items:start}.res-overview aside{position:sticky;top:120px}.res-overview aside h2{font-size:37px}.res-overview aside>a{display:block;margin-top:22px;color:#d90a2c;text-decoration:none;font-size:10px;font-weight:700}.res-topic-chip{display:inline-block;margin-top:24px;padding:7px 9px;background:#111;color:#fff;font-size:10px;font-weight:700}
.res-content{font-size:15px;line-height:1.78;color:#333}.res-content>*:first-child{margin-top:0}.res-content p{margin:0 0 20px}.res-content h2{margin:52px 0 17px;font-size:37px}.res-content h3{margin:36px 0 12px;font-size:23px}.res-content ul,.res-content ol{margin:0 0 25px;padding-left:23px}.res-content li{margin:7px 0}.res-content blockquote{margin:30px 0;padding:23px;border-left:3px solid #d90a2c;background:#efeeeb}.res-content a{color:#c30928}


.res-files{padding:70px 0;background:#f8f7f4}.res-files__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(0,0,0,.13);border-left:1px solid rgba(0,0,0,.13)}.res-files__grid>div{padding:17px;border-right:1px solid rgba(0,0,0,.13);border-bottom:1px solid rgba(0,0,0,.13)}.res-files__grid span{color:#d90a2c;font-size:10px;font-weight:800}.res-files__grid strong{display:block;margin-top:7px;font-size:10px;overflow-wrap:anywhere}
.res-related{padding:100px 0;background:#f3f2ef}.res-related__head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.res-related__head h2{font-size:49px}.res-related__head>a{color:#d90a2c;text-decoration:none;font-size:10px;font-weight:700}.res-related__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(0,0,0,.13);border-left:1px solid rgba(0,0,0,.13)}.res-related__grid article{padding:20px;border-right:1px solid rgba(0,0,0,.13);border-bottom:1px solid rgba(0,0,0,.13)}.res-related__grid article>a:first-child{display:block;aspect-ratio:1/1.02;overflow:hidden;margin-bottom:18px}.res-related__grid img{width:100%;height:100%;object-fit:cover}.res-related__grid small{color:#d90a2c;font-size:10px;font-weight:700;text-transform:uppercase}.res-related__grid h3{margin:14px 0 10px;font-size:17px}.res-related__grid h3 a{color:#111;text-decoration:none}.res-related__grid p{color:#65666a;font-size:10px;line-height:1.65}.res-related__read{color:#d90a2c;text-decoration:none;font-size:10px;font-weight:700}
.res-download-toast{position:fixed;z-index:999999;right:24px;bottom:24px;max-width:360px;padding:13px 16px;background:#111;color:#fff;border-left:3px solid #d90a2c;font:600 10px Montserrat,sans-serif;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease}.res-download-toast.is-visible{opacity:1;transform:none}

/* Responsive */
@media(min-width:821px) and (max-width:1600px){
 .crs-shell,.res-shell{width:min(calc(100% - 88px),1180px)}
 .crs-hero__layout{min-height:570px;gap:45px}.crs-hero__visual{height:470px}.crs-hero h1{font-size:clamp(55px,6vw,84px)}
 .crs-grid{grid-template-columns:repeat(3,1fr)}
 .res-hero__layout{grid-template-columns:minmax(260px,390px) 1fr;gap:55px}
}
@media(max-width:1050px){
 .crs-grid{grid-template-columns:repeat(2,1fr)}
 .res-overview__layout{grid-template-columns:1fr;max-width:840px}.res-overview aside{position:static}
}
@media(max-width:920px){
 .crs-shell,.res-shell{width:min(calc(100% - 42px),1180px)}
 .crs-hero__layout{padding-top:78px}.crs-hero__visual{height:410px}
 .crs-search-cards{grid-template-columns:1fr 1fr}
 .res-cover{width:min(500px,100%)}.res-meta{max-width:650px}
 .res-files__grid,.res-related__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .crs-shell,.res-shell{width:min(calc(100% - 32px),1180px)}
 .crs-hero h1{font-size:clamp(50px,14.7vw,72px)}.crs-hero__visual{height:340px}.crs-library-core{width:220px;height:220px}.crs-library-core>strong{font-size:68px}.crs-orbit--a{width:285px;height:285px}.crs-orbit--b{width:325px;height:325px}
 .crs-grid,.crs-search-cards{grid-template-columns:1fr}.crs-library,.crs-intro,.crs-faq{padding-top:72px;padding-bottom:78px}
 .res-hero h1{font-size:clamp(42px,12.5vw,65px)}.res-meta{grid-template-columns:1fr}.res-actions{display:grid}.res-actions .vm-btn{width:100%}.res-files__grid,.res-related__grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.crs-orbit{animation:none!important}}

@media(max-width:620px){
  
  
}


/* V25 readable small text */
.bl-label,.bl-kicker,.bl-card__meta,.bl-card__read,
.ba-categories a,.ba-meta span,.ba-sidebar__sticky>span,.ba-sidebar__sticky>a,
.crs-label,.crs-kicker,.crs-card__body>small,.crs-card__read,.crs-filters button,
.res-label,.res-kicker,.res-meta span,.res-gate-note,.res-related__grid small,.res-related__read,
.ind-kicker,.ind-label,.ih-label,.trust-label,.trust-kicker{
  font-size:11px;
  line-height:1.45;
}


/* =========================================================
   V26 - Course / ebook product galleries
   ========================================================= */
.res-cover-wrap{min-width:0}
.res-cover{
  width:100%;padding:0;cursor:zoom-in;text-align:left;color:#fff
}
.res-cover>i{
  position:absolute;left:17px;bottom:17px;padding:8px 10px;
  background:rgba(7,8,10,.82);border:1px solid rgba(255,255,255,.14);
  color:#fff;font:700 10px Montserrat,sans-serif;font-style:normal;
  letter-spacing:.04em;text-transform:uppercase
}
.res-cover-thumbs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px
}
.res-cover-thumb{
  position:relative;padding:0;border:1px solid rgba(255,255,255,.13);
  background:#111;aspect-ratio:1/1;overflow:hidden;cursor:zoom-in
}
.res-cover-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.res-cover-thumb:hover img{transform:scale(1.04)}

.res-gallery-section{padding:100px 0;background:#f1f0ed}
.res-gallery-section__head{
  display:grid;grid-template-columns:1fr 410px;gap:70px;align-items:end;margin-bottom:44px
}
.res-gallery-section__head>p{
  margin:0;color:#626367;font-size:12px;line-height:1.75
}
.res-gallery-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(0,0,0,.13);border-left:1px solid rgba(0,0,0,.13)
}
.res-gallery-card{
  position:relative;display:block;min-width:0;aspect-ratio:1/1;
  padding:0;border:0;border-right:1px solid rgba(0,0,0,.13);
  border-bottom:1px solid rgba(0,0,0,.13);background:#111;overflow:hidden;
  cursor:zoom-in;text-align:left
}
.res-gallery-card img{
  width:100%;height:100%;object-fit:cover;transition:transform .35s ease,opacity .35s ease
}
.res-gallery-card:hover img{transform:scale(1.035);opacity:.82}
.res-gallery-card>span{
  position:absolute;top:13px;right:13px;display:grid;place-items:center;
  width:35px;height:35px;background:rgba(7,8,10,.84);color:#fff;
  font:700 10px Montserrat,sans-serif
}
.res-gallery-card>i{
  position:absolute;left:14px;bottom:14px;padding:7px 9px;
  background:rgba(7,8,10,.84);color:#fff;
  font:700 10px Montserrat,sans-serif;font-style:normal;text-transform:uppercase;
  opacity:0;transform:translateY(5px);transition:.2s ease
}
.res-gallery-card:hover>i{opacity:1;transform:none}

.has-resource-lightbox{overflow:hidden}
.res-lightbox[hidden]{display:none!important}
.res-lightbox{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:28px}
.res-lightbox__backdrop{
  position:absolute;inset:0;border:0;background:rgba(3,4,6,.92);cursor:zoom-out
}
.res-lightbox__dialog{
  position:relative;z-index:2;width:min(1180px,calc(100vw - 80px));
  height:min(88vh,920px);display:grid;place-items:center
}
.res-lightbox figure{margin:0;max-width:100%;max-height:100%;display:grid;place-items:center}
.res-lightbox figure img{
  display:block;max-width:100%;max-height:82vh;object-fit:contain;
  box-shadow:0 25px 90px rgba(0,0,0,.38)
}
.res-lightbox figcaption{
  margin-top:12px;color:rgba(255,255,255,.58);font-size:11px;text-align:center
}
.res-lightbox__close,
.res-lightbox__nav{
  position:absolute;z-index:4;border:1px solid rgba(255,255,255,.16);
  background:rgba(7,8,10,.86);color:#fff;cursor:pointer
}
.res-lightbox__close{
  right:0;top:0;width:42px;height:42px;font:400 21px Arial,sans-serif
}
.res-lightbox__nav{
  top:50%;width:44px;height:64px;transform:translateY(-50%);
  font:400 25px Arial,sans-serif
}
.res-lightbox__nav--prev{left:0}
.res-lightbox__nav--next{right:0}
.res-lightbox__close:hover,.res-lightbox__nav:hover{background:#d90a2c;border-color:#d90a2c}

@media(max-width:920px){
  .res-gallery-section__head{grid-template-columns:1fr;gap:24px}
  .res-gallery-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .res-cover-thumbs{grid-template-columns:repeat(4,1fr)}
  .res-gallery-section{padding:72px 0 78px}
  .res-gallery-grid{grid-template-columns:1fr 1fr}
  .res-gallery-card>i{display:none}
  .res-lightbox{padding:14px}
  .res-lightbox__dialog{width:100%;height:92vh}
  .res-lightbox__nav{width:38px;height:52px}
  .res-lightbox figure img{max-height:78vh}
}
@media(prefers-reduced-motion:reduce){
  .res-cover-thumb img,.res-gallery-card img,.res-gallery-card>i{transition:none!important}
}




/* =========================================================
   V30 - Public document / gated resource-pack architecture
   ========================================================= */
.res-files__head{
  display:grid;grid-template-columns:1fr 420px;gap:70px;align-items:end;margin-bottom:30px
}
.res-files__head h2{
  margin:0;font-size:clamp(30px,3.6vw,48px);line-height:1;letter-spacing:-.045em
}
.res-files__head>p{
  margin:0;color:#626367;font-size:12px;line-height:1.75
}
.res-files__grid>div small{
  display:block;margin-top:6px;color:#77787c;font-size:11px;line-height:1.45
}
@media(max-width:920px){
  .res-files__head{grid-template-columns:1fr;gap:20px}
}
