/* Extend the existing V3 palette; layout and component structure stay shared. */
:root {
  --msn-page-bg:#ffffff; --msn-panel:#ffffff; --msn-panel-alt:#f5f8f8;
  --msn-reading:#17313d; --msn-secondary:#536771; --msn-border:#cbdade;
  --msn-link:#126c70; --msn-action:#0b555c; --msn-action-hover:#073e46;
  --msn-focus:#126c70; --msn-positive-bg:#e8f5ef; --msn-positive:#24684e;
  --msn-warning-bg:#fff5db; --msn-warning:#674900; --msn-danger-bg:#fff0f1; --msn-danger:#982939;
}
:root[data-msn-theme="dark"] {
  --msn-page-bg:#081829; --msn-panel:#102438; --msn-panel-alt:#0c1e30;
  --msn-reading:#e5edf4; --msn-secondary:#b0c2d2; --msn-border:#3d566c;
  --msn-link:#83d6e4; --msn-action:#155c77; --msn-action-hover:#1c7190;
  --accent-hover-color:#b5efff;
  --msn-focus:#91e1ec; --msn-positive-bg:#153e34; --msn-positive:#abecd0;
  --msn-warning-bg:#3c3015; --msn-warning:#f5d896; --msn-danger-bg:#3e202a; --msn-danger:#ffb9c4;
  --msn-ink:var(--msn-reading); --msn-muted:var(--msn-secondary);
  --msn-cloud:var(--msn-panel-alt); --msn-white:var(--msn-page-bg); --msn-line:var(--msn-border);
  --msn-sea:#83d6e4; --msn-sea-dark:#94e2ed; --msn-sea-soft:#153848;
  --msn-coral:#f6ae91; --msn-coral-dark:#94432e; --msn-shadow:0 14px 36px #0004;
  --background-color:var(--msn-page-bg); --surface-color:var(--msn-panel);
  --default-color:var(--msn-reading); --heading-color:var(--msn-reading);
  --nav-color:var(--msn-reading); --nav-hover-color:var(--msn-link);
  --nav-mobile-background-color:var(--msn-panel); --nav-dropdown-background-color:var(--msn-panel);
  --nav-dropdown-color:var(--msn-reading); --nav-dropdown-hover-color:var(--msn-link);
  --bs-body-bg:var(--msn-page-bg); --bs-body-color:var(--msn-reading);
  --bs-secondary-color:var(--msn-secondary); --bs-border-color:var(--msn-border);
  --bs-tertiary-bg:var(--msn-panel-alt); --bs-link-color:var(--msn-link);
}
html { background:var(--msn-page-bg); }
.msn-public-page { color:var(--msn-reading); background:var(--msn-page-bg); }
.msn-theme-picker { position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:78px; margin-left:8px; flex:0 0 44px; color:var(--msn-reading); }
.msn-theme-toggle { display:flex; align-items:center; justify-content:center; gap:4px; width:44px; height:44px; padding:0; border:0; border-radius:7px; background:transparent; color:inherit; cursor:pointer; }
.msn-theme-toggle:is(:hover,:focus-visible),.msn-theme-toggle[aria-expanded="true"] { color:var(--msn-sea); background:var(--msn-sea-soft); }
.msn-theme-toggle:focus-visible,.msn-theme-menu button:focus-visible { outline:2px solid var(--msn-focus); outline-offset:2px; }
.msn-theme-menu { position:absolute; z-index:99; top:100%; right:0; min-width:180px; margin:0; padding:10px; list-style:none; background:var(--msn-panel); border:1px solid var(--msn-line); border-radius:var(--msn-radius); box-shadow:var(--msn-shadow); opacity:0; visibility:hidden; transform:translateY(10px); pointer-events:none; }
.msn-theme-toggle[aria-expanded="true"] + .msn-theme-menu { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.msn-theme-menu::before { content:""; position:absolute; inset:-11px 0 auto; height:11px; }
.msn-theme-menu[hidden] { display:none!important; }
.msn-theme-menu li { margin:0; padding:0; list-style:none; }
.msn-theme-menu button { display:flex; align-items:center; gap:8px; width:100%; min-height:40px; padding:9px 11px; border:0; border-radius:4px; background:transparent; color:var(--msn-ink); font-family:var(--nav-font,var(--default-font)); font-size:14px; font-weight:600; line-height:1.5; text-align:left; cursor:pointer; white-space:nowrap; }
.msn-theme-menu button:hover,.msn-theme-menu button:focus-visible { color:var(--msn-sea); background:var(--msn-sea-soft); }
.msn-theme-menu button>i { font-size:16px; }
.msn-theme-selected { margin-left:auto; visibility:hidden; }
.msn-theme-menu button[aria-pressed="true"] .msn-theme-selected { visibility:visible; }
.msn-theme-icon { display:none; font-size:19px; line-height:1; }
.msn-theme-icon-system { display:block; }
[data-msn-theme-mode="light"] .msn-theme-icon-system,[data-msn-theme-mode="dark"] .msn-theme-icon-system { display:none; }
[data-msn-theme-mode="light"] .msn-theme-icon-light,[data-msn-theme-mode="dark"] .msn-theme-icon-dark { display:block; }
.msn-legal { max-width:1050px; margin:auto; }
.msn-legal-intro { color:var(--msn-secondary); }
.msn-legal-nav { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px; padding:16px; border:1px solid var(--msn-border); border-radius:var(--msn-radius); background:var(--msn-panel-alt); }
.msn-legal-nav a { padding:7px 11px; border:1px solid var(--msn-border); border-radius:4px; background:var(--msn-panel); color:var(--msn-link); }
.msn-legal-section { padding:26px; margin:0 0 20px; border:1px solid var(--msn-border); border-radius:var(--msn-radius); background:var(--msn-panel); overflow-wrap:anywhere; }
.msn-legal-section h2 { font-size:1.4rem; margin:0 0 16px; }
.msn-legal-section h3 { font-size:1.13rem; margin-top:22px; }
.msn-legal-section p:last-child { margin-bottom:0; }
.msn-legal-section a { text-decoration:underline; text-underline-offset:3px; }
.msn-legal-section address { font-style:normal; }
.msn-legal-page h1 { overflow-wrap:anywhere; hyphens:auto; }
.msn-legal-section:target { outline:2px solid var(--msn-focus); outline-offset:3px; }
.msn-legal-table { min-width:0; width:100%; border-collapse:collapse; }
.msn-legal-table th,.msn-legal-table td { padding:12px; border:1px solid var(--msn-border); vertical-align:top; overflow-wrap:anywhere; }
.msn-withdraw-link { display:inline-flex; min-height:44px; align-items:center; padding:7px 12px!important; border:1px solid currentColor; border-radius:5px; font-weight:700; }
.footer .msn-withdraw-link:is(:hover,:focus-visible) { background:#1769aa; border-color:#78baff; color:#fff; text-decoration:none; }
.msn-public-page .header .header-login:is(:hover,:focus-visible) {
  background:var(--msn-sea-soft);
  border-color:var(--msn-sea);
  color:var(--msn-reading);
}
.msn-public-page :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--msn-focus); outline-offset:3px; box-shadow:0 0 0 2px var(--msn-panel); }
/* The grid clips outward outlines at its rounded edges. */
.msn-public-page .entry-link:focus-visible { outline-offset:-4px; box-shadow:none; }
[data-msn-theme="dark"] .msn-public-page .header,
[data-msn-theme="dark"] .msn-public-page .navmenu ul,
[data-msn-theme="dark"] .mobile-nav-toggle,
[data-msn-theme="dark"] :is(.course-card,.term-card,.course-summary,.form-shell,.contact-card,.msn-blog-card,.faq-topic-links a,.comparison-card,.finder-card,.feature-card,.card,.accordion-item,.modal-content,.booking-sidebar,.bg-white) { background:var(--msn-panel)!important; color:var(--msn-reading); border-color:var(--msn-border); }
[data-msn-theme="dark"] .entry-grid { background:var(--msn-panel); }
[data-msn-theme="dark"] .header .logo img { filter:brightness(0) invert(1); }
[data-msn-theme="dark"] :is(.page-hero,.course-detail-hero,.msn-section-alt,.light-background,.faq-topic-nav,.bg-light) { background:var(--msn-panel-alt)!important; color:var(--msn-reading); }
[data-msn-theme="dark"] :is(.form-control,.form-select,.form-check-input,input,textarea,select) { background-color:var(--msn-panel-alt); color:var(--msn-reading); border-color:var(--msn-border); }
[data-msn-theme="dark"] :is(input,textarea)::placeholder { color:#a0b4c6; opacity:1; }
[data-msn-theme="dark"] .form-check-input:checked { background-color:#1b6a89; border-color:#83d6e4; }
[data-msn-theme="dark"] :is(.form-control,.form-select):focus { background-color:var(--msn-panel); color:var(--msn-reading); border-color:var(--msn-focus); }
[data-msn-theme="dark"] .msn-public-page .btn-primary,
[data-msn-theme="dark"] .msn-public-page .btn-secondary { background:var(--msn-action); border-color:#5aa6bf; color:#fff; }
[data-msn-theme="dark"] .msn-public-page :is(.btn-primary,.btn-secondary):hover { background:#1769aa; border-color:#78baff; color:#fff; }
[data-msn-theme="dark"] .msn-public-page :is(.btn-outline-primary,.btn-outline-secondary) { border-color:#83c9d9; color:#a9e8f1; background:transparent; }
[data-msn-theme="dark"] .msn-public-page :is(.btn-outline-primary,.btn-outline-secondary):hover { background:#1c4c62; color:#fff; }
[data-msn-theme="dark"] :is(.text-muted,.text-secondary,.form-text,.msn-blog-meta,.booking-review dt) { color:var(--msn-secondary)!important; }
[data-msn-theme="dark"] :is(.text-dark,.text-body) { color:var(--msn-reading)!important; }
[data-msn-theme="dark"] :is(.course-price,.course-summary .price,.term-date strong,.faq-topic-label,.course-card-icon) { color:#c8e7fa; }
[data-msn-theme="dark"] .process-step::before { background:#1b6a89; }
[data-msn-theme="dark"] .booking-progress span.active { background:var(--msn-action); color:#fff; }
[data-msn-theme="dark"] .eyebrow { color:var(--msn-coral); }
[data-msn-theme="dark"] .table { --bs-table-bg:var(--msn-panel); --bs-table-color:var(--msn-reading); --bs-table-striped-bg:#152c42; --bs-table-striped-color:var(--msn-reading); --bs-table-border-color:var(--msn-border); }
[data-msn-theme="dark"] :is(th,td) { border-color:var(--msn-border); }
[data-msn-theme="dark"] .alert-success,[data-msn-theme="dark"] .term-availability { background:var(--msn-positive-bg); color:var(--msn-positive); border-color:#3b7460; }
[data-msn-theme="dark"] .alert-warning { background:var(--msn-warning-bg); color:var(--msn-warning); border-color:#8f7132; }
[data-msn-theme="dark"] .alert-danger { background:var(--msn-danger-bg); color:var(--msn-danger); border-color:#975263; }
[data-msn-theme="dark"] .alert-info { background:#12364a; color:#b9e7f6; border-color:#49768a; }
[data-msn-theme="dark"] .term-availability.is-full { background:#263a4c; color:#c3d0db; }
[data-msn-theme="dark"] .footer { background:#071422; }
[data-msn-theme="dark"] .footer .btn-light { background:var(--msn-action); border-color:#5aa6bf; color:#fff; }
.msn-public-page .footer .footer-actions :is(.btn-light,.social-link):is(:hover,:focus-visible) {
  background:#1769aa;
  border-color:#78baff;
  color:#fff;
  text-decoration:none;
}
[data-msn-theme="dark"] .footer-legal { background:#050f19; }
[data-msn-theme="dark"] :is(.msn-season-harbour,.msn-season-divider) { --season-soft:#102438; --season-ink:#d2e9f2; --season-line:#6c91a0; }
[data-msn-theme="dark"] #preloader { background:#081829; }
/* Same desktop hover accent as the existing top-level navigation. */
@media(min-width:1200px) {
  .msn-theme-picker { border-bottom:3px solid transparent; }
  .msn-theme-menu { top:calc(100% + 3px); }
  .msn-theme-picker:hover,.msn-theme-picker:focus-within { color:var(--msn-sea); border-bottom-color:var(--msn-coral); }
  .msn-theme-picker:is(:hover,:focus-within) .msn-theme-toggle,.msn-theme-toggle[aria-expanded="true"] { color:var(--msn-sea); background:transparent; }
}
@media(min-width:1200px) and (max-width:1399px) { .header .logo{min-width:190px}.header .logo img{width:200px}.msn-public-page .navmenu{margin-left:10px}.msn-public-page .navmenu>ul>li>a{padding:0 8px}.header-login{padding:8px;margin-left:8px}.msn-theme-picker{margin-left:6px} }
@media(max-width:1199px) { .header .logo{min-width:0}.header .logo img{width:210px}.msn-theme-picker{order:2;height:44px;margin-left:8px}.msn-theme-menu{top:calc(100% + 8px)} }
@media(max-width:575px) { .header .logo img{width:165px}.msn-theme-picker{margin-left:6px}.msn-legal-section{padding:20px 17px}.msn-legal-nav{padding:12px}.msn-legal-table th,.msn-legal-table td{padding:8px;font-size:13px} }
@media(max-width:375px) { .header .logo img{width:140px} }
@media(prefers-reduced-motion:no-preference) {
  .msn-theme-picker { transition:color .15s ease,border-color .15s ease; }
  .msn-theme-menu { transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s; }
  .msn-theme-toggle[aria-expanded="true"] + .msn-theme-menu { transition-delay:0s; }
}
@media print { .msn-theme-picker,.msn-legal-nav { display:none!important; } .msn-legal-section{break-inside:avoid;box-shadow:none} }

/* Keep the V3 navigation, with explicit disclosure controls in both layouts. */
.msn-public-page { --msn-nav-motion:320ms; --msn-nav-blue:#4099ff; }
.msn-public-page .navmenu [hidden] { display:none!important; }
.nav-dropdown-row { display:flex; align-items:center; }
.nav-dropdown-row>a { flex:1 1 auto; }
.nav-submenu-toggle { display:inline-flex; align-items:center; justify-content:center; flex:0 0 32px; width:32px; height:44px; padding:0; border:0; border-radius:5px; color:var(--msn-ink); background:transparent; cursor:pointer; }
.nav-submenu-toggle>span,.msn-theme-chevron { display:block; flex:0 0 8px; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform var(--msn-nav-motion) ease-in-out; }
.nav-submenu-toggle[aria-expanded="true"]>span,.msn-theme-toggle[aria-expanded="true"]>.msn-theme-chevron { transform:translateY(2px) rotate(225deg); }
.nav-submenu-toggle:is(:hover,:focus-visible) { color:var(--msn-sea); background:var(--msn-sea-soft); }
.logo-compact { display:none; }
.msn-public-page :is(.btn-primary,.btn-secondary,.btn-dark):not(:disabled):not(.disabled):is(:hover,:focus-visible) { background:#1769aa; border-color:#78baff; color:#fff; box-shadow:0 4px 15px #1769aa55; }
.msn-public-page :is(.btn-primary,.btn-secondary,.btn-dark):focus-visible { outline:3px solid var(--msn-focus); outline-offset:3px; }
#main-content,[id] { scroll-margin-top:calc(var(--msn-header-height,78px) + 20px); }
@media(min-width:1200px) {
  .msn-public-page .nav-dropdown-row { color:var(--msn-ink); border-bottom:3px solid transparent; transition:color .15s ease,border-color .15s ease; }
  .msn-public-page .nav-dropdown-row:is(:hover,:has(> :focus-visible),:has(> a.active)),
  .msn-public-page .dropdown.is-open>.nav-dropdown-row { color:var(--msn-sea); border-bottom-color:var(--msn-coral); }
  .msn-public-page .nav-dropdown-row>a { display:flex; align-items:center; min-height:75px; padding:0 2px 0 12px; font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; transition:none; }
  .msn-public-page .nav-dropdown-row>:is(a,.nav-submenu-toggle) { color:inherit; background:transparent; }
  .msn-public-page .navmenu .dropdown.is-open>ul { visibility:visible; opacity:1; top:100%; }
}
@media(min-width:1200px) and (max-width:1399px) { .msn-public-page .nav-dropdown-row>a { padding-left:8px; } .nav-submenu-toggle { width:26px; flex-basis:26px; } }
@media(max-width:1199px) {
  .nav-submenu-toggle { width:44px; flex-basis:44px; }
  .msn-public-page .navmenu > ul { scroll-padding-block:12px; overscroll-behavior:contain; }
  .msn-public-page .nav-dropdown-row { border-radius:5px; }
  .msn-public-page .nav-dropdown-row:is(:hover,:has(> :focus-visible),:has(> a.active)),
  .msn-public-page .dropdown.is-open>.nav-dropdown-row { color:var(--msn-sea-dark); background:var(--msn-sea-soft); }
  .msn-public-page .nav-dropdown-row:is(:hover,:has(> :focus-visible),:has(> a.active))>:is(a,.nav-submenu-toggle),
  .msn-public-page .dropdown.is-open>.nav-dropdown-row>:is(a,.nav-submenu-toggle) { color:inherit; background:transparent; }
  .msn-public-page .navmenu .dropdown>ul { display:block; transition:height var(--msn-nav-motion) ease-in-out,opacity var(--msn-nav-motion) ease-in-out; }
  .msn-public-page .mobile-nav-toggle { display:flex; align-items:center; justify-content:center; flex:0 0 44px; color:var(--msn-nav-blue); transition:background-color .18s,border-color .18s,color .18s; }
  .msn-public-page.mobile-nav-active .mobile-nav-toggle { color:var(--msn-nav-blue); }
  .msn-public-page .mobile-nav-toggle:is(:hover,:focus-visible) { color:#1769aa; background:#e9f3ff; border-color:var(--msn-nav-blue); }
  [data-msn-theme="dark"] .msn-public-page .mobile-nav-toggle:is(:hover,:focus-visible) { color:#8cc4ff; background:#163756!important; border-color:var(--msn-nav-blue); }
  .msn-public-page .mobile-nav-toggle:is(:active,.is-pressed),[data-msn-theme="dark"] .msn-public-page .mobile-nav-toggle:is(:active,.is-pressed) { color:#fff; background:#1769aa!important; border-color:#78baff; }
}
@media(max-width:575px) {
  .header .logo img { display:none; }
  .header .logo .logo-compact { display:inline-flex; align-items:center; gap:7px; color:var(--msn-ink); font-size:19px; font-weight:800; letter-spacing:.035em; white-space:nowrap; }
  .logo-compact svg { width:24px; height:24px; flex:0 0 24px; fill:none; stroke:currentColor; stroke-width:1.6; }
}
@media(max-width:359px) { .header .logo .logo-compact { font-size:17px; gap:5px; } .logo-compact svg { width:22px; height:22px; flex-basis:22px; } }
@media(prefers-reduced-motion:no-preference) { .msn-public-page .btn { transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s; } }
@media(prefers-reduced-motion:no-preference) { .msn-public-page .footer .social-link { transition:background-color .18s,border-color .18s,color .18s; } }
@media(prefers-reduced-motion:reduce) { .nav-submenu-toggle>span,.msn-theme-chevron,.msn-public-page .navmenu .dropdown>ul,.mobile-nav-toggle-lines span { transition:none!important; } }

/* Fade starts on the first scroll event; interaction stops immediately. */
.home-terms-cue { position:fixed; z-index:950; right:max(18px,env(safe-area-inset-right)); bottom:max(18px,env(safe-area-inset-bottom)); display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:9px 15px; border:1px solid #78baff; border-radius:var(--msn-radius); background:#0b223b; color:#fff; font-size:14px; font-weight:700; text-decoration:none; box-shadow:0 4px 18px #071a3440; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(5px); transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s; }
.home-terms-cue[hidden] { display:none!important; }
.home-terms-cue svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.home-terms-cue.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:none; transition:opacity .28s ease,transform .28s ease,visibility 0s; }
.msn-public-page .home-terms-cue:is(:hover,:focus-visible) { background:#1769aa; color:#fff; }
@keyframes msn-terms-nudge { 0%,100%{transform:translate(0,0) rotate(0)} 12%,36%,60%{transform:translate(-4px,-1px) rotate(-4deg)} 24%,48%,72%{transform:translate(4px,1px) rotate(4deg)} 84%{transform:translate(-2px,0) rotate(-2deg)} }
@media(prefers-reduced-motion:no-preference) { .home-terms-cue.is-nudging { animation:msn-terms-nudge .8s ease-in-out; } }
@media(prefers-reduced-motion:reduce) { .home-terms-cue,.home-terms-cue.is-visible { transition:none; } }

.msn-public-page .info-evening-join:is(:hover,:focus-visible) { background:#1769aa; border-color:#a1d1ff; color:#fff; box-shadow:0 0 0 3px #78baff44,0 7px 22px #071a3460; }
@media(prefers-reduced-motion:no-preference) { .info-evening-join { transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s; } }
.info-evening.info-evening-schedule { display:block; }
.info-evening-schedule .info-evening-content { overflow-wrap:anywhere; }
.info-evening-schedule .info-evening-when strong { color:#fff; }
.info-evening-option {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  height:100%;
  padding-top:1rem;
  border-top:1px solid #ffffff40;
}
.info-evening-option h3 { color:#fff; font-size:1.125rem; margin-bottom:.5rem; }
.msn-public-page .info-evening-option .info-evening-join:not(:hover):not(:focus-visible) { background:#fff; border-color:#fff; color:#0b223b; }
.info-evening-links a { color:#d7f1ff; text-decoration:underline; text-underline-offset:.18em; }
.info-evening-links a:is(:hover,:focus-visible) { color:#fff; }
[data-msn-theme="dark"] .course-card:is(:hover,:focus-within) .stretched-link,[data-msn-theme="dark"] .text-link:is(:hover,:focus-visible) { color:#b5efff; text-decoration:underline; text-underline-offset:4px; }

/* Consent choices keep equal size and weight, without a nested panel frame. */
.msn-public-page #cookie-banner { padding:20px max(18px,env(safe-area-inset-right)); background:var(--msn-panel); color:var(--msn-reading); border-top:1px solid var(--msn-border); box-shadow:0 -6px 24px #071a3426; }
.msn-public-page .cookie-box { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:26px; max-width:1180px; padding:0; margin:auto; background:transparent; border:0; }
.msn-public-page .cookie-box>div:first-child { max-width:none; min-width:0; }
.msn-public-page .cookie-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 12px; }
.msn-public-page .cookie-box strong { color:var(--msn-reading); }
.msn-public-page .cookie-box p { color:var(--msn-secondary); }
.msn-public-page .cookie-box a { color:var(--msn-link); }
.msn-public-page .cookie-short-copy { display:none; }
.msn-public-page { padding-bottom:var(--msn-cookie-space,0px); }
html { scroll-padding-bottom:var(--msn-cookie-space,0px); }
.msn-public-page.mobile-nav-active #cookie-banner { visibility:hidden; }
.msn-public-page .scroll-top { bottom:calc(max(15px,env(safe-area-inset-bottom)) + var(--msn-cookie-space,0px)); }
.msn-public-page .home-terms-cue { bottom:calc(max(18px,env(safe-area-inset-bottom)) + var(--msn-cookie-space,0px)); }
.msn-public-page .cookie-actions { display:flex; flex-wrap:nowrap; gap:10px; }
.msn-public-page .cookie-actions .btn { min-height:44px; padding:10px 14px; flex:1 0 auto; background:#12394e; border:1px solid #527b97; color:#fff; font-size:14px; white-space:nowrap; }
.msn-public-page .cookie-actions .btn:is(:hover,:focus-visible) { background:#1769aa; border-color:#78baff; color:#fff; }
@media(max-width:991px) { .msn-public-page .cookie-box { grid-template-columns:1fr; gap:16px; } .msn-public-page .cookie-actions { justify-content:flex-start; } .msn-public-page .cookie-actions .btn { flex:0 1 auto; } }
@media(max-width:575px) {
  .msn-public-page #cookie-banner { padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); font-size:.8125rem; }
  .msn-public-page .cookie-box { gap:7px; }
  .msn-public-page .cookie-heading { justify-content:space-between; }
  .msn-public-page .cookie-full-copy { display:none; }
  .msn-public-page .cookie-short-copy { display:block; }
  .msn-public-page .cookie-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .msn-public-page .cookie-actions .btn { padding:5px 7px; white-space:normal; }
}
@media(max-height:430px) {
  .msn-public-page #cookie-banner { position:static; }
}
.term-card .term-next-label { color:var(--msn-link); font-size:.82rem; font-weight:700; margin-bottom:4px; }
@media(max-width:575px) {
  .presence-course-hero { padding:30px 0; }
  .presence-course-hero h1 { margin-bottom:8px; }
  .presence-course-hero .lead { margin-bottom:0; font-size:1rem; }
  .presence-course-hero .course-summary { padding:17px; }
  .presence-course-hero .course-summary .check-list { display:flex; flex-wrap:wrap; gap:5px 14px; }
}
.finder-result-card .finder-term { display:block; font-size:.9rem; margin-bottom:5px; }
[data-msn-theme="dark"] .finder-result-card { background:var(--msn-panel); border:1px solid var(--msn-border); }
[data-msn-theme="dark"] .finder-result-card small { color:var(--msn-secondary); }
.booking-review .booking-order-summary { margin-bottom:12px; border-top:1px solid var(--msn-border); padding-top:12px; }
@media(max-width:575px) {
  .booking-review { padding:15px; }
  .booking-review .booking-order-summary { grid-template-columns:1fr; gap:2px; }
  .booking-review .btn { width:100%; }
}
.mobile-nav-backdrop[hidden] { display:none!important; }
.mobile-nav-backdrop { position:fixed; inset:0; z-index:999; background:rgba(7,38,49,.6); }
.msn-public-page.mobile-nav-active::before { display:none; }
