/* Course catalogue: clear typographic hierarchy, measured spacing, simple rules. */
.academy{padding-bottom:80px}
.academy-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.75fr);column-gap:100px;align-items:end;padding-block:44px 64px}
.academy-intro .eyebrow{margin-bottom:20px}
.academy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,4.3vw,64px);font-weight:400;line-height:1.12;letter-spacing:-1.8px;max-width:660px}
.academy-summary{font-size:18px;line-height:1.8;color:var(--muted);max-width:57ch;margin-top:26px}
.academy-context{border-left:1px solid var(--line);padding-left:30px;margin-bottom:5px}
.academy-context h2{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;letter-spacing:0;font-weight:600;margin:0 0 14px}
.academy-context p{font-size:14px;line-height:1.85;color:var(--muted)}
.academy-context .text-link{margin-top:19px;padding-block:9px;font-weight:400}
.academy-programme{scroll-margin-top:28px}
.academy-programme-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-block:0 23px}
.academy-programme-heading h2{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:600;line-height:1.5;letter-spacing:0}
.academy-programme-heading>p{color:var(--muted);font-size:12px;line-height:1.8}
.academy-course-list{list-style:none;margin:0;padding:0;border-top:1px solid #85908f}
.academy-course-list>li{border-bottom:1px solid var(--line)}
.academy-course{display:grid;grid-template-columns:48px minmax(0,1fr) 220px;column-gap:34px;align-items:start;padding-block:36px 40px}
.academy-course-number{font-family:Georgia,"Times New Roman",serif;font-size:25px;line-height:1.3;color:#b9adc9;padding-top:3px}
.academy-course-copy{min-width:0;padding-right:30px}
.academy-course-category{font-size:11px;font-weight:600;letter-spacing:1.15px;text-transform:uppercase;color:#c5b9ed;margin-bottom:12px;line-height:1.5}
.academy-course h3{font-size:clamp(24px,2.1vw,29px);font-weight:500;line-height:1.3;letter-spacing:-.5px;margin:0}
.academy-course h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.academy-course-description{font-size:15px;line-height:1.85;color:var(--muted);max-width:65ch;margin-top:16px}
.academy-course-action{padding-top:3px;min-width:0}
.academy-course-duration{font-size:13px;font-weight:500;line-height:1.8;color:var(--ink)}
.academy-course-access{font-size:12px;line-height:1.8;color:var(--muted);margin-top:7px}
.academy-course .academy-course-button{width:100%;display:flex;justify-content:space-between;gap:22px;margin:26px 0 0;padding:14px 19px;min-height:50px;background:transparent;border:1px solid #8d80a6;line-height:1.5;font-weight:500}
.academy-course .academy-course-button:hover{background:#454053;border-color:#c5b9ed}
.academy-course-button span{font-size:18px;line-height:1}
.academy-enrolment{display:grid;grid-template-columns:minmax(0,1fr) 270px;column-gap:90px;align-items:start;margin-top:64px;padding-block:0 40px}
.academy-enrolment h2{font-family:Georgia,"Times New Roman",serif;font-size:31px;font-weight:400;line-height:1.3;letter-spacing:-.6px;margin:0 0 18px;max-width:650px}
.academy-enrolment-copy>p{font-size:15px;line-height:1.85;color:var(--muted);max-width:64ch}
.academy-enrolment-action .button{display:flex;justify-content:space-between;gap:24px;min-height:52px;margin:0;padding:15px 20px;line-height:1.5}
.academy-enrolment-action>p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:17px;max-width:32ch}
.academy-practicalities{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:55px;align-items:start;padding-top:22px}
.academy-practicalities summary{font-size:13px;line-height:1.8;cursor:pointer;color:var(--ink);padding-block:8px}
.academy-practicalities details>p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:14px;max-width:65ch}
.academy-practicalities a{text-decoration:underline;text-underline-offset:3px}
.academy-practicalities summary:focus-visible{outline:3px solid #c5b9ed;outline-offset:5px}
@media(max-width:1100px){
 .academy-intro{column-gap:55px;grid-template-columns:minmax(0,1.3fr) minmax(240px,.8fr)}
 .academy-course{grid-template-columns:40px minmax(0,1fr) 205px;column-gap:25px}
 .academy-course-copy{padding-right:12px}
 .academy-enrolment{column-gap:50px}
}
@media(max-width:760px){
 .academy{padding-bottom:54px}
 .academy-intro{grid-template-columns:1fr;row-gap:30px;padding-block:30px 44px}
 .academy h1{font-size:46px;letter-spacing:-1.3px}
 .academy-summary{font-size:16px;margin-top:21px;max-width:56ch}
 .academy-context{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;margin:0}
 .academy-context h2{margin-bottom:10px}
 .academy-context p{max-width:64ch}
 .academy-context .text-link{margin-top:13px}
 .academy-programme-heading{padding-bottom:18px;gap:15px}
 .academy-course{grid-template-columns:32px minmax(0,1fr);gap:0 19px;padding-block:29px 33px}
 .academy-course-number{font-size:22px}
 .academy-course-copy{padding-right:0}
 .academy-course h3{font-size:25px}
 .academy-course-description{font-size:14px;margin-top:14px}
 .academy-course-action{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:start;padding-top:24px}
 .academy-course-duration{font-size:12px;grid-column:1;grid-row:1}
 .academy-course-access{font-size:12px;margin:0;grid-column:1;grid-row:2}
 .academy-course .academy-course-button{grid-column:2;grid-row:1/3;margin:0;width:auto;min-width:145px;padding:12px 15px;min-height:46px;font-size:12px}
 .academy-enrolment{grid-template-columns:1fr;row-gap:26px;margin-top:43px;padding-bottom:32px}
 .academy-enrolment h2{font-size:28px;line-height:1.3;margin-bottom:17px}
 .academy-enrolment-action{max-width:330px}
 .academy-enrolment-action .button{width:100%}
 .academy-practicalities{grid-template-columns:1fr;gap:15px;padding-top:18px}
}
@media(max-width:480px){
 .academy h1{font-size:41px}
 .academy-course-action{display:block;padding-top:23px}
 .academy-course-access{margin-top:6px}
 .academy-course .academy-course-button{margin-top:21px;min-width:0;width:100%;max-width:260px;min-height:48px}
 .academy-programme-heading>p{font-size:11px}
}
@media print{.academy-context .text-link,.academy-course-button,.academy-enrolment-action{display:none}.academy-intro,.academy-enrolment{display:block}.academy-context{margin-top:24px}.academy-course{grid-template-columns:40px 1fr}.academy-course-action{grid-column:2}.academy p,.academy-course-number,.academy-course-category{color:#222}}

/* Access forms and course presentation pages. */
.learning-access{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin:32px 0 40px}
.learning-access .button{margin:0;line-height:1.5}
.learning-access .source-note{margin:0;max-width:43ch;line-height:1.85}
.learning-consent{display:flex;align-items:flex-start;gap:12px;margin:20px 0;line-height:1.6}
.learning-consent input{width:20px;height:20px;flex:0 0 20px;margin:4px 0;accent-color:#d3baf4}
.learning-consent a{text-decoration:underline}
.form-page form+.privacy-copy{margin-top:42px}
.form-page>form{margin-top:26px}
.learning-table-wrap{max-width:100%;overflow-x:auto;margin:32px 0;border:1px solid #34434d;border-radius:10px}
.learning-table{border-collapse:collapse;min-width:680px;width:100%;font-size:.93rem;line-height:1.55}
.learning-table caption{text-align:left;font-weight:700;padding:18px;background:#454053}
.learning-table th,.learning-table td{padding:16px;vertical-align:top;border-bottom:1px solid #34434d;text-align:left}
.learning-table thead th{background:#343d40}
.learning-table tbody th{font-weight:700}
.learning-table a{color:#d3baf4;text-decoration:underline}
.learning-table-wrap:focus-visible{outline:3px solid #d3baf4;outline-offset:4px}
@media(max-width:650px){.learning-access{align-items:flex-start;flex-direction:column;gap:20px;margin-block:29px 35px}}
/* Account preferences and private administration. */
.learning-preferences{border:1px solid var(--line);padding:20px 24px;margin-block:30px}.learning-preferences legend{font-size:14px;padding-inline:8px}.learning-preferences .learning-consent:last-child{margin-bottom:10px}.account-section{margin-top:45px;border-top:1px solid var(--line);padding-top:30px}.account-section h2{font-family:inherit;font-size:25px;letter-spacing:-.4px;margin-bottom:18px}.account-section p{font-size:15px;line-height:1.85;color:var(--muted)}.account-section .button{margin-top:23px}.account-history{list-style:none;margin:24px 0;padding:0}.account-history li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-block:14px;font-size:14px;line-height:1.7}.account-history span{white-space:nowrap;font-size:12px;color:var(--muted)}.account-history a{text-decoration:underline;text-underline-offset:4px}.account-delete{margin-top:30px}.account-delete summary{cursor:pointer;line-height:1.8}.account-delete>p{margin-top:20px}.lesson-preview>section{margin-bottom:36px}.lesson-preview .learning-access{margin-bottom:0}.admin-page{padding-block:30px 70px}.admin-intro h1{font-size:50px;line-height:1.2}.admin-intro .page-lead{font-size:16px;max-width:75ch}.admin-intro .text-link{margin-top:18px}.admin-filters{display:flex;flex-wrap:wrap;gap:24px;align-items:end;margin:35px 0}.admin-filters label{display:flex;flex-direction:column;gap:10px;font-size:13px}.admin-filters input{font:inherit;padding:12px;background:#384144;color:var(--ink);border:1px solid var(--line);min-height:46px}.admin-filters .button{margin:0;min-height:46px;padding:12px 20px;cursor:pointer}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:24px}.admin-metrics article{border-top:2px solid #8d80b9;padding:22px 0}.admin-metrics p{font-size:13px;line-height:1.8;color:var(--muted)}.admin-metrics strong{display:block;font-size:38px;font-weight:500;margin-top:15px}.admin-panels{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}.admin-page h2{font-family:inherit;font-size:25px;line-height:1.4;letter-spacing:-.4px;margin-bottom:18px}.admin-table-wrap{overflow:auto;margin-block:24px}.admin-table-wrap table{border-collapse:collapse;min-width:100%;font-size:13px;line-height:1.8}.admin-table-wrap th,.admin-table-wrap td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top}.admin-table-wrap th{font-weight:600;color:#d3c5f6;background:#384144}.admin-table-wrap a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.admin-section{margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}.admin-section>p{font-size:15px;line-height:1.85;color:var(--muted)}.admin-page .form-note{font-size:13px;line-height:1.85}.admin-pagination{justify-content:space-between}.admin-consents summary{cursor:pointer;line-height:1.8}.admin-consents{margin-top:24px}
@media(max-width:760px){.admin-metrics{grid-template-columns:1fr 1fr}.admin-panels{grid-template-columns:1fr;gap:30px}.admin-intro h1{font-size:38px}.account-history li{flex-direction:column;gap:5px}.admin-table-wrap table{min-width:570px}.admin-panels .admin-table-wrap table{min-width:0}.learning-preferences{padding:16px}.admin-filters{gap:18px}}
