/* PaveEDU interaction system. Layout, artwork and typography belong to page styles. */
:root{--action:#20d8ea;--action-hover:#70e8f3;--action-pressed:#07bacc;--action-ink:#001a29;--action-radius:16px;--interaction-duration:160ms;--link-ink:#8cecf5;--focus-ring:#fff}
:is(.light-section,.privacy-page,.bio,.gm-bio,.gm-proof,.gm-insight){--link-ink:#006584;--focus-ring:#006584}
.gm-insight-article{--link-ink:#8cecf5;--focus-ring:#fff}
.interaction-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
/* Navigation and conversion use different emphasis. No animated hit targets. */
.cta-hit{display:inline-flex;max-width:100%;vertical-align:middle;border-radius:var(--action-radius)}
body :is(a.gm-button,a.button,a.cf-cta,.newsletter-form button){border-radius:var(--action-radius);background:var(--action);border:1px solid var(--action);color:var(--action-ink)!important;font-weight:700;min-height:48px;line-height:1.3;text-align:center;text-decoration:none;box-shadow:none;transform:none;filter:none;cursor:pointer;transition:background-color var(--interaction-duration) ease,border-color var(--interaction-duration) ease,box-shadow var(--interaction-duration) ease}
body :is(a.gm-secondary,a.button.secondary,a.cf-secondary){background:transparent;border-color:#9ab8c8;color:#f8fcff!important}
body :is(.gm-bio,.bio,.light-section) :is(a.gm-button,a.button){background:#006584;border-color:#006584;color:#fff!important}
body :is(.gm-bio,.bio,.light-section) :is(a.gm-secondary,a.button.secondary){background:transparent;border-color:#006584;color:#006584!important}
body :is(a.gm-button,a.button,a.cf-cta,.newsletter-form button):active{background:var(--action-pressed);border-color:var(--action-pressed);box-shadow:inset 0 0 0 1px var(--action-ink);transform:none}
body :is(.gm-bio,.bio,.light-section) :is(a.gm-button,a.button):active{background:#004a65;color:white!important}
body :is(a.gm-secondary,a.button.secondary,a.cf-secondary):active{background:#164557;color:#fff!important}
/* Supporting links are text, with an understated but persistent underline. */
body :is(a.gm-resource-link,a.gm-text-link,a.text-link,a.breadcrumb,a.cf-email){color:var(--link-ink);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:currentColor;text-underline-offset:.25em;text-decoration-skip-ink:auto;min-height:44px;display:inline-flex;align-items:center;position:relative;transition:color var(--interaction-duration),text-decoration-color var(--interaction-duration)}
body .gm-insight-article .gm-resource-link{align-self:flex-start}
body :is(.privacy-page,.resource-note,.gm-consent) a{color:inherit;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.privacy-page a:visited{color:#684b86}
body :is(.gm-header nav,.gm-footer nav) a:not(.gm-button):not(.gm-social a){min-height:44px;align-items:center;text-underline-offset:.3em;text-decoration-thickness:1px;transition:color var(--interaction-duration),text-decoration-color var(--interaction-duration)}
.gm-header nav>a{display:inline-flex}
body :is(.gm-header nav,.gm-footer nav) a[aria-current]:not([aria-current=false]){color:#8cecf5;text-decoration:underline;text-decoration-thickness:2px}
body :is(.gm-header nav,.gm-footer nav) a:active{color:#8cecf5}
/* Whole-card destinations have one focus target and a quiet border, not an arrow badge. */
body :is(a.gm-audience-card,a.pathway,a.platform-card,a.cf-program){cursor:pointer;transform:none;text-decoration:none;transition:border-color var(--interaction-duration),box-shadow var(--interaction-duration),background-color var(--interaction-duration)}
body :is(a.pathway,a.platform-card) :is(h2,h3){text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#b3cbd5;text-underline-offset:.2em}
body a.pathway .text-link,body a.platform-card .availability{color:#006584;font-weight:600}
body a.cf-program>span:last-child{color:#8cecf5;font-weight:600}
body :is(a.gm-audience-card,a.pathway,a.platform-card,a.cf-program):active{border-color:#00758b;box-shadow:inset 0 0 0 2px #00758b}
/* Recognisable utility icons remain; the target is never smaller than 44px. */
body .gm-social a{width:44px;height:44px;min-width:44px;min-height:44px;border-color:#547285;border-radius:12px;transition:background-color var(--interaction-duration),border-color var(--interaction-duration)}
body .gm-social a:active{background:#235267;border-color:#8cecf5}
body .gm-brand{border-radius:6px;transition:opacity var(--interaction-duration)}
body .gm-brand:active{opacity:.8}
/* Disclosure and menu controls are actions, not links. Keep directional chevrons. */
body :is(.menu-toggle,.gm-toggle){cursor:pointer;min-width:44px;min-height:44px;transition:background-color var(--interaction-duration),border-color var(--interaction-duration),color var(--interaction-duration)}
body .gm-proof .gm-toggle{color:#315267}
body .gm-insight .gm-toggle{border-color:#668496;color:#16364a}
body :is(.menu-toggle,.gm-toggle):active{background:#235267;color:#fff}
body :is(.gm-insight,.gm-proof) .gm-toggle[aria-expanded=true]{background:#e1f3f7;color:#006584;border-color:#006584}
body .gm-footer-toggle>span{font-size:0;width:11px;height:11px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-3px) rotate(45deg);margin-right:8px;flex-shrink:0}
body .gm-footer-toggle[aria-expanded=true]>span{transform:translateY(3px) rotate(225deg)}
/* A labelled play target covers the actual thumbnail, with a visible keyboard boundary. */
@media(min-width:761px){body .gm-insight-video .gm-video-play{inset:50px 8px 8px 54%;width:auto;height:auto;border-radius:6px;z-index:2}}
/* A two-colour ring remains visible over dark, light and photographic backgrounds. */
body :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:3px;box-shadow:0 0 0 6px #001a29!important;scroll-margin-block:32px}
body :is(.gm-bio,.bio,.light-section,.privacy-page,.gm-proof,.gm-insight:not(.gm-insight-article)) :is(a,button,input):focus-visible{box-shadow:0 0 0 6px #fff!important}
body .gm-newsletter input[type=email]{min-height:48px;font-size:16px;border-radius:12px;transition:border-color var(--interaction-duration),background-color var(--interaction-duration)}
body .gm-newsletter input[aria-invalid=true]{border:2px solid #ffadb9}
body .newsletter-status[data-state=error]{color:#ffbdc7}
body .newsletter-status[data-state=success]{color:#a2efdc}
body .newsletter-status[data-state=pending]{color:#e2f6fa}
body :is(button:disabled,[aria-disabled=true]){opacity:.65;cursor:not-allowed;box-shadow:none;transform:none;filter:none}
body [aria-busy=true] button:disabled{cursor:wait}
@media(hover:hover) and (pointer:fine){
 body :is(a.gm-button,a.button,a.cf-cta,.newsletter-form button):where(:not(:disabled)):hover{background:var(--action-hover);border-color:var(--action-hover);transform:none;filter:none;box-shadow:0 0 0 3px #20d8ea20;color:var(--action-ink)!important}
 body :is(a.gm-secondary,a.button.secondary,a.cf-secondary):hover{background:#123b4d;border-color:#8cecf5;color:#fff!important}
 body :is(.gm-bio,.bio,.light-section) :is(a.gm-button,a.button):hover{background:#004d69;border-color:#004d69;color:#fff!important}
 body :is(.gm-bio,.bio,.light-section) :is(a.gm-secondary,a.button.secondary):hover{background:#e5f4f7;border-color:#006584;color:#006584!important}
 body :is(a.gm-resource-link,a.gm-text-link,a.text-link,a.breadcrumb,a.cf-email):hover{text-decoration-thickness:2px}
 body :is(.gm-header nav,.gm-footer nav) a:not(.gm-button):not(.gm-social a):hover{color:#8cecf5;text-decoration:underline}
 body :is(a.gm-audience-card,a.cf-program):hover{border-color:#8cecf5;box-shadow:inset 0 0 0 1px #8cecf5;transform:none}
 body :is(a.pathway,a.platform-card):hover{border-color:#00758b;box-shadow:inset 0 0 0 1px #00758b;transform:none}
 body :is(a.pathway,a.platform-card):hover :is(h2,h3){text-decoration-color:#006584}
 body .gm-social a:hover{background:#133d50;border-color:#8cecf5}
 body .gm-brand:hover{opacity:.88}
 body :is(.menu-toggle,.gm-toggle):hover{background:#174458;color:#fff}
 body :is(.gm-insight,.gm-proof) .gm-toggle:hover{background:#e1f3f7;color:#006584}
 body .gm-video-play:hover{box-shadow:inset 0 0 0 2px #fff}
}
@media(max-width:760px){
 .gm-insight-article{--link-ink:#006584;--focus-ring:#006584}
 body .gm-insight .gm-resource-link{max-width:calc(100% - 50px);font-size:15px;padding-block:6px}
 body .gm-insight .gm-resource-link:focus-visible{box-shadow:0 0 0 6px #fff!important}
 body .gm-bio .gm-button{font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Short navigation labels still have a full touch target. */
body :is(.gm-header nav,.gm-footer nav) a:not(.gm-button){min-width:44px}

/* Inner-page footer artwork stays in its own flow, clear of final content links. */
@media(min-width:761px){.interior .gm-footer-scenery{position:relative;top:auto;height:8vw;min-height:70px;margin:0}}
/* The play symbol in the supplied mobile artwork is also an operable link. */
@media(max-width:760px){body .gm-insight-video .gm-video-play{display:block!important;inset:65px 12% auto auto;width:58px;height:58px;border-radius:50%;z-index:2}}
/* Keep the skip link available to keyboards without off-screen painted content. */
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}
/* Keep the tablet tool link and its supporting text clear of the diagram. */
@media(min-width:761px) and (max-width:1000px){.gm-insight-tool .gm-insight-image{left:55%}}
/* Editorial CTAs share the same corner treatment as the other action levels. */
body .gm-bio a.gm-button,body .bio a.button{border-radius:var(--action-radius)}
