:root{--ctx-ink:#101020;--ctx-ink-soft:#5e596d;--ctx-purple:#6f108e;--ctx-purple-dark:#45105b;--ctx-purple-mid:#8e2bad;--ctx-lavender:#f2edfb;--ctx-paper:#fbfaff;--ctx-white:#fff;--ctx-line:#e7e1ee;--ctx-green:#12745b;--ctx-shadow:0 18px 50px rgba(44,21,74,.11);--ctx-shadow-soft:0 9px 28px rgba(44,21,74,.08);--ctx-radius:22px}
body.ctx98-academy-page{margin:0;background:var(--ctx-paper);color:var(--ctx-ink);font-family:Outfit,ui-sans-serif,system-ui,sans-serif;line-height:1.6}body.ctx98-academy-page *,.ctx98-academy-page *::before,.ctx98-academy-page *::after{box-sizing:border-box}.ctx98-academy-page a{text-decoration:none}.academy-container{width:min(calc(100% - 40px),1180px);margin:0 auto}
.academy-topbar{background:linear-gradient(90deg,#41105a,#7d209d 55%,#53116f);color:#fff;font-size:13px}.academy-topbar__inner{display:flex;min-height:37px;align-items:center;justify-content:center;gap:10px;text-align:center}.academy-topbar a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}.academy-topbar__dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ffd476}
.academy-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(231,225,238,.75);background:rgba(251,250,255,.91);backdrop-filter:blur(16px)}.admin-bar .academy-header{top:32px}.academy-nav{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:24px}.academy-brand{display:flex;align-items:center;gap:11px;color:var(--ctx-ink);font-weight:900;letter-spacing:-.04em;white-space:nowrap}.academy-brand__mark{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#9a3abb,#57106f);color:#fff;box-shadow:0 7px 18px rgba(111,16,142,.25);font-size:14px;font-weight:900;letter-spacing:-1px}.academy-brand__mark::after{position:absolute;width:12px;height:12px;border:2px solid rgba(255,255,255,.64);border-radius:50%;content:""}.academy-brand__title{font-size:18px}.academy-brand__title small{display:block;margin-top:-3px;color:var(--ctx-purple);font-size:9px;line-height:1;letter-spacing:.17em;text-transform:uppercase}.academy-nav__links,.academy-nav__menu{display:flex;align-items:center;gap:24px;margin:0;padding:0;list-style:none;color:#393649;font-size:14px;font-weight:700}.academy-nav__links a{color:#393649;transition:.2s ease}.academy-nav__links a:hover{color:var(--ctx-purple)}.academy-nav__actions{display:flex;align-items:center;gap:10px}.academy-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid transparent;border-radius:999px;font-family:inherit;font-size:14px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.academy-button:hover{transform:translateY(-2px)}.academy-button--primary{background:var(--ctx-purple);color:#fff!important;box-shadow:0 10px 22px rgba(111,16,142,.21)}.academy-button--primary:hover{background:#55106f;box-shadow:0 15px 28px rgba(111,16,142,.28)}.academy-button--secondary{border-color:#d9c9e8;background:#fff;color:var(--ctx-purple-dark)!important}.academy-button--secondary:hover{background:#f7f1fd}.academy-button--green{background:var(--ctx-green);color:#fff!important;box-shadow:0 10px 20px rgba(18,116,91,.16)}.academy-button--green:hover{background:#0d5b48}.academy-menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--ctx-line);border-radius:12px;background:#fff;color:var(--ctx-purple);font:inherit;font-size:20px}
.academy-hero{position:relative;overflow:hidden;padding:78px 0 64px;border-bottom:1px solid #e8dff1;background:radial-gradient(circle at 86% 12%,rgba(184,118,211,.24) 0 6%,transparent 26%),radial-gradient(circle at 83% 84%,rgba(219,192,241,.72) 0 5%,transparent 27%),linear-gradient(125deg,#fcfbff 0%,#f8f2ff 54%,#eee3fb 100%)}.academy-hero::before,.academy-hero::after{position:absolute;border:1px solid rgba(111,16,142,.1);border-radius:50%;content:"";pointer-events:none}.academy-hero::before{top:-210px;right:-144px;width:540px;height:540px}.academy-hero::after{top:-335px;right:-255px;width:760px;height:760px}.academy-hero__grid{position:relative;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:42px}.academy-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #e2d5ee;border-radius:999px;background:#fff;color:var(--ctx-purple-dark);box-shadow:0 4px 12px rgba(61,20,79,.04);font-size:12px;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.academy-eyebrow i{width:7px;height:7px;border-radius:50%;background:#8f2dad}.academy-hero h1{max-width:690px;margin:18px 0 20px;color:#171125;font-size:clamp(44px,5vw,74px);line-height:.99;letter-spacing:-.065em}.academy-hero h1 em{color:var(--ctx-purple);font-style:normal}.academy-hero__copy{max-width:590px;margin:0;color:#605a70;font-size:18px;line-height:1.65}.academy-hero__buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.academy-hero__note{display:flex;max-width:605px;align-items:flex-start;gap:9px;margin:22px 0 0;color:#777184;font-size:12px;line-height:1.5}.academy-hero__note strong{color:#524b60}.academy-shield{display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#ebe0f6;color:var(--ctx-purple);font-size:12px}.academy-hero__visual{position:relative;min-height:410px}.academy-orb{position:absolute;inset:20px 10px 0 28px;border-radius:45% 55% 54% 46% / 39% 42% 58% 61%;background:radial-gradient(circle at 48% 43%,#aa59c4 0 2%,#8a2eaa 2.5%,#68188d 38%,#471060 70%,#321042 100%);box-shadow:inset -19px -24px 40px rgba(13,0,23,.27),0 28px 58px rgba(60,17,80,.22)}.academy-orb::before,.academy-orb::after{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;content:""}.academy-orb::before{top:14%;left:14%;width:72%;height:72%}.academy-orb::after{top:25%;left:25%;width:50%;height:50%}.academy-orbit-line{position:absolute;z-index:1;top:29%;left:6%;width:88%;height:47%;border:1px solid rgba(255,255,255,.65);border-radius:50%;transform:rotate(-26deg)}.academy-orbit-dot{position:absolute;z-index:2;top:21%;right:15%;width:13px;height:13px;border-radius:50%;background:#ffd47c;box-shadow:0 0 0 8px rgba(255,212,124,.14)}.academy-book{position:absolute;z-index:3;width:199px;height:144px;padding:20px 18px;overflow:hidden;border-radius:19px;box-shadow:0 25px 36px rgba(18,7,31,.28);transform:rotate(-9deg)}.academy-book--front{top:83px;right:28px;background:linear-gradient(145deg,#fffefc,#efe1f8);color:#4a1760;transform:rotate(7deg)}.academy-book--bottom{bottom:24px;left:54px;background:linear-gradient(145deg,#9a3bbb,#591171);color:#fff;transform:rotate(-7deg)}.academy-book__tiny{margin:0;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.72}.academy-book__big{margin:16px 0 0;font-size:23px;font-weight:900;line-height:1.02;letter-spacing:-.055em}.academy-book::after{position:absolute;right:-31px;bottom:-34px;width:92px;height:92px;border:1px solid rgba(111,16,142,.18);border-radius:50%;content:""}.academy-floating-card{position:absolute;z-index:4;display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid rgba(255,255,255,.83);border-radius:14px;background:rgba(255,255,255,.92);color:#372043;box-shadow:var(--ctx-shadow-soft);font-size:12px;font-weight:800;backdrop-filter:blur(8px)}.academy-floating-card>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:var(--ctx-purple);color:#fff;font-size:14px}.academy-floating-card small{display:block;color:#786d80;font-size:10px;font-weight:650}.academy-floating-card--one{top:60px;left:0}.academy-floating-card--two{right:0;bottom:42px}
.academy-section{padding:92px 0}.academy-section--featured-articles,.academy-section--latest,.academy-section--cta{background:#fff}.academy-section--topics{background:var(--ctx-lavender)}.academy-section--videos{background:#f7f3fb}.academy-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:31px}.academy-section-kicker{margin:0 0 10px;color:var(--ctx-purple);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.academy-section h2,.academy-editorial h2,.academy-safety h2,.academy-bottom-cta h2{margin:0;color:#1b1427;font-size:clamp(31px,3.5vw,48px);line-height:1.05;letter-spacing:-.052em}.academy-section-intro{max-width:430px;margin:0;color:var(--ctx-ink-soft);font-size:15px}.academy-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--ctx-purple)!important;font-size:14px;font-weight:850;white-space:nowrap}.academy-text-link>span{font-size:19px;line-height:0;transition:transform .2s}.academy-text-link:hover>span{transform:translateX(4px)}.academy-text-link--light{color:#f0c5ff!important}
.academy-featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.academy-article-card{display:flex;min-height:392px;flex-direction:column;overflow:hidden;border:1px solid var(--ctx-line);border-radius:var(--ctx-radius);background:#fff;box-shadow:0 8px 24px rgba(60,29,82,.035);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.academy-article-card:hover{border-color:#d9bce8;box-shadow:var(--ctx-shadow-soft);transform:translateY(-6px)}.academy-article-card__art{position:relative;display:grid;min-height:155px;place-items:center;overflow:hidden;background:linear-gradient(135deg,#4b105f,#a53ec1)}.academy-article-card--2 .academy-article-card__art{background:linear-gradient(135deg,#0f6654,#35a787)}.academy-article-card--3 .academy-article-card__art{background:linear-gradient(135deg,#b16b17,#f1bb4c)}.academy-article-card__art img{width:100%;height:100%;min-height:155px;object-fit:cover}.academy-article-card__symbol{position:relative;z-index:2;color:#fff;font-size:38px;font-weight:900;letter-spacing:-.08em}.academy-article-card__rings{position:absolute;width:126px;height:126px;border:1px solid rgba(255,255,255,.3);border-radius:50%}.academy-article-card__rings::before,.academy-article-card__rings::after{position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:50%;content:""}.academy-article-card__rings::before{inset:19px}.academy-article-card__rings::after{inset:38px;background:rgba(255,255,255,.18)}.academy-article-card__body{display:flex;flex:1;flex-direction:column;padding:20px}.academy-article-card__meta{display:flex;align-items:center;gap:8px;color:#7a7184;font-size:10px;font-weight:750}.academy-article-card__tag{color:var(--ctx-purple);font-weight:900;letter-spacing:.07em;text-transform:uppercase}.academy-article-card h3{margin:12px 0 8px;font-size:22px;line-height:1.13;letter-spacing:-.04em}.academy-article-card h3 a,.academy-latest-card h3 a{color:#1b1427}.academy-article-card p{margin:0 0 18px;color:#6a6473;font-size:13px;line-height:1.55}.academy-article-card .academy-text-link{margin-top:auto}
.academy-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.academy-topic{display:flex;min-height:97px;align-items:center;gap:13px;padding:18px;border:1px solid rgba(205,182,222,.55);border-radius:17px;background:rgba(255,255,255,.62);transition:background .2s,transform .2s}.academy-topic:hover{background:#fff;transform:translateY(-3px)}.academy-topic__icon{display:grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:12px;background:#e9d9f2;color:var(--ctx-purple);font-size:17px}.academy-topic strong{display:block;color:#31283a;font-size:15px;letter-spacing:-.02em}.academy-topic small{display:block;margin-top:2px;color:#716a7b;font-size:12px;line-height:1.35}
.academy-section--editorial{position:relative;overflow:hidden;background:#281136;color:#fff}.academy-section--editorial::before{position:absolute;top:-390px;right:-170px;width:700px;height:700px;border:1px solid rgba(255,255,255,.15);border-radius:50%;content:""}.academy-section--editorial::after{position:absolute;right:7%;bottom:-185px;width:360px;height:360px;border:1px solid rgba(255,255,255,.14);border-radius:50%;content:""}.academy-editorial{position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:45px}.academy-editorial .academy-section-kicker{color:#e6baf6}.academy-editorial h2{max-width:620px;color:#fff}.academy-editorial__copy>p:not(.academy-section-kicker){max-width:570px;margin:18px 0;color:#d9c9e0;font-size:16px}.academy-editorial__meta{display:flex;flex-wrap:wrap;gap:11px;margin:0 0 29px;color:#ebd9ef;font-size:12px;font-weight:700}.academy-editorial__panel{position:relative;z-index:2;padding:27px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:linear-gradient(150deg,rgba(255,255,255,.15),rgba(255,255,255,.04));box-shadow:0 22px 50px rgba(0,0,0,.18);backdrop-filter:blur(8px)}.academy-editorial__panel-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:#ffd584;color:#401052;font-size:18px}.academy-editorial__panel-kicker{margin:20px 0 7px;color:#e6baf6;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.academy-editorial__panel h3{margin:0 0 16px;color:#fff;font-size:27px;line-height:1.08;letter-spacing:-.045em}.academy-editorial__panel ul{display:grid;gap:8px;margin:0 0 24px;padding:0;list-style:none}.academy-editorial__panel li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#f2e9f5;font-size:13px}.academy-editorial__panel li::before{display:inline-block;width:7px;height:4px;margin:0 10px 2px 1px;border-bottom:1.8px solid #f2b8ff;border-left:1.8px solid #f2b8ff;content:"";transform:rotate(-45deg)}
.academy-latest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.academy-latest-card{display:flex;min-height:290px;flex-direction:column;overflow:hidden;border:1px solid var(--ctx-line);border-radius:18px;background:#fff;transition:transform .22s ease,box-shadow .22s ease}.academy-latest-card:hover{box-shadow:var(--ctx-shadow-soft);transform:translateY(-5px)}.academy-latest-card__image{display:grid;min-height:116px;place-items:center;overflow:hidden;background:linear-gradient(135deg,#f0e6f7,#dbc3e9);color:var(--ctx-purple);font-size:30px;font-weight:900}.academy-latest-card__image img{width:100%;height:116px;object-fit:cover}.academy-latest-card__body{display:flex;flex:1;flex-direction:column;padding:17px}.academy-latest-card h3{margin:11px 0 15px;font-size:18px;line-height:1.16;letter-spacing:-.035em}.academy-latest-card .academy-text-link{margin-top:auto;font-size:12px}
.academy-section--safety{padding:0;background:var(--ctx-paper)}.academy-safety{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;margin:78px 0;padding:35px 38px;overflow:hidden;border:1px solid #cceadd;border-radius:24px;background:linear-gradient(100deg,#edfbf5,#f7fffb)}.academy-safety::after{position:absolute;top:-103px;right:17%;width:185px;height:185px;border:1px solid rgba(18,116,91,.18);border-radius:50%;content:""}.academy-safety__icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:17px;border-radius:18px;background:var(--ctx-green);color:#fff;box-shadow:0 10px 23px rgba(18,116,91,.2);font-size:24px}.academy-safety h2{font-size:32px}.academy-safety h2 span{color:var(--ctx-green)}.academy-safety p{max-width:650px;margin:11px 0 0;color:#45665a;font-size:14px}.academy-safety .academy-button{position:relative;z-index:1;white-space:nowrap}
.academy-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.academy-video-card{overflow:hidden;border:1px solid #e5dcec;border-radius:18px;background:#fff}.academy-video-card__thumb{position:relative;display:grid;height:174px;place-items:center;background:linear-gradient(135deg,#45105b,#8e2bad);color:#fff}.academy-video-card__thumb::before{position:absolute;width:110px;height:110px;border:1px solid rgba(255,255,255,.26);border-radius:50%;content:""}.academy-video-card__thumb>span{position:relative;z-index:1;display:grid;place-items:center;width:50px;height:50px;padding-left:3px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.16);font-size:20px;backdrop-filter:blur(5px)}.academy-video-card__thumb b{position:absolute;z-index:2;right:12px;bottom:10px;padding:3px 7px;border-radius:6px;background:rgba(11,4,16,.55);font-size:10px;font-weight:800}.academy-video-card__thumb--2{background:linear-gradient(135deg,#075a47,#2b9b7c)}.academy-video-card__thumb--3{background:linear-gradient(135deg,#9b5912,#e6aa3e)}.academy-video-card__body{padding:17px}.academy-video-card__body small{color:var(--ctx-purple);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.academy-video-card__body h3{margin:7px 0 5px;font-size:19px;line-height:1.14;letter-spacing:-.035em}.academy-video-card__body h3 a{color:#1b1427}.academy-video-card__body p{margin:0;color:#716a79;font-size:12px}
.academy-bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:38px;padding:39px;border:1px solid var(--ctx-line);border-radius:24px;background:linear-gradient(135deg,#fff,#f7f0fc)}.academy-bottom-cta h2{max-width:660px;font-size:36px}.academy-bottom-cta p:not(.academy-section-kicker){max-width:640px;margin:12px 0 0;color:var(--ctx-ink-soft);font-size:14px}.academy-bottom-cta__actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}
.academy-footer{overflow:hidden;background:#161020;color:#e3d9e8}.academy-footer__top{display:grid;grid-template-columns:1.5fr repeat(3,.72fr);gap:32px;padding:66px 0 42px}.academy-footer .academy-brand{color:#fff}.academy-footer .academy-brand__title small{color:#dcb5ea}.academy-footer__brand p{max-width:300px;margin:17px 0 0;color:#a89cad;font-size:13px;line-height:1.65}.academy-footer__col h4{margin:4px 0 13px;color:#fff;font-size:13px;letter-spacing:.02em}.academy-footer__col a{display:block;margin:8px 0;color:#a99db0;font-size:12px}.academy-footer__col a:hover{color:#fff}.academy-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;border-top:1px solid rgba(255,255,255,.11);color:#978a9e;font-size:11px}.academy-footer__bottom a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:1000px){.academy-hero__grid,.academy-editorial{grid-template-columns:1fr}.academy-hero__visual{width:100%;max-width:620px;margin:0 auto}.academy-latest-grid{grid-template-columns:repeat(2,1fr)}.academy-footer__top{grid-template-columns:1.5fr repeat(3,1fr)}}
@media (max-width:760px){.academy-container{width:min(calc(100% - 32px),1180px)}.admin-bar .academy-header{top:46px}.academy-nav{min-height:67px}.academy-nav__links{position:absolute;top:calc(100% + 1px);right:16px;left:16px;display:none;align-items:stretch;flex-direction:column;gap:0;padding:10px;border:1px solid var(--ctx-line);border-radius:16px;background:#fff;box-shadow:var(--ctx-shadow-soft)}.academy-nav__links.is-open{display:flex}.academy-nav__menu{display:flex;align-items:stretch;flex-direction:column;gap:0;width:100%}.academy-nav__links a{display:block;padding:11px 12px}.academy-nav__actions .academy-nav__articles{display:none}.academy-menu-toggle{display:block}.academy-hero{padding:60px 0 49px}.academy-hero__grid{gap:14px}.academy-hero h1{font-size:48px}.academy-hero__copy{font-size:16px}.academy-hero__visual{min-height:350px;margin:-20px auto -9px;transform:scale(.92);transform-origin:center bottom}.academy-section{padding:66px 0}.academy-section-head{display:block;margin-bottom:23px}.academy-section-intro{margin-top:12px}.academy-section-head>.academy-text-link{display:inline-flex;margin-top:14px}.academy-featured-grid,.academy-topic-grid,.academy-video-grid{grid-template-columns:1fr}.academy-article-card{min-height:310px}.academy-editorial{gap:25px}.academy-section--editorial{padding:67px 0}.academy-editorial__panel{padding:21px}.academy-latest-grid{grid-template-columns:1fr}.academy-safety{grid-template-columns:1fr;margin:52px 0;padding:27px}.academy-safety h2{font-size:30px}.academy-bottom-cta{display:block;padding:27px}.academy-bottom-cta h2{font-size:31px}.academy-bottom-cta__actions{margin-top:22px}.academy-footer__top{grid-template-columns:1fr 1fr;gap:25px;padding:50px 0 28px}.academy-footer__brand{grid-column:1/-1}.academy-footer__bottom{align-items:flex-start;flex-direction:column}}
@media (max-width:430px){.academy-topbar__inner{padding:6px 0;line-height:1.4}.academy-hero h1{font-size:41px}.academy-hero__buttons,.academy-hero__buttons .academy-button{width:100%}.academy-hero__visual{margin:-52px auto -48px;transform:scale(.78)}.academy-footer__top{grid-template-columns:1fr}.academy-footer__brand{grid-column:auto}.academy-bottom-cta__actions,.academy-bottom-cta__actions .academy-button{width:100%}}


.academy-brand--image .academy-brand__logo{
  display:block;
  width:auto;
  max-width:235px;
  max-height:48px;
  height:auto;
  object-fit:contain;
}

.academy-footer .academy-brand--image .academy-brand__logo{
  max-width:235px;
  max-height:46px;
}
@media (max-width:760px){
  .academy-brand--image{max-width:190px}
  .academy-brand--image .academy-brand__logo{max-width:180px;max-height:38px}
  .academy-footer .academy-brand--image{max-width:210px}
  .academy-footer .academy-brand--image .academy-brand__logo{max-width:190px;max-height:39px}
}


/* Separately editable custom header and footer logos.
   Appearance > Customize > CTX-98 Academy Layout > Academy Header / Academy Footer. */
.academy-brand--image{
  display:inline-flex;
  align-items:center;
  max-width:250px;
}
.academy-brand--image .academy-brand__logo{
  display:block;
  width:auto;
  max-width:240px;
  max-height:50px;
  height:auto;
  object-fit:contain;
}
.academy-footer .academy-brand--image{
  max-width:270px;
}
.academy-footer .academy-brand--image .academy-brand__logo{
  max-width:260px;
  max-height:52px;
}
.academy-footer-menu{
  margin:0;
  padding:0;
  list-style:none;
}
.academy-footer-menu li{
  margin:0;
  padding:0;
}
.academy-footer-menu a{
  display:block;
  margin:8px 0;
  color:#a99db0;
  font-size:12px;
}
.academy-footer-menu a:hover{
  color:#fff;
}
@media (max-width:760px){
  .academy-brand--image{max-width:190px}
  .academy-brand--image .academy-brand__logo{max-width:180px;max-height:38px}
  .academy-footer .academy-brand--image{max-width:220px}
  .academy-footer .academy-brand--image .academy-brand__logo{max-width:210px;max-height:42px}
}


/* v1.3.4 — Keep the footer logo transparent; no white logo panel. */
.academy-footer .academy-brand--image,
.academy-footer .academy-brand--image:hover,
.academy-footer .academy-brand--image:focus{
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.academy-footer .academy-brand--image .academy-brand__logo{
  background: transparent !important;
}

/* v1.3.4 — Draw the play icon in CSS instead of using a Unicode emoji.
   This prevents the browser from showing a blue emoji-style play button. */
.academy-video__play,
.academy-video-play{
  position: relative;
  display: grid !important;
  place-items: center;
  width: 50px;
  height: 50px;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  box-shadow: none !important;
}
.academy-video__play::after,
.academy-video-play::after{
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin-left: 4px;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #ffffff;
}


/* v1.3.5 — Academy inline icon system.
   Icons are CSS shapes, not Unicode characters or browser emojis. */
.academy-inline-icon{
  position:relative;
  display:inline-block;
  width:18px;
  height:18px;
  flex:0 0 18px;
  vertical-align:-3px;
  color:currentColor;
  font-family:inherit !important;
  font-size:0 !important;
  line-height:0 !important;
  text-transform:none !important;
}

/* Branded play icon for buttons: purple rounded-square outline + white/purple-safe triangle.
   Works on the white outline button and purple filled button without browser emoji rendering. */
.academy-inline-icon--play{
  border:1.5px solid currentColor;
  border-radius:5px;
}
.academy-inline-icon--play::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:0;
  height:0;
  margin-top:-4px;
  margin-left:-2px;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:6px solid currentColor;
}

/* Filled purple button: keep the icon distinct but fully within the Academy colour system. */
.academy-button--primary .academy-inline-icon--play,
.academy-btn--primary .academy-inline-icon--play{
  border-color:#ffffff;
}
.academy-button--primary .academy-inline-icon--play::after,
.academy-btn--primary .academy-inline-icon--play::after{
  border-left-color:#ffffff;
}

/* Prevent a future text/emoji fallback inside this icon element. */
.academy-inline-icon--play,
.academy-inline-icon--play *{
  color:currentColor !important;
  -webkit-text-fill-color:currentColor;
}


/* v1.3.6 — CTX-98 Academy Icon Standard
   Theme UI icons are custom inline SVGs, not text arrows or emoji characters. */
.academy-icon{
  display:inline-block;
  width:1em;
  height:1em;
  flex:0 0 auto;
  vertical-align:-.14em;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.academy-icon__fill{fill:currentColor;stroke:none}
.academy-button__icon{width:17px;height:17px}
.academy-text-link__icon{width:17px;height:17px;transition:transform .2s ease}
.academy-menu-toggle__icon{width:21px;height:21px;vertical-align:middle}
.academy-menu-link__icon,.academy-footer-link__icon{width:13px;height:13px;margin-left:5px}
.academy-shield .academy-icon{width:13px;height:13px}
.academy-floating-card__icon .academy-icon{width:16px;height:16px;vertical-align:middle}
.academy-article-card__symbol .academy-icon{width:39px;height:39px}
.academy-topic__icon .academy-icon{width:20px;height:20px}
.academy-editorial__panel-icon .academy-icon{width:22px;height:22px}
.academy-safety__icon .academy-icon{width:26px;height:26px}
.academy-video-card__thumb .academy-video-play-icon{width:22px;height:22px;color:#fff}
.academy-floating-card--two .academy-icon--play{color:#fff}
.academy-text-link:hover .academy-text-link__icon{transform:translateX(4px)}
.academy-button:hover .academy-icon--external,
.academy-footer-menu a:hover .academy-icon--external,
.academy-nav__menu a:hover .academy-icon--external{transform:translate(1px,-1px)}
.academy-icon--external{transition:transform .2s ease}

/* SVG icon compatibility with existing visual containers. */
.academy-floating-card__icon,
.academy-article-card__symbol,
.academy-topic__icon,
.academy-editorial__panel-icon,
.academy-safety__icon,
.academy-shield{
  display:grid;
  place-items:center;
  font-size:0 !important;
  line-height:0 !important;
}
.academy-video-card__thumb>.academy-icon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  padding:13px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(255,255,255,.16);
  backdrop-filter:blur(5px);
}
.academy-footer-menu a .academy-icon,
.academy-nav__menu a .academy-icon{pointer-events:none}


/* ==========================================================================
   v1.3.7 — Article and archive reading system
   ========================================================================== */

/* Shared inner-page shell */
.ctx98-academy-inner-page{background:var(--ctx-paper)}
.ctx98-academy-inner-page .academy-main{overflow:hidden}
.academy-reading-hero,
.academy-archive-hero{
  position:relative;
  overflow:hidden;
  padding:68px 0 55px;
  border-bottom:1px solid #e8dff1;
  background:
    radial-gradient(circle at 92% 12%,rgba(184,118,211,.22) 0 5%,transparent 26%),
    radial-gradient(circle at 8% 85%,rgba(219,192,241,.42) 0 4%,transparent 29%),
    linear-gradient(125deg,#fcfbff 0%,#f8f2ff 54%,#eee3fb 100%);
}
.academy-reading-hero::before,
.academy-archive-hero::before{
  position:absolute;
  top:-355px;
  right:-195px;
  width:660px;
  height:660px;
  border:1px solid rgba(111,16,142,.1);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.academy-reading-hero__inner,
.academy-archive-hero__inner{position:relative;max-width:920px}
.academy-breadcrumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 24px;
  color:#746c7e;
  font-size:12px;
  font-weight:700;
}
.academy-breadcrumbs a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#746c7e;
}
.academy-breadcrumbs a:hover{color:var(--ctx-purple)}
.academy-breadcrumbs__icon{width:14px;height:14px}
.academy-breadcrumbs__divider{color:#b3aaba}

.academy-reading-hero__tag{
  display:inline-flex;
  margin:0 0 16px;
  padding:5px 9px;
  border:1px solid #dfc9ec;
  border-radius:999px;
  background:#fff;
  color:var(--ctx-purple)!important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.academy-reading-hero h1{
  max-width:900px;
  margin:0;
  color:#1b1427;
  font-size:clamp(41px,5.25vw,70px);
  font-weight:850;
  line-height:1.02;
  letter-spacing:-.062em;
}
.academy-reading-hero__excerpt{
  max-width:745px;
  margin:22px 0 0;
  color:#625b70;
  font-size:19px;
  line-height:1.62;
}
.academy-reading-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
  align-items:center;
  margin-top:25px;
  color:#6d6577;
  font-size:12px;
  font-weight:700;
}
.academy-reading-hero__meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.academy-reading-meta__icon{width:14px;height:14px;color:var(--ctx-purple)}

.academy-single-article{padding:43px 0 0;background:#fff}
.academy-single-cover{
  position:relative;
  display:grid;
  min-height:clamp(270px,38vw,470px);
  margin:0 0 46px;
  overflow:hidden;
  place-items:center;
  border:1px solid var(--ctx-line);
  border-radius:25px;
  background:linear-gradient(135deg,#4b105f,#a53ec1);
  box-shadow:var(--ctx-shadow-soft);
}
.academy-single-cover img{
  width:100%;
  height:100%;
  min-height:inherit;
  object-fit:cover;
}
.academy-single-cover--fallback{
  isolation:isolate;
  background:
    radial-gradient(circle at 55% 43%,rgba(255,255,255,.18) 0 2%,transparent 2.4%),
    linear-gradient(135deg,#4b105f,#a53ec1);
}
.academy-single-cover--fallback::before{
  position:absolute;
  z-index:0;
  width:46%;
  height:46%;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  content:"";
}
.academy-single-cover__ring{
  position:absolute;
  z-index:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
}
.academy-single-cover__ring--one{width:66%;height:66%}
.academy-single-cover__ring--two{width:34%;height:34%}
.academy-single-cover__icon{
  position:relative;
  z-index:1;
  display:grid;
  width:92px;
  height:92px;
  place-items:center;
  border:1px solid rgba(255,255,255,.38);
  border-radius:27px;
  background:rgba(255,255,255,.12);
  color:#fff;
  backdrop-filter:blur(8px);
}
.academy-single-cover__icon .academy-icon{width:45px;height:45px}
.academy-single-cover__label{
  position:absolute;
  z-index:2;
  right:22px;
  bottom:20px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.27);
  border-radius:999px;
  background:rgba(26,8,35,.36);
  color:#fff;
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(7px);
}

.academy-reading-layout{
  display:grid;
  grid-template-columns:205px minmax(0,760px);
  justify-content:center;
  gap:50px;
  padding-bottom:78px;
}
.academy-reading-toc{
  position:sticky;
  top:115px;
  align-self:start;
  padding:17px 0 17px 16px;
  border-left:1px solid #ddcbe9;
}
.academy-reading-toc.is-empty{display:none}
.academy-reading-toc__title{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 12px;
  color:#3d204d;
  font-size:12px;
  font-weight:900;
}
.academy-reading-toc__icon{width:15px;height:15px;color:var(--ctx-purple)}
.academy-reading-toc__list{
  display:grid;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.academy-reading-toc__list a{
  display:block;
  color:#777083;
  font-size:12px;
  line-height:1.35;
  transition:color .2s ease;
}
.academy-reading-toc__list a:hover{color:var(--ctx-purple)}
.academy-reading-toc__list .is-subheading{padding-left:10px}
.academy-reading-toc__list .is-subheading a{font-size:11px}

.academy-reading-body{min-width:0}
.academy-reading-summary{
  display:flex;
  gap:13px;
  align-items:flex-start;
  margin:0 0 35px;
  padding:18px 19px;
  border:1px solid #e5d7ee;
  border-radius:16px;
  background:#faf6fe;
}
.academy-reading-summary__icon{
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 auto;
  place-items:center;
  border-radius:9px;
  background:#eadcf4;
  color:var(--ctx-purple);
}
.academy-reading-summary__icon .academy-icon{width:16px;height:16px}
.academy-reading-summary__label{
  margin:0 0 3px!important;
  color:var(--ctx-purple)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.academy-reading-summary p:last-child{margin:0;color:#514c5c;font-size:15px;line-height:1.56}

.academy-entry-content{
  color:#342d3c;
  font-size:18px;
  line-height:1.78;
}
.academy-entry-content>*:first-child{margin-top:0}
.academy-entry-content p{margin:0 0 1.55em}
.academy-entry-content h2,
.academy-entry-content h3,
.academy-entry-content h4{
  scroll-margin-top:128px;
  color:#201728;
  font-weight:850;
  letter-spacing:-.045em;
}
.academy-entry-content h2{
  margin:2.1em 0 .7em;
  font-size:clamp(29px,3.2vw,38px);
  line-height:1.08;
}
.academy-entry-content h3{
  margin:1.8em 0 .65em;
  font-size:clamp(23px,2.8vw,29px);
  line-height:1.18;
}
.academy-entry-content h4{
  margin:1.5em 0 .55em;
  font-size:21px;
  line-height:1.24;
}
.academy-entry-content a{
  color:var(--ctx-purple);
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:rgba(111,16,142,.3);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.academy-entry-content a:hover{color:var(--ctx-purple-dark);text-decoration-color:currentColor}
.academy-entry-content ul,
.academy-entry-content ol{
  margin:0 0 1.6em;
  padding-left:1.25em;
}
.academy-entry-content li{margin:0 0 .55em;padding-left:.18em}
.academy-entry-content li::marker{color:var(--ctx-purple);font-weight:800}
.academy-entry-content blockquote{
  position:relative;
  margin:2em 0;
  padding:5px 0 5px 24px;
  border:0;
  border-left:3px solid var(--ctx-purple);
  color:#4c3159;
  font-size:22px;
  font-weight:650;
  line-height:1.5;
}
.academy-entry-content blockquote p:last-child{margin-bottom:0}
.academy-entry-content figure{margin:2em 0}
.academy-entry-content figcaption{margin-top:9px;color:#7d7483;font-size:12px;text-align:center}
.academy-entry-content img{max-width:100%;height:auto;border-radius:15px}
.academy-entry-content table{
  display:block;
  width:100%;
  overflow-x:auto;
  margin:2em 0;
  border:1px solid var(--ctx-line);
  border-radius:14px;
  border-spacing:0;
  background:#fff;
  font-size:15px;
}
.academy-entry-content th,
.academy-entry-content td{
  min-width:150px;
  padding:12px 14px;
  border-bottom:1px solid var(--ctx-line);
  text-align:left;
}
.academy-entry-content th{background:#faf6fe;color:#3c204a;font-weight:850}
.academy-entry-content tr:last-child td{border-bottom:0}
.academy-entry-content code{
  padding:.14em .35em;
  border-radius:5px;
  background:#f1e9f7;
  color:#6b257f;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.86em;
}
.academy-entry-content pre{
  overflow:auto;
  margin:2em 0;
  padding:18px;
  border-radius:15px;
  background:#251330;
  color:#f4eaff;
  font-size:14px;
}
.academy-entry-content pre code{padding:0;background:transparent;color:inherit}
.academy-entry-content hr{margin:2.4em 0;border:0;border-top:1px solid var(--ctx-line)}
.academy-page-links{display:flex;gap:8px;margin:2em 0}
.academy-page-links .post-page-numbers{display:grid;min-width:32px;height:32px;place-items:center;border:1px solid #dfcce9;border-radius:9px;color:var(--ctx-purple);font-size:13px;font-weight:800}
.academy-page-links .current{background:var(--ctx-purple);color:#fff}

.academy-article-note{
  display:flex;
  align-items:flex-start;
  gap:13px;
  margin:43px 0;
  padding:19px 20px;
  border:1px solid #cceadd;
  border-radius:17px;
  background:#effaf5;
}
.academy-article-note__icon{
  display:grid;
  width:32px;
  height:32px;
  flex:0 0 auto;
  place-items:center;
  border-radius:10px;
  background:var(--ctx-green);
  color:#fff;
}
.academy-article-note__icon .academy-icon{width:18px;height:18px}
.academy-article-note strong{display:block;margin-bottom:3px;color:#155945;font-size:15px}
.academy-article-note p{margin:0;color:#46695e;font-size:13px;line-height:1.55}

.academy-article-navigation{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
  margin-top:47px;
}
.academy-article-navigation>div{min-width:0}
.academy-article-navigation a{
  display:flex;
  min-height:88px;
  align-items:center;
  gap:13px;
  padding:16px;
  border:1px solid var(--ctx-line);
  border-radius:16px;
  color:#30243a;
  background:#fff;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.academy-article-navigation a:hover{
  border-color:#cfb1df;
  box-shadow:var(--ctx-shadow-soft);
  transform:translateY(-3px);
}
.academy-article-navigation__next a{justify-content:flex-end;text-align:right}
.academy-article-navigation small{display:block;margin-bottom:3px;color:#7d7484;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.academy-article-navigation b{display:block;overflow:hidden;font-size:14px;line-height:1.28;text-overflow:ellipsis;white-space:nowrap}
.academy-article-navigation__icon{width:18px;height:18px;flex:0 0 auto;color:var(--ctx-purple)}

.academy-related{padding:75px 0;background:#f7f3fb}
.academy-related__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:25px;
  margin-bottom:26px;
}
.academy-related h2{margin:0;color:#1b1427;font-size:clamp(30px,3vw,40px);letter-spacing:-.05em}
.academy-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.academy-related-card{
  overflow:hidden;
  border:1px solid var(--ctx-line);
  border-radius:18px;
  background:#fff;
  transition:transform .2s ease,box-shadow .2s ease;
}
.academy-related-card:hover{box-shadow:var(--ctx-shadow-soft);transform:translateY(-4px)}
.academy-related-card__art{
  display:grid;
  height:134px;
  place-items:center;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(135deg,#4b105f,#a53ec1);
}
.academy-related-card--green .academy-related-card__art{background:linear-gradient(135deg,#0f6654,#35a787)}
.academy-related-card--gold .academy-related-card__art{background:linear-gradient(135deg,#b16b17,#f1bb4c)}
.academy-related-card--blue .academy-related-card__art{background:linear-gradient(135deg,#24356f,#6e84d6)}
.academy-related-card--plum .academy-related-card__art{background:linear-gradient(135deg,#45105b,#a53ec1)}
.academy-related-card--teal .academy-related-card__art{background:linear-gradient(135deg,#126f7a,#38a6ac)}
.academy-related-card__art img{width:100%;height:100%;object-fit:cover}
.academy-related-card__art .academy-icon{width:37px;height:37px}
.academy-related-card__body{padding:16px}
.academy-related-card__meta{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 9px;
  color:#7c7184;
  font-size:10px;
  font-weight:750;
}
.academy-related-card__meta>span{width:3px;height:3px;border-radius:50%;background:#b9aebb}
.academy-related-card h3{margin:0 0 17px;color:#291d31;font-size:18px;line-height:1.2;letter-spacing:-.035em}
.academy-related-card h3 a{color:inherit}
.academy-related-card .academy-text-link{font-size:12px}

.academy-comments{padding:72px 0;background:#fff}
.academy-comments__container{max-width:820px}
.academy-comments .comments-area{margin:0}
.academy-comments .comments-title{margin:0 0 18px;color:#1d1425;font-size:27px;letter-spacing:-.045em}
.academy-comments .comment-respond,
.academy-comments .comment-body{
  padding:20px;
  border:1px solid var(--ctx-line);
  border-radius:17px;
  background:#fff;
}
.academy-comments .comment-respond{margin-top:20px;background:#faf6fe}
.academy-comments .comment-list{margin:0;padding:0;list-style:none}
.academy-comments .comment-list .children{margin:15px 0 0;padding-left:20px;list-style:none}
.academy-comments input[type="text"],
.academy-comments input[type="email"],
.academy-comments input[type="url"],
.academy-comments textarea{
  border:1px solid #dac9e5;
  border-radius:10px;
  background:#fff;
  color:#30273a;
}
.academy-comments textarea{min-height:140px}
.academy-comments input[type="submit"]{
  border:0;
  border-radius:999px;
  background:var(--ctx-purple);
  color:#fff;
  font-family:inherit;
  font-weight:850;
}
.academy-comments .comment-reply-link{color:var(--ctx-purple);font-weight:800}

.academy-archive-hero__inner{max-width:890px}
.academy-archive-hero h1{
  max-width:800px;
  margin:0;
  color:#1b1427;
  font-size:clamp(40px,5vw,65px);
  font-weight:850;
  line-height:1.03;
  letter-spacing:-.06em;
}
.academy-archive-hero p:not(.academy-section-kicker){
  max-width:650px;
  margin:18px 0 0;
  color:#625b70;
  font-size:17px;
  line-height:1.62;
}
.academy-archive-hero__count{
  display:inline-flex;
  margin-top:22px;
  padding:6px 10px;
  border:1px solid #e1d3ea;
  border-radius:999px;
  background:#fff;
  color:#65586e;
  font-size:11px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.academy-archive-listing{padding:64px 0 82px;background:#fff}
.academy-loop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.academy-loop-card{
  display:flex;
  min-height:398px;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--ctx-line);
  border-radius:20px;
  background:#fff;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.academy-loop-card:hover{border-color:#d2b3e1;box-shadow:var(--ctx-shadow-soft);transform:translateY(-5px)}
.academy-loop-card__art{
  position:relative;
  display:grid;
  min-height:166px;
  place-items:center;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(135deg,#4b105f,#a53ec1);
}
.academy-loop-card--green .academy-loop-card__art{background:linear-gradient(135deg,#0f6654,#35a787)}
.academy-loop-card--gold .academy-loop-card__art{background:linear-gradient(135deg,#b16b17,#f1bb4c)}
.academy-loop-card--blue .academy-loop-card__art{background:linear-gradient(135deg,#24356f,#6e84d6)}
.academy-loop-card--plum .academy-loop-card__art{background:linear-gradient(135deg,#45105b,#a53ec1)}
.academy-loop-card--teal .academy-loop-card__art{background:linear-gradient(135deg,#126f7a,#38a6ac)}
.academy-loop-card__art img{width:100%;height:100%;min-height:166px;object-fit:cover}
.academy-loop-card__icon{position:relative;z-index:2;color:#fff}
.academy-loop-card__icon .academy-icon{width:44px;height:44px}
.academy-loop-card__rings{
  position:absolute;
  width:125px;
  height:125px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
}
.academy-loop-card__rings::before,
.academy-loop-card__rings::after{
  position:absolute;
  border:1px solid rgba(255,255,255,.23);
  border-radius:50%;
  content:"";
}
.academy-loop-card__rings::before{inset:20px}
.academy-loop-card__rings::after{inset:39px;background:rgba(255,255,255,.15)}
.academy-loop-card__body{display:flex;flex:1;flex-direction:column;padding:20px}
.academy-loop-card__meta{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 11px;
  color:#817688;
  font-size:10px;
  font-weight:750;
}
.academy-loop-card__meta a{color:var(--ctx-purple);font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.academy-loop-card__meta>span{width:3px;height:3px;border-radius:50%;background:#b9aebb}
.academy-loop-card h2{margin:0 0 10px;color:#22172a;font-size:23px;line-height:1.15;letter-spacing:-.045em}
.academy-loop-card h2 a{color:inherit}
.academy-loop-card__excerpt{margin:0 0 19px;color:#6e6676;font-size:13px;line-height:1.6}
.academy-loop-card__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
}
.academy-loop-card__readtime{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#777084;
  font-size:11px;
  font-weight:750;
}
.academy-loop-card__clock{width:13px;height:13px;color:var(--ctx-purple)}
.navigation.pagination{
  display:flex;
  justify-content:center;
  gap:7px;
  margin:44px 0 0;
}
.navigation.pagination .nav-links{display:flex;align-items:center;gap:7px}
.navigation.pagination a,
.navigation.pagination .current{
  display:inline-flex;
  min-width:37px;
  height:37px;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 11px;
  border:1px solid #dfcde9;
  border-radius:10px;
  color:var(--ctx-purple);
  background:#fff;
  font-size:12px;
  font-weight:850;
}
.navigation.pagination a:hover{border-color:var(--ctx-purple);background:#faf3ff}
.navigation.pagination .current{border-color:var(--ctx-purple);background:var(--ctx-purple);color:#fff}
.academy-pagination__icon{width:15px;height:15px}
.academy-empty-state{
  max-width:570px;
  margin:15px auto;
  padding:48px 30px;
  border:1px solid var(--ctx-line);
  border-radius:22px;
  background:#faf6fe;
  text-align:center;
}
.academy-empty-state__icon{
  display:grid;
  width:48px;
  height:48px;
  margin:0 auto 17px;
  place-items:center;
  border-radius:15px;
  background:#eadcf4;
  color:var(--ctx-purple);
}
.academy-empty-state__icon .academy-icon{width:25px;height:25px}
.academy-empty-state h2{margin:0 0 8px;color:#24172e;font-size:28px;letter-spacing:-.045em}
.academy-empty-state p{margin:0 0 21px;color:#6d6475;font-size:14px}

@media (max-width:1040px){
  .academy-reading-layout{grid-template-columns:minmax(0,760px);justify-content:center}
  .academy-reading-toc{
    position:static;
    order:2;
    margin:4px 0 31px;
    padding:15px 16px;
    border:1px solid #e5d8ec;
    border-radius:15px;
    background:#faf6fe;
  }
  .academy-reading-body{display:flex;flex-direction:column}
  .academy-reading-toc{order:0}
}
@media (max-width:840px){
  .academy-related-grid,.academy-loop-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .academy-reading-hero,.academy-archive-hero{padding:47px 0 40px}
  .academy-reading-hero h1{font-size:42px}
  .academy-reading-hero__excerpt{font-size:16px}
  .academy-single-article{padding-top:25px}
  .academy-single-cover{min-height:235px;margin-bottom:30px;border-radius:20px}
  .academy-reading-layout{gap:0;padding-bottom:55px}
  .academy-entry-content{font-size:16px;line-height:1.72}
  .academy-entry-content h2{font-size:30px}
  .academy-entry-content h3{font-size:25px}
  .academy-article-navigation{grid-template-columns:1fr}
  .academy-related{padding:57px 0}
  .academy-related__head{display:block}
  .academy-related__head .academy-text-link{margin-top:13px}
  .academy-related-grid,.academy-loop-grid{grid-template-columns:1fr}
  .academy-archive-listing{padding:48px 0 60px}
  .academy-archive-hero h1{font-size:40px}
}
@media (max-width:430px){
  .academy-reading-hero h1,.academy-archive-hero h1{font-size:37px}
  .academy-reading-hero__meta{gap:8px 12px}
  .academy-reading-hero__meta span{font-size:11px}
  .academy-reading-summary{padding:15px}
  .academy-article-navigation a{min-height:76px}
  .academy-article-navigation b{font-size:13px}
  .navigation.pagination .page-numbers:not(.prev):not(.next):not(.current){display:none}
}


/* ==========================================================================
   v1.3.8 — Use Kadence Primary Navigation inside the custom Academy header.
   Appearance > Menus > Manage Locations > Primary Navigation controls the
   menu items; this CSS keeps the bespoke Academy visual treatment.
   ========================================================================== */
.academy-nav__menu>li{position:relative}
.academy-nav__menu>li>a{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#393649;
  transition:color .2s ease;
}
.academy-nav__menu>li>a:hover,
.academy-nav__menu>li.current-menu-item>a,
.academy-nav__menu>li.current-menu-ancestor>a{color:var(--ctx-purple)}
.academy-nav__menu .sub-menu{
  position:absolute;
  z-index:90;
  top:calc(100% + 16px);
  left:-12px;
  display:grid;
  width:220px;
  margin:0;
  padding:8px;
  list-style:none;
  border:1px solid #e0d1e9;
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 32px rgba(42,18,63,.15);
  opacity:0;
  visibility:hidden;
  transform:translateY(7px);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.academy-nav__menu>li:hover>.sub-menu,
.academy-nav__menu>li:focus-within>.sub-menu,
.academy-nav__menu>li.is-submenu-open>.sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.academy-nav__menu .sub-menu li{position:relative}
.academy-nav__menu .sub-menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  margin:0;
  padding:9px 10px;
  border-radius:9px;
  color:#4d4555;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.academy-nav__menu .sub-menu a:hover,
.academy-nav__menu .sub-menu .current-menu-item>a{background:#f7effc;color:var(--ctx-purple)}
.academy-nav__menu .sub-menu .sub-menu{
  top:-8px;
  left:calc(100% + 7px);
}
.academy-nav__menu .weglot-parent-menu-item>a .kadence-svg-iconset,
.academy-nav__menu .weglot-parent-menu-item>a .dropdown-nav-toggle,
.academy-nav__menu .weglot-parent-menu-item>a .nav-drop-title-wrap>.dropdown-nav-toggle{display:none!important}
.academy-submenu-toggle{
  display:none;
  width:27px;
  height:27px;
  align-items:center;
  justify-content:center;
  margin-left:2px;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--ctx-purple);
  cursor:pointer;
}
.academy-submenu-toggle:hover{background:#f4eafa}
.academy-submenu-toggle__icon{
  width:15px;
  height:15px;
  transition:transform .18s ease;
}
.academy-submenu-toggle[aria-expanded="true"] .academy-submenu-toggle__icon{transform:rotate(180deg)}
.academy-nav__menu .academy-menu-link__icon{width:12px;height:12px;margin-left:3px}
.academy-nav__menu .menu-item-has-children>a::after{
  display:inline-block;
  width:6px;
  height:6px;
  margin:0 0 3px 5px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  content:"";
  transform:rotate(45deg);
}

/* The custom header already owns responsive behavior. Dropdown panels become
   touch-friendly expandable sections on mobile. */
@media (max-width:760px){
  .academy-nav__menu>li{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    border-bottom:1px solid #eee7f2;
  }
  .academy-nav__menu>li:last-child{border-bottom:0}
  .academy-nav__menu>li>a{
    display:flex;
    min-width:0;
    padding:11px 12px;
  }
  .academy-nav__menu .menu-item-has-children>a::after{display:none}
  .academy-submenu-toggle{display:inline-flex;margin-right:7px}
  .academy-nav__menu .sub-menu{
    position:static;
    grid-column:1/-1;
    display:none;
    width:auto;
    margin:0 8px 9px;
    padding:5px;
    border:1px solid #eaddee;
    border-radius:12px;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
  }
  .academy-nav__menu>li.is-submenu-open>.sub-menu{display:grid}
  .academy-nav__menu .sub-menu .sub-menu{
    display:grid;
    width:auto;
    margin:3px 0 0 8px;
    border:0;
    border-left:1px solid #e2d2e9;
    border-radius:0;
    background:transparent;
  }
  .academy-nav__menu .sub-menu .sub-menu a{font-size:11px}
}


/* ==========================================================================
   v1.3.9 — Dedicated Projects / Videos page and Elementor recovery layer
   ========================================================================== */
.academy-projects-page--elementor{
  background:#fff;
}
.academy-elementor-canvas{
  width:100%;
  overflow:hidden;
}
/* Elementor pages keep Elementor’s own section spacing and widget styles. */
.academy-elementor-canvas .elementor{
  width:100%;
}
.academy-projects-page--fallback{
  background:#fff;
}
.academy-projects-hero{
  position:relative;
  overflow:hidden;
  padding:68px 0 54px;
  border-bottom:1px solid #e8dff1;
  background:
    radial-gradient(circle at 89% 14%,rgba(184,118,211,.23) 0 5%,transparent 27%),
    radial-gradient(circle at 8% 87%,rgba(219,192,241,.38) 0 4%,transparent 30%),
    linear-gradient(125deg,#fcfbff 0%,#f8f2ff 54%,#eee3fb 100%);
}
.academy-projects-hero::after{
  position:absolute;
  top:-370px;
  right:-175px;
  width:680px;
  height:680px;
  border:1px solid rgba(111,16,142,.11);
  border-radius:50%;
  content:"";
}
.academy-projects-hero__inner{position:relative;z-index:1;max-width:890px}
.academy-projects-hero h1{
  max-width:740px;
  margin:0;
  color:#1b1427;
  font-size:clamp(40px,5.1vw,66px);
  font-weight:850;
  line-height:1.04;
  letter-spacing:-.06em;
}
.academy-projects-hero p:not(.academy-section-kicker){
  max-width:660px;
  margin:18px 0 0;
  color:#625b70;
  font-size:17px;
  line-height:1.62;
}
.academy-projects-content-section{padding:65px 0 35px;background:#fff}
.academy-projects-content{
  max-width:900px;
}
.academy-projects-content>h1:first-child{
  margin:0 0 34px;
  color:#24162d;
  font-size:clamp(31px,3.4vw,43px);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-.052em;
}
.academy-projects-content h2{
  margin:48px 0 16px;
  color:#261830;
  font-size:clamp(25px,3vw,34px);
  font-weight:850;
  line-height:1.15;
  letter-spacing:-.045em;
}
.academy-projects-content p{
  max-width:760px;
  color:#625a6c;
  font-size:16px;
  line-height:1.7;
}
.academy-projects-content .entry-content-asset,
.academy-projects-content .wp-block-embed,
.academy-projects-content .wp-block-video,
.academy-projects-content .videofit{
  position:relative;
  overflow:hidden;
  width:100%;
  margin:0 0 37px;
  border:1px solid #e0d2e8;
  border-radius:20px;
  background:#251330;
  box-shadow:0 17px 34px rgba(50,21,69,.11);
}
.academy-projects-content .entry-content-asset::before,
.academy-projects-content .wp-block-embed::before,
.academy-projects-content .videofit::before{
  display:block;
  padding-top:56.25%;
  content:"";
}
.academy-projects-content .entry-content-asset iframe,
.academy-projects-content .wp-block-embed iframe,
.academy-projects-content .videofit iframe{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  border:0;
}
.academy-projects-content p svg{
  width:26px;
  height:26px;
  margin:0 7px -6px 0;
  color:var(--ctx-purple);
  fill:currentColor;
}
.academy-projects-content a{
  color:var(--ctx-purple);
  font-weight:800;
  text-decoration:underline;
  text-decoration-color:rgba(111,16,142,.3);
  text-underline-offset:3px;
}
.academy-projects-help{padding:39px 0 78px;background:#fff}
.academy-projects-help__card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:20px 24px;
  padding:28px 31px;
  border:1px solid #cde9dc;
  border-radius:23px;
  background:linear-gradient(110deg,#eefaf5,#f8fffb);
}
.academy-projects-help__icon{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  border-radius:16px;
  background:var(--ctx-green);
  color:#fff;
  box-shadow:0 10px 20px rgba(18,116,91,.18);
}
.academy-projects-help__icon .academy-icon{width:26px;height:26px}
.academy-projects-help__card .academy-section-kicker{margin-bottom:6px;color:#18705a}
.academy-projects-help__card h2{margin:0;color:#174d3e;font-size:26px;letter-spacing:-.045em}
.academy-projects-help__card p:not(.academy-section-kicker){margin:6px 0 0;color:#4c7568;font-size:14px}
@media (max-width:760px){
  .academy-projects-hero{padding:47px 0 40px}
  .academy-projects-hero h1{font-size:41px}
  .academy-projects-content-section{padding:45px 0 24px}
  .academy-projects-content>h1:first-child{font-size:34px}
  .academy-projects-content h2{margin-top:38px;font-size:28px}
  .academy-projects-help{padding-bottom:57px}
  .academy-projects-help__card{grid-template-columns:1fr;padding:25px}
  .academy-projects-help__icon{width:48px;height:48px}
}


/* ==========================================================================
   v1.3.10 — Projects video embed correction
   The existing page already contains YouTube/Elementor embed markup. Do not
   create a second ratio spacer above it; normalize the iframe directly.
   ========================================================================== */
.academy-projects-content .entry-content-asset,
.academy-projects-content .wp-block-embed,
.academy-projects-content .wp-block-video,
.academy-projects-content .videofit{
  position:static!important;
  overflow:visible!important;
  margin:0 0 37px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.academy-projects-content .entry-content-asset::before,
.academy-projects-content .wp-block-embed::before,
.academy-projects-content .wp-block-video::before,
.academy-projects-content .videofit::before{
  display:none!important;
  padding:0!important;
  content:none!important;
}
.academy-projects-content iframe{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:clamp(220px,56.25vw,500px)!important;
  margin:0 0 37px!important;
  overflow:hidden!important;
  border:1px solid #e0d2e8!important;
  border-radius:20px!important;
  background:#251330!important;
  box-shadow:0 17px 34px rgba(50,21,69,.11)!important;
}
@media (max-width:760px){
  .academy-projects-content iframe{
    height:clamp(205px,56.25vw,360px)!important;
    border-radius:15px!important;
  }
}


/* ==========================================================================
   v1.3.11 — Correct WordPress YouTube embed layout on Projects
   WordPress uses .wp-block-embed__wrapper as the 16:9 frame. The iframe must
   sit absolutely inside that frame, rather than below its reserved height.
   ========================================================================== */
.academy-projects-content figure.wp-block-embed,
.academy-projects-content .wp-block-embed{
  width:100%;
  margin:0 0 37px!important;
  border:1px solid #e0d2e8!important;
  border-radius:20px!important;
  background:#251330!important;
  box-shadow:0 17px 34px rgba(50,21,69,.11)!important;
  overflow:hidden!important;
}
.academy-projects-content .wp-block-embed__wrapper{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16 / 9!important;
  overflow:hidden!important;
  background:#251330!important;
}
.academy-projects-content .wp-block-embed__wrapper::before{
  display:none!important;
  padding:0!important;
  content:none!important;
}
.academy-projects-content .wp-block-embed__wrapper iframe{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#251330!important;
  box-shadow:none!important;
}
@media (max-width:760px){
  .academy-projects-content figure.wp-block-embed,
  .academy-projects-content .wp-block-embed{
    margin-bottom:29px!important;
    border-radius:15px!important;
  }
}


/* ==========================================================================
   v1.3.12 — Standard WordPress page template
   Applies to About, Safety, Support, Risk, Privacy, Terms, FAQ, and future
   Academy pages created through Pages > Add New.
   ========================================================================== */
.academy-page--elementor{background:#fff}
.academy-page-hero{
  position:relative;
  overflow:hidden;
  padding:68px 0 55px;
  border-bottom:1px solid #e8dff1;
  background:
    radial-gradient(circle at 92% 12%,rgba(184,118,211,.22) 0 5%,transparent 26%),
    radial-gradient(circle at 8% 85%,rgba(219,192,241,.42) 0 4%,transparent 29%),
    linear-gradient(125deg,#fcfbff 0%,#f8f2ff 54%,#eee3fb 100%);
}
.academy-page-hero::before{
  position:absolute;
  top:-355px;
  right:-195px;
  width:660px;
  height:660px;
  border:1px solid rgba(111,16,142,.1);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.academy-page-hero__inner{position:relative;max-width:900px}
.academy-page-hero h1{
  max-width:850px;
  margin:0;
  color:#1b1427;
  font-size:clamp(41px,5.1vw,67px);
  font-weight:850;
  line-height:1.03;
  letter-spacing:-.06em;
}
.academy-page-hero__excerpt{
  max-width:710px;
  margin:20px 0 0;
  color:#625b70;
  font-size:18px;
  line-height:1.62;
}
.academy-standard-page{
  padding:65px 0 82px;
  background:#fff;
}
.academy-standard-page__container{max-width:890px}
.academy-page-content{
  color:#382f41;
  font-size:17px;
  line-height:1.78;
}
.academy-page-content>*:first-child{margin-top:0}
.academy-page-content h1,
.academy-page-content h2,
.academy-page-content h3,
.academy-page-content h4{
  scroll-margin-top:128px;
  color:#21172a;
  font-weight:850;
  letter-spacing:-.047em;
}
.academy-page-content h1{
  margin:0 0 .75em;
  font-size:clamp(33px,3.6vw,44px);
  line-height:1.1;
}
.academy-page-content h2{
  margin:2.15em 0 .72em;
  font-size:clamp(28px,3.05vw,37px);
  line-height:1.12;
}
.academy-page-content h3{
  margin:1.8em 0 .62em;
  font-size:clamp(23px,2.5vw,29px);
  line-height:1.2;
}
.academy-page-content h4{
  margin:1.6em 0 .55em;
  font-size:20px;
  line-height:1.28;
}
.academy-page-content p{margin:0 0 1.55em}
.academy-page-content a{
  color:var(--ctx-purple);
  font-weight:750;
  text-decoration:underline;
  text-decoration-color:rgba(111,16,142,.3);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.academy-page-content a:hover{color:var(--ctx-purple-dark);text-decoration-color:currentColor}
.academy-page-content ul,
.academy-page-content ol{
  margin:0 0 1.65em;
  padding-left:1.3em;
}
.academy-page-content li{margin:0 0 .58em;padding-left:.16em}
.academy-page-content li::marker{color:var(--ctx-purple);font-weight:850}
.academy-page-content hr{margin:2.5em 0;border:0;border-top:1px solid var(--ctx-line)}
.academy-page-content blockquote{
  position:relative;
  margin:2em 0;
  padding:7px 0 7px 24px;
  border:0;
  border-left:3px solid var(--ctx-purple);
  color:#4c3159;
  font-size:21px;
  font-weight:650;
  line-height:1.52;
}
.academy-page-content blockquote p:last-child{margin-bottom:0}
.academy-page-content figure{margin:2em 0}
.academy-page-content img{max-width:100%;height:auto;border-radius:16px}
.academy-page-content figcaption{margin-top:9px;color:#7c7282;font-size:12px;text-align:center}
.academy-page-content table{
  display:block;
  width:100%;
  overflow-x:auto;
  margin:2em 0;
  border:1px solid var(--ctx-line);
  border-radius:15px;
  border-spacing:0;
  background:#fff;
  font-size:15px;
}
.academy-page-content th,
.academy-page-content td{
  min-width:150px;
  padding:12px 14px;
  border-bottom:1px solid var(--ctx-line);
  text-align:left;
}
.academy-page-content th{background:#faf6fe;color:#3d204c;font-weight:850}
.academy-page-content tr:last-child td{border-bottom:0}
.academy-page-content code{
  padding:.14em .35em;
  border-radius:5px;
  background:#f1e9f7;
  color:#6b257f;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.86em;
}
.academy-page-content pre{
  overflow:auto;
  margin:2em 0;
  padding:18px;
  border-radius:15px;
  background:#251330;
  color:#f4eaff;
  font-size:14px;
}
.academy-page-content pre code{padding:0;background:transparent;color:inherit}
.academy-page-content .wp-block-buttons{gap:10px;margin:1.7em 0}
.academy-page-content .wp-block-button__link{
  padding:12px 19px;
  border-radius:999px;
  background:var(--ctx-purple);
  color:#fff;
  font-family:inherit;
  font-size:14px;
  font-weight:850;
  text-decoration:none;
  box-shadow:0 10px 21px rgba(111,16,142,.19);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.academy-page-content .wp-block-button__link:hover{
  background:var(--ctx-purple-dark);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(111,16,142,.26);
}
.academy-page-content .wp-block-group{
  margin:2em 0;
  padding:23px;
  border:1px solid #e4d8ec;
  border-radius:18px;
  background:#faf6fe;
}
.academy-page-content .wp-block-group>*:last-child{margin-bottom:0}
.academy-page-content .wp-block-quote,
.academy-page-content .wp-block-pullquote{border-color:var(--ctx-purple)}
.academy-page-content figure.wp-block-embed,
.academy-page-content .wp-block-embed{
  width:100%;
  margin:2em 0;
  overflow:hidden;
  border:1px solid #e0d2e8;
  border-radius:20px;
  background:#251330;
  box-shadow:0 17px 34px rgba(50,21,69,.11);
}
.academy-page-content .wp-block-embed__wrapper{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#251330;
}
.academy-page-content .wp-block-embed__wrapper::before{
  display:none!important;
  content:none!important;
}
.academy-page-content .wp-block-embed__wrapper iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
}
@media (max-width:760px){
  .academy-page-hero{padding:47px 0 40px}
  .academy-page-hero h1{font-size:42px}
  .academy-page-hero__excerpt{font-size:16px}
  .academy-standard-page{padding:47px 0 60px}
  .academy-page-content{font-size:16px;line-height:1.73}
  .academy-page-content h1{font-size:34px}
  .academy-page-content h2{font-size:30px}
  .academy-page-content h3{font-size:25px}
  .academy-page-content .wp-block-group{padding:18px}
  .academy-page-content figure.wp-block-embed,
  .academy-page-content .wp-block-embed{border-radius:15px}
}
@media (max-width:430px){
  .academy-page-hero h1{font-size:37px}
}


/* ==========================================================================
   v1.3.15 — Heading typography refinement
   Make custom Academy headings easier to read: normal letter spacing and
   standard bold weight instead of extra-heavy compressed headings.
   ========================================================================== */
.academy-main :is(h1,h2,h3,h4,h5,h6),
.academy-footer :is(h1,h2,h3,h4,h5,h6),
.academy-header :is(h1,h2,h3,h4,h5,h6),
.ctx98-academy-page :is(h1,h2,h3,h4,h5,h6),
.ctx98-academy-inner-page :is(h1,h2,h3,h4,h5,h6),
.academy-hero h1,
.academy-section-head h2,
.academy-featured-card h3,
.academy-topic-card h3,
.academy-video-card__body h3,
.academy-bottom-cta h2,
.academy-reading-hero h1,
.academy-entry-content :is(h1,h2,h3,h4,h5,h6),
.academy-related h2,
.academy-related-card h3,
.academy-archive-hero h1,
.academy-loop-card h2,
.academy-page-hero h1,
.academy-page-content :is(h1,h2,h3,h4,h5,h6),
.academy-projects-hero h1,
.academy-projects-content :is(h1,h2,h3,h4,h5,h6),
.academy-projects-help__card h2{
  letter-spacing: normal !important;
  font-weight: 700 !important;
}


/* ==========================================================================
   v1.3.16 — Remove secondary "All articles" header CTA
   Main article navigation should be controlled through the Primary Navigation
   menu. Header action area keeps only the CTX-98 Exchange button.
   ========================================================================== */
.academy-nav__actions{
  gap:10px;
}


/* ==========================================================================
   v1.3.17 — Mobile header cleanup
   Fix cramped mobile header before adding language switching.
   ========================================================================== */
@media (max-width:760px){
  .academy-topbar{
    display:none !important;
  }

  .academy-header{
    top:0;
    border-bottom:1px solid #eee4f4;
    background:#fff;
  }

  .admin-bar .academy-header{
    top:46px;
  }

  .academy-nav{
    min-height:64px;
    gap:10px;
    padding:8px 0;
  }

  .academy-brand{
    min-width:0;
    flex:1 1 auto;
  }

  .academy-brand--image{
    max-width:150px !important;
  }

  .academy-brand--image .academy-brand__logo{
    max-width:145px !important;
    max-height:38px !important;
  }

  .academy-brand__mark{
    width:36px;
    height:36px;
    border-radius:10px;
  }

  .academy-brand__title{
    min-width:0;
    font-size:20px;
    white-space:nowrap;
  }

  .academy-brand__title small{
    max-width:120px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .academy-nav__actions{
    flex:0 0 auto;
    gap:8px;
  }

  .academy-nav__actions .academy-button--primary{
    min-height:42px;
    padding:9px 13px;
    border-radius:16px;
    font-size:12px;
    line-height:1.1;
    box-shadow:0 10px 22px rgba(111,16,142,.18);
  }

  .academy-nav__actions .academy-button__icon{
    width:13px;
    height:13px;
  }

  .academy-menu-toggle{
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    flex:0 0 42px;
    border-radius:14px;
    background:#fff;
  }

  .academy-menu-toggle .academy-icon,
  .academy-menu-toggle svg{
    width:21px;
    height:21px;
  }

  .academy-nav__links{
    top:calc(100% + 6px);
    right:16px;
    left:16px;
    max-height:calc(100vh - 92px);
    overflow:auto;
  }

  .academy-reading-hero,
  .academy-archive-hero,
  .academy-page-hero,
  .academy-projects-hero{
    padding-top:38px;
  }
}

@media (max-width:430px){
  .academy-container{
    width:min(calc(100% - 26px),1180px);
  }

  .academy-nav{
    min-height:60px;
    gap:7px;
  }

  .academy-brand--image{
    max-width:132px !important;
  }

  .academy-brand--image .academy-brand__logo{
    max-width:128px !important;
    max-height:34px !important;
  }

  .academy-nav__actions .academy-button--primary{
    min-height:40px;
    padding:8px 11px;
    border-radius:15px;
    font-size:11px;
  }

  .academy-menu-toggle{
    width:40px;
    height:40px;
    flex-basis:40px;
    border-radius:13px;
  }
}

@media (max-width:360px){
  .academy-brand--image{
    max-width:118px !important;
  }

  .academy-brand--image .academy-brand__logo{
    max-width:114px !important;
  }

  .academy-nav__actions .academy-button--primary{
    max-width:82px;
    padding-inline:10px;
  }

  .academy-nav__actions .academy-button__icon{
    display:none;
  }
}


/* ==========================================================================
   v1.3.18 — Khmer typography
   English: Outfit
   Khmer: Kantumruy Pro
   ========================================================================== */

html:lang(km),
html[lang^="km"] body,
html:lang(km) .ctx98-academy-page,
html[lang^="km"] .ctx98-academy-page{
  font-family:"Kantumruy Pro","Noto Sans Khmer",sans-serif !important;
}

html:lang(km) h1,
html:lang(km) h2,
html:lang(km) h3,
html:lang(km) h4,
html:lang(km) h5,
html:lang(km) h6,
html[lang^="km"] h1,
html[lang^="km"] h2,
html[lang^="km"] h3,
html[lang^="km"] h4,
html[lang^="km"] h5,
html[lang^="km"] h6{
  font-family:"Kantumruy Pro","Noto Sans Khmer",sans-serif !important;
  letter-spacing:normal !important;
}


/* ==========================================================================
   v1.3.19 — EN / Khmer language switcher
   Desktop: compact pill in header action area.
   Mobile: shown inside hamburger dropdown to avoid crowding the logo row.
   ========================================================================== */
.academy-language-switcher{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid #e2d1ec;
  border-radius:999px;
  background:#fff;
}
.academy-language-switcher__link{
  display:inline-flex;
  min-width:38px;
  min-height:32px;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  color:#5e5068;
  font-size:12px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
}
.academy-language-switcher__link--km{
  font-family:"Kantumruy Pro","Noto Sans Khmer",sans-serif;
  min-width:54px;
}
.academy-language-switcher__link:hover{
  color:var(--ctx-purple);
  background:#faf3ff;
}
.academy-language-switcher__link.is-active{
  background:var(--ctx-purple);
  color:#fff;
  box-shadow:0 6px 14px rgba(111,16,142,.16);
}
.academy-language-switcher--mobile{
  display:none;
}

@media (max-width:760px){
  .academy-language-switcher--desktop{
    display:none;
  }

  .academy-language-switcher--mobile{
    display:flex;
    width:100%;
    margin:9px 0 0;
    justify-content:center;
    border-radius:14px;
    background:#faf6fe;
  }

  .academy-language-switcher--mobile .academy-language-switcher__link{
    flex:1;
    min-height:39px;
  }
}

html:lang(km) .academy-language-switcher__link,
html[lang^="km"] .academy-language-switcher__link{
  font-family:"Kantumruy Pro","Noto Sans Khmer",sans-serif;
}


/* ==========================================================================
   v1.3.20 — Language Manager integration
   The Khmer switcher is disabled on individual content until the plugin has a
   published connected Khmer version.
   ========================================================================== */
.academy-language-switcher__link.is-disabled{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
  background:#f4eef7;
  color:#82728d;
}


/* ==========================================================================
   v1.3.21 — Khmer page typography and hero excerpt control
   WordPress may keep html lang="en-US" even on /km/ pages, so use the
   ctx98-is-khmer body class added by the theme.
   ========================================================================== */
body.ctx98-is-khmer,
body.ctx98-is-khmer .academy-main,
body.ctx98-is-khmer .academy-header,
body.ctx98-is-khmer .academy-footer,
body.ctx98-is-khmer .ctx98-academy-page,
body.ctx98-is-khmer .ctx98-academy-inner-page{
  font-family:"Kantumruy Pro","Noto Sans Khmer","Khmer OS Battambang",sans-serif !important;
}

body.ctx98-is-khmer h1,
body.ctx98-is-khmer h2,
body.ctx98-is-khmer h3,
body.ctx98-is-khmer h4,
body.ctx98-is-khmer h5,
body.ctx98-is-khmer h6,
body.ctx98-is-khmer .academy-brand__title,
body.ctx98-is-khmer .academy-section-kicker,
body.ctx98-is-khmer .academy-button,
body.ctx98-is-khmer .academy-nav{
  font-family:"Kantumruy Pro","Noto Sans Khmer","Khmer OS Battambang",sans-serif !important;
  letter-spacing:normal !important;
}

body.ctx98-is-khmer .academy-page-hero h1,
body.ctx98-is-khmer .academy-reading-hero h1,
body.ctx98-is-khmer .academy-archive-hero h1{
  line-height:1.18 !important;
}

body.ctx98-is-khmer .academy-page-hero__excerpt,
body.ctx98-is-khmer .academy-page-content,
body.ctx98-is-khmer .academy-standard-page{
  line-height:1.9 !important;
}

.academy-page-hero__excerpt{
  max-width:760px;
}


/* ==========================================================================
   v1.3.22 — Khmer homepage
   /km/ uses the same custom front-page layout with Khmer-aware copy.
   ========================================================================== */
body.ctx98-is-khmer .academy-hero__copy{
  max-width:680px;
  line-height:1.85 !important;
}
body.ctx98-is-khmer .academy-eyebrow,
body.ctx98-is-khmer .academy-section-kicker,
body.ctx98-is-khmer .academy-topbar,
body.ctx98-is-khmer .academy-article-card__meta,
body.ctx98-is-khmer .academy-topic small,
body.ctx98-is-khmer .academy-video-card small{
  letter-spacing:normal !important;
}
body.ctx98-is-khmer .academy-hero h1{
  max-width:780px;
}
body.ctx98-is-khmer .academy-hero h1 em{
  font-style:normal;
}
body.ctx98-is-khmer .academy-topic small,
body.ctx98-is-khmer .academy-article-card p,
body.ctx98-is-khmer .academy-editorial__copy p,
body.ctx98-is-khmer .academy-safety p,
body.ctx98-is-khmer .academy-video-card p,
body.ctx98-is-khmer .academy-bottom-cta p{
  line-height:1.8 !important;
}
