/* Shared readable type scale, loaded after all page styles. */
:root{--site-body-size:16px;--site-caption-size:14px;--site-card-title-size:24px}
body{font-size:var(--site-body-size)}
#main :is(p,li,dt,dd,label,input,select,textarea,button,td,th),
#main :is(.muted,.text-link,.button,.notice,.member-description,.member-term){font-size:var(--site-body-size)}
#main :is(p,li,dd){line-height:1.9}
#main :is(h2,h3){font-size:var(--site-card-title-size);line-height:1.5}
#main :is(h1,.section-head h2,.about-story h2,.partnership-intro h2,.partner-contact h2,.partner-entry-section>h2,.auth-welcome-copy h2,.banner-photo-title){font-size:var(--site-title-size)}
#main :is(h2,h3)>a{font-size:inherit}
#main .course-card .course-body h3{font-size:var(--site-card-title-size)}
#main .course-card .course-body>p{font-size:var(--site-body-size);line-height:1.9}
#main :is(small,.auth-field-note,.contact-consent,.partner-unified-note,.checkout-note,.course-fee del){font-size:var(--site-caption-size);line-height:1.8}
#main :is(.eyebrow,.auth-title>span,.member-plan-en,.belief-number,.banner-photo-title>small,.legal-entry>small,.checkout-header>div>span){font-size:var(--site-body-size);line-height:1.6}
#main :is(.company-pillars strong+span,.belief-values span,.contact-info-item a,.contact-account figcaption span,.account-nav a,.legal-entry span){font-size:var(--site-body-size);line-height:1.8}
#main .partner-unified-group ul{font-size:var(--site-body-size)}
#main .partner-unified-group h3>span{font-size:var(--site-caption-size)}
#main #course-search.search-row :is(label,input,select,.button){font-size:var(--site-body-size)}
#main #company-contact-form :is(label,input,select,textarea){font-size:var(--site-body-size)}
#main :is(.audience-tabs>button,.filters>a){font-size:18px;line-height:1.5}
body>footer :is(p,a,figcaption,.footer-mail,.footer-mail strong){font-size:var(--site-caption-size);line-height:1.8}
body>footer h3{font-size:20px}
body>footer .footer-bottom,body>footer .footer-bottom>span:first-child{font-size:var(--site-caption-size)}
@media(max-width:1100px){:root{--site-card-title-size:22px}}
@media(max-width:700px){
 :root{--site-body-size:15px;--site-caption-size:14px}
 #main #course-search.search-row{flex-wrap:wrap}
 #main #course-search.search-row .search-field{min-width:180px}
 #main #course-search.search-row>.button{flex-basis:76px;width:76px}
 #main :is(.audience-tabs>button,.filters>a){font-size:16px}
}
#main #account-auth-form>label:not(.auth-consent),#main #account-auth-form input:not([type=checkbox]),#main #account-auth-form>.button{font-size:var(--site-body-size)}
#main #account-auth-form input::placeholder{font-size:var(--site-caption-size)}
#main :is(.auth-password-hint,.auth-security-links,.auth-browse,.auth-alternatives,.auth-alternatives a,.registration-avatar span,.auth-welcome-copy>span,.auth-welcome-tags span){font-size:var(--site-caption-size);line-height:1.8}
/* One shared cooperation brief for institutions and schools. */
.partner-combined{max-width:1000px;margin:38px auto 0;border:1px solid var(--line);border-radius:16px;background:#fff;padding:8px 36px;box-shadow:0 10px 30px #18365506}
.partner-combined .partner-unified-group{padding:28px 0}
.partner-combined .partner-unified-group h3{margin-bottom:16px}
.partner-combined .partner-unified-group li+li{margin-top:12px}
@media(max-width:700px){.partner-combined{padding:0 22px}.partner-combined .partner-unified-group{padding:24px 0}}
/* Balance the story column and align contact content within equal-height cards. */
.about-story-photo{margin:28px 0 0;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.about-story-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.contact-section-grid{align-items:stretch}
.contact-info-card,.contact-form-card{display:flex;flex-direction:column;min-width:0}
.contact-info-card .contact-account{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;margin-bottom:0;min-height:280px}
.contact-info-card .contact-account>a{width:190px;margin:24px auto 0;flex-shrink:0}
.contact-form-card #company-contact-form{flex:1}
.contact-form-status:empty{display:none}
@media(max-width:760px){.about-story-photo{margin-top:24px}.contact-info-card .contact-account{flex:none;min-height:0;padding:28px 20px}}
/* Partnership editorial layout: calm slate blue, warm white, consistent reading width. */
#main .partner-unified{--partner-ink:#263e51;--partner-copy:#526773;--partner-accent:#416f89;--partner-line:#dce5e9;color:var(--partner-ink);padding-top:54px;padding-bottom:54px}
#main .partner-unified-overview{max-width:none;padding:34px 38px;margin:0 0 28px;text-align:left;background:linear-gradient(120deg,#edf3f5,#faf9f6);border:1px solid #e4eaeb;border-radius:18px}
#main .partner-unified-overview h2{margin:0 0 10px;color:var(--partner-ink)}
#main .partner-unified-overview .eyebrow{color:var(--partner-accent);letter-spacing:.08em;overflow-wrap:anywhere}
#main .partner-unified-overview>p{max-width:960px;margin:20px 0 0;text-align:left;text-align-last:auto;color:var(--partner-copy);line-height:1.95}
#main .partner-unified .partner-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 34px;border:1px solid var(--partner-line);border-radius:14px;overflow:hidden;background:#f8fafb}
#main .partner-unified .partner-path>div{padding:23px 24px;background:transparent;border-right:1px solid var(--partner-line);border-radius:0;min-width:0}
#main .partner-unified .partner-path>div:last-child{border-right:0}
#main .partner-unified .partner-path span{display:block;font-size:16px;font-weight:600;color:var(--partner-accent);margin-bottom:9px}
#main .partner-unified .partner-path h3{font-size:21px;margin:0 0 8px;color:var(--partner-ink)}
#main .partner-unified .partner-path p{color:var(--partner-copy);font-size:16px;line-height:1.75;margin:0}
#main .partner-unified .partner-combined{max-width:none;margin:0;padding:0 32px;background:#fff;border-color:var(--partner-line);box-shadow:0 8px 28px #263e5105}
#main .partner-combined .partner-unified-group{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding:30px 0;border-color:var(--partner-line);align-items:start}
#main .partner-combined .partner-unified-group h3{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0;font-size:23px;line-height:1.6;color:var(--partner-ink)}
#main .partner-combined .partner-unified-group h3>span{font-size:14px;line-height:1.6;color:var(--partner-accent);background:#edf3f5;border-radius:7px;padding:3px 10px}
#main .partner-combined .partner-unified-group ul{color:var(--partner-copy);padding-left:20px;line-height:1.95}
#main .partner-combined li::marker{color:#7193a3}
#main .partner-unified .partner-contact{margin-top:28px;padding:30px 34px;background:#edf3f5;border:1px solid var(--partner-line);border-radius:16px;text-align:left}
#main .partner-unified .partner-contact h2{font-size:26px;color:var(--partner-ink);margin-bottom:12px}
#main .partner-unified .partner-contact p{color:var(--partner-copy);max-width:900px}
#main .partner-unified .partner-contact .button{background:#396681;color:#fff;font-size:16px}
#main .partner-unified .partner-contact .button:hover{background:#2c536c}
#main .partner-unified .partner-contact .text-link{color:#396681;overflow-wrap:anywhere}
#main .partner-unified-note{color:#637781;margin-top:20px}
@media(max-width:1000px){#main .partner-unified .partner-path{grid-template-columns:repeat(2,minmax(0,1fr))}#main .partner-unified .partner-path>div:nth-child(2){border-right:0}#main .partner-unified .partner-path>div:nth-child(-n+2){border-bottom:1px solid var(--partner-line)}#main .partner-combined .partner-unified-group{grid-template-columns:180px minmax(0,1fr);gap:22px}}
@media(max-width:700px){#main .partner-unified{padding-top:30px;padding-bottom:34px}#main .partner-unified-overview{padding:25px 22px}#main .partner-unified .partner-path>div{padding:18px 16px}#main .partner-unified .partner-path h3{font-size:20px}#main .partner-unified .partner-path p{font-size:15px}#main .partner-unified .partner-combined{padding:0 22px}#main .partner-combined .partner-unified-group{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 0}#main .partner-combined .partner-unified-group h3{flex-direction:row;align-items:baseline;font-size:22px}#main .partner-unified .partner-contact{padding:25px 22px}#main .partner-unified .partner-contact h2{font-size:24px}}

/* Compact cooperation brief with quiet numbered accents. */
#main .partner-unified .partner-path{margin-bottom:24px;background:linear-gradient(115deg,#eff5f7,#f9faf8)}
#main .partner-unified .partner-path>div{padding:20px 24px}
#main .partner-unified .partner-path span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#dfecef;color:#3b6378;font-size:16px;margin-bottom:8px}
#main .partner-unified .partner-combined{padding:0 26px;border-radius:14px;box-shadow:0 6px 24px #263e5105}
#main .partner-combined .partner-unified-group{grid-template-columns:180px minmax(0,1fr);gap:20px;padding:20px 0}
#main .partner-combined .partner-unified-group h3{flex-direction:row;align-items:baseline;gap:10px;font-size:21px;line-height:1.5}
#main .partner-combined .partner-unified-group h3>span{flex-shrink:0;padding:2px 7px;font-size:13px;border-radius:5px;background:#edf3f5;color:#527789}
#main .partner-combined .partner-unified-group ul{padding-left:18px;line-height:1.75}
#main .partner-combined .partner-unified-group li{line-height:1.75}
#main .partner-combined .partner-unified-group li+li{margin-top:7px}
#main .partner-combined .partner-unified-group:nth-child(even){background:linear-gradient(90deg,#f6f9fa80,transparent)}
@media(max-width:1000px){#main .partner-combined .partner-unified-group{grid-template-columns:160px minmax(0,1fr);gap:18px}}
@media(max-width:700px){#main .partner-unified .partner-path>div{padding:16px}#main .partner-unified .partner-combined{padding:0 20px}#main .partner-combined .partner-unified-group{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 0}#main .partner-combined .partner-unified-group h3{font-size:20px}}

.work-single-column{max-width:1080px;margin:0 auto}.work-single-column .editorial-figure{margin:28px 0 36px}.ws-assignment{display:flex;align-items:end;gap:16px;margin-bottom:24px}.ws-assignment label{display:grid;gap:8px}.ws-form-actions button:disabled{opacity:.5;cursor:not-allowed}

/* Management workspace: 1.5 times the public baseline, scoped locally. */
#main .ws-shell{--site-body-size:24px;--site-caption-size:21px;--site-card-title-size:36px;--site-title-size:45px;font-size:24px}
#main .ws-shell :is(.ws-link,.ws-public-link,.ws-session-bar,.ws-table td strong,.ws-note,.ws-badge,.ws-file-state,.ws-audit strong,.ws-prompt){font-size:24px}
#main .ws-shell :is(.ws-sidebar>span,.ws-stats span,.ws-lesson-nav span){font-size:18px}
#main .ws-shell .ws-sidebar>strong{font-size:24px}
#main .ws-shell .ws-stats strong{font-size:45px}
#main .ws-shell .ws-table td{padding:24px 18px}
#main .ws-shell .ws-layout{grid-template-columns:250px minmax(0,1fr)}
#main .ws-shell .ws-table{min-width:800px}
#main .ws-shell :is(.ws-top,.ws-section-title,.ws-assignment){flex-wrap:wrap}
#main .ws-shell .ws-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
#main .favorite-heart{color:#e53950;font-size:1.15em}
@media(max-width:700px){#main .ws-shell{--site-body-size:22.5px;--site-caption-size:21px;--site-card-title-size:33px;--site-title-size:39px}#main .ws-shell .ws-layout{display:block}#main .ws-shell .ws-stats{grid-template-columns:1fr}}

/* Course price appearance only; preserve all existing font sizes. */
#main .course-fee:is(.paid,.limited-free)>strong{color:#f44343}
#main .course-fee>del{color:#969eab;text-decoration-line:line-through;text-decoration-thickness:1px;white-space:nowrap;margin-left:0}
