/* Academic A — shared public presentation, 9 September 2026. */
body.academic {
    --ink: #29252a;
    --muted: #69626a;
    --soft: #f8f5f0;
    --line: #e8e1db;
    --navy: #601b2a;
    --blue: #78263a;
    --red: #78263a;
    --brand: #601b2a;
    --accent: #78263a;
    --gold: #ad7c32;
    --radius: 16px;
    --container: 1160px;
    --shadow: 0 10px 32px rgba(64, 37, 27, .05);
    color: var(--ink);
    background: #fff;
    font-family: Inter, Arial, sans-serif;
    line-height: 1.7;
}
.academic :is(h1,h2,h3) { color: var(--ink); font-weight: 700; letter-spacing: -.025em; }
.academic h1 { font-size: clamp(34px, 4.1vw, 52px); line-height: 1.16; max-width: 760px; }
.academic h2 { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.24; }
.academic h3 { font-size: 20px; line-height: 1.35; }
.academic strong { font-weight: 650; }
.academic em { color: inherit; font-style: normal; }
.academic :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid #b17c35; outline-offset: 4px; }
.academic :is(.topbar,.site-header) { background: #fff; color: var(--ink); border-color: var(--line); box-shadow: none; }
.academic > .topbar:not(header) { background: var(--soft); font-size: 12px; }
.academic .topbar-inner { padding-block: 7px; }
.academic .nav { min-height: 82px; gap: 24px; }
.academic .brand { gap: 10px; }
.academic .brand img { width: 52px; height: 52px; max-height: 52px; object-fit: contain; }
.academic .brand > span { color: var(--navy); font-size: 20px; }
.academic .brand small { font-weight: 500; font-size: 11px; }
.academic :is(.nav-links,.links) { gap: 12px; font-size: 13px; font-weight: 600; }
.academic .nav-programs summary { font-weight: 600; }
.academic .academic-nav { display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: 12px; }
.academic .academic-nav a { text-decoration: none; white-space: nowrap; }
.academic .academic-nav .nav-programs { position: relative; }
.academic .academic-nav .nav-programs summary { display: flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; padding: 8px; border-radius: 8px; }
.academic .academic-nav .nav-programs summary::-webkit-details-marker { display: none; }
.academic .academic-nav .nav-programs summary::after { content: "▾"; font-size: 10px; }
.academic .academic-nav .nav-programs-menu { position: absolute; z-index: 120; top: calc(100% + 10px); inset-inline-end: 0; display: grid; min-width: 220px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.academic .academic-nav .nav-programs-menu a { display: block; padding: 10px 12px; color: var(--ink); border: 0; border-radius: 6px; }
.academic .academic-nav .nav-programs-menu a:hover { background: var(--soft); }
.academic .language-switcher { background: #fff; border-color: var(--line); }
.academic .btn { min-height: 46px; padding: 12px 20px; border-radius: 9px; font: 600 14px/1.4 Inter, Arial, sans-serif; box-shadow: none; }
.academic :is(.btn-primary,.btn.primary), .academic :is(.hero,.page-hero) .btn-primary { background: var(--navy); color: #fff; border: 1px solid var(--navy); box-shadow: none; }
.academic :is(.btn-primary,.btn.primary):hover, .academic :is(.hero,.page-hero) .btn-primary:hover { background: #471320; color: #fff; }
.academic :is(.btn-secondary,.btn-light,.btn.ghost) { background: #fff; color: var(--navy); border: 1px solid #d9cbd0; box-shadow: none; }
.academic :is(.btn-secondary,.btn-light,.btn.ghost):hover { background: #faf3f5; color: var(--navy); }
.academic :is(.hero,.page-hero) { min-height: 0; background: var(--soft); color: var(--ink); overflow: visible; }
.academic :is(.hero,.page-hero)::after { content: none; }
.academic :is(.hero-inner,.page-hero-inner) { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); align-items: center; gap: 56px; max-width: var(--container); padding: 64px 0; }
.academic .academic-hero-copy { min-width: 0; }
.academic :is(.hero,.page-hero) h1 { color: var(--ink); }
.academic :is(.hero,.page-hero) :is(.eyebrow,.kicker), .academic :is(.eyebrow,.kicker) { color: var(--navy); font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.academic .eyebrow { margin: 0 0 20px; }
.academic .eyebrow::before { width: 24px; height: 2px; background: var(--gold); }
.academic :is(.hero-lead,.page-hero .hero-lead,.hero-lead em,.lead) { color: var(--muted); font-size: 16px; line-height: 1.8; margin-top: 22px; }
.academic .hero-actions { margin-top: 26px; gap: 10px; }
.academic .academic-hero-media { margin: 0; min-width: 0; }
.academic .academic-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 20px; }
.academic .academic-hero-media figcaption { color: var(--muted); font-size: 12px; margin-top: 12px; }
.academic .hero-trust { gap: 7px; margin-top: 22px; }
.academic .hero-trust .trust-pill { padding: 3px 8px; border: 0; border-inline-start: 2px solid #d6b67d; background: transparent; color: var(--muted); font-size: 11px; font-weight: 500; border-radius: 0; }
.academic .academic-share { margin-top: 18px; font-size: 12px; color: var(--muted); }
.academic .academic-share > summary { display: inline-block; cursor: pointer; padding: 4px 0; text-decoration: underline; text-underline-offset: 4px; }
.academic .share-row { margin-top: 8px; }
.academic .share-row a { background: #fff; border: 1px solid var(--line); box-shadow: none; color: var(--muted); font-weight: 500; }
.academic .meta-row { margin-top: 16px; gap: 6px; }
.academic .meta-row .meta-pill { background: transparent; border: 0; padding: 0 12px 0 0; color: var(--muted); font-size: 11px; font-weight: 500; }
.academic .feature-strip { margin: 0; padding: 26px 0; background: #fff; border-bottom: 1px solid var(--line); }
.academic .feature-strip .feature-grid { gap: 28px; }
.academic .feature-strip .feature-card { padding: 0; border: 0; background: transparent; box-shadow: none; }
.academic .feature-strip .feature-card small { color: var(--gold); font-size: 10px; }
.academic .feature-strip .feature-card h3 { font-size: 15px; margin: 6px 0; }
.academic .feature-strip .feature-card p { font-size: 12px; line-height: 1.7; color: var(--muted); }
.academic .section { padding: 72px 0; background: #fff; }
.academic .section.white { background: #fff; }
.academic .section.soft { background: var(--soft); }
.academic .section-title { margin-bottom: 30px; }
.academic .section-title.center { text-align: start; margin-inline: 0; max-width: 790px; }
.academic .section-title p:not(.kicker) { color: var(--muted); font-size: 15px; }
.academic :is(.feature-card,.step-card,.institution-card,.lookup-panel,.active-test,.faq-card,.side-card,.article-card,.tool-card,.room,.tutor-card) { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: none; }
.academic :is(.feature-card,.step-card) { padding: 24px; }
.academic :is(.feature-card,.step-card) :is(h3,p) { color: var(--ink); }
.academic .service-choice-note { margin-bottom: 24px; padding: 16px 20px; border: 0; border-inline-start: 3px solid #d7b16c; border-radius: 0 10px 10px 0; background: var(--soft); font-size: 13px; }
.academic .service-choice-note p { font-size: 13px; margin: 6px 0 0; color: var(--muted); }
.academic .program-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; overflow: visible; padding: 0; scroll-snap-type: none; }
.academic .program-grid .program-card { display: grid; grid-template-columns: 128px minmax(0,1fr); gap: 22px; min-width: 0; width: auto; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: none; }
.academic .program-card-media { min-width: 0; }
.academic .program-card-media img { width: 100%; height: 164px; object-fit: cover; border-radius: 10px; }
.academic .program-card-copy { min-width: 0; }
.academic .program-card-copy h3 { font-size: 21px; color: var(--ink); margin: 10px 0 12px; }
.academic .program-card-copy > p { font-size: 13px; line-height: 1.75; color: var(--muted); }
.academic .program-card-copy .program-label { padding: 0; color: var(--navy); background: transparent; border: 0; font-size: 10px; letter-spacing: .08em; font-weight: 700; }
.academic .program-card-copy .check-list { gap: 9px; margin-top: 18px; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 12px; }
.academic .check-list li { grid-template-columns: 18px minmax(0,1fr); gap: 8px; }
.academic .check-list li::before { width: 16px; height: 20px; background: transparent; color: var(--gold); font-size: 12px; }
.academic .check-list li span::before { content: none; }
.academic .program-card-copy > .btn { margin-top: 20px; font-size: 12px; min-height: 42px; }
.academic .program-card:last-child { grid-column: 1/-1; grid-template-columns: 240px minmax(0,1fr); }
.academic .program-card:last-child .program-card-media img { height: 100%; max-height: 290px; }
.academic :is(.about-layout,.certificate-layout,.benefit-layout,.academic-learning-layout) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 60px; align-items: center; }
.academic :is(.media-frame,.certificate-preview) { padding: 0; background: var(--soft); border: 0; border-radius: 18px; box-shadow: none; overflow: hidden; }
.academic .media-frame img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.academic .experience-badge { position: static; border: 0; padding: 16px 22px; border-radius: 0; background: var(--soft); color: var(--muted); box-shadow: none; font-size: 12px; }
.academic .experience-badge strong { display: none; }
.academic .body-copy p { color: var(--muted); font-size: 15px; }
.academic .body-copy .check-list { font-size: 14px; }
.academic .active-test { padding: 30px; background: #fff; }
.academic .active-test p { color: var(--muted); }
.academic .stats-row { margin-top: 28px; gap: 0; }
.academic .stat-box { padding: 16px 28px; background: transparent; border: 0; border-inline-start: 1px solid #ded3c5; border-radius: 0; box-shadow: none; text-align: start; }
.academic .stat-box strong { color: var(--navy); font-size: 34px; }
.academic .stat-box span { color: var(--muted); font-size: 12px; }
.academic .academic-learning-layout > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; }
.academic .academic-learning-layout p:not(.kicker) { color: var(--muted); }
.academic .certificate-preview img { width: 100%; max-height: 420px; object-fit: contain; }
.academic .option-grid .option { padding: 12px; font-size: 12px; background: #fff; color: var(--navy); border-color: var(--line); border-radius: 10px; }
.academic .lookup-panel { padding: 32px; background: var(--soft); }
.academic .lookup-panel p { color: var(--muted); }
.academic .lookup-panel :is(input,button) { border-radius: 8px; }
.academic .institution-card { align-items: center; }
.academic .institution-card > img { width: 70px; height: 70px; object-fit: contain; }
.academic .benefit-layout > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 18px; }
.academic .benefit-item { padding: 14px 0; background: transparent; border: 0; }
.academic .benefit-item h3 { font-size: 16px; }
.academic .benefit-item p { color: var(--muted); font-size: 13px; }
.academic .faq-list { max-width: 900px; margin-inline: auto; }
.academic .faq-card { border-radius: 10px; }
.academic .faq-card h3 { font-size: 16px; color: var(--ink); }
.academic .faq-card p { color: var(--muted); font-size: 14px; }
.academic .section.cta { background: var(--navy); color: #fff; padding: 48px 0; }
.academic .section.cta :is(h2,p,.eyebrow) { color: #fff; }
.academic .section.cta .btn-primary { background: #fff; color: var(--navy); box-shadow: none; }
.academic .location-grid { gap: 48px; }
.academic .location-grid p { color: var(--muted); font-size: 14px; }
.academic .map-embed { border-radius: 16px; box-shadow: none; }
.academic .map-embed iframe { height: 310px; }
.academic :is(.site-footer,footer) { background: var(--soft); color: var(--ink); border-top: 1px solid var(--line); }
.academic .site-footer :is(p,a,small), .academic footer :is(p,a,small) { color: var(--muted); font-size: 13px; }
.academic .site-footer strong { color: var(--navy); }
.academic .footer-logo { width: 64px; height: 64px; object-fit: contain; }
.academic .footer-bottom { color: var(--muted); border-color: var(--line); font-size: 11px; }
/* Public articles: readable measure, clear sections, existing tools and tables. */
.academic .content-layout { grid-template-columns: minmax(0,1fr) 280px; gap: 44px; align-items: start; }
.academic .article-card { min-width: 0; padding: 0; border: 0; }
.academic .article-section { padding: 30px 0; border-bottom: 1px solid var(--line); }
.academic .article-section:first-child { padding-top: 0; }
.academic .article-section h2 { color: var(--ink); font-size: 27px; }
.academic .article-section p { color: #514b51; font-size: 15px; line-height: 1.9; }
.academic .article-subsection { padding: 22px; background: var(--soft); border-color: var(--line); border-radius: 12px; }
.academic .article-subsection h3 { font-size: 18px; }
.academic .page-toc { margin-bottom: 22px; border-color: var(--line); border-radius: 12px; background: var(--soft); box-shadow: none; }
.academic .page-toc summary { font-size: 14px; }
.academic .page-toc a { font-size: 13px; color: var(--navy); }
.academic .side-stack { position: static; gap: 22px; }
.academic .side-card { padding: 22px; background: var(--soft); }
.academic .side-card p { color: var(--muted); font-size: 13px; }
.academic .side-card .side-card-title { color: var(--navy); font-size: 15px; }
.academic .side-links a { font-size: 13px; border-radius: 7px; background: #fff; color: var(--navy); border-color: var(--line); }
.academic :is(.section-link,.source-link) { background: var(--soft); border-color: var(--line); color: var(--navy); border-radius: 8px; font-weight: 600; }
.academic .tool-card { background: var(--soft); }
.academic .data-table th { background: var(--soft); color: var(--navy); }
/* Learning retains real tutor selection and chat handlers. */
.academic-learning main { width: min(calc(100% - 40px),var(--container)); }
.academic-learning .hero { grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: 56px; padding: 64px 0; background: #fff; }
.academic-learning .hero-panel { background: var(--soft); border: 0; border-radius: 16px; box-shadow: none; padding: 24px; }
.academic-learning .hero-panel h2 { font-size: 20px; }
.academic-learning .hero-panel :is(p,li) { font-size: 13px; color: var(--muted); }
.academic-learning .learning-featured { margin: 0 0 24px; border: 0; }
.academic-learning .learning-featured img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.academic-learning .hero-list li::before { background: var(--gold); }
.academic-learning .section { padding-block: 44px; }
.academic-learning .room-head, .academic-learning .room-grid .side { background: var(--soft); }
.academic-learning .tutor-card.active { border-color: var(--navy); background: #fcf3f5; }
.academic-learning .bubble { background: var(--soft); color: var(--ink); }
.academic-learning .chat-form :is(textarea,button) { border-radius: 9px; }
.academic :is(.alp-cs-launcher,.alp-cs-head) { background: var(--navy); box-shadow: none; }
.academic .alp-cs-head strong { color: #fff; }
@media (max-width: 1120px) {
    .academic .academic-nav { display: none !important; }
    .academic .mobile-menu { display: block; }
    .academic .nav { min-height: 74px; }
    .academic :is(.hero-inner,.page-hero-inner) { gap: 32px; }
    .academic .program-grid .program-card { grid-template-columns: 96px minmax(0,1fr); gap: 18px; padding: 20px; }
    .academic .program-card:last-child { grid-template-columns: 200px minmax(0,1fr); }
    .academic :is(.about-layout,.certificate-layout,.benefit-layout,.academic-learning-layout) { gap: 34px; }
    .academic .content-layout { grid-template-columns: minmax(0,1fr) 240px; gap: 28px; }
}
@media (max-width: 800px) {
    .academic :is(.hero-inner,.page-hero-inner), .academic-learning .hero { grid-template-columns: 1fr; padding-block: 38px; gap: 28px; }
    .academic-learning .hero { width: 100%; margin: 0 !important; padding: 38px 0 !important; }
    /* Existing templates carry legacy mobile !important rules; reset just these properties. */
    .academic :is(.hero-inner,.page-hero-inner) { width: calc(100% - 36px) !important; max-width: var(--container) !important; margin-inline: auto !important; padding: 38px 0 !important; }
    .academic :is(.hero,.page-hero) h1 { width: 100% !important; max-width: 100% !important; font-size: 38px !important; line-height: 1.18 !important; word-break: normal !important; overflow-wrap: break-word; }
    .academic .hero-lead { width: 100% !important; max-width: 100% !important; font-size: 15px !important; line-height: 1.8 !important; }
    .academic .hero-actions { width: 100% !important; max-width: 100% !important; display: flex !important; flex-wrap: wrap; gap: 10px !important; }
    .academic .hero-actions .btn { width: auto; flex: 1 1 auto; }
    .academic h1 { font-size: 38px; }
    .academic .academic-hero-media { max-width: 580px; width: 100%; }
    .academic .academic-hero-media img { max-height: 360px; }
    .academic .section { padding-block: 48px; }
    .academic .program-grid { grid-template-columns: 1fr; }
    .academic .program-grid .program-card, .academic .program-card:last-child { grid-template-columns: 132px minmax(0,1fr); grid-column: auto; }
    .academic .program-card:last-child .program-card-media img { height: 164px; }
    .academic :is(.about-layout,.certificate-layout,.benefit-layout,.academic-learning-layout) { grid-template-columns: 1fr; }
    .academic :is(.media-frame,.certificate-preview,.academic-learning-layout > img,.benefit-layout > img) { max-width: 580px; width: 100%; }
    .academic .content-layout { grid-template-columns: minmax(0,1fr); }
    .academic .side-stack { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .academic .side-stack > :last-child { grid-column: 1/-1; }
    .academic .location-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .academic .container, .academic-learning main { width: calc(100% - 36px); }
    .academic .nav { min-height: 68px; gap: 10px; }
    .academic .brand img { width: 40px; height: 40px; }
    .academic .brand > span { font-size: 18px; }
    .academic .brand small { display: none; }
    .academic h1, .academic :is(.hero,.page-hero) h1 { font-size: 33px !important; line-height: 1.18; }
    .academic :is(.hero-lead,.lead) { font-size: 15px; }
    .academic .academic-hero-media img { border-radius: 14px; }
    .academic .hero-actions .btn { flex: 1 1 auto; padding-inline: 12px; font-size: 13px; }
    .academic .feature-strip .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
    .academic .program-grid .program-card, .academic .program-card:last-child { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 20px; }
    .academic .program-card-media img, .academic .program-card:last-child .program-card-media img { width: 100%; height: 176px; }
    .academic .program-card-copy h3 { font-size: 23px; }
    .academic .program-card-copy > p { font-size: 14px; }
    .academic .program-card-copy .check-list { font-size: 13px; }
    .academic .program-card-copy > .btn { width: 100%; font-size: 13px; }
    .academic .service-choice-note { padding: 14px 16px; }
    .academic .stat-box { padding: 10px 12px; }
    .academic .stat-box strong { font-size: 26px; }
    .academic .stats-row { grid-template-columns: 1fr; gap: 14px; }
    .academic .stat-box span { font-size: 13px; }
    .academic .active-test, .academic .lookup-panel { padding: 22px; }
    .academic .article-section h2 { font-size: 25px; }
    .academic .article-subsection { padding: 18px; }
    .academic .side-stack { grid-template-columns: 1fr; }
    .academic-learning .hero-panel { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .academic *, .academic *::before, .academic *::after { scroll-behavior: auto; transition: none; animation: none; }
}

/* Revision 2: article preview, live schedule and participant guide. */
.academic .blog-heading { display: flex; align-items: center; justify-content: space-between; gap: 36px; margin-bottom: 30px; }
.academic .blog-heading .section-title { max-width: 730px; margin: 0; }
.academic .blog-heading > .btn { flex-shrink: 0; display: inline-flex; align-items: center; gap: 12px; }
.academic .blog-articles { gap: 24px; }
.academic .blog-article { border: 1px solid var(--line); border-radius: 16px; box-shadow: none; overflow: hidden; background: #fff; }
.academic .blog-articles-single .blog-article { display: grid; grid-template-columns: 280px minmax(0,1fr); align-items: center; }
.academic .blog-article-image { display: block; width: 100%; object-fit: cover; background: var(--soft); }
.academic .blog-articles-single .blog-article-image { width: 100%; height: 100%; min-height: 280px; aspect-ratio: 1; object-fit: contain; }
.academic .blog-article-body { min-width: 0; padding: 28px 32px; }
.academic .blog-article-body time { display: block; color: var(--muted); font-size: 12px; font-weight: 500; }
.academic .blog-article-body h3 { margin: 10px 0 14px; font-size: 23px; line-height: 1.4; }
.academic .blog-article-body h3 a { color: var(--ink); text-decoration: none; }
.academic .blog-article-body h3 a:hover { color: var(--navy); text-decoration: underline; text-underline-offset: 4px; }
.academic .blog-article-body p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.academic .blog-read-link { display: inline-flex; gap: 12px; align-items: center; margin-top: 20px; color: var(--navy); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.academic .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.academic-special { --maroon: var(--navy); --panel: #fff; }
.academic-special :is(.wrap,.container) { width: min(calc(100% - 40px),var(--container)); margin-inline: auto; }
.academic-special > .topbar { position: static; padding: 0; }
.academic-special .topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.academic .academic-shared-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--line); }
.academic-shared-header .nav { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; padding-block: 0; }
.academic-shared-header .brand { display: inline-flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.academic-shared-header .brand img { border: 0; border-radius: 0; background: transparent; padding: 0; }
.academic-shared-header .brand > span { font-weight: 750; letter-spacing: -.025em; }
.academic-shared-header .academic-nav { font-size: 13px; font-weight: 600; }
.academic-shared-header .academic-nav a { color: var(--ink); }
.academic-shared-header .academic-nav .btn-primary { color: #fff; }
.academic-shared-header .language-switcher { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: 999px; }
.academic-shared-header .language-switcher a { display: block; padding: 7px 9px; font-size: 11px; border-radius: 999px; text-decoration: none; }
.academic-shared-header .language-switcher a.active { color: #fff; background: var(--navy); }
.academic-mobile-menu { display: none; position: relative; }
.academic-mobile-menu > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 10px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--navy); }
.academic-mobile-menu > summary::-webkit-details-marker { display: none; }
.academic-mobile-panel { position: absolute; z-index: 130; top: calc(100% + 12px); inset-inline-end: 0; width: min(340px,calc(100vw - 36px)); max-height: calc(100dvh - 120px); overflow-y: auto; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 36px #29252a15; }
.academic-mobile-panel > a { display: block; padding: 10px 12px; border-radius: 6px; color: var(--ink); text-decoration: none; font-size: 14px; }
.academic-mobile-panel > a:hover { background: var(--soft); }
.academic-mobile-panel > .btn-primary { margin-top: 8px; text-align: center; color: #fff; }
.academic-mobile-panel > .language-switcher { margin-bottom: 8px; }
.academic-skip { position: fixed; inset-inline-start: 20px; top: -100px; z-index: 300; padding: 12px 20px; border-radius: 8px; background: var(--navy); color: #fff; }
.academic-skip:focus { top: 12px; }
.academic .academic-shared-footer { padding: 48px 0 20px; background: var(--soft); color: var(--muted); border-top: 1px solid var(--line); }
.academic-shared-footer .footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3,minmax(0,1fr)); gap: 36px; }
.academic-shared-footer .footer-logo { display: block; width: 64px; height: 64px; object-fit: contain; margin-bottom: 12px; }
.academic-shared-footer strong { display: block; font-size: 14px; color: var(--ink); }
.academic-shared-footer p { font-size: 12px; line-height: 1.8; margin-top: 12px; }
.academic-shared-footer .footer-links { display: grid; gap: 8px; margin-top: 16px; font-size: 12px; }
.academic-shared-footer .footer-links a { color: var(--muted); text-decoration: none; }
.academic-shared-footer .footer-links a:hover { color: var(--navy); text-decoration: underline; }
.academic-shared-footer .footer-bottom { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 11px; }
.academic-special .hero { padding: 0; }
.academic-special .hero h1 { margin: 16px 0 0; }
.academic-special .hero .lead { margin-bottom: 0; }
.academic-special .hero-actions { display: flex; flex-wrap: wrap; }
.academic-special .hero .eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; border-radius: 0; }
.academic-special .academic-schedule-overview { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 32px; padding-block: 32px; }
.academic-schedule .quick-summary { margin: 0; padding: 22px 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.academic-schedule .quick-summary strong { font-size: 14px; color: var(--ink); }
.academic-schedule .quick-summary ul { margin: 10px 0 0; padding-inline-start: 18px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.academic-schedule .quick-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 0; }
.academic-schedule .quick-stats .stat { padding: 12px 20px; border: 0; border-inline-start: 1px solid var(--line); background: transparent; border-radius: 0; box-shadow: none; }
.academic-schedule .quick-stats .stat strong { color: var(--navy); font-size: 25px; }
.academic-schedule .quick-stats .stat span { color: var(--muted); font-size: 12px; }
.academic-schedule .schedule-section { padding: 16px 0 36px; }
.academic-schedule .schedule-shell { border: 1px solid var(--line); border-radius: 16px; box-shadow: none; }
.academic-schedule .schedule-head { padding: 28px; gap: 28px; background: var(--soft); border-bottom: 1px solid var(--line); }
.academic-schedule .schedule-head h2 { font-size: 30px; }
.academic-schedule .schedule-head p { color: var(--muted); font-size: 13px; line-height: 1.8; }
.academic-schedule .schedule-summary { gap: 8px; }
.academic-schedule .summary-chip { background: #fff; border-color: var(--line); color: var(--muted); font-size: 11px; font-weight: 500; }
.academic-schedule .filters { gap: 6px; flex-wrap: wrap; }
.academic-schedule .filters button { border: 1px solid var(--line); border-radius: 7px; padding: 9px 12px; color: var(--ink); background: #fff; font-size: 12px; font-weight: 600; box-shadow: none; }
.academic-schedule .filters button[aria-pressed='true'] { background: var(--navy); color: #fff; border-color: var(--navy); }
.academic-schedule .filter-state { color: var(--muted); font-size: 12px; }
.academic-schedule .events { gap: 12px; padding: 24px 28px; }
.academic-schedule .schedule-card { grid-template-columns: minmax(0,1.4fr) minmax(0,.6fr) minmax(0,1fr) minmax(0,.75fr); padding: 22px; gap: 24px; border-color: var(--line); border-radius: 12px; background: #fff; box-shadow: none; }
.academic-schedule .schedule-card:hover { transform: none; border-color: #d6c3c9; box-shadow: none; }
.academic-schedule .date-title { color: var(--ink); font-size: 16px; }
.academic-schedule .time-text { color: var(--muted); font-size: 13px; }
.academic-schedule .pill { background: var(--soft); border-color: var(--line); color: var(--navy); font-size: 11px; }
.academic-schedule .price { color: var(--navy); font-size: 18px; }
.academic-special .article-section { padding-block: 36px; }
.academic-special :is(.info-card,.card,.step,.prep-item,.secure-download,.secure-steps,.gallery-block,.faq-item) { border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: none; }
.academic-guide .section { padding-block: 40px; }
.academic-guide .section h2 { margin-top: 0; }
.academic-guide .quick { padding-block: 36px; }
.academic-guide .notice { border-color: #dbcda9; background: #faf7ee; color: #5d4b26; }
.academic-guide #guideLightbox { z-index: 300; }
.academic-special :is(.bottom,.bottom-cta) { background: var(--soft); color: var(--ink); border: 1px solid var(--line); border-radius: 16px; box-shadow: none; }
.academic-special :is(.bottom,.bottom-cta) :is(h2,h3) { color: var(--ink); }
.academic-special :is(.bottom,.bottom-cta) p { color: var(--muted); }
@media (max-width: 1120px) {
    .academic-mobile-menu { display: block; }
    .academic-schedule .schedule-head { grid-template-columns: 1fr; gap: 20px; }
    .academic-schedule .schedule-tools { align-items: flex-start; }
    .academic .blog-heading .section-title { max-width: 650px; }
}
@media (max-width: 800px) {
    .academic-special :is(.wrap,.container) { width: calc(100% - 36px); }
    .academic .blog-heading { display: block; }
    .academic .blog-heading > .btn { margin-top: 22px; }
    .academic .blog-articles-single .blog-article { grid-template-columns: 220px minmax(0,1fr); }
    .academic .blog-articles-single .blog-article-image { min-height: 220px; }
    .academic .blog-article-body { padding: 24px; }
    .academic .blog-article-body h3 { font-size: 21px; }
    .academic-special .academic-schedule-overview { grid-template-columns: 1fr; gap: 22px; }
    .academic-schedule .schedule-card { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; }
    .academic-schedule .schedule-head, .academic-schedule .events { padding: 22px; }
    .academic-shared-footer .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
}
@media (max-width: 540px) {
    .academic .blog-articles-single .blog-article { grid-template-columns: minmax(0,1fr); }
    .academic .blog-articles-single .blog-article-image { width: 100%; height: auto; min-height: 0; aspect-ratio: 4/3; object-fit: contain; }
    .academic .blog-article-body { padding: 22px; }
    .academic-special .topbar-inner { font-size: 10px; gap: 10px; }
    .academic-schedule .schedule-head, .academic-schedule .events { padding: 18px; }
    .academic-schedule .schedule-head h2 { font-size: 27px; }
    .academic-schedule .schedule-card { padding: 18px; grid-template-columns: minmax(0,1fr); gap: 14px; }
    .academic-schedule .schedule-card .pill { justify-self: start; }
    .academic-schedule .quick-summary { padding: 20px; }
    .academic-schedule .quick-stats .stat { padding: 10px 14px; }
    .academic-schedule .filters { justify-content: flex-start; }
    .academic-shared-footer .footer-grid { grid-template-columns: minmax(0,1fr); }
}

.academic-special .btn:not(.primary):not(.btn-primary) { background: #fff; color: var(--navy); border: 1px solid #d9cbd0; }
.academic-schedule .filters { background: transparent; border: 0; padding: 0; box-shadow: none; }
.academic-schedule :is(.quota-top,.price-label,.filter-state) { font-weight: 500; font-size: 12px; }
.academic-schedule .summary-chip strong { font-weight: 650; }

.academic-special .topbar-inner { flex-direction: row; }
.academic-special .topbar-inner span::before { content: none; }

/* Revision 3: preserve the subject in program and certificate visuals. */
.academic .program-grid .program-card { grid-template-columns: 160px minmax(0,1fr); }
.academic .program-card:last-child { grid-template-columns: 240px minmax(0,1fr); }
.academic .program-card-media img, .academic .program-card:last-child .program-card-media img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; }
.academic .certificate-preview img { display: block; height: auto; aspect-ratio: 1200/630; }
.academic .benefit-layout > img { height: auto; min-height: 0; order: 0; }
@media (max-width: 1120px) {
    .academic .program-grid .program-card { grid-template-columns: 132px minmax(0,1fr); }
    .academic .program-card:last-child { grid-template-columns: 200px minmax(0,1fr); }
}
@media (max-width: 800px) {
    .academic .program-grid .program-card, .academic .program-card:last-child { grid-template-columns: 180px minmax(0,1fr); }
}
@media (max-width: 540px) {
    .academic .program-grid .program-card, .academic .program-card:last-child { grid-template-columns: minmax(0,1fr); }
}
