/* Editorial polish: familiar academy colors, a quieter reading rhythm. */
:root{--navy:#892d23;--navy-deep:#52251e;--blue:#892d23;--gold:#a57942;--ink:#3c352e;--muted:#776e63;--line:#e7dfd2;--pale:#f8f5ee;--serif:'Songti SC','STSong','Noto Serif CJK SC','SimSun',serif;--calligraphy:'Kaiti SC','STKaiti','KaiTi',var(--serif)}
body{background:#fffefa;color:var(--ink);-webkit-font-smoothing:antialiased}
a,button{transition:color .2s,background .2s,border-color .2s,transform .2s}
p{overflow-wrap:break-word}
.utility{background:#f7f5f0;color:#81766b;border-bottom:1px solid #ebe5da}
.utility-inner{height:28px}
.preview-tag{font-size:11px;letter-spacing:1px}
.masthead{background:#fff}
header.branded-masthead{height:104px}
body:has(.masthead){background:linear-gradient(#fff 0 132px,#fffefa 132px)}
.header-search{width:236px;border-color:#d4c9b9}
.header-search input[type=search]{font-size:14px}
.header-search input::placeholder{font-size:14px;color:#978d81}
.header-search button{color:#80715f}
.main-nav{background:#892d23;border-top:1px solid #9d4c36;border-bottom:2px solid #c3a06b}
.nav-inner{height:56px}
.nav-link{font-family:var(--serif);font-size:18px;letter-spacing:2px;gap:10px}
.nav-group+.nav-group .nav-link:before{height:13px;background:#e7c38b35}
.nav-link.active,.nav-link:hover{background:#ffffff08;color:#ffedc7}
.nav-link.active:after{bottom:6px;height:1px;width:22px}
.dropdown{padding:8px 5px;background:#fffaf0;border-color:#e0cda8;box-shadow:0 10px 20px #42271114}
.dropdown a{font-size:16px;padding:12px 20px;color:#72513d;letter-spacing:1px}
.dropdown a:hover{background:#f4ead7;color:#8c3026}
.academy-home{background:#fffefa}
.academy-home .artwork-hero{background:#f5e4c6;display:grid;place-items:center;border-bottom:1px solid #d9b57d}
.academy-home .artwork-hero>img{width:100%;height:auto;max-width:100%;max-height:none;margin:0}
.quick-nav{background:#fffefa;border-top:0;border-bottom:1px solid #ddd3c2;padding:24px 0;margin-top:0}
.quick-nav a{padding:8px 32px;gap:17px;border-right:1px solid #e6ddcf}
.quick-nav a:first-child{padding-left:8px}
.quick-nav a:last-child{padding-right:8px}
.quick-nav .icon-box{border:0;outline:0;width:38px;height:42px;color:#9a4836}
.quick-nav .icon-box svg{width:30px;height:30px;stroke-width:1.25}
.quick-nav strong{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:1px;color:#542f25}
.quick-nav small{font-size:13px;letter-spacing:0;color:#8d8070;margin-top:3px}
.quick-nav .arrow{color:#a68b63;font-size:21px;transition:transform .2s}
.quick-nav a:hover .icon-box{background:none}
.quick-nav a:hover .arrow{transform:translateX(4px)}
.section{padding:88px 0}
.eyebrow{font-size:13px;font-weight:400;color:#9b6b38;letter-spacing:3px}
.eyebrow:before{width:22px}
.intro-grid{grid-template-columns:1.02fr 1fr;gap:88px;align-items:center}
.intro-copy h2{font-size:38px;line-height:1.65;letter-spacing:2px;font-weight:500;margin:14px 0 22px;color:#462f27}
.intro-copy p{font-size:16px;line-height:2.1;color:#706658;margin:0 0 14px;max-width:470px}
.intro-pillars{gap:20px;margin:28px 0}
.intro-pillars span{font-size:16px;color:#8e523a;padding-right:20px;border-color:#e2d6c1;letter-spacing:1px}
.more{font-size:15px;color:#8c3729;gap:18px;line-height:1.7}
.more>span{transition:transform .2s}
.more:hover{color:#6e281e}
.more:hover>span{transform:translateX(4px)}
.intro-figure{margin:0;padding:12px;border:1px solid #cbb28a;min-width:0}
.intro-visual{height:360px;background:#f4e8d4}
.intro-visual img{height:190%;bottom:0}
.intro-figure figcaption{display:flex;justify-content:space-between;gap:14px;padding-top:14px;color:#9b7f59;font-size:13px;letter-spacing:1px}
.intro-figure figcaption span:first-child{color:#74604a}
.pale-section{background:#f6f1e7;border-top:1px solid #ece3d4;border-bottom:1px solid #ece3d4}
.section-head{margin-bottom:40px;align-items:end;gap:40px}
.section-head h2{font-size:34px;font-weight:500;letter-spacing:2px;margin-top:12px;color:#503529}
.section-description{font-size:15px;line-height:1.9;color:#8c7963}
.course-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid #c6aa82;border-bottom:1px solid #d9c9af}
.course-card{padding:29px 32px 30px;background:transparent;border:0;border-right:1px solid #dfd1bb;min-height:300px;transition:background .25s}
.course-card:first-child{padding-left:0}
.course-card:last-child{padding-right:0;border-right:0}
.course-card:hover{transform:none;background:#fffaf03d}
.course-top{display:flex;align-items:center;justify-content:space-between;min-height:67px;gap:18px}
.course-card .course-number{font-size:14px;letter-spacing:1px;color:#a38b68;font-family:Georgia,serif}
.course-card .course-mark{position:static;color:#9b4936;font-family:var(--calligraphy);font-size:62px;font-weight:400;line-height:1}
.course-card h3{font-size:26px;font-weight:500;color:#5c3428;letter-spacing:2px;margin:20px 0 12px}
.course-card p{font-size:16px;color:#7c6c59;line-height:1.9;padding-right:0;max-width:320px}
.course-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:30px;color:#8d4a32}
.course-card-bottom small{color:#9b8364;font-size:13px}
.course-card-bottom>span{font-size:24px;transition:transform .2s}
.course-card:hover .course-card-bottom>span{transform:translateX(4px)}
.seasonal-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:33px}
.seasonal-courses a{display:flex;align-items:center;gap:16px;min-width:0;padding:8px 0}
.season-label{font-family:var(--serif);color:#a77845;font-size:24px;line-height:1;min-width:35px}
.seasonal-courses strong{font-family:var(--serif);font-size:19px;font-weight:500;color:#65412e;display:block}
.seasonal-courses small{display:block;color:#94816a;font-size:13px;margin-top:5px}
.season-arrow{margin-left:auto;color:#b2956c;transition:transform .2s}
.seasonal-courses a:hover strong{color:#9b3224}
.seasonal-courses a:hover .season-arrow{transform:translateX(4px)}
.enroll-banner{background:#853025;outline:none;border:1px solid #853025;position:relative;padding:42px 46px;gap:40px}
.enroll-kicker{display:block;color:#d2ac7c;font-size:13px;letter-spacing:3px;margin-bottom:13px}
.enroll-banner h2{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:2px;color:#fff0d6;margin-bottom:13px}
.enroll-banner p{font-size:15px;color:#dfbda0}
.enroll-actions{flex-direction:column;gap:10px}
.enroll-actions .button{font-size:15px;min-width:165px;min-height:46px;gap:35px;letter-spacing:1px}
.enroll-actions .button.gold{background:#dfc18d;border-color:#dfc18d;color:#61321e}
.enroll-actions .button.outline{border-color:#b57855;color:#f0d7b5}
footer{background:#50261f;border-top:1px solid #b49660}
.footer-main{padding-block:48px;gap:28px}
.footer-brand strong{font-size:28px;font-weight:500;letter-spacing:3px}
.footer-brand small{font-size:10px;letter-spacing:2px;color:#b99873}
.footer-brand .seal{color:#dbbb83;border-color:#dbbb83;outline-color:#dbbb83}
.footer-main p{font-family:var(--serif);font-size:17px;color:#c6a886;letter-spacing:3px}
.footer-links{font-family:var(--serif);font-size:15px;gap:28px;color:#d4b99a}
.footer-bottom{font-size:12px;line-height:1.8;color:#b89b7c;border-color:#bd966533;padding-block:20px}
/* Keep the public reading pages spacious, without repeating decorative boxes. */
.academy-inner{--navy:#892d23;--navy-deep:#52251e;--gold:#a57942;--ink:#40372f;--muted:#7c7061;--line:#e6dbca;--pale:#f8f3e9;background:#fffefa}
.academy-inner .inner-hero{height:206px;border-bottom:1px solid #c5a775;background:#f4dfb9}
.academy-inner .inner-hero .container{padding-top:44px}
.academy-inner .inner-hero h1{font-family:var(--calligraphy);font-size:40px;font-weight:400;letter-spacing:5px;margin-top:12px}
.academy-inner .inner-hero .eyebrow{font-size:11px;letter-spacing:2.5px}
.academy-inner .inner-hero-photo:after{background:linear-gradient(90deg,#fff4dfea,#fff1d9cd 30%,#ffefcf52 60%,#ffe7be05)}
.academy-inner .breadcrumb{font-size:13px;padding-block:22px;gap:12px;border-color:#ece4d7}
.academy-inner .content-layout{grid-template-columns:214px minmax(0,1fr);gap:68px;padding-top:44px;padding-bottom:80px}
.academy-inner .side-heading{padding:23px 22px;background:#8b3226;border:0;outline:0}
.academy-inner .side-heading h2{font-family:var(--serif);font-size:23px;font-weight:500;letter-spacing:2px}
.academy-inner .side-heading>span{font-size:9px;letter-spacing:1px;color:#d9b98c;margin-top:7px}
.academy-inner .side-nav{border:0;background:#f8f3e9}
.academy-inner .side-nav a{font-size:16px;padding:19px 21px;color:#7d6751;border-bottom-color:#e9dfce;letter-spacing:1px}
.academy-inner .side-nav a.selected{background:#f0e4d0;color:#943829;border-left:2px solid #943829;font-weight:500}
.academy-inner .side-nav a:hover{background:#f0e7d8}
.academy-inner .side-nav a>span{font-size:17px;color:#b29670}
.academy-inner .side-enroll{margin-top:30px;padding:25px 16px;background:none;border:1px solid #ded0b9;outline:0}
.academy-inner .side-enroll .icon-box{display:none}
.academy-inner .side-enroll strong{font-family:var(--serif);font-size:22px;letter-spacing:2px;color:#8c4c36}
.academy-inner .side-enroll small{font-size:12px;margin:10px 0 16px;color:#938069}
.academy-inner .side-enroll>span:last-child{font-size:14px}
.academy-inner .article-heading{border-bottom:1px solid #e6d9c6;padding:0 0 20px;margin-bottom:35px;gap:15px}
.academy-inner .article-heading h2{font-family:var(--serif);font-size:23px;letter-spacing:2px;color:#783c2c;font-weight:500}
.academy-inner .article-heading:after{height:2px;width:26px;bottom:-1px;background:#ae744c}
.academy-inner .article-heading>span{font-family:var(--serif);font-size:12px;color:#a18a6b;letter-spacing:2px}
.academy-inner .article-lead{background:none;border:0;padding:0;margin:0 0 34px}
.academy-inner .article-lead>span{font-size:12px;letter-spacing:2px;color:#a0845e;margin-bottom:10px}
.academy-inner .article-lead h2{font-family:var(--serif);font-size:32px;font-weight:500;line-height:1.7;letter-spacing:1px;color:#53372b;margin-bottom:14px}
.academy-inner .article-lead p{font-size:17px;line-height:1.95;color:#82725e;max-width:740px}
.academy-inner .article-photo{height:300px;border:0;box-shadow:none;margin:34px 0 38px}
.academy-inner .article-photo:after{inset:9px;border-color:#ffefd870}
.academy-inner .article-photo>span{font-family:var(--serif);background:#593829c9;font-size:12px;letter-spacing:1px;padding:5px 10px;right:16px;bottom:16px}
.academy-inner .article-section{margin-top:34px}
.academy-inner .article-section h3,.academy-inner .feature-list h3{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:1px;color:#7c4430}
.academy-inner .article-section p,.academy-inner .feature-list p{color:#776956;font-size:17px;line-height:2.1;max-width:760px}
.academy-inner .feature-list>section{padding:30px 0;gap:26px;border-color:#e9dfd0}
.academy-inner .feature-list>section:first-child{border-top:1px solid #e9dfd0}
.academy-inner .feature-index{font-family:var(--serif);font-size:22px;font-weight:400;color:#b29363;min-width:28px;padding-top:1px}
.academy-inner .quote-box{background:#f7f0e3;border:0;border-left:2px solid #b79560;padding:27px 30px;text-align:left;font-size:26px;letter-spacing:2px;color:#865338;margin-top:39px}
.academy-inner .quote-box small{font-family:var(--serif);font-size:12px;letter-spacing:1px;color:#a08d73;margin-top:10px}
.academy-inner .empty-state,.empty-state{border:1px solid #e3d7c4;background:#faf6ed;text-align:left;padding:32px;position:relative}
.academy-inner .empty-icon,.empty-icon{display:none}
.academy-inner .empty-state h3,.empty-state h3{font-family:var(--serif);font-size:20px;font-weight:500;color:#7f6044;letter-spacing:1px}
.academy-inner .empty-state p,.empty-state p{font-size:15px;color:#8e7b65;margin-top:10px;line-height:1.9}
.academy-inner .course-bottom,.academy-inner .inline-callout{background:#f7f0e3;border:0;padding:26px 28px;margin-top:35px}
.academy-inner .course-bottom strong{color:#745035;font-family:var(--serif);font-size:18px}
.academy-inner .course-bottom p{font-size:14px;line-height:1.9}
.reading-next{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid #d4bea0;margin-top:46px;padding:25px 0 8px;color:#8c442e}
.reading-next small{display:block;color:#9d8668;font-size:12px;letter-spacing:1px;margin-bottom:7px}
.reading-next strong{font-family:var(--serif);font-size:22px;letter-spacing:2px;font-weight:500}
.reading-next>span:last-child{font-size:26px;color:#b29363;transition:transform .2s}
.reading-next:hover>span:last-child{transform:translateX(5px)}
.reading-next:hover strong{color:#a13424}
.academy-inner .bottom-note{margin-top:26px;padding-top:0;border:0;font-size:12px;line-height:1.8;color:#a08e76}
.button,.academy-inner .button{background:#8e3428;border-color:#8e3428;min-height:46px;font-size:15px;gap:22px;border-radius:2px;letter-spacing:.5px}
.button:hover,.academy-inner .button:hover{background:#752a20;border-color:#752a20}
.button.outline,.academy-inner .button.outline{color:#8d4530;background:none;border-color:#c9b38d}
.button.outline:hover,.academy-inner .button.outline:hover{background:#f6ecdd}
.academy-inner .faq-list summary{font-family:var(--serif);font-size:19px;padding:24px 0;color:#795139}
.academy-inner .faq-list details[open]{background:transparent}
.academy-inner .faq-list details p{font-size:16px;line-height:2;color:#84735e;max-width:730px}
.academy-inner .admission-facts{background:#fbf7ef;border:0;gap:0 25px}
.academy-inner .admission-facts>div{border:0;border-bottom:1px solid #e6dac5;padding:22px}
.academy-inner .admission-facts span{font-size:13px;margin-bottom:8px}
.academy-inner .admission-facts strong{font-size:16px;font-weight:400;color:#7b5138;line-height:1.8}
.academy-inner .form-heading h2{font-family:var(--serif);font-weight:500;font-size:29px;color:#633f2e;margin:10px 0}
.academy-inner .form-heading p{font-size:16px;line-height:1.9}
.academy-inner .form-heading .eyebrow{font-size:11px;letter-spacing:2px}
.academy-inner .form-notice,.form-notice{font-size:14px;line-height:1.9;background:#f8f0e2;color:#8d6d45;border-left-color:#c0a271;padding:15px 18px}
.application-form{margin-top:30px}
.form-grid{gap:24px}
input:not([type=checkbox]),select,textarea,.academy-inner input:not([type=checkbox]),.academy-inner select,.academy-inner textarea{border:1px solid #daccb8;border-radius:2px;background:#fffdf8;color:#554737;font-size:16px;min-height:48px;margin-top:10px}
input:focus,textarea:focus,select:focus{border-color:#b49461}
input::placeholder,textarea::placeholder,.academy-inner input::placeholder,.academy-inner textarea::placeholder{color:#ab9a85;font-size:14px}
.application-form label,.academy-inner .application-form label,.login-panel label,#editor-form label{font-size:15px;color:#755f46}
.application-form .check-label,.academy-inner .application-form .check-label{font-size:14px;line-height:1.9;color:#8f7b63}
.check-label input{accent-color:#8e3428}
.menu-table caption{font-size:15px}
.menu-table td,.menu-table th{padding:21px 17px}
.admin-entry,.admin-workspace,.search-page{background:#fffefa}
.admin-intro h1,.admin-top h1,.login-panel h2{font-weight:500;color:#713e2b}
.admin-intro>p{font-size:21px;color:#92795d;letter-spacing:1px}
.login-panel{box-shadow:none;border-color:#e0d2bc;background:#fffdf8;padding:36px}
.status-chip{background:#f1e6d3;color:#9d7245}
.admin-stats>div{background:#f5eddf}
.admin-stats strong,.admin-stats strong.stat-text{color:#884d33}
.admin-stats strong small{color:#a38b6b}
.admin-stats>div>span{color:#8c7357}
.admin-tabs button{color:#947e62}
.admin-tabs button[aria-selected=true]{color:#8d3b2b}
.account-card{border-color:#e2d4be}
.account-avatar{background:#f5ecd9;color:#9b7140}
.search-heading h1,.search-result h2,.search-empty h2{font-family:var(--serif);color:#78422e;font-weight:500}
.search-result{padding-block:28px}
.search-result p{color:#85745f;line-height:1.95}
.search-result h2{font-size:24px;margin-block:10px}
dialog{border:1px solid #cfb990;background:#fffdf7;box-shadow:0 20px 70px #3e291b30}
dialog::backdrop{background:#3422188f;backdrop-filter:blur(2px)}
dialog h2{color:#7d402c;font-weight:500}
/* Responsive layout keeps type comfortable without enlarging every decoration. */
@media(min-width:1001px){.main-nav{position:sticky;top:0}.side-column{position:sticky;top:82px}}
@media(max-width:1150px){.intro-grid{gap:50px}.intro-copy h2{font-size:34px}.course-card{padding-inline:26px}.section-head h2{font-size:31px}.seasonal-courses{gap:22px}.seasonal-courses a{gap:12px}.seasonal-courses small{font-size:12px}.academy-inner .content-layout{gap:40px;grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:1000px){header.branded-masthead{height:100px}.nav-link{font-size:16px;letter-spacing:1px}.quick-nav a{padding-inline:18px;gap:12px}.quick-nav strong{font-size:18px}.quick-nav small{display:block;font-size:12px}.quick-nav .icon-box{width:29px}.quick-nav .icon-box svg{width:27px}.quick-nav .arrow{display:none}.section{padding:65px 0}.intro-grid{gap:35px}.intro-copy h2{font-size:30px;letter-spacing:1px}.intro-visual{height:335px}.intro-figure figcaption{font-size:12px;letter-spacing:0}.intro-pillars{gap:14px}.intro-pillars span{font-size:15px;padding-right:14px}.section-head{gap:25px}.section-head h2{font-size:28px}.section-description{font-size:13px}.course-card{padding-inline:22px}.course-card h3{font-size:23px}.course-card p{font-size:15px}.course-card-bottom small{font-size:12px}.course-card .course-mark{font-size:54px}.season-label{min-width:28px;font-size:22px}.seasonal-courses strong{font-size:17px}.seasonal-courses small{line-height:1.7}.season-arrow{display:none}.enroll-banner{padding:36px}.enroll-banner h2{font-size:28px}.enroll-actions .button{min-width:150px}.academy-inner .article-lead h2{font-size:29px}.academy-inner .article-lead p,.academy-inner .article-section p,.academy-inner .feature-list p{font-size:16px}.academy-inner .side-heading h2{font-size:22px}.footer-main p{display:none}.footer-links{gap:24px}}
@media(max-width:700px){body:has(.masthead){background:#fffefa}.utility-inner{height:26px}.preview-tag{font-size:10px}.utility{font-size:11px}.masthead{background:#fff}header.branded-masthead{height:auto;min-height:127px;padding-top:16px;padding-bottom:16px;gap:12px}.brand-lockup{width:calc(100% - 46px)}.header-search{width:100%;max-width:none;background:#fffdf9}.header-search input[type=search]{height:42px;min-height:42px;margin:0}.header-search button{height:42px}.main-nav{border-top:0;border-bottom-width:1px}.nav-inner{height:auto}.nav-link{font-size:18px;padding-block:15px}.nav-link.active:after{width:2px;height:20px;left:13px;bottom:19px}.academy-home .artwork-hero>img{width:100%;max-height:none}.quick-nav{padding:14px 0;gap:0;margin-top:0}.quick-nav a{padding:13px 10px!important;border:0;gap:12px}.quick-nav strong{font-size:18px;letter-spacing:0}.quick-nav small{display:block;font-size:12px;margin-top:4px}.quick-nav .icon-box{height:35px;width:28px}.quick-nav .icon-box svg{width:25px;height:25px}.section{padding:48px 0}.intro-grid{display:flex;flex-direction:column;gap:30px;align-items:stretch}.intro-copy h2{font-size:29px;line-height:1.65;letter-spacing:1px;margin:11px 0 20px}.intro-copy p{font-size:16px;line-height:2;max-width:none}.intro-pillars{margin:24px 0;gap:20px}.intro-pillars span{font-size:16px;padding-right:20px}.eyebrow{font-size:12px;letter-spacing:2px}.more{font-size:15px}.intro-figure{padding:8px}.intro-visual{height:285px}.intro-visual img{height:185%}.intro-figure figcaption{padding-top:11px;font-size:12px}.section-head{display:block;margin-bottom:28px}.section-head h2{font-size:28px;letter-spacing:1px;line-height:1.7;margin-top:10px}.section-description{font-size:14px;line-height:1.9;margin-top:14px}.section-description br{display:none}.course-grid{grid-template-columns:1fr;border-bottom:0}.course-card,.course-card:first-child,.course-card:last-child{padding:23px 0 27px;min-height:0;border:0;border-bottom:1px solid #d9c9af}.course-top{position:absolute;top:27px;right:0;min-height:0;gap:12px;flex-direction:row-reverse}.course-card .course-mark{font-size:47px;color:#ab704e}.course-card .course-number{font-size:12px}.course-card h3{font-size:25px;margin:2px 100px 15px 0;letter-spacing:1px;line-height:1.7}.course-card p{font-size:16px;line-height:1.9;max-width:calc(100% - 20px)}.course-card-bottom{padding-top:18px}.course-card-bottom small{font-size:13px}.course-card-bottom>span{font-size:23px}.seasonal-courses{grid-template-columns:1fr;gap:0;margin-top:15px}.seasonal-courses a{padding:22px 0;gap:19px;border-bottom:1px solid #e1d4bf}.seasonal-courses a:last-child{padding-bottom:0;border:0}.season-label{font-size:23px;min-width:48px}.seasonal-courses strong{font-size:19px}.seasonal-courses small{font-size:13px;margin-top:5px}.season-arrow{display:block;font-size:21px}.enroll-banner{padding:28px 23px}.enroll-kicker{font-size:12px;margin-bottom:12px}.enroll-banner h2{font-size:26px;line-height:1.7;letter-spacing:1px}.enroll-banner p{font-size:14px;line-height:2}.enroll-actions{flex-direction:row;flex-wrap:wrap;gap:10px;margin-top:25px}.enroll-actions .button{min-width:0;flex:1;white-space:nowrap;font-size:14px;padding-inline:16px;gap:15px}.footer-main{padding-block:34px;gap:27px}.footer-brand strong{font-size:25px}.footer-brand small{font-size:9px;letter-spacing:1.6px}.footer-links{font-size:15px;gap:28px}.footer-bottom{font-size:11px;line-height:1.9;gap:8px;padding-block:20px}.academy-inner .inner-hero{height:173px}.academy-inner .inner-hero .container{padding-top:34px}.academy-inner .inner-hero h1{font-size:34px;letter-spacing:4px;margin-top:11px}.academy-inner .inner-hero .eyebrow{font-size:10px;letter-spacing:2px}.academy-inner .inner-hero-photo:after{background:linear-gradient(90deg,#fff2dbf2,#fff0d4a6 60%,#ffe8c738)}.academy-inner .breadcrumb{font-size:12px;padding-block:19px;gap:9px}.academy-inner .content-layout{display:block;padding-top:21px;padding-bottom:45px}.academy-inner .side-nav{background:none;gap:8px;padding-bottom:14px;margin-bottom:26px}.academy-inner .side-nav a{padding:8px 16px;font-size:15px;border:1px solid #dac5a4;background:#fbf5e9;letter-spacing:0}.academy-inner .side-nav a.selected{border:1px solid #8f392b;background:#8f392b;color:#fff0d6}.academy-inner .side-enroll{display:none}.academy-inner .article-heading{padding-bottom:18px;margin-bottom:27px}.academy-inner .article-heading h2{font-size:21px;letter-spacing:1px}.academy-inner .article-heading>span{font-size:11px;letter-spacing:1px}.academy-inner .article-lead{margin-bottom:27px}.academy-inner .article-lead>span{font-size:12px;letter-spacing:1px}.academy-inner .article-lead h2{font-size:27px;line-height:1.7;letter-spacing:1px;margin-bottom:13px}.academy-inner .article-lead p{font-size:16px;line-height:1.95}.academy-inner .article-photo{height:235px;margin:28px 0 31px}.academy-inner .article-photo>span{font-size:11px;right:13px;bottom:13px}.academy-inner .article-section{margin-top:29px}.academy-inner .article-section h3,.academy-inner .feature-list h3{font-size:21px;margin-bottom:12px}.academy-inner .article-section p,.academy-inner .feature-list p{font-size:16px;line-height:2.05}.academy-inner .feature-list>section{padding:25px 0;gap:18px}.academy-inner .feature-index{font-size:20px;min-width:24px}.academy-inner .quote-box{padding:23px 20px;font-size:22px;line-height:1.8;letter-spacing:1px;margin-top:31px}.academy-inner .quote-box small{font-size:11px}.academy-inner .empty-state,.empty-state{padding:25px 23px}.academy-inner .empty-state h3{font-size:19px}.academy-inner .empty-state p{font-size:14px}.academy-inner .course-bottom,.academy-inner .inline-callout{padding:23px;margin-top:27px}.academy-inner .course-bottom p{font-size:14px}.reading-next{margin-top:35px;padding-top:23px}.reading-next strong{font-size:21px}.academy-inner .bottom-note{font-size:11px;margin-top:22px}.academy-inner .faq-list summary{font-size:17px;line-height:1.9;padding-block:20px}.academy-inner .faq-list details p{font-size:15px;padding-right:10px}.academy-inner .form-heading h2{font-size:27px}.academy-inner .form-heading p{font-size:15px}.academy-inner .form-notice,.form-notice{font-size:13px;line-height:1.9;padding:13px 15px}.academy-inner .admission-facts>div{padding:20px}.form-grid{gap:20px}.application-form{margin-top:24px}.application-form label,.academy-inner .application-form label{font-size:14px}.application-form .check-label,.academy-inner .application-form .check-label{font-size:13px}.academy-inner .button,.button{font-size:14px}.account-card{padding:24px}.login-panel{padding:29px 24px}.search-result h2{font-size:22px}.search-result p{font-size:15px;line-height:2}}

/* Homepage education statement: a two-line title and three aligned learning paths. */
.intro-grid.intro-education{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(40px,4.5vw,64px)}
.intro-education .intro-copy{min-width:0}
.intro-education .intro-copy h2{font-size:36px;line-height:1.65;letter-spacing:1px;margin:13px 0 24px}
.intro-education h2>span{display:block}
.intro-education .intro-principles{max-width:none;font-size:15px;line-height:2;color:#665544;margin:0 0 8px}
.intro-principles>span{display:inline-block}
.intro-education .intro-divider{color:#bba37e;padding-inline:3px;font-weight:400}
.intro-education .intro-fusion{max-width:none;font-size:15px;line-height:1.9;color:#8b523a;margin:0}
.intro-fusion>span{display:inline-block;margin-left:.45em}
.intro-paths{margin:25px 0 21px;border-top:1px solid #decdb2}
.intro-paths>div{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:baseline;gap:10px;padding:15px 0;border-bottom:1px solid #e9dfce}
.intro-paths dt{font-family:var(--serif);font-size:22px;line-height:1.6;color:#8c3729;white-space:nowrap}
.intro-paths dd{display:flex;flex-wrap:wrap;align-items:baseline;margin:0;font-size:15px;line-height:1.9;color:#665544}
.intro-path-main,.intro-path-detail{white-space:nowrap}
.intro-path-main strong{font-weight:500;color:#8c3729}
.intro-path-detail{color:#817361}
.intro-education .intro-aim{max-width:32em;font-family:var(--serif);font-size:17px;line-height:1.9;color:#5c3e2e;margin:0 0 24px}
.intro-aim>span{white-space:nowrap}
.intro-education .intro-figure{min-width:0}
.intro-education .intro-visual{height:auto;aspect-ratio:1.48}
@media(max-width:1050px){
 .intro-grid.intro-education{display:grid;grid-template-columns:minmax(0,1fr);gap:36px}
 .intro-education .intro-copy{max-width:680px}
 .intro-education .intro-copy h2{font-size:34px}
 .intro-education .intro-visual{height:clamp(300px,44vw,420px);aspect-ratio:auto}
}
@media(max-width:600px){
 .intro-grid.intro-education{gap:30px}
 .intro-education .intro-copy h2{font-size:clamp(24px,7.2vw,30px);line-height:1.65;letter-spacing:.5px;margin:11px 0 20px}
 .intro-education .intro-principles{font-size:14px;line-height:1.95;margin-bottom:10px}
 .intro-principles>span:first-child{display:block}
 .intro-principles>.intro-divider:nth-child(2){display:none}
 .intro-education .intro-fusion{font-size:14px;line-height:1.9;text-wrap:pretty}
 .intro-paths{margin:22px 0 19px}
 .intro-paths>div{grid-template-columns:66px minmax(0,1fr);gap:8px;padding:13px 0}
 .intro-paths dt{font-size:21px}
 .intro-paths dd{display:grid;gap:2px;font-size:16px;line-height:1.8}
 .intro-path-detail{font-size:14px}
 .intro-path-detail>.intro-divider:first-child{display:none}
 .intro-education .intro-aim{font-size:16px;line-height:1.95;margin-bottom:21px;text-wrap:pretty}
 .intro-education .intro-visual{height:auto;aspect-ratio:1.22}
}

/* Two balanced lines keep the academy mission readable across screen sizes. */
.footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"brand motto links";column-gap:32px}
.footer-brand{grid-area:brand;justify-self:start}
.footer-main .footer-motto{grid-area:motto;display:grid;gap:4px;margin:0;font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.75;letter-spacing:3px;color:#d8bb92;text-align:center}
.footer-motto span{display:block;white-space:nowrap}
.footer-links{grid-area:links;justify-self:end}
.intro-visual.intro-video{height:auto;aspect-ratio:16/9;background:#181512}
.intro-video video{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:1000px){
 .footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand links" "motto motto";gap:26px}
 .footer-main .footer-motto{width:100%;padding-top:24px;border-top:1px solid #bd966533}
}
@media(max-width:700px){
 .footer-main{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "motto" "links";gap:24px;padding-block:34px}
 .footer-brand,.footer-links{justify-self:center}
 .footer-main .footer-motto{font-size:17px;letter-spacing:2px;gap:5px;padding-block:22px;border-bottom:1px solid #bd966533}
 .footer-links{flex-wrap:wrap;justify-content:center;gap:14px 26px}
}

/* Four core course cards wrap into two columns on tablet widths. */
@media(min-width:701px) and (max-width:1000px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card:nth-child(odd){padding-left:0}.course-card:nth-child(even){padding-right:0;border-right:0}.course-card:nth-child(-n+2){border-bottom:1px solid #d9c9af}}

/* Seven ordered links always share one row above the page artwork. */
.main-nav,.main-nav.open{display:block;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.main-nav .nav-inner{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:min(1240px,100%);height:clamp(36px,5vw,58px);margin-inline:auto;container-type:inline-size}
.main-nav .nav-group{min-width:0}
.main-nav .nav-link{width:100%;justify-content:center;white-space:nowrap;padding:0;border:0;border-radius:0;background:transparent;color:#fff0d6;font-weight:400;font-size:min(18px,calc(6px + 1vw),2.5vw);line-height:1.4;letter-spacing:.04em}
.main-nav .chevron{display:block;position:absolute;right:.3em;font-size:.5em;line-height:1;transition:transform .2s}
.main-nav [aria-expanded="true"] .chevron{transform:rotate(180deg)}
@supports(font-size:1cqw){.main-nav .nav-link{font-size:min(18px,calc(6px + 1cqw),2.5cqw)}}
.main-nav .nav-link.active,.main-nav .nav-link:hover,.main-nav .nav-link[aria-expanded="true"]{background:#fff1d60c;color:#fff0ce}
.main-nav .nav-link.active:after{left:50%;bottom:6px;transform:translateX(-50%);width:24px;max-width:38%;height:1px;background:#e3c390}
.main-nav .nav-group+.nav-group .nav-link:before{display:block;height:12px;background:#e7c38b38}
/* Every submenu stays under its own column, including on touch screens. */
.main-nav .dropdown{display:block;left:0;right:0;width:100%;min-width:0;padding:4px 0;border:1px solid #ddc8a5;border-top:2px solid #c3a06b;z-index:1}
.main-nav .dropdown a{display:flex;align-items:center;justify-content:center;min-height:32px;padding:1em .15em;text-align:center;white-space:nowrap;line-height:1.6;letter-spacing:.04em;font-size:min(16px,calc(6px + 1vw),2.4vw)}
@supports(font-size:1cqw){.main-nav .dropdown a{font-size:min(16px,calc(6px + 1cqw),2.4cqw)}}
.main-nav .nav-link:focus-visible,.main-nav .dropdown a:focus-visible{outline:2px solid #d3b27b;outline-offset:-3px}
.main-nav .dropdown a:hover,.main-nav .dropdown a:focus-visible{background:#f4ead7;color:#8c3026}
@media(max-width:700px){
 header.branded-masthead{padding-block:14px;min-height:118px}
 .branded-masthead .brand-lockup{width:100%;flex-basis:100%}
 .main-nav{border-top:1px solid #9d4c36;border-bottom:1px solid #c3a06b}
 .main-nav .nav-group+.nav-group .nav-link:before{height:9px}
}

/* Keep the full banner composition and a readable text hierarchy on phones. */
@media(max-width:700px){
 .academy-inner .inner-hero{height:clamp(104px,28.4vw,180px)}
 .academy-inner .inner-hero-photo img{inset:0;min-width:0;width:100%;height:100%;object-fit:cover;object-position:center bottom}
 .academy-inner .inner-hero-photo:after{background:linear-gradient(90deg,#fff4dfea,#fff1d9cd 30%,#ffefcf52 60%,#ffe7be05)}
 .academy-inner .inner-hero .container{padding-top:clamp(17px,4.5vw,29px)}
 .academy-inner .inner-hero .eyebrow{font-size:clamp(8px,2vw,10px);letter-spacing:1.5px;gap:9px;line-height:1.5}
 .academy-inner .inner-hero .eyebrow:before{width:16px}
 .academy-inner .inner-hero h1{font-size:clamp(24px,6vw,32px);line-height:1.35;letter-spacing:3px;margin-top:9px}
 .academy-home .section{padding-block:38px}
 .academy-home .section-head{margin-bottom:24px}
 .academy-home .section-head h2{font-size:clamp(24px,6.4vw,28px);line-height:1.5;letter-spacing:.5px;margin-top:12px;text-wrap:balance}
 .course-section-heading>span{display:block}
 .academy-home .section-description{font-size:14px;line-height:1.9;margin-top:15px}
 .academy-home .section-description br{display:initial}
 .academy-home .eyebrow{font-size:11px;letter-spacing:2px}
 .intro-education .intro-copy h2{font-size:clamp(23px,6.2vw,27px);line-height:1.6;letter-spacing:0;margin:12px 0 18px}
 .course-card,.course-card:first-child,.course-card:last-child{padding:22px 0 24px}
 .course-top{top:24px;gap:9px}
 .course-card .course-mark{font-size:36px}
 .course-card .course-number{font-size:11px}
 .course-card h3{font-size:22px;line-height:1.5;letter-spacing:.5px;margin:2px 76px 16px 0;min-height:33px}
 .course-card p{font-size:15px;line-height:1.9;max-width:none;letter-spacing:0;text-wrap:pretty}
 .course-card-bottom{padding-top:16px}
 .course-card-bottom small{font-size:12px;line-height:1.6}
 .seasonal-courses strong{font-size:18px;line-height:1.5}
 .season-label{font-size:21px}
 .academy-home .enroll-banner h2{font-size:24px;line-height:1.5;letter-spacing:.5px;text-wrap:balance}
 .academy-inner .breadcrumb{font-size:11px;gap:7px;padding-block:16px;flex-wrap:wrap;line-height:1.8}
 .academy-inner .content-layout{padding-top:18px;padding-bottom:36px}
 .academy-inner .side-nav{gap:8px;margin-bottom:22px;padding-bottom:0}
 .academy-inner .side-nav a{font-size:14px;line-height:1.7;padding:8px 13px;white-space:nowrap}
 .academy-inner .article-heading{padding-bottom:13px;margin-bottom:22px;gap:12px;align-items:baseline}
 .academy-inner .article-heading h2{font-size:20px;line-height:1.5;letter-spacing:.5px}
 .academy-inner .article-heading>span{font-size:10px;white-space:nowrap}
 .academy-inner .article-lead{margin-bottom:22px}
 .academy-inner .article-lead h2{font-size:24px;line-height:1.5;letter-spacing:0;margin-bottom:14px;text-wrap:balance}
 .academy-inner .article-lead p,.academy-inner .article-section p,.academy-inner .feature-list p{font-size:16px;line-height:1.85;letter-spacing:0;overflow-wrap:break-word;text-wrap:pretty}
 .academy-inner .article-section{margin-top:24px}
 .academy-inner .article-section h3,.academy-inner .feature-list h3{font-size:20px;line-height:1.6;margin-bottom:10px}
 .academy-inner .article-rich{font-size:16px;line-height:1.85;letter-spacing:0;overflow-wrap:break-word;margin:22px 0}
 .academy-inner .article .article-rich p{margin-bottom:16px;text-wrap:pretty}
 .academy-inner .article .article-rich h3{font-size:21px;line-height:1.55;margin:24px 0 12px;text-wrap:balance}
 .academy-inner .article .article-rich h4{font-size:19px;line-height:1.6;margin:20px 0 10px;text-wrap:balance}
 .academy-inner .article-rich li{line-height:1.85}
}

/* Published course cover photos also appear on their homepage cards. */
.course-card{min-width:0}
.course-card-photo{display:block;min-width:0;flex:1}
.course-card-photo img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.course-top .course-card-photo{margin-inline:auto}
.course-top .course-number,.course-top .course-mark{flex-shrink:0}
.seasonal-course .season-copy{min-width:0;flex:1}
.seasonal-course.has-course-photo{gap:12px}
.seasonal-course .course-card-photo{flex:0 1 100px}
.seasonal-course .season-arrow{flex-shrink:0}
@media(min-width:1001px){
 .course-card{padding-inline:18px}
 .course-top{gap:10px}
 .course-card .course-mark{font-size:46px}
 .course-card h3{font-size:24px;letter-spacing:1px}
 .seasonal-course.has-course-photo .season-label{font-size:21px;min-width:24px}
}
@media(min-width:701px) and (max-width:1000px){
 .course-card:nth-child(-n+4){border-bottom:1px solid #d9c9af}
 .course-card:last-child{padding-right:32px;border-right:1px solid #dfd1bb}
 .course-top .course-card-photo{max-width:180px}
 .seasonal-courses{grid-template-columns:1fr}
 .seasonal-course .course-card-photo{flex-basis:120px}
}
@media(max-width:700px){
 .course-card.has-course-photo .course-top{position:static;flex-direction:row;gap:18px;min-height:0;margin-bottom:20px}
 .course-card.has-course-photo h3{margin-right:0}
 .course-top .course-card-photo{max-width:240px}
 .seasonal-course .course-card-photo{flex-basis:88px}
}

.academy-overview h2{font-size:clamp(26px,3vw,42px);line-height:1.5}.academy-overview-lead{max-width:850px;line-height:2;color:var(--muted,#736b61)}.academy-overview .faq-list{margin:28px 0}.academy-overview .faq-list a{text-decoration:underline;text-underline-offset:4px}
