/* GUGA Academy: uses the canonical site's type, colour and shell tokens. */
body[data-page="academy"] { --ga-copy: #62564f; }
.ga-main { padding-top: 84px; }
.ga-main :is(h1,h2,h3) { font-family: var(--serif); font-weight: 400; }
/* Use the full column before wrapping; the shared heading scale stays unchanged. */
html[lang] body[data-page="academy"][data-heading-contract="editorial-v1"][data-academy-static-locale] .ga-main :is(h1,h2,h3) { max-width: none; text-wrap: wrap; }
.ga-main :is(p,li) { text-wrap: pretty; }
.ga-main p { font-size: 17px; line-height: 1.65; color: var(--ga-copy); }
.ga-main :is(a,button,input,textarea,summary):focus-visible { outline: 2px solid var(--burgundy); outline-offset: 5px; }
.ga-main :is(input,textarea) { border-radius: 2px; }
.ga-section, .ga-hero { width: min(100%,1440px); margin-inline: auto; padding-inline: 5.3vw; }
.ga-section { padding-block: clamp(64px,7vw,100px); scroll-margin-top: 92px; }
.ga-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: clamp(32px,5vw,76px); padding-block: 42px 76px; }
.ga-hero-copy { padding-block: 16px; min-width: 0; }
.ga-main .ga-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 40px; font-size: 12px; }
.ga-breadcrumb a { min-height: 24px; }
.ga-main .ga-wordmark { display:flex;align-items:center;gap:12px;margin:0 0 22px;color:var(--burgundy);font-size:1.05rem;direction:ltr; }
.ga-wordmark img { border-radius: 50%; }
.ga-hero h1 { margin-bottom: 24px; }
.ga-main .ga-lead { font-size: 18px; max-width: 47ch; line-height: 1.65; }
.ga-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 28px; margin-top:14px; }
.ga-entries { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:28px; }
.ga-entry { display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:0; min-height:132px; padding:22px 20px; border:1px solid var(--burgundy); border-radius:2px; text-decoration:none; transition:background-color 180ms ease-out; }
.ga-entry--student { background:var(--burgundy); color:var(--cream); }
.ga-entry--teacher { background:var(--cream); color:var(--burgundy); }
.ga-entry--student:hover { background:#641619; color:var(--cream); }
.ga-entry--teacher:hover { background:#e6dbc9; color:var(--burgundy); }
.ga-entry-copy { display:flex; flex-direction:column; gap:9px; min-width:0; }
.ga-entry-copy strong { font-family:var(--serif); font-size:24px; line-height:1.15; font-weight:400; text-wrap:balance; }
.ga-entry-copy>span { font-size:12px; line-height:1.5; font-weight:400; }
.ga-entry-copy>.ga-entry-status { font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.ga-entry>i { display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border:1px solid currentColor; border-radius:50%; font-size:18px; font-style:normal; }
.ga-main .ga-entry--student:focus-visible { outline-color:var(--burgundy); }
.ga-main .button { min-height:52px; border-radius:2px; font-size:13px; letter-spacing:.01em; }
.ga-main .text-link { min-height: 48px; font-size:14px; letter-spacing:0; }
.ga-hero-visual { margin:0; min-width:0; align-self:stretch; display:flex;flex-direction:column;position:relative; }
.ga-hero-visual > img { width:100%; flex:1;min-height:390px;max-height:560px;object-fit:cover;object-position:48% center;display:block; }
.ga-hero-visual figcaption { padding:20px 24px;background:var(--burgundy);color:var(--cream);font-family:var(--serif);font-size:25px;line-height:1.25; }
.ga-course { background:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(38px,7vw,108px); }
.ga-main .ga-label { color:var(--burgundy);font-size:13px;margin-bottom:20px;font-weight:600; }
.ga-course h2 { margin-bottom:22px; }
.ga-course-intro>p:not(.ga-label) { max-width:52ch; }
.ga-course-facts { margin:28px 0 20px;display:flex;gap:20px;flex-wrap:wrap;padding-block:24px;border-block:1px solid var(--line); }
.ga-course-facts div { flex:1 1 115px; }
.ga-course-facts dt { font-size:12px;color:var(--ga-copy);margin-bottom:7px; }
.ga-course-facts dd { font-size:15px;font-weight:500;color:var(--ink);margin:0;line-height:1.5; }
.ga-main .ga-fine { font-size:14px;line-height:1.6; }
.ga-goals { padding-top:4px; }
.ga-goals>h3 { margin-bottom:26px; }
.ga-goal { border-top:1px solid var(--line); }
.ga-goal:last-child { border-bottom:1px solid var(--line); }
.ga-main summary { display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px;list-style:none;cursor:pointer;padding-inline-end:10px; }
.ga-main summary::-webkit-details-marker { display:none; }
.ga-main summary>span { font-family:var(--sans);font-size:24px;font-weight:400;line-height:1;flex:0 0 auto;transition:transform 180ms ease-out; }
.ga-main details[open]>summary>span { transform:rotate(45deg); }
.ga-goal summary { font-family:var(--serif);font-size:26px;color:var(--burgundy); }
.ga-goal>p { margin:0;padding:0 28px 28px 0; }
.ga-process h2 { margin-bottom:46px; }
.ga-process ol { list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:0;padding:0; }
.ga-process li { padding-top:24px;border-top:1px solid var(--line); }
.ga-step-number { font-family:var(--serif);font-size:40px;color:var(--taupe);display:block;margin-bottom:22px;line-height:1;white-space:nowrap; }
.ga-process h3 { margin-bottom:14px; }
.ga-process li p { margin-bottom:0; }
.ga-portal { background:var(--burgundy);color:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(40px,7vw,100px); }
.ga-main .ga-portal :is(h2,h3) { color:var(--cream); }
.ga-portal h2 { margin-bottom:24px; }
.ga-main .ga-portal p { color:#e0d5c8; }
.ga-main .ga-portal .ga-availability { color:var(--cream); font-size:14px; font-weight:600; line-height:1.5; margin:0 0 20px; }
.ga-portal-intro>.ga-fine { max-width:46ch;margin-top:34px; }
.ga-portal-roles article+article { border-top:1px solid rgba(238,231,215,.3);margin-top:30px;padding-top:30px; }
.ga-portal-roles h3 { margin-bottom:14px; }
.ga-portal .text-link { color:var(--cream);border-color:var(--cream); }
.ga-portal :is(a,button):focus-visible { outline-color:var(--cream); }
.ga-faq { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(40px,7vw,100px); }
.ga-faq details { border-bottom:1px solid var(--line); }
.ga-faq details:first-child { border-top:1px solid var(--line); }
.ga-faq summary { font-size:17px;font-weight:500;line-height:1.5;padding-block:18px; }
.ga-faq details>p { margin:0;padding:0 32px 24px 0; }
.ga-contact { background:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,100px); }
.ga-contact>div>p { max-width:42ch; }
.ga-enquiry-fields { border:0; padding:0; margin:0; min-width:0; }
.ga-enquiry-fallback { margin:16px 0 0; }
.ga-contact label { display:flex;flex-direction:column;gap:10px;font-size:14px;font-weight:500;margin-bottom:20px; }
.ga-contact :is(input,textarea) { background:var(--paper);border:1px solid rgba(68,7,9,.35);color:var(--ink);padding:12px 14px;min-height:48px;width:100%;max-width:100%;font-family:var(--sans);font-size:16px; }
.ga-contact textarea { resize:vertical; }
.ga-contact .button { width:100%; }
.ga-main .button:hover { box-shadow:none; }
.ga-main .ga-hero-copy { animation:ga-enter 500ms cubic-bezier(.22,1,.36,1) both; }
@keyframes ga-enter { from { transform:translateY(10px); } to { transform:translateY(0); } }
@media(min-width:1441px){.ga-section,.ga-hero{padding-inline:76px;}}
@media(min-width:761px) and (max-width:1180px){.ga-entries{grid-template-columns:1fr;gap:10px}.ga-entry{min-height:92px;padding:16px 20px}.ga-entry-copy{gap:6px}}
@media(max-width:1100px){.ga-main{padding-top:80px}.ga-hero{gap:30px}.ga-hero-visual>img{min-height:420px}.ga-course-facts{gap:16px}.ga-course-facts div{flex-basis:130px}}
@media(max-width:760px){
 .ga-main{padding-top:74px}.ga-section,.ga-hero{padding-inline:6vw}.ga-hero{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:18px 48px}.ga-hero-copy{padding-block:0}.ga-main .ga-breadcrumb{margin-bottom:24px}.ga-main .ga-wordmark{margin-bottom:18px}.ga-hero h1{margin-bottom:20px}.ga-main .ga-lead{font-size:17px}.ga-actions{margin-top:24px;gap:12px 24px}.ga-hero-visual>img{min-height:230px;max-height:300px;aspect-ratio:1.45;object-position:center}.ga-hero-visual figcaption{font-size:23px;padding:18px 20px}.ga-section{padding-block:54px}.ga-course,.ga-portal,.ga-faq,.ga-contact{grid-template-columns:minmax(0,1fr);gap:32px}.ga-main p{font-size:16px}.ga-main .ga-fine{font-size:14px}.ga-course-facts{margin-block:24px 16px}.ga-course-facts div{flex-basis:100px}.ga-course-facts dd{font-size:14px}.ga-main summary{min-height:66px}.ga-goal summary{font-size:23px}.ga-process h2{margin-bottom:30px}.ga-process ol{grid-template-columns:1fr;gap:24px}.ga-process li{display:flex;gap:24px;padding-top:24px}.ga-step-number{font-size:32px;min-width:36px;margin:4px 0 0}.ga-process h3{margin-bottom:10px}.ga-portal-intro>.ga-fine{margin-top:20px}.ga-faq{gap:20px}.ga-faq summary{font-size:16px}.ga-contact label{margin-bottom:18px}.ga-contact>div>p{margin-bottom:0}
}
@media(max-width:760px){.ga-entries{grid-template-columns:1fr;margin-top:24px;gap:10px}.ga-entry{min-height:94px;padding:18px 20px}.ga-entry-copy strong{font-size:24px}.ga-entry-copy>span{font-size:13px}.ga-entry-copy{gap:6px}.ga-actions{margin-top:10px}.ga-hero-visual{margin-top:0}}
@media(prefers-reduced-motion:reduce){.ga-main *, .ga-main *::before,.ga-main *::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
