.fade-in { animation: fadeIn .3s ease; }
@keyframes fadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
.sidebar-link { transition: all .15s ease; }
.sidebar-link:hover { background: rgba(255,255,255,.08); }
.sidebar-link.active { background: linear-gradient(90deg, var(--primary), var(--secondary)); color:#fff; box-shadow: 0 4px 14px rgba(99,102,241,.4); }
.modal-backdrop { background: rgba(15,23,42,.55); backdrop-filter: blur(4px); }
.scroll-thin::-webkit-scrollbar { height:6px; width:6px; }
.scroll-thin::-webkit-scrollbar-thumb { background:#cbd5e1; border-radius:4px; }
.card-hover { transition: all .25s ease; } .card-hover:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(15,23,42,.08); }
.drawer-enter { animation: slideIn .25s ease; }
@keyframes slideIn { from{transform:translateX(-100%)} to{transform:translateX(0)} }
.slide-in-right { animation: slideInRight .3s ease; }
@keyframes slideInRight { from{transform:translateX(100%);opacity:0} to{transform:translateX(0);opacity:1} }
.kanban-card { cursor: grab; }
.kanban-column { min-height: 200px; transition: background .2s ease; }
.kanban-column.drag-over { background: rgba(99,102,241,.1); border: 2px dashed var(--primary); }
.stat-card { background: linear-gradient(135deg, #fff 0%, #f8fafc 100%); }

/* Public academy experience */
.academy-public-header {
    position: sticky;
    top: 12px;
    z-index: 40;
    width: min(1280px, calc(100% - 40px));
    margin: 14px auto 0;
    border: 1px solid rgba(226,232,240,.9);
    border-radius: 999px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 8px 30px rgba(15,23,42,.08);
    backdrop-filter: blur(16px);
}
.academy-public-header__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:70px; padding:9px 13px 9px 20px; }
.academy-brand { display:flex; align-items:center; gap:11px; min-width:0; color:#111827; text-decoration:none; }
.academy-brand__mark { display:grid; width:42px; height:42px; flex:none; place-items:center; border-radius:15px; background:linear-gradient(145deg,#5b50ea,#4037c6); color:#fff; font-size:21px; font-weight:900; box-shadow:0 5px 14px rgba(79,70,229,.22); }
.academy-brand__name,.academy-brand__tagline { display:block; white-space:nowrap; }
.academy-brand__name { font-size:15px; font-weight:850; letter-spacing:-.035em; }
.academy-brand__tagline { margin-top:1px; color:#64748b; font-size:10px; }
.academy-public-nav { display:flex; align-items:center; gap:4px; }
.academy-public-nav__link { padding:10px 13px; border-radius:999px; color:#475569; font-size:13px; font-weight:650; text-decoration:none; transition:background .18s,color .18s; }
.academy-public-nav__link:hover { background:#f1f5f9; color:#312e81; }
.academy-nav-cta { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:43px; padding:0 18px; border-radius:999px; background:#4f46e5; color:#fff; font-size:13px; font-weight:750; text-decoration:none; transition:background .18s,transform .18s; }
.academy-nav-cta:hover { transform:translateY(-1px); background:#3730a3; }
.academy-home { overflow:hidden; color:#111827; background:#fff; }
.academy-hero { position:relative; isolation:isolate; overflow:hidden; margin:14px auto 0; width:min(1440px,calc(100% - 28px)); border-radius:34px; background:radial-gradient(ellipse at 82% 18%,rgba(128,113,255,.35),transparent 31%),radial-gradient(ellipse at 14% 108%,rgba(36,159,174,.2),transparent 38%),#11152c; color:#fff; }
.academy-hero:before { position:absolute; z-index:-1; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:48px 48px; content:""; mask-image:linear-gradient(90deg,#000,transparent 85%); }
.academy-hero__glow { position:absolute; z-index:-1; width:340px; height:340px; border:1px solid rgba(255,255,255,.11); border-radius:50%; pointer-events:none; }
.academy-hero__glow:after { position:absolute; inset:22px; border:1px solid rgba(255,255,255,.08); border-radius:50%; content:""; }
.academy-hero__glow--one { top:-225px; right:4%; }
.academy-hero__glow--two { bottom:-280px; left:37%; width:420px; height:420px; }
.academy-hero__inner { position:relative; display:grid; width:min(1190px,calc(100% - 64px)); min-height:540px; grid-template-columns:1.03fr .97fr; align-items:center; gap:40px; margin:0 auto; padding:70px 0 55px; }
.academy-hero__copy { position:relative; z-index:2; padding:20px 0; }
.academy-eyebrow,.academy-section-kicker { margin:0; color:#a9a4ff; font-size:11px; font-weight:800; letter-spacing:.15em; }
.academy-eyebrow { display:flex; align-items:center; gap:9px; color:#d7d5ff; }
.academy-eyebrow>span:first-child { color:#a69fff; font-size:17px; }
.academy-eyebrow__divider { color:rgba(255,255,255,.35); }
.academy-hero h1 { max-width:620px; margin:23px 0 0; color:#fff; font-size:clamp(43px,5.1vw,69px); font-weight:850; letter-spacing:-.065em; line-height:1.02; }
.academy-hero h1 span { color:#aaa3ff; }
.academy-hero__intro { max-width:510px; margin:20px 0 0; color:#c1c5d8; font-size:16px; line-height:1.8; }
.academy-search { display:flex; align-items:center; gap:13px; width:min(560px,100%); min-height:61px; margin-top:30px; padding:7px 8px 7px 18px; border:1px solid rgba(255,255,255,.48); border-radius:17px; background:#fff; box-shadow:0 16px 45px rgba(0,0,0,.18); color:#64748b; }
.academy-search svg { width:21px; height:21px; flex:none; }
.academy-search input { width:100%; min-width:0; height:43px; border:0; outline:0; background:transparent; color:#0f172a; font:inherit; font-size:14px; }
.academy-search input::placeholder { color:#94a3b8; }
.academy-search button { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:10px; min-height:45px; padding:0 17px; border:0; border-radius:12px; background:#4f46e5; color:#fff; cursor:pointer; font:inherit; font-size:12px; font-weight:750; transition:background .2s; }
.academy-search button:hover { background:#3730a3; }
.academy-topics { display:flex; align-items:flex-start; gap:15px; margin-top:23px; }
.academy-topics__label { padding-top:9px; color:#a9b0c6; font-size:11px; font-weight:750; white-space:nowrap; }
.academy-topics__list { display:flex; flex-wrap:wrap; gap:8px; }
.academy-topics__list a { display:inline-flex; align-items:center; gap:10px; padding:8px 12px; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#e7e8f2; font-size:11px; font-weight:650; text-decoration:none; transition:background .18s,border .18s; }
.academy-topics__list a:hover { border-color:rgba(184,178,255,.7); background:rgba(130,118,255,.18); }
.academy-topics__list a span { color:#a9a4ff; }
.academy-hero-art { position:relative; display:grid; min-height:420px; place-items:center; }
.academy-hero-art__orbit { position:absolute; border:1px solid rgba(193,189,255,.17); border-radius:50%; transform:rotate(-24deg); }
.academy-hero-art__orbit--outer { width:450px; height:340px; }
.academy-hero-art__orbit--inner { width:365px; height:275px; border-style:dashed; opacity:.65; }
.academy-hero-art__spark { position:absolute; z-index:1; color:#c6c0ff; }
.academy-hero-art__spark--one { top:7%; right:18%; font-size:31px; }
.academy-hero-art__spark--two { bottom:12%; left:8%; color:#70d7cf; font-size:24px; }
.academy-journey-card { position:relative; z-index:1; width:min(390px,88%); padding:24px; border:1px solid rgba(255,255,255,.18); border-radius:24px; background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.07)); box-shadow:0 28px 80px rgba(0,0,0,.32); backdrop-filter:blur(15px); transform:rotate(2deg); }
.academy-journey-card__top { display:flex; align-items:center; gap:9px; color:#c4c7dc; font-size:9px; font-weight:800; letter-spacing:.13em; }
.academy-journey-card__icon { display:grid; width:31px; height:31px; place-items:center; border-radius:11px; background:#8478ff; color:#fff; font-size:14px; font-weight:900; letter-spacing:0; }
.academy-journey-card__dots { margin-left:auto; color:#adb0c7; letter-spacing:.15em; }
.academy-journey-card__title { margin:20px 0 21px; color:#fff; font-size:27px; font-weight:820; letter-spacing:-.045em; line-height:1.16; }
.academy-journey-card__path { display:grid; gap:9px; }
.academy-journey-card__step { display:flex; align-items:center; gap:11px; min-height:59px; padding:9px 11px; border:1px solid rgba(255,255,255,.075); border-radius:14px; background:rgba(8,12,29,.28); }
.academy-journey-card__step>span { display:grid; width:34px; height:34px; flex:none; place-items:center; border-radius:11px; background:rgba(255,255,255,.1); color:#d7d8e8; font-size:10px; font-weight:800; }
.academy-journey-card__step div { display:grid; gap:3px; }
.academy-journey-card__step b { color:#fff; font-size:11px; }
.academy-journey-card__step small { color:#aeb2c7; font-size:9px; }
.academy-journey-card__step i { margin-left:auto; color:#85899f; font-size:14px; font-style:normal; }
.academy-journey-card__step--done>span { background:#25544f; color:#8ef0da; }
.academy-journey-card__step--done i { color:#8ef0da; }
.academy-journey-card__step--active { border-color:rgba(169,161,255,.34); background:rgba(115,101,255,.15); }
.academy-journey-card__step--active>span { background:#5145c7; color:#fff; }
.academy-journey-card__step--active i { color:#c7c1ff; }
.academy-journey-card__link { display:flex; align-items:center; justify-content:space-between; margin-top:16px; padding:13px 14px; border-radius:12px; background:#fff; color:#1e2140; font-size:11px; font-weight:800; text-decoration:none; }
.academy-journey-card__link span { color:#5146d9; font-size:17px; }
.academy-hero__bottom { display:flex; align-items:center; justify-content:center; gap:42px; min-height:60px; border-top:1px solid rgba(255,255,255,.12); color:#d0d3e2; font-size:11px; font-weight:650; }
.academy-hero__bottom span:before { margin-right:8px; color:#8ee1d1; content:"✓"; }
.academy-featured { width:min(1190px,calc(100% - 48px)); margin:0 auto; padding:86px 0 92px; }
.academy-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.academy-section-kicker { color:#5c50e4; }
.academy-section-heading h2,.academy-how__heading h2 { margin:9px 0 0; color:#15172b; font-size:clamp(28px,3.3vw,39px); font-weight:830; letter-spacing:-.055em; line-height:1.14; }
.academy-section-heading h2 span,.academy-how__heading h2 span { color:#6358e7; }
.academy-section-heading>div>p:last-child { margin:11px 0 0; color:#647087; font-size:13px; line-height:1.7; }
.academy-text-link { display:inline-flex; flex:none; align-items:center; gap:9px; padding-bottom:4px; color:#5045d5; font-size:12px; font-weight:800; text-decoration:none; }
.academy-text-link span { font-size:17px; transition:transform .2s; }
.academy-text-link:hover span { transform:translateX(4px); }
.academy-course-card { overflow:hidden; border:1px solid #e7e9f1; border-radius:20px; background:#fff; box-shadow:0 6px 20px rgba(25,28,59,.045); transition:transform .22s,box-shadow .22s,border-color .22s; }
.academy-course-card:hover { transform:translateY(-5px); border-color:#d5d2ff; box-shadow:0 18px 38px rgba(25,28,59,.1); }
.academy-course-card__art { position:relative; display:flex; min-height:150px; align-items:center; justify-content:space-between; overflow:hidden; padding:19px 22px; background:linear-gradient(128deg,#ecebff,#c8c5ff); }
.academy-course-card__art:after,.academy-course-card__art:before { position:absolute; width:180px; height:180px; border:1px solid rgba(255,255,255,.65); border-radius:50%; content:""; }
.academy-course-card__art:before { top:-105px; right:-34px; }
.academy-course-card__art:after { right:40px; bottom:-138px; width:235px; height:235px; }
.academy-course-card__art--2 { background:linear-gradient(128deg,#def5f2,#a9e4dc); }
.academy-course-card__art--3 { background:linear-gradient(128deg,#ffeddf,#ffd1b4); }
.academy-course-card__art--4 { background:linear-gradient(128deg,#e5edf9,#bfd3f5); }
.academy-course-card__art--image { padding:0; background:#eef0f6; }
.academy-course-card__art--image:before,.academy-course-card__art--image:after { display:none; }
.academy-course-card__art--image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.academy-course-card__art--image .academy-course-card__art-label { top:13px; left:14px; max-width:calc(100% - 28px); padding:7px 10px; border:1px solid rgba(255,255,255,.35); border-radius:999px; background:rgba(17,21,44,.68); color:#fff; backdrop-filter:blur(8px); }
.academy-course-card__art-label { position:absolute; top:17px; left:20px; z-index:1; color:#48446e; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.academy-course-card__art-glyph { position:relative; z-index:1; display:grid; width:80px; height:80px; margin:27px auto 0; place-items:center; border:1px solid rgba(255,255,255,.85); border-radius:25px; background:rgba(255,255,255,.46); color:#5148bc; font-size:36px; font-weight:850; box-shadow:0 10px 24px rgba(44,42,115,.09); transform:rotate(-8deg); }
.academy-course-card__art-caption { position:absolute; right:19px; bottom:15px; color:rgba(51,54,103,.58); font-size:8px; font-weight:850; letter-spacing:.14em; }
.academy-course-card__art-caption i { padding:0 4px; font-style:normal; }
.academy-course-card__body { padding:19px 20px 20px; }
.academy-course-card__badges { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:23px; }
.academy-course-card__category,.academy-course-card__offer { overflow:hidden; max-width:70%; padding:5px 9px; border-radius:999px; font-size:9px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.academy-course-card__category { background:#f1f0ff; color:#5146c4; }
.academy-course-card__offer { background:#fff0e8; color:#bc542d; }
.academy-course-card__body h3 { min-height:48px; margin:15px 0 0; color:#1a1c32; font-size:18px; font-weight:820; letter-spacing:-.035em; line-height:1.3; }
.academy-course-card__description { min-height:42px; margin:7px 0 0; color:#737b90; font-size:11px; line-height:1.65; }
.academy-course-card__footer { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:17px; padding-top:15px; border-top:1px solid #f0f1f5; }
.academy-course-card__old-price { margin:0 0 1px; color:#9299a9; font-size:10px; text-decoration:line-through; }
.academy-course-card__price { margin:0; color:#181a2e; font-size:20px; font-weight:850; letter-spacing:-.04em; }
.academy-course-card__duration { margin:3px 0 0; color:#81889a; font-size:9px; }
.academy-course-card__footer>a { display:inline-flex; align-items:center; gap:7px; padding:10px 12px; border-radius:10px; background:#f1f0ff; color:#4c42c5; font-size:10px; font-weight:800; text-decoration:none; transition:background .18s,color .18s; white-space:nowrap; }
.academy-course-card__footer>a:hover { background:#5045db; color:#fff; }
.academy-course-card__footer>a span { font-size:14px; }
.academy-how { padding:70px max(24px,calc((100vw - 1190px)/2)) 78px; background:#f7f7fc; }
.academy-how__heading { max-width:580px; margin:0 auto; text-align:center; }
.academy-how__steps { display:grid; max-width:1080px; grid-template-columns:repeat(3,1fr); gap:18px; margin:37px auto 0; }
.academy-how__steps article { min-height:185px; padding:22px 23px; border:1px solid #e9e9f2; border-radius:17px; background:#fff; }
.academy-how__number { display:grid; width:36px; height:36px; place-items:center; border-radius:12px; background:#eeedff; color:#5146ce; font-size:11px; font-weight:850; }
.academy-how__steps h3 { margin:18px 0 0; color:#202138; font-size:15px; font-weight:820; letter-spacing:-.02em; }
.academy-how__steps p { margin:7px 0 0; color:#72798c; font-size:11px; line-height:1.7; }
.academy-educators { display:grid; width:min(1190px,calc(100% - 48px)); grid-template-columns:1fr .8fr; align-items:center; gap:56px; margin:0 auto; padding:88px 0 96px; }
.academy-educators__copy h2 { margin:10px 0 0; color:#17192e; font-size:clamp(32px,4vw,47px); font-weight:850; letter-spacing:-.06em; line-height:1.08; }
.academy-educators__copy h2 span { color:#6358e7; }
.academy-educators__copy>p:not(.academy-section-kicker) { max-width:450px; margin:15px 0 23px; color:#667087; font-size:13px; line-height:1.8; }
.academy-educators__panel { position:relative; overflow:hidden; min-height:235px; padding:29px; border-radius:24px; background:linear-gradient(135deg,#1c2141,#34306d); color:#fff; }
.academy-educators__panel:after { position:absolute; right:-47px; bottom:-121px; width:250px; height:250px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 25px rgba(255,255,255,.025),0 0 0 51px rgba(255,255,255,.025); content:""; }
.academy-educators__symbol { display:grid; width:39px; height:39px; place-items:center; border-radius:13px; background:rgba(255,255,255,.12); color:#b9b2ff; font-size:21px; }
.academy-educators__panel>p { margin:22px 0 6px; color:#b9b5fa; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.academy-educators__panel h3 { position:relative; z-index:1; max-width:330px; margin:0; color:#fff; font-size:22px; font-weight:820; letter-spacing:-.035em; line-height:1.25; }
.academy-educators__tags { position:relative; z-index:1; display:flex; gap:8px; margin-top:19px; }
.academy-educators__tags span { padding:7px 10px; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:#e2e1f3; font-size:9px; font-weight:700; }
@media (max-width: 900px) {
    .academy-hero__inner { grid-template-columns:1fr .82fr; gap:15px; }
    .academy-hero-art__orbit--outer { width:360px; }
    .academy-hero-art__orbit--inner { width:300px; }
    .academy-journey-card { width:min(350px,95%); padding:19px; }
    .academy-public-nav__how { display:none; }
}
@media (max-width: 680px) {
    .academy-public-header { top:7px; width:calc(100% - 20px); margin-top:8px; }
    .academy-public-header__inner { min-height:59px; gap:8px; padding:7px 8px 7px 12px; }
    .academy-brand { gap:8px; }
    .academy-brand__mark { width:36px; height:36px; border-radius:13px; font-size:18px; }
    .academy-brand__name { font-size:12px; }
    .academy-brand__tagline { display:none; }
    .academy-public-nav { gap:1px; }
    .academy-public-nav__link { padding:9px 8px; font-size:10px; }
    .academy-public-nav__teach { display:none; }
    .academy-nav-cta { min-height:38px; gap:6px; padding:0 11px; font-size:10px; }
    .academy-public-nav__signin { display:none; }
    .academy-hero { width:calc(100% - 16px); margin-top:9px; border-radius:24px; }
    .academy-hero__inner { width:calc(100% - 38px); min-height:0; grid-template-columns:1fr; gap:9px; padding:45px 0 26px; }
    .academy-hero__copy { padding:7px 0 0; }
    .academy-eyebrow { font-size:9px; }
    .academy-hero h1 { margin-top:17px; font-size:clamp(42px,12vw,58px); }
    .academy-hero__intro { margin-top:14px; font-size:13px; line-height:1.7; }
    .academy-search { min-height:55px; gap:9px; margin-top:21px; padding-left:13px; }
    .academy-search input { font-size:12px; }
    .academy-search button { min-height:40px; gap:5px; padding:0 11px; font-size:10px; }
    .academy-topics { display:block; margin-top:17px; }
    .academy-topics__label { display:block; margin-bottom:9px; padding:0; font-size:10px; }
    .academy-topics__list { gap:6px; }
    .academy-topics__list a { gap:6px; padding:7px 9px; font-size:9px; }
    .academy-hero-art { min-height:365px; margin-top:9px; }
    .academy-hero-art__orbit--outer { width:340px; height:290px; }
    .academy-hero-art__orbit--inner { width:280px; height:235px; }
    .academy-journey-card { width:min(350px,92%); }
    .academy-hero__bottom { flex-wrap:wrap; gap:9px 17px; min-height:55px; padding:12px 8px; font-size:9px; }
    .academy-hero__bottom span:before { margin-right:5px; }
    .academy-featured { width:calc(100% - 36px); padding:57px 0 60px; }
    .academy-section-heading { display:block; margin-bottom:22px; }
    .academy-section-heading h2,.academy-how__heading h2 { font-size:29px; }
    .academy-text-link { margin-top:14px; }
    .academy-course-card__art { min-height:135px; }
    .academy-course-card__body { padding:17px; }
    .academy-how { padding:54px 18px 58px; }
    .academy-how__steps { grid-template-columns:1fr; gap:10px; margin-top:25px; }
    .academy-how__steps article { min-height:0; padding:17px; }
    .academy-how__steps h3 { margin-top:12px; }
    .academy-educators { width:calc(100% - 36px); grid-template-columns:1fr; gap:28px; padding:60px 0 65px; }
    .academy-educators__panel { min-height:215px; padding:23px; }
}
.academy-brand__image { width:42px; height:42px; flex:none; border-radius:13px; object-fit:contain; }
.academy-footer { padding:55px max(24px,calc((100vw - 1190px)/2)) 0; background:#11152c; color:#d7d9e6; }
.academy-footer__main { display:grid; grid-template-columns:1.35fr .8fr .85fr 1fr; gap:42px; padding-bottom:39px; }
.academy-footer__brand { max-width:290px; }
.academy-footer__logo { display:inline-flex; align-items:center; gap:11px; color:#fff; font-size:16px; font-weight:850; letter-spacing:-.035em; text-decoration:none; }
.academy-footer__logo img { width:auto; max-width:140px; height:42px; object-fit:contain; }
.academy-footer__brand>p { margin:15px 0 0; color:#a9aec2; font-size:12px; line-height:1.8; }
.academy-footer__socials { display:flex; gap:9px; margin-top:18px; }
.academy-footer__socials a,.academy-footer__social-placeholder { display:grid; width:33px; height:33px; place-items:center; border:1px solid rgba(255,255,255,.17); border-radius:11px; color:#f2f1ff; font-size:13px; font-weight:800; text-decoration:none; }
.academy-footer__socials a { transition:background .18s,border .18s; }
.academy-footer__social-placeholder { color:#a9aec2; opacity:.72; }
.academy-footer__socials a:hover { border-color:#8981ff; background:#5149b2; }
.academy-footer__column { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.academy-footer__column h2 { margin:4px 0 7px; color:#fff; font-size:12px; font-weight:800; }
.academy-footer__column>a,.academy-footer__column>p { margin:0; color:#a9aec2; font-size:11px; line-height:1.7; text-decoration:none; overflow-wrap:anywhere; }
.academy-footer__column>a:hover { color:#c3bfff; }
.academy-footer__bottom { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:57px; border-top:1px solid rgba(255,255,255,.12); color:#a9aec2; font-size:10px; }
.academy-footer__bottom a { color:#dedcff; font-weight:700; text-decoration:none; }
.academy-footer__bottom a span { margin-left:4px; color:#a9a4ff; }
.public-content-page { min-height:65vh; padding-bottom:78px; background:#fff; }
.public-content-hero { padding:66px 24px 39px; background:linear-gradient(135deg,#f3f2ff,#fafaff 62%,#eef8f8); text-align:center; }
.public-content-hero h1 { margin:12px auto 0; color:#17192e; font-size:clamp(34px,5vw,52px); font-weight:850; letter-spacing:-.06em; line-height:1.1; }
.public-content-hero>p:last-child { max-width:700px; margin:15px auto 0; color:#667087; font-size:14px; line-height:1.8; }
.public-content-body { width:min(820px,calc(100% - 40px)); margin:35px auto 0; color:#4b5568; font-size:14px; line-height:1.9; }
.public-content-body h2 { color:#20223a; font-size:20px; font-weight:800; }
.public-content-body>p { margin:0 0 19px; }
.public-content-body a:not(.academy-nav-cta) { color:#5146cc; font-weight:750; }
.public-faq-list { display:grid; gap:11px; }
.public-faq-list details { padding:18px 20px; border:1px solid #e7e8f0; border-radius:14px; background:#fff; }
.public-faq-list summary { color:#20223a; cursor:pointer; font-size:14px; font-weight:780; }
.public-faq-list details p { margin:12px 0 0; color:#667087; font-size:13px; line-height:1.8; }
.public-content-body>.academy-nav-cta { margin-top:14px; }
.public-contact-layout { display:grid; width:min(1000px,calc(100% - 40px)); grid-template-columns:1.2fr .8fr; align-items:start; gap:22px; margin:34px auto 0; }
.public-contact-card,.public-contact-aside { padding:25px; border:1px solid #e7e8f0; border-radius:19px; background:#fff; box-shadow:0 8px 28px rgba(25,28,59,.05); }
.public-contact-card h2,.public-contact-aside h2 { margin:0; color:#20223a; font-size:20px; font-weight:820; letter-spacing:-.035em; }
.public-contact-card>p,.public-contact-aside>p { margin:8px 0 0; color:#737b90; font-size:12px; line-height:1.8; }
.public-contact-form { display:grid; gap:14px; margin-top:19px; }
.public-contact-form>label { display:grid; gap:6px; color:#3b4157; font-size:11px; font-weight:750; }
.public-contact-form input,.public-contact-form textarea { width:100%; border:1px solid #dfe2eb; border-radius:10px; background:#fff; padding:11px 12px; color:#16192c; font:inherit; font-size:12px; outline:none; }
.public-contact-form input:focus,.public-contact-form textarea:focus { border-color:#756bea; box-shadow:0 0 0 3px rgba(99,88,231,.12); }
.public-contact-form textarea { resize:vertical; }
.public-contact-form button { display:flex; align-items:center; justify-content:center; gap:10px; min-height:44px; border:0; border-radius:11px; background:#5146d5; color:#fff; cursor:pointer; font:inherit; font-size:12px; font-weight:800; }
.public-contact-form button:disabled { cursor:wait; opacity:.7; }
.public-form-status { min-height:20px; margin:0; color:#46506a; font-size:11px; }
.public-form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.public-contact-aside { background:#f7f7fc; }
.public-contact-aside>span { display:grid; width:39px; height:39px; place-items:center; margin-bottom:17px; border-radius:13px; background:#ecebff; color:#5c50db; font-size:19px; }
.public-contact-aside>a { display:inline-flex; gap:8px; margin-top:18px; color:#5045d2; font-size:12px; font-weight:800; text-decoration:none; }
.public-contact-aside .public-contact-detail { margin-top:20px; color:#4d5468; font-weight:750; }
.public-contact-aside .public-contact-detail a { display:inline-block; margin-top:3px; color:#6b7280; font-size:12px; font-weight:500; text-decoration:none; }
@media (max-width: 760px) {
    .academy-footer { padding:38px 22px 0; }
    .academy-footer__main { grid-template-columns:1fr 1fr; gap:30px 20px; }
    .academy-footer__brand { grid-column:1/-1; max-width:400px; }
    .academy-footer__bottom { flex-wrap:wrap; padding:15px 0; }
    .public-content-hero { padding:46px 20px 31px; }
    .public-content-body { width:calc(100% - 36px); margin-top:25px; font-size:13px; }
    .public-contact-layout { width:calc(100% - 32px); grid-template-columns:1fr; gap:14px; margin-top:22px; }
}
