/* One navigation system, shared by every page. */
.site-navigation{position:sticky!important;top:0;z-index:120!important;background:var(--sn-surface,#f8faf7)!important;color:var(--sn-ink,#244140)!important;border-bottom:1px solid var(--sn-border,#dce6df);overflow:visible!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;--sn-gutter:32px}
.site-navigation .nav-inner{position:relative;display:flex!important;align-items:center;gap:24px;max-width:1440px;width:100%;min-height:88px;margin:auto;padding:0 32px;box-sizing:border-box}
.site-navigation .nav-brand{position:relative;flex:0 0 auto;display:flex;align-items:center}
.site-navigation .logo{width:210px!important;height:auto!important;filter:none!important}
.site-navigation .sn-groups{display:flex;align-items:center;gap:6px;margin-left:auto}
.site-navigation .sn-group{position:static;border:0;margin:0;padding:0;background:none}
/* Each overview remains a real link; the adjacent button owns the disclosure. */
.site-navigation .sn-trigger{display:flex;align-items:center;color:var(--sn-ink,#244140)}
.site-navigation .sn-top-link{display:flex;align-items:center;min-height:88px;padding:20px 5px;color:var(--sn-ink,#244140)!important;font:500 15px/24px Inter,Arial,sans-serif;white-space:nowrap;box-sizing:border-box}
.site-navigation .sn-expand{display:grid;place-items:center;flex:0 0 32px;width:32px;min-height:44px;padding:0;margin:0;border:0;border-radius:6px;background:transparent;color:var(--sn-ink,#244140);cursor:pointer;appearance:none}
.site-navigation .sn-expand:hover{background:var(--sn-button-hover,#eaf2eb)}
.site-navigation .sn-expand:active{transform:scale(.97)}
.site-navigation .sn-chevron{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s cubic-bezier(.23,1,.32,1)}
.site-navigation .sn-current .sn-top-link,.site-navigation .sn-top-link:hover,.site-navigation .sn-group[data-open]:not([data-closing]) .sn-trigger :is(a,button){color:var(--sn-active,#147c69)!important}
.site-navigation .sn-group[data-open]:not([data-closing]) .sn-chevron{transform:rotate(180deg)}
.site-navigation a{color:#244140!important;text-decoration:none}
.site-navigation :is(a,button):focus-visible{outline:2px solid currentColor;outline-offset:3px}
.site-navigation[data-pointer-input] :is(a,button):focus{outline:none}
.site-navigation .sn-mobile-only,.site-navigation .sn-sheet-head,.site-navigation .sn-mobile-accounts,.site-navigation .sn-toggle{display:none}

/* Desktop: every menu opens in one frame under the bar, from the wordmark to "Create account" (owner, 16 October 2026).
   Moving across the menu changes what the frame holds; it never jumps to another place or width. */
.site-navigation .sn-panel[hidden]{display:none!important}
.site-navigation .sn-panel{position:absolute;top:100%;left:var(--sn-gutter);right:var(--sn-gutter);background:#fff;color:#244140;border:1px solid #dce6df;border-top:0;border-radius:0 0 18px 18px;box-shadow:0 24px 48px -16px #10242373;box-sizing:border-box;max-height:calc(100dvh - var(--sn-bottom,100px) - 16px);overflow:auto;overscroll-behavior:contain}
.site-navigation .sn-group[data-closing]>.sn-panel{pointer-events:none}
.site-navigation .sn-panel-head{display:none}
.site-navigation .sn-columns{display:grid;grid-template-columns:minmax(0,1fr);column-gap:48px;padding:32px 40px}
.site-navigation .sn-columns--split{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}
.site-navigation .sn-panel--organisations .sn-columns--split{grid-template-columns:minmax(0,6fr) minmax(0,4fr)}
.site-navigation .sn-columns:has(>.sn-feature[hidden]){grid-template-columns:minmax(0,1fr)}
.site-navigation .sn-column h2{margin:0 0 12px 12px;font-size:12px;line-height:18px;font-weight:500;color:#577269;letter-spacing:0}
.site-navigation .sn-column ul{display:grid;list-style:none;padding:0;margin:0}
/* Each link fills its list item, so cards in a row match and plain links sit in the middle of their rows. */
.site-navigation .sn-column li{display:flex;padding:0;margin:0}
.site-navigation .sn-column li>a{flex:1;min-width:0}
.site-navigation .sn-column .sn-mobile-only{display:none}
.site-navigation .sn-column a{display:flex;flex-direction:column;gap:4px;box-sizing:border-box;border-radius:12px;transition:background-color .15s ease,color .15s ease}
.site-navigation .sn-link-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;line-height:22px;font-weight:600}
.site-navigation .sn-link-title>span,.site-navigation .sn-link-copy{min-width:0}
.site-navigation .sn-description{display:block;color:#577269;font-size:13px;line-height:20px;font-weight:400}
/* Menu labels carry no arrow on desktop (docs/link-design-standard.md); the phone keeps the programme and course rows'. */
.site-navigation .sn-column a .brand-link__icon{display:none!important}
/* The main choice: cards in two columns (three in Resources) whose titles share a line. */
.site-navigation .sn-column--primary ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.site-navigation .sn-panel--resources .sn-column--primary ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.site-navigation .sn-column--primary a{min-height:72px;padding:12px}
.site-navigation .sn-column--primary a:hover,.site-navigation .sn-column--primary a[aria-current="page"]{background:#f0f6f1}
.site-navigation .sn-column--primary .sn-programme-link{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:16px;min-height:80px}
.site-navigation .sn-programme-badge{display:block;width:56px;height:56px;object-fit:contain}
.site-navigation .sn-link-copy{display:flex;flex-direction:column;gap:4px}
.site-navigation .sn-panel--about .sn-column--primary a{min-height:52px;justify-content:center;padding:0 12px}
/* The supporting column: plain links, smaller and lighter than the main choice. */
.site-navigation :is(.sn-column--secondary,.sn-feature){border-left:1px solid #e3ebe6;padding-left:40px}
.site-navigation .sn-column--secondary h2{margin-left:0}
.site-navigation .sn-column--secondary ul{grid-auto-rows:minmax(44px,auto)}
.site-navigation .sn-column--secondary a{flex-direction:row;align-items:center;padding:0;border-radius:0}
.site-navigation .sn-column--secondary .sn-link-title{flex:1;justify-content:flex-start;gap:8px;font-size:15px;font-weight:500}
.site-navigation .sn-column--secondary a:is(:hover,[aria-current="page"]){color:#147c69!important}
.site-navigation .sn-panel--organisations .sn-column--secondary ul{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(38px,auto);column-gap:24px}
.site-navigation .sn-panel--organisations .sn-column--secondary .sn-link-title{font-size:14px;line-height:20px}
.site-navigation .sn-panel--about .sn-column--secondary ul{grid-auto-rows:minmax(52px,auto);row-gap:8px}
/* A featured card where a menu has one column of links: the membership price, or the next event. */
.site-navigation .sn-feature{display:flex}
.site-navigation .sn-feature[hidden]{display:none}
.site-navigation .sn-price-card{flex:1;display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:14px;background:#244140;color:#f5faf5}
.site-navigation .sn-price-card p{margin:0}
.site-navigation .sn-price-title{font-size:13px;line-height:20px;font-weight:600;color:#c1f99b}
.site-navigation .sn-price-card .sn-price{margin-top:6px;font-size:28px;line-height:34px;font-weight:600;letter-spacing:-.6px}
.site-navigation .sn-price-note{font-size:13px;line-height:20px;color:#c5d3cc}
.site-navigation .sn-price-join{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:auto;padding:0 16px;border-radius:8px;background:#c1f99b;color:#1d3534!important;font-size:14px;line-height:20px;font-weight:600;transition:background-color .15s ease,transform .16s ease-out}
.site-navigation .sn-price-join:hover{background:#d4fbb9}
.site-navigation .sn-price-join:active{transform:scale(.97)}
.site-navigation .sn-event{flex:1;display:flex;flex-direction:column;gap:6px;min-height:102px;box-sizing:border-box;padding:16px 20px;border-radius:14px;background:#eef4ef;transition:background-color .15s ease}
.site-navigation .sn-event:hover{background:#e3eee6}
.site-navigation .sn-event-when{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;line-height:18px;font-weight:600;color:#087763}
.site-navigation .sn-event-title{font-size:15px;line-height:21px;font-weight:600;text-wrap:balance}
/* The strip along the foot of every menu: its line on the left, its overview link in the same place on the right. */
.site-navigation .sn-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:12px 40px 12px 52px;background:#f4f8f5;border-top:1px solid #e3ebe6;box-sizing:border-box}
.site-navigation .sn-panel-foot p{margin:0;font-size:14px;line-height:20px;font-weight:500;color:#577269}
.site-navigation .sn-panel--courses .sn-panel-foot p{font-weight:400}
.site-navigation .sn-panel-foot p a{font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.site-navigation .sn-panel-foot p a:hover{color:#147c69!important}
.site-navigation .sn-overview{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;font-size:14px;line-height:20px;font-weight:600;white-space:nowrap}
/* One underline slides between the open menus (public/site-navigation.js); the page behind an open menu dims. */
.site-navigation .sn-indicator{position:absolute;left:0;bottom:0;width:0;height:3px;background:#23b99a;opacity:0;pointer-events:none}
.site-navigation .sn-scrim{position:fixed;inset:var(--sn-bottom,88px) 0 0;z-index:-1;background:var(--sn-scrim,#0f212066);opacity:0;visibility:hidden;transition:opacity .15s cubic-bezier(.23,1,.32,1),visibility 0s linear .15s}
.site-navigation[data-panel-open] .sn-scrim{opacity:1;visibility:visible;transition:opacity .2s cubic-bezier(.23,1,.32,1),visibility 0s}

.site-navigation .nav-account{display:flex!important;align-items:center;gap:17px;flex:0 0 auto;margin:0}
.site-navigation .nav-login{color:var(--sn-ink,#244140)!important;font-size:14px;font-weight:500;white-space:nowrap;border:0;text-decoration:none!important}
.site-navigation .nav-signup{background:transparent!important;color:var(--sn-ink,#244140)!important;border:1px solid var(--sn-button-border,#afc4b9)!important;border-radius:8px;box-shadow:none;padding:11px 15px;min-height:0;font-size:14px;line-height:20px;font-weight:600;white-space:nowrap}
.site-navigation .nav-signup:hover{background:var(--sn-button-hover,#eaf2eb)!important}
@media(max-width:1280px) and (min-width:1181px){.site-navigation{--sn-gutter:24px}.site-navigation .nav-inner{gap:15px;padding-inline:24px}.site-navigation .logo{width:175px!important}.site-navigation .sn-top-link{font-size:14px;padding-inline:3px}.site-navigation .sn-groups{gap:2px}.site-navigation .nav-account{gap:12px}.site-navigation .sn-columns{column-gap:40px;padding-inline:32px}.site-navigation :is(.sn-column--secondary,.sn-feature){padding-left:32px}.site-navigation .sn-panel-foot{padding-inline:44px 32px}}

/* Forest programme heroes share the homepage header palette. FIAR keeps its
   separate treatment; the open phone menu always uses the light palette. */
body[data-page] .site-navigation .nav-brand .logo{opacity:1!important}
body[data-page] .site-navigation .nav-brand::after{content:none!important}
body:is([data-page="home"]:not(.home-nav-light),:has(.programme-hero[data-header-theme="dark"]):not(.course-nav-light)) .site-navigation:not([data-mobile-open]){
 --sn-surface:var(--opening-forest,var(--amlcc-forest,#244140));--sn-ink:#f5faf5;--sn-border:transparent;
 --sn-active:#c1f99b;--sn-button-border:#78958a;--sn-button-hover:#ffffff0d;--sn-scrim:#0f21209e;
 /* Opaque paint bleed closes fractional sticky-layer seams in Safari.
    Shadows do not enlarge the scrollable page or shift the navigation. */
 border:0;box-shadow:0 1px 0 1px var(--sn-surface);
}
body:is([data-page="home"]:not(.home-nav-light),:has(.programme-hero[data-header-theme="dark"]):not(.course-nav-light)) .site-navigation:not([data-mobile-open]) .nav-brand .logo{opacity:0!important}
/* Over a dark hero the reversed wordmark shows, so the link's own colour (its focus ring) turns light with it. */
body:is([data-page="home"]:not(.home-nav-light),:has(.programme-hero[data-header-theme="dark"]):not(.course-nav-light)) .site-navigation:not([data-mobile-open]) .nav-brand{color:#f8faf7!important}
body:is([data-page="home"]:not(.home-nav-light),:has(.programme-hero[data-header-theme="dark"]):not(.course-nav-light)) .site-navigation:not([data-mobile-open]) .nav-brand::after{
 content:""!important;position:absolute;inset:0;pointer-events:none;
 background:url('/assets/wordmark-endorsed-reverse.svg') left center/contain no-repeat;
}
.site-navigation .sn-toggle svg path{transform-origin:12px 12px;transition:transform .2s cubic-bezier(.23,1,.32,1),opacity .15s}
.site-navigation .sn-toggle[aria-expanded="true"] path:nth-child(1){transform:translateY(5px) rotate(45deg);transform-origin:12px 7px}
.site-navigation .sn-toggle[aria-expanded="true"] path:nth-child(2){opacity:0}
.site-navigation .sn-toggle[aria-expanded="true"] path:nth-child(3){transform:translateY(-5px) rotate(-45deg);transform-origin:12px 17px}

/* Until site-navigation.js marks the menu ready, the submenu chevrons keep their space but stay out of sight, so the
   desktop menu does not shift when they appear. The menu without JavaScript is in SiteLayout.astro's <noscript>. */
.site-navigation:not([data-nav-ready]) .sn-expand{visibility:hidden}
/* Without the script the phone and tablet menu is a plain list of links (SiteLayout.astro's <noscript>), so the sheet's
   head and shadow stay away. */
.site-navigation:not([data-nav-ready]) .sn-sheet-head{display:none}
.site-navigation:not([data-nav-ready]) .sn-groups{box-shadow:none}

/* Phones and tablets: one scrolling list of sections, each opening in place on its own; the language and the account
   box sit at its foot. */
.site-navigation .sn-mobile-label{display:none}
@media(max-width:1180px){
 .site-navigation .nav-inner{min-height:76px;padding:0 24px;gap:20px}
 .site-navigation .logo{width:192px!important}
 .site-navigation .nav-inner>.nav-account{margin-left:auto}
 .site-navigation .nav-inner>.nav-account .nav-signup{display:none}
 .site-navigation .nav-inner>.nav-account .nav-login{display:flex;align-items:center;min-height:44px}
 .site-navigation .sn-toggle{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;min-height:48px;background:none;border:0;padding:8px;color:var(--sn-ink,#244140);cursor:pointer}
 .site-navigation .sn-toggle svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7}
 .site-navigation .sn-indicator,.site-navigation .sn-panel-foot{display:none}
 .site-navigation .sn-column .sn-mobile-only{display:flex}
 .site-navigation .sn-groups{--sn-ink:#244140;--sn-active:#147c69;display:none;position:fixed;top:var(--sn-bottom,76px);left:0;right:0;bottom:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:4px 24px max(24px,env(safe-area-inset-bottom));background:#f8faf7;color:#244140;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;box-sizing:border-box}
 .site-navigation[data-mobile-open] .sn-groups{display:flex}
 .site-navigation[data-mobile-closing] .sn-groups{pointer-events:none}
 .site-navigation .sn-group{flex-shrink:0;border-bottom:1px solid #dce6df}
 .site-navigation .sn-trigger{justify-content:space-between;gap:16px}
 .site-navigation .sn-top-link{flex:1;min-height:56px;padding:16px 0;font-size:18px;font-weight:600;white-space:normal}
 .site-navigation[data-nav-ready] .sn-top-link{display:none}
 .site-navigation[data-nav-ready] .sn-expand{display:flex;justify-content:space-between;align-items:center;flex:1;width:100%;min-height:56px;padding:0;border-radius:0;text-align:left;gap:20px;font:600 18px/1.3 Inter,Arial,sans-serif}
 .site-navigation .sn-mobile-label{display:block}
 .site-navigation .sn-expand:hover{background:transparent}
 .site-navigation .sn-expand:active{transform:none}
 .site-navigation .sn-chevron{flex:none;width:14px;height:14px;padding:7px;box-sizing:content-box;border-radius:6px;background:#e9efea;color:#244140;stroke-width:1.8;transform:none!important;transition:transform .2s cubic-bezier(.23,1,.32,1),background-color .15s ease,color .15s ease}
 .site-navigation .sn-expand[aria-expanded="true"] .sn-chevron{transform:rotate(180deg)!important;background:#244140;color:#f8faf7}
 .site-navigation .sn-panel{position:static;max-height:none;padding:0 0 16px;border:0;border-radius:0;box-shadow:none;background:none;overflow:visible}
 .site-navigation .sn-panel-head{display:block}
 .site-navigation .sn-overview{display:flex;justify-content:space-between;min-height:48px;padding:0 14px;border-radius:10px;background:#e9f0ea;font-size:15px;line-height:20px;white-space:normal}
 .site-navigation :is(.sn-columns,.sn-columns--split){display:block;padding:0}
 .site-navigation .sn-column h2{margin:18px 0 4px;color:#577269}
 .site-navigation .sn-column+.sn-column h2{margin-top:14px}
 .site-navigation :is(.sn-column--secondary,.sn-feature){border:0;padding:0}
 .site-navigation .sn-column ul,.site-navigation .sn-column--primary ul,.site-navigation .sn-panel--resources .sn-column--primary ul{display:block}
 .site-navigation .sn-column a,.site-navigation .sn-column--primary a,.site-navigation .sn-panel--about .sn-column--primary a{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:2px;min-height:48px;padding:0;border-radius:0;background:none}
 .site-navigation .sn-link-title{font-size:15px;line-height:21px;font-weight:500}
 .site-navigation .sn-description{font-size:13px;line-height:19px}
 .site-navigation .sn-column .sn-described{min-height:64px}
 .site-navigation :is(.sn-described,.sn-programme-link) .sn-link-title{font-weight:600}
 .site-navigation .sn-panel--organisations .sn-column--secondary ul{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(44px,auto)}
 .site-navigation .sn-panel--organisations .sn-column--secondary .sn-link-title{font-size:15px}
 .site-navigation .sn-column a:is(:hover,[aria-current="page"]){color:#147c69!important}
 /* Touch screens keep a tapped row's hover state, so the desktop card tint stays off here. */
 .site-navigation .sn-column--primary a:is(:hover,[aria-current="page"]){background:none}
 /* Arrows mark the programme rows and the course options, as in the design; the other rows are plain. */
 .site-navigation .sn-column a .brand-link__icon{display:inline-block!important}
 .site-navigation .sn-panel--courses .sn-column--secondary .sn-link-title{justify-content:space-between}
 .site-navigation .sn-column .sn-programme-link{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:72px}
 .site-navigation .sn-programme-badge{width:40px;height:40px}
 .site-navigation .sn-link-copy{gap:2px}
 /* The membership price as one row, the next event as a card. */
 .site-navigation .sn-feature{display:block;margin-top:12px}
 .site-navigation .sn-price-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:16px}
 .site-navigation :is(.sn-price-title,.sn-price-cancel){display:none}
 .site-navigation .sn-price-join .brand-link__icon{display:none!important}
 .site-navigation .sn-price-card .sn-price{grid-column:1;margin:0;font-size:18px;line-height:24px;letter-spacing:0}
 .site-navigation .sn-price-note{grid-column:1}
 .site-navigation .sn-price-join{grid-column:2;grid-row:1/span 2;margin:0}
 .site-navigation .sn-event{min-height:0;gap:2px;padding:14px;border-radius:12px}
 .site-navigation .sn-mobile-accounts{display:block;margin-top:auto;padding-top:24px}
 .site-navigation .sn-languages+.sn-mobile-accounts{margin-top:0;padding-top:0}
 .site-navigation .sn-mobile-accounts .nav-account{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;border:0;padding:0}
 .site-navigation .sn-mobile-accounts .nav-signup{display:inline-flex!important}
 /* The account box stacks its text over two buttons: the phone menu and the tablet sheet are both narrow. */
 .site-navigation .sn-account-panel{display:block;padding:20px;background:#eaf0e9;border-radius:12px;color:#244140}
 .site-navigation .sn-account-copy{min-width:0}
 .site-navigation .sn-account-copy h2{margin:0 0 6px;font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.02em;color:#244140}
 .site-navigation .sn-account-copy p{margin:0;max-width:44ch;font-size:14px;line-height:1.5;color:#526d64}
 .site-navigation .sn-account-panel .nav-account a{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:48px;box-sizing:border-box;padding:12px 10px;border:1px solid #78958a!important;border-radius:8px;font-size:14px;font-weight:600;line-height:22px;color:#244140!important;background:transparent!important;transition:background .15s ease,border-color .15s ease}
 .site-navigation .sn-account-panel .nav-account .nav-signup{background:#244140!important;color:#fff!important;border-color:#244140!important}
 .site-navigation .sn-account-panel .nav-account .nav-login:hover{background:#dce7dc!important;border-color:#244140!important}
 .site-navigation .sn-account-panel .nav-account .nav-signup:hover{background:#163830!important;border-color:#163830!important}
 .site-navigation .sn-account-panel .nav-signup svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}
 body.sn-scroll-locked{overflow:hidden}
}
/* Phones: the menu fills the screen under the bar, which turns light and holds the close button. */
@media(max-width:680px){
 .site-navigation[data-mobile-open]{height:76px}
 .site-navigation[data-mobile-open] .nav-inner{position:fixed;inset:0 0 auto;z-index:2;background:#f8faf7;border-bottom:1px solid #dce6df}
 .site-navigation[data-mobile-open] .nav-inner>.nav-account{display:none!important}
 .site-navigation[data-mobile-open] .sn-toggle{margin-left:auto;min-height:44px}
}
/* Tablets: a sheet slides in from the right over the dimmed page, with its own wordmark and close button. */
@media(min-width:681px) and (max-width:1180px){
 .site-navigation .sn-groups{top:0;left:auto;right:0;z-index:2;width:min(420px,100%);padding-top:0;box-shadow:-24px 0 48px -16px #10242373}
 .site-navigation .sn-sheet-head{position:sticky;top:0;z-index:1;display:flex;flex:none;align-items:center;justify-content:space-between;height:76px;margin:0 -24px 4px;padding:0 16px 0 24px;background:#f8faf7;border-bottom:1px solid #dce6df;box-sizing:border-box}
 .site-navigation .sn-sheet-logo{display:block;width:168px;height:auto}
 .site-navigation .sn-close{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;border-radius:10px;background:transparent;color:#244140;cursor:pointer}
 .site-navigation .sn-close:hover{background:#eaf0e9}
 .site-navigation .sn-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 .site-navigation .sn-scrim{inset:0;z-index:1;transition:opacity .2s cubic-bezier(.23,1,.32,1),visibility 0s linear .2s}
 .site-navigation[data-mobile-open]:not([data-mobile-closing]) .sn-scrim{opacity:1;visibility:visible;transition:opacity .28s cubic-bezier(.32,.72,0,1),visibility 0s}
 /* The bar stays as it was behind the sheet, so a dark hero keeps its dark bar. */
 body:is([data-page="home"]:not(.home-nav-light),:has(.programme-hero[data-header-theme="dark"]):not(.course-nav-light)) .site-navigation[data-mobile-open]{
  --sn-surface:var(--opening-forest,var(--amlcc-forest,#244140));--sn-ink:#f5faf5;--sn-border:transparent;
  --sn-active:#c1f99b;--sn-button-border:#78958a;--sn-button-hover:#ffffff0d;--sn-scrim:#0f21209e;
  border:0;box-shadow:0 1px 0 1px var(--sn-surface);
 }
 body:is([data-page="home"]:not(.home-nav-light),:has(.programme-hero[data-header-theme="dark"]):not(.course-nav-light)) .site-navigation[data-mobile-open] .nav-brand .logo{opacity:0!important}
 body:is([data-page="home"]:not(.home-nav-light),:has(.programme-hero[data-header-theme="dark"]):not(.course-nav-light)) .site-navigation[data-mobile-open] .nav-brand::after{
  content:""!important;position:absolute;inset:0;pointer-events:none;
  background:url('/assets/wordmark-endorsed-reverse.svg') left center/contain no-repeat;
 }
}
@media(max-width:420px){.site-navigation .nav-inner{gap:15px;padding-inline:20px}.site-navigation .logo{width:160px!important}.site-navigation .sn-toggle{margin-left:0}.site-navigation .sn-groups{padding-inline:20px}}
@media(max-width:360px){
 .site-navigation .sn-account-panel{padding:16px}
 .site-navigation .sn-account-panel .nav-signup svg{display:none}
}
@media(prefers-reduced-motion:reduce){.site-navigation,.site-navigation *{transition:none!important;animation:none!important}}
